Feature/api version support (#109)
[osm/N2VC.git] / juju / client / schemas-juju-latest.json
1 [
2   {
3     "Name": "Action",
4     "Version": 2,
5     "Schema": {
6       "type": "object",
7       "properties": {
8         "Actions": {
9           "type": "object",
10           "properties": {
11             "Params": {
12               "$ref": "#/definitions/Entities"
13             },
14             "Result": {
15               "$ref": "#/definitions/ActionResults"
16             }
17           }
18         },
19         "ApplicationsCharmsActions": {
20           "type": "object",
21           "properties": {
22             "Params": {
23               "$ref": "#/definitions/Entities"
24             },
25             "Result": {
26               "$ref": "#/definitions/ApplicationsCharmActionsResults"
27             }
28           }
29         },
30         "Cancel": {
31           "type": "object",
32           "properties": {
33             "Params": {
34               "$ref": "#/definitions/Entities"
35             },
36             "Result": {
37               "$ref": "#/definitions/ActionResults"
38             }
39           }
40         },
41         "Enqueue": {
42           "type": "object",
43           "properties": {
44             "Params": {
45               "$ref": "#/definitions/Actions"
46             },
47             "Result": {
48               "$ref": "#/definitions/ActionResults"
49             }
50           }
51         },
52         "FindActionTagsByPrefix": {
53           "type": "object",
54           "properties": {
55             "Params": {
56               "$ref": "#/definitions/FindTags"
57             },
58             "Result": {
59               "$ref": "#/definitions/FindTagsResults"
60             }
61           }
62         },
63         "FindActionsByNames": {
64           "type": "object",
65           "properties": {
66             "Params": {
67               "$ref": "#/definitions/FindActionsByNames"
68             },
69             "Result": {
70               "$ref": "#/definitions/ActionsByNames"
71             }
72           }
73         },
74         "ListAll": {
75           "type": "object",
76           "properties": {
77             "Params": {
78               "$ref": "#/definitions/Entities"
79             },
80             "Result": {
81               "$ref": "#/definitions/ActionsByReceivers"
82             }
83           }
84         },
85         "ListCompleted": {
86           "type": "object",
87           "properties": {
88             "Params": {
89               "$ref": "#/definitions/Entities"
90             },
91             "Result": {
92               "$ref": "#/definitions/ActionsByReceivers"
93             }
94           }
95         },
96         "ListPending": {
97           "type": "object",
98           "properties": {
99             "Params": {
100               "$ref": "#/definitions/Entities"
101             },
102             "Result": {
103               "$ref": "#/definitions/ActionsByReceivers"
104             }
105           }
106         },
107         "ListRunning": {
108           "type": "object",
109           "properties": {
110             "Params": {
111               "$ref": "#/definitions/Entities"
112             },
113             "Result": {
114               "$ref": "#/definitions/ActionsByReceivers"
115             }
116           }
117         },
118         "Run": {
119           "type": "object",
120           "properties": {
121             "Params": {
122               "$ref": "#/definitions/RunParams"
123             },
124             "Result": {
125               "$ref": "#/definitions/ActionResults"
126             }
127           }
128         },
129         "RunOnAllMachines": {
130           "type": "object",
131           "properties": {
132             "Params": {
133               "$ref": "#/definitions/RunParams"
134             },
135             "Result": {
136               "$ref": "#/definitions/ActionResults"
137             }
138           }
139         }
140       },
141       "definitions": {
142         "Action": {
143           "type": "object",
144           "properties": {
145             "name": {
146               "type": "string"
147             },
148             "parameters": {
149               "type": "object",
150               "patternProperties": {
151                 ".*": {
152                   "type": "object",
153                   "additionalProperties": true
154                 }
155               }
156             },
157             "receiver": {
158               "type": "string"
159             },
160             "tag": {
161               "type": "string"
162             }
163           },
164           "additionalProperties": false,
165           "required": [
166             "tag",
167             "receiver",
168             "name"
169           ]
170         },
171         "ActionResult": {
172           "type": "object",
173           "properties": {
174             "action": {
175               "$ref": "#/definitions/Action"
176             },
177             "completed": {
178               "type": "string",
179               "format": "date-time"
180             },
181             "enqueued": {
182               "type": "string",
183               "format": "date-time"
184             },
185             "error": {
186               "$ref": "#/definitions/Error"
187             },
188             "message": {
189               "type": "string"
190             },
191             "output": {
192               "type": "object",
193               "patternProperties": {
194                 ".*": {
195                   "type": "object",
196                   "additionalProperties": true
197                 }
198               }
199             },
200             "started": {
201               "type": "string",
202               "format": "date-time"
203             },
204             "status": {
205               "type": "string"
206             }
207           },
208           "additionalProperties": false
209         },
210         "ActionResults": {
211           "type": "object",
212           "properties": {
213             "results": {
214               "type": "array",
215               "items": {
216                 "$ref": "#/definitions/ActionResult"
217               }
218             }
219           },
220           "additionalProperties": false
221         },
222         "ActionSpec": {
223           "type": "object",
224           "properties": {
225             "description": {
226               "type": "string"
227             },
228             "params": {
229               "type": "object",
230               "patternProperties": {
231                 ".*": {
232                   "type": "object",
233                   "additionalProperties": true
234                 }
235               }
236             }
237           },
238           "additionalProperties": false,
239           "required": [
240             "description",
241             "params"
242           ]
243         },
244         "Actions": {
245           "type": "object",
246           "properties": {
247             "actions": {
248               "type": "array",
249               "items": {
250                 "$ref": "#/definitions/Action"
251               }
252             }
253           },
254           "additionalProperties": false
255         },
256         "ActionsByName": {
257           "type": "object",
258           "properties": {
259             "actions": {
260               "type": "array",
261               "items": {
262                 "$ref": "#/definitions/ActionResult"
263               }
264             },
265             "error": {
266               "$ref": "#/definitions/Error"
267             },
268             "name": {
269               "type": "string"
270             }
271           },
272           "additionalProperties": false
273         },
274         "ActionsByNames": {
275           "type": "object",
276           "properties": {
277             "actions": {
278               "type": "array",
279               "items": {
280                 "$ref": "#/definitions/ActionsByName"
281               }
282             }
283           },
284           "additionalProperties": false
285         },
286         "ActionsByReceiver": {
287           "type": "object",
288           "properties": {
289             "actions": {
290               "type": "array",
291               "items": {
292                 "$ref": "#/definitions/ActionResult"
293               }
294             },
295             "error": {
296               "$ref": "#/definitions/Error"
297             },
298             "receiver": {
299               "type": "string"
300             }
301           },
302           "additionalProperties": false
303         },
304         "ActionsByReceivers": {
305           "type": "object",
306           "properties": {
307             "actions": {
308               "type": "array",
309               "items": {
310                 "$ref": "#/definitions/ActionsByReceiver"
311               }
312             }
313           },
314           "additionalProperties": false
315         },
316         "ApplicationCharmActionsResult": {
317           "type": "object",
318           "properties": {
319             "actions": {
320               "type": "object",
321               "patternProperties": {
322                 ".*": {
323                   "$ref": "#/definitions/ActionSpec"
324                 }
325               }
326             },
327             "application-tag": {
328               "type": "string"
329             },
330             "error": {
331               "$ref": "#/definitions/Error"
332             }
333           },
334           "additionalProperties": false
335         },
336         "ApplicationsCharmActionsResults": {
337           "type": "object",
338           "properties": {
339             "results": {
340               "type": "array",
341               "items": {
342                 "$ref": "#/definitions/ApplicationCharmActionsResult"
343               }
344             }
345           },
346           "additionalProperties": false
347         },
348         "Entities": {
349           "type": "object",
350           "properties": {
351             "entities": {
352               "type": "array",
353               "items": {
354                 "$ref": "#/definitions/Entity"
355               }
356             }
357           },
358           "additionalProperties": false,
359           "required": [
360             "entities"
361           ]
362         },
363         "Entity": {
364           "type": "object",
365           "properties": {
366             "tag": {
367               "type": "string"
368             }
369           },
370           "additionalProperties": false,
371           "required": [
372             "tag"
373           ]
374         },
375         "Error": {
376           "type": "object",
377           "properties": {
378             "code": {
379               "type": "string"
380             },
381             "info": {
382               "$ref": "#/definitions/ErrorInfo"
383             },
384             "message": {
385               "type": "string"
386             }
387           },
388           "additionalProperties": false,
389           "required": [
390             "message",
391             "code"
392           ]
393         },
394         "ErrorInfo": {
395           "type": "object",
396           "properties": {
397             "macaroon": {
398               "$ref": "#/definitions/Macaroon"
399             },
400             "macaroon-path": {
401               "type": "string"
402             }
403           },
404           "additionalProperties": false
405         },
406         "FindActionsByNames": {
407           "type": "object",
408           "properties": {
409             "names": {
410               "type": "array",
411               "items": {
412                 "type": "string"
413               }
414             }
415           },
416           "additionalProperties": false
417         },
418         "FindTags": {
419           "type": "object",
420           "properties": {
421             "prefixes": {
422               "type": "array",
423               "items": {
424                 "type": "string"
425               }
426             }
427           },
428           "additionalProperties": false,
429           "required": [
430             "prefixes"
431           ]
432         },
433         "FindTagsResults": {
434           "type": "object",
435           "properties": {
436             "matches": {
437               "type": "object",
438               "patternProperties": {
439                 ".*": {
440                   "type": "array",
441                   "items": {
442                     "$ref": "#/definitions/Entity"
443                   }
444                 }
445               }
446             }
447           },
448           "additionalProperties": false,
449           "required": [
450             "matches"
451           ]
452         },
453         "Macaroon": {
454           "type": "object",
455           "additionalProperties": false
456         },
457         "RunParams": {
458           "type": "object",
459           "properties": {
460             "applications": {
461               "type": "array",
462               "items": {
463                 "type": "string"
464               }
465             },
466             "commands": {
467               "type": "string"
468             },
469             "machines": {
470               "type": "array",
471               "items": {
472                 "type": "string"
473               }
474             },
475             "timeout": {
476               "type": "integer"
477             },
478             "units": {
479               "type": "array",
480               "items": {
481                 "type": "string"
482               }
483             }
484           },
485           "additionalProperties": false,
486           "required": [
487             "commands",
488             "timeout"
489           ]
490         }
491       }
492     }
493   },
494   {
495     "Name": "Agent",
496     "Version": 2,
497     "Schema": {
498       "type": "object",
499       "properties": {
500         "ClearReboot": {
501           "type": "object",
502           "properties": {
503             "Params": {
504               "$ref": "#/definitions/Entities"
505             },
506             "Result": {
507               "$ref": "#/definitions/ErrorResults"
508             }
509           }
510         },
511         "CloudSpec": {
512           "type": "object",
513           "properties": {
514             "Params": {
515               "$ref": "#/definitions/Entities"
516             },
517             "Result": {
518               "$ref": "#/definitions/CloudSpecResults"
519             }
520           }
521         },
522         "ControllerConfig": {
523           "type": "object",
524           "properties": {
525             "Result": {
526               "$ref": "#/definitions/ControllerConfigResult"
527             }
528           }
529         },
530         "GetCloudSpec": {
531           "type": "object",
532           "properties": {
533             "Params": {
534               "$ref": "#/definitions/ModelTag"
535             },
536             "Result": {
537               "$ref": "#/definitions/CloudSpecResult"
538             }
539           }
540         },
541         "GetEntities": {
542           "type": "object",
543           "properties": {
544             "Params": {
545               "$ref": "#/definitions/Entities"
546             },
547             "Result": {
548               "$ref": "#/definitions/AgentGetEntitiesResults"
549             }
550           }
551         },
552         "IsMaster": {
553           "type": "object",
554           "properties": {
555             "Result": {
556               "$ref": "#/definitions/IsMasterResult"
557             }
558           }
559         },
560         "ModelConfig": {
561           "type": "object",
562           "properties": {
563             "Result": {
564               "$ref": "#/definitions/ModelConfigResult"
565             }
566           }
567         },
568         "SetPasswords": {
569           "type": "object",
570           "properties": {
571             "Params": {
572               "$ref": "#/definitions/EntityPasswords"
573             },
574             "Result": {
575               "$ref": "#/definitions/ErrorResults"
576             }
577           }
578         },
579         "StateServingInfo": {
580           "type": "object",
581           "properties": {
582             "Result": {
583               "$ref": "#/definitions/StateServingInfo"
584             }
585           }
586         },
587         "WatchCredentials": {
588           "type": "object",
589           "properties": {
590             "Params": {
591               "$ref": "#/definitions/Entities"
592             },
593             "Result": {
594               "$ref": "#/definitions/NotifyWatchResults"
595             }
596           }
597         },
598         "WatchForModelConfigChanges": {
599           "type": "object",
600           "properties": {
601             "Result": {
602               "$ref": "#/definitions/NotifyWatchResult"
603             }
604           }
605         }
606       },
607       "definitions": {
608         "AgentGetEntitiesResult": {
609           "type": "object",
610           "properties": {
611             "container-type": {
612               "type": "string"
613             },
614             "error": {
615               "$ref": "#/definitions/Error"
616             },
617             "jobs": {
618               "type": "array",
619               "items": {
620                 "type": "string"
621               }
622             },
623             "life": {
624               "type": "string"
625             }
626           },
627           "additionalProperties": false,
628           "required": [
629             "life",
630             "jobs",
631             "container-type"
632           ]
633         },
634         "AgentGetEntitiesResults": {
635           "type": "object",
636           "properties": {
637             "entities": {
638               "type": "array",
639               "items": {
640                 "$ref": "#/definitions/AgentGetEntitiesResult"
641               }
642             }
643           },
644           "additionalProperties": false,
645           "required": [
646             "entities"
647           ]
648         },
649         "CloudCredential": {
650           "type": "object",
651           "properties": {
652             "attrs": {
653               "type": "object",
654               "patternProperties": {
655                 ".*": {
656                   "type": "string"
657                 }
658               }
659             },
660             "auth-type": {
661               "type": "string"
662             },
663             "redacted": {
664               "type": "array",
665               "items": {
666                 "type": "string"
667               }
668             }
669           },
670           "additionalProperties": false,
671           "required": [
672             "auth-type"
673           ]
674         },
675         "CloudSpec": {
676           "type": "object",
677           "properties": {
678             "credential": {
679               "$ref": "#/definitions/CloudCredential"
680             },
681             "endpoint": {
682               "type": "string"
683             },
684             "identity-endpoint": {
685               "type": "string"
686             },
687             "name": {
688               "type": "string"
689             },
690             "region": {
691               "type": "string"
692             },
693             "storage-endpoint": {
694               "type": "string"
695             },
696             "type": {
697               "type": "string"
698             }
699           },
700           "additionalProperties": false,
701           "required": [
702             "type",
703             "name"
704           ]
705         },
706         "CloudSpecResult": {
707           "type": "object",
708           "properties": {
709             "error": {
710               "$ref": "#/definitions/Error"
711             },
712             "result": {
713               "$ref": "#/definitions/CloudSpec"
714             }
715           },
716           "additionalProperties": false
717         },
718         "CloudSpecResults": {
719           "type": "object",
720           "properties": {
721             "results": {
722               "type": "array",
723               "items": {
724                 "$ref": "#/definitions/CloudSpecResult"
725               }
726             }
727           },
728           "additionalProperties": false
729         },
730         "ControllerConfigResult": {
731           "type": "object",
732           "properties": {
733             "config": {
734               "type": "object",
735               "patternProperties": {
736                 ".*": {
737                   "type": "object",
738                   "additionalProperties": true
739                 }
740               }
741             }
742           },
743           "additionalProperties": false,
744           "required": [
745             "config"
746           ]
747         },
748         "Entities": {
749           "type": "object",
750           "properties": {
751             "entities": {
752               "type": "array",
753               "items": {
754                 "$ref": "#/definitions/Entity"
755               }
756             }
757           },
758           "additionalProperties": false,
759           "required": [
760             "entities"
761           ]
762         },
763         "Entity": {
764           "type": "object",
765           "properties": {
766             "tag": {
767               "type": "string"
768             }
769           },
770           "additionalProperties": false,
771           "required": [
772             "tag"
773           ]
774         },
775         "EntityPassword": {
776           "type": "object",
777           "properties": {
778             "password": {
779               "type": "string"
780             },
781             "tag": {
782               "type": "string"
783             }
784           },
785           "additionalProperties": false,
786           "required": [
787             "tag",
788             "password"
789           ]
790         },
791         "EntityPasswords": {
792           "type": "object",
793           "properties": {
794             "changes": {
795               "type": "array",
796               "items": {
797                 "$ref": "#/definitions/EntityPassword"
798               }
799             }
800           },
801           "additionalProperties": false,
802           "required": [
803             "changes"
804           ]
805         },
806         "Error": {
807           "type": "object",
808           "properties": {
809             "code": {
810               "type": "string"
811             },
812             "info": {
813               "$ref": "#/definitions/ErrorInfo"
814             },
815             "message": {
816               "type": "string"
817             }
818           },
819           "additionalProperties": false,
820           "required": [
821             "message",
822             "code"
823           ]
824         },
825         "ErrorInfo": {
826           "type": "object",
827           "properties": {
828             "macaroon": {
829               "$ref": "#/definitions/Macaroon"
830             },
831             "macaroon-path": {
832               "type": "string"
833             }
834           },
835           "additionalProperties": false
836         },
837         "ErrorResult": {
838           "type": "object",
839           "properties": {
840             "error": {
841               "$ref": "#/definitions/Error"
842             }
843           },
844           "additionalProperties": false
845         },
846         "ErrorResults": {
847           "type": "object",
848           "properties": {
849             "results": {
850               "type": "array",
851               "items": {
852                 "$ref": "#/definitions/ErrorResult"
853               }
854             }
855           },
856           "additionalProperties": false,
857           "required": [
858             "results"
859           ]
860         },
861         "IsMasterResult": {
862           "type": "object",
863           "properties": {
864             "master": {
865               "type": "boolean"
866             }
867           },
868           "additionalProperties": false,
869           "required": [
870             "master"
871           ]
872         },
873         "Macaroon": {
874           "type": "object",
875           "additionalProperties": false
876         },
877         "ModelConfigResult": {
878           "type": "object",
879           "properties": {
880             "config": {
881               "type": "object",
882               "patternProperties": {
883                 ".*": {
884                   "type": "object",
885                   "additionalProperties": true
886                 }
887               }
888             }
889           },
890           "additionalProperties": false,
891           "required": [
892             "config"
893           ]
894         },
895         "ModelTag": {
896           "type": "object",
897           "additionalProperties": false
898         },
899         "NotifyWatchResult": {
900           "type": "object",
901           "properties": {
902             "NotifyWatcherId": {
903               "type": "string"
904             },
905             "error": {
906               "$ref": "#/definitions/Error"
907             }
908           },
909           "additionalProperties": false,
910           "required": [
911             "NotifyWatcherId"
912           ]
913         },
914         "NotifyWatchResults": {
915           "type": "object",
916           "properties": {
917             "results": {
918               "type": "array",
919               "items": {
920                 "$ref": "#/definitions/NotifyWatchResult"
921               }
922             }
923           },
924           "additionalProperties": false,
925           "required": [
926             "results"
927           ]
928         },
929         "StateServingInfo": {
930           "type": "object",
931           "properties": {
932             "api-port": {
933               "type": "integer"
934             },
935             "ca-private-key": {
936               "type": "string"
937             },
938             "cert": {
939               "type": "string"
940             },
941             "private-key": {
942               "type": "string"
943             },
944             "shared-secret": {
945               "type": "string"
946             },
947             "state-port": {
948               "type": "integer"
949             },
950             "system-identity": {
951               "type": "string"
952             }
953           },
954           "additionalProperties": false,
955           "required": [
956             "api-port",
957             "state-port",
958             "cert",
959             "private-key",
960             "ca-private-key",
961             "shared-secret",
962             "system-identity"
963           ]
964         }
965       }
966     }
967   },
968   {
969     "Name": "AgentTools",
970     "Version": 1,
971     "Schema": {
972       "type": "object",
973       "properties": {
974         "UpdateToolsAvailable": {
975           "type": "object"
976         }
977       }
978     }
979   },
980   {
981     "Name": "AllModelWatcher",
982     "Version": 2,
983     "Schema": {
984       "type": "object",
985       "properties": {
986         "Next": {
987           "type": "object",
988           "properties": {
989             "Result": {
990               "$ref": "#/definitions/AllWatcherNextResults"
991             }
992           }
993         },
994         "Stop": {
995           "type": "object"
996         }
997       },
998       "definitions": {
999         "AllWatcherNextResults": {
1000           "type": "object",
1001           "properties": {
1002             "deltas": {
1003               "type": "array",
1004               "items": {
1005                 "$ref": "#/definitions/Delta"
1006               }
1007             }
1008           },
1009           "additionalProperties": false,
1010           "required": [
1011             "deltas"
1012           ]
1013         },
1014         "Delta": {
1015           "type": "object",
1016           "properties": {
1017             "entity": {
1018               "type": "object",
1019               "additionalProperties": true
1020             },
1021             "removed": {
1022               "type": "boolean"
1023             }
1024           },
1025           "additionalProperties": false,
1026           "required": [
1027             "removed",
1028             "entity"
1029           ]
1030         }
1031       }
1032     }
1033   },
1034   {
1035     "Name": "AllWatcher",
1036     "Version": 1,
1037     "Schema": {
1038       "type": "object",
1039       "properties": {
1040         "Next": {
1041           "type": "object",
1042           "properties": {
1043             "Result": {
1044               "$ref": "#/definitions/AllWatcherNextResults"
1045             }
1046           }
1047         },
1048         "Stop": {
1049           "type": "object"
1050         }
1051       },
1052       "definitions": {
1053         "AllWatcherNextResults": {
1054           "type": "object",
1055           "properties": {
1056             "deltas": {
1057               "type": "array",
1058               "items": {
1059                 "$ref": "#/definitions/Delta"
1060               }
1061             }
1062           },
1063           "additionalProperties": false,
1064           "required": [
1065             "deltas"
1066           ]
1067         },
1068         "Delta": {
1069           "type": "object",
1070           "properties": {
1071             "entity": {
1072               "type": "object",
1073               "additionalProperties": true
1074             },
1075             "removed": {
1076               "type": "boolean"
1077             }
1078           },
1079           "additionalProperties": false,
1080           "required": [
1081             "removed",
1082             "entity"
1083           ]
1084         }
1085       }
1086     }
1087   },
1088   {
1089     "Name": "Annotations",
1090     "Version": 2,
1091     "Schema": {
1092       "type": "object",
1093       "properties": {
1094         "Get": {
1095           "type": "object",
1096           "properties": {
1097             "Params": {
1098               "$ref": "#/definitions/Entities"
1099             },
1100             "Result": {
1101               "$ref": "#/definitions/AnnotationsGetResults"
1102             }
1103           }
1104         },
1105         "Set": {
1106           "type": "object",
1107           "properties": {
1108             "Params": {
1109               "$ref": "#/definitions/AnnotationsSet"
1110             },
1111             "Result": {
1112               "$ref": "#/definitions/ErrorResults"
1113             }
1114           }
1115         }
1116       },
1117       "definitions": {
1118         "AnnotationsGetResult": {
1119           "type": "object",
1120           "properties": {
1121             "annotations": {
1122               "type": "object",
1123               "patternProperties": {
1124                 ".*": {
1125                   "type": "string"
1126                 }
1127               }
1128             },
1129             "entity": {
1130               "type": "string"
1131             },
1132             "error": {
1133               "$ref": "#/definitions/ErrorResult"
1134             }
1135           },
1136           "additionalProperties": false,
1137           "required": [
1138             "entity",
1139             "annotations"
1140           ]
1141         },
1142         "AnnotationsGetResults": {
1143           "type": "object",
1144           "properties": {
1145             "results": {
1146               "type": "array",
1147               "items": {
1148                 "$ref": "#/definitions/AnnotationsGetResult"
1149               }
1150             }
1151           },
1152           "additionalProperties": false,
1153           "required": [
1154             "results"
1155           ]
1156         },
1157         "AnnotationsSet": {
1158           "type": "object",
1159           "properties": {
1160             "annotations": {
1161               "type": "array",
1162               "items": {
1163                 "$ref": "#/definitions/EntityAnnotations"
1164               }
1165             }
1166           },
1167           "additionalProperties": false,
1168           "required": [
1169             "annotations"
1170           ]
1171         },
1172         "Entities": {
1173           "type": "object",
1174           "properties": {
1175             "entities": {
1176               "type": "array",
1177               "items": {
1178                 "$ref": "#/definitions/Entity"
1179               }
1180             }
1181           },
1182           "additionalProperties": false,
1183           "required": [
1184             "entities"
1185           ]
1186         },
1187         "Entity": {
1188           "type": "object",
1189           "properties": {
1190             "tag": {
1191               "type": "string"
1192             }
1193           },
1194           "additionalProperties": false,
1195           "required": [
1196             "tag"
1197           ]
1198         },
1199         "EntityAnnotations": {
1200           "type": "object",
1201           "properties": {
1202             "annotations": {
1203               "type": "object",
1204               "patternProperties": {
1205                 ".*": {
1206                   "type": "string"
1207                 }
1208               }
1209             },
1210             "entity": {
1211               "type": "string"
1212             }
1213           },
1214           "additionalProperties": false,
1215           "required": [
1216             "entity",
1217             "annotations"
1218           ]
1219         },
1220         "Error": {
1221           "type": "object",
1222           "properties": {
1223             "code": {
1224               "type": "string"
1225             },
1226             "info": {
1227               "$ref": "#/definitions/ErrorInfo"
1228             },
1229             "message": {
1230               "type": "string"
1231             }
1232           },
1233           "additionalProperties": false,
1234           "required": [
1235             "message",
1236             "code"
1237           ]
1238         },
1239         "ErrorInfo": {
1240           "type": "object",
1241           "properties": {
1242             "macaroon": {
1243               "$ref": "#/definitions/Macaroon"
1244             },
1245             "macaroon-path": {
1246               "type": "string"
1247             }
1248           },
1249           "additionalProperties": false
1250         },
1251         "ErrorResult": {
1252           "type": "object",
1253           "properties": {
1254             "error": {
1255               "$ref": "#/definitions/Error"
1256             }
1257           },
1258           "additionalProperties": false
1259         },
1260         "ErrorResults": {
1261           "type": "object",
1262           "properties": {
1263             "results": {
1264               "type": "array",
1265               "items": {
1266                 "$ref": "#/definitions/ErrorResult"
1267               }
1268             }
1269           },
1270           "additionalProperties": false,
1271           "required": [
1272             "results"
1273           ]
1274         },
1275         "Macaroon": {
1276           "type": "object",
1277           "additionalProperties": false
1278         }
1279       }
1280     }
1281   },
1282   {
1283     "Name": "Application",
1284     "Version": 4,
1285     "Schema": {
1286       "type": "object",
1287       "properties": {
1288         "AddRelation": {
1289           "type": "object",
1290           "properties": {
1291             "Params": {
1292               "$ref": "#/definitions/AddRelation"
1293             },
1294             "Result": {
1295               "$ref": "#/definitions/AddRelationResults"
1296             }
1297           }
1298         },
1299         "AddUnits": {
1300           "type": "object",
1301           "properties": {
1302             "Params": {
1303               "$ref": "#/definitions/AddApplicationUnits"
1304             },
1305             "Result": {
1306               "$ref": "#/definitions/AddApplicationUnitsResults"
1307             }
1308           }
1309         },
1310         "CharmRelations": {
1311           "type": "object",
1312           "properties": {
1313             "Params": {
1314               "$ref": "#/definitions/ApplicationCharmRelations"
1315             },
1316             "Result": {
1317               "$ref": "#/definitions/ApplicationCharmRelationsResults"
1318             }
1319           }
1320         },
1321         "Consume": {
1322           "type": "object",
1323           "properties": {
1324             "Params": {
1325               "$ref": "#/definitions/ConsumeApplicationArgs"
1326             },
1327             "Result": {
1328               "$ref": "#/definitions/ConsumeApplicationResults"
1329             }
1330           }
1331         },
1332         "Deploy": {
1333           "type": "object",
1334           "properties": {
1335             "Params": {
1336               "$ref": "#/definitions/ApplicationsDeploy"
1337             },
1338             "Result": {
1339               "$ref": "#/definitions/ErrorResults"
1340             }
1341           }
1342         },
1343         "Destroy": {
1344           "type": "object",
1345           "properties": {
1346             "Params": {
1347               "$ref": "#/definitions/ApplicationDestroy"
1348             }
1349           }
1350         },
1351         "DestroyApplication": {
1352           "type": "object",
1353           "properties": {
1354             "Params": {
1355               "$ref": "#/definitions/Entities"
1356             },
1357             "Result": {
1358               "$ref": "#/definitions/DestroyApplicationResults"
1359             }
1360           }
1361         },
1362         "DestroyRelation": {
1363           "type": "object",
1364           "properties": {
1365             "Params": {
1366               "$ref": "#/definitions/DestroyRelation"
1367             }
1368           }
1369         },
1370         "DestroyUnit": {
1371           "type": "object",
1372           "properties": {
1373             "Params": {
1374               "$ref": "#/definitions/Entities"
1375             },
1376             "Result": {
1377               "$ref": "#/definitions/DestroyUnitResults"
1378             }
1379           }
1380         },
1381         "DestroyUnits": {
1382           "type": "object",
1383           "properties": {
1384             "Params": {
1385               "$ref": "#/definitions/DestroyApplicationUnits"
1386             }
1387           }
1388         },
1389         "Expose": {
1390           "type": "object",
1391           "properties": {
1392             "Params": {
1393               "$ref": "#/definitions/ApplicationExpose"
1394             }
1395           }
1396         },
1397         "Get": {
1398           "type": "object",
1399           "properties": {
1400             "Params": {
1401               "$ref": "#/definitions/ApplicationGet"
1402             },
1403             "Result": {
1404               "$ref": "#/definitions/ApplicationGetResults"
1405             }
1406           }
1407         },
1408         "GetCharmURL": {
1409           "type": "object",
1410           "properties": {
1411             "Params": {
1412               "$ref": "#/definitions/ApplicationGet"
1413             },
1414             "Result": {
1415               "$ref": "#/definitions/StringResult"
1416             }
1417           }
1418         },
1419         "GetConstraints": {
1420           "type": "object",
1421           "properties": {
1422             "Params": {
1423               "$ref": "#/definitions/GetApplicationConstraints"
1424             },
1425             "Result": {
1426               "$ref": "#/definitions/GetConstraintsResults"
1427             }
1428           }
1429         },
1430         "RemoteApplicationInfo": {
1431           "type": "object",
1432           "properties": {
1433             "Params": {
1434               "$ref": "#/definitions/ApplicationURLs"
1435             },
1436             "Result": {
1437               "$ref": "#/definitions/RemoteApplicationInfoResults"
1438             }
1439           }
1440         },
1441         "Set": {
1442           "type": "object",
1443           "properties": {
1444             "Params": {
1445               "$ref": "#/definitions/ApplicationSet"
1446             }
1447           }
1448         },
1449         "SetCharm": {
1450           "type": "object",
1451           "properties": {
1452             "Params": {
1453               "$ref": "#/definitions/ApplicationSetCharm"
1454             }
1455           }
1456         },
1457         "SetConstraints": {
1458           "type": "object",
1459           "properties": {
1460             "Params": {
1461               "$ref": "#/definitions/SetConstraints"
1462             }
1463           }
1464         },
1465         "SetMetricCredentials": {
1466           "type": "object",
1467           "properties": {
1468             "Params": {
1469               "$ref": "#/definitions/ApplicationMetricCredentials"
1470             },
1471             "Result": {
1472               "$ref": "#/definitions/ErrorResults"
1473             }
1474           }
1475         },
1476         "Unexpose": {
1477           "type": "object",
1478           "properties": {
1479             "Params": {
1480               "$ref": "#/definitions/ApplicationUnexpose"
1481             }
1482           }
1483         },
1484         "Unset": {
1485           "type": "object",
1486           "properties": {
1487             "Params": {
1488               "$ref": "#/definitions/ApplicationUnset"
1489             }
1490           }
1491         },
1492         "Update": {
1493           "type": "object",
1494           "properties": {
1495             "Params": {
1496               "$ref": "#/definitions/ApplicationUpdate"
1497             }
1498           }
1499         }
1500       },
1501       "definitions": {
1502         "AddApplicationUnits": {
1503           "type": "object",
1504           "properties": {
1505             "application": {
1506               "type": "string"
1507             },
1508             "num-units": {
1509               "type": "integer"
1510             },
1511             "placement": {
1512               "type": "array",
1513               "items": {
1514                 "$ref": "#/definitions/Placement"
1515               }
1516             }
1517           },
1518           "additionalProperties": false,
1519           "required": [
1520             "application",
1521             "num-units",
1522             "placement"
1523           ]
1524         },
1525         "AddApplicationUnitsResults": {
1526           "type": "object",
1527           "properties": {
1528             "units": {
1529               "type": "array",
1530               "items": {
1531                 "type": "string"
1532               }
1533             }
1534           },
1535           "additionalProperties": false,
1536           "required": [
1537             "units"
1538           ]
1539         },
1540         "AddRelation": {
1541           "type": "object",
1542           "properties": {
1543             "endpoints": {
1544               "type": "array",
1545               "items": {
1546                 "type": "string"
1547               }
1548             }
1549           },
1550           "additionalProperties": false,
1551           "required": [
1552             "endpoints"
1553           ]
1554         },
1555         "AddRelationResults": {
1556           "type": "object",
1557           "properties": {
1558             "endpoints": {
1559               "type": "object",
1560               "patternProperties": {
1561                 ".*": {
1562                   "$ref": "#/definitions/CharmRelation"
1563                 }
1564               }
1565             }
1566           },
1567           "additionalProperties": false,
1568           "required": [
1569             "endpoints"
1570           ]
1571         },
1572         "ApplicationCharmRelations": {
1573           "type": "object",
1574           "properties": {
1575             "application": {
1576               "type": "string"
1577             }
1578           },
1579           "additionalProperties": false,
1580           "required": [
1581             "application"
1582           ]
1583         },
1584         "ApplicationCharmRelationsResults": {
1585           "type": "object",
1586           "properties": {
1587             "charm-relations": {
1588               "type": "array",
1589               "items": {
1590                 "type": "string"
1591               }
1592             }
1593           },
1594           "additionalProperties": false,
1595           "required": [
1596             "charm-relations"
1597           ]
1598         },
1599         "ApplicationDeploy": {
1600           "type": "object",
1601           "properties": {
1602             "application": {
1603               "type": "string"
1604             },
1605             "channel": {
1606               "type": "string"
1607             },
1608             "charm-url": {
1609               "type": "string"
1610             },
1611             "config": {
1612               "type": "object",
1613               "patternProperties": {
1614                 ".*": {
1615                   "type": "string"
1616                 }
1617               }
1618             },
1619             "config-yaml": {
1620               "type": "string"
1621             },
1622             "constraints": {
1623               "$ref": "#/definitions/Value"
1624             },
1625             "endpoint-bindings": {
1626               "type": "object",
1627               "patternProperties": {
1628                 ".*": {
1629                   "type": "string"
1630                 }
1631               }
1632             },
1633             "num-units": {
1634               "type": "integer"
1635             },
1636             "placement": {
1637               "type": "array",
1638               "items": {
1639                 "$ref": "#/definitions/Placement"
1640               }
1641             },
1642             "resources": {
1643               "type": "object",
1644               "patternProperties": {
1645                 ".*": {
1646                   "type": "string"
1647                 }
1648               }
1649             },
1650             "series": {
1651               "type": "string"
1652             },
1653             "storage": {
1654               "type": "object",
1655               "patternProperties": {
1656                 ".*": {
1657                   "$ref": "#/definitions/Constraints"
1658                 }
1659               }
1660             }
1661           },
1662           "additionalProperties": false,
1663           "required": [
1664             "application",
1665             "series",
1666             "charm-url",
1667             "channel",
1668             "num-units",
1669             "config-yaml",
1670             "constraints"
1671           ]
1672         },
1673         "ApplicationDestroy": {
1674           "type": "object",
1675           "properties": {
1676             "application": {
1677               "type": "string"
1678             }
1679           },
1680           "additionalProperties": false,
1681           "required": [
1682             "application"
1683           ]
1684         },
1685         "ApplicationExpose": {
1686           "type": "object",
1687           "properties": {
1688             "application": {
1689               "type": "string"
1690             }
1691           },
1692           "additionalProperties": false,
1693           "required": [
1694             "application"
1695           ]
1696         },
1697         "ApplicationGet": {
1698           "type": "object",
1699           "properties": {
1700             "application": {
1701               "type": "string"
1702             }
1703           },
1704           "additionalProperties": false,
1705           "required": [
1706             "application"
1707           ]
1708         },
1709         "ApplicationGetResults": {
1710           "type": "object",
1711           "properties": {
1712             "application": {
1713               "type": "string"
1714             },
1715             "charm": {
1716               "type": "string"
1717             },
1718             "config": {
1719               "type": "object",
1720               "patternProperties": {
1721                 ".*": {
1722                   "type": "object",
1723                   "additionalProperties": true
1724                 }
1725               }
1726             },
1727             "constraints": {
1728               "$ref": "#/definitions/Value"
1729             },
1730             "series": {
1731               "type": "string"
1732             }
1733           },
1734           "additionalProperties": false,
1735           "required": [
1736             "application",
1737             "charm",
1738             "config",
1739             "constraints",
1740             "series"
1741           ]
1742         },
1743         "ApplicationMetricCredential": {
1744           "type": "object",
1745           "properties": {
1746             "application": {
1747               "type": "string"
1748             },
1749             "metrics-credentials": {
1750               "type": "array",
1751               "items": {
1752                 "type": "integer"
1753               }
1754             }
1755           },
1756           "additionalProperties": false,
1757           "required": [
1758             "application",
1759             "metrics-credentials"
1760           ]
1761         },
1762         "ApplicationMetricCredentials": {
1763           "type": "object",
1764           "properties": {
1765             "creds": {
1766               "type": "array",
1767               "items": {
1768                 "$ref": "#/definitions/ApplicationMetricCredential"
1769               }
1770             }
1771           },
1772           "additionalProperties": false,
1773           "required": [
1774             "creds"
1775           ]
1776         },
1777         "ApplicationSet": {
1778           "type": "object",
1779           "properties": {
1780             "application": {
1781               "type": "string"
1782             },
1783             "options": {
1784               "type": "object",
1785               "patternProperties": {
1786                 ".*": {
1787                   "type": "string"
1788                 }
1789               }
1790             }
1791           },
1792           "additionalProperties": false,
1793           "required": [
1794             "application",
1795             "options"
1796           ]
1797         },
1798         "ApplicationSetCharm": {
1799           "type": "object",
1800           "properties": {
1801             "application": {
1802               "type": "string"
1803             },
1804             "channel": {
1805               "type": "string"
1806             },
1807             "charm-url": {
1808               "type": "string"
1809             },
1810             "config-settings": {
1811               "type": "object",
1812               "patternProperties": {
1813                 ".*": {
1814                   "type": "string"
1815                 }
1816               }
1817             },
1818             "config-settings-yaml": {
1819               "type": "string"
1820             },
1821             "force-series": {
1822               "type": "boolean"
1823             },
1824             "force-units": {
1825               "type": "boolean"
1826             },
1827             "resource-ids": {
1828               "type": "object",
1829               "patternProperties": {
1830                 ".*": {
1831                   "type": "string"
1832                 }
1833               }
1834             },
1835             "storage-constraints": {
1836               "type": "object",
1837               "patternProperties": {
1838                 ".*": {
1839                   "$ref": "#/definitions/StorageConstraints"
1840                 }
1841               }
1842             }
1843           },
1844           "additionalProperties": false,
1845           "required": [
1846             "application",
1847             "charm-url",
1848             "channel",
1849             "force-units",
1850             "force-series"
1851           ]
1852         },
1853         "ApplicationURLs": {
1854           "type": "object",
1855           "properties": {
1856             "application-urls": {
1857               "type": "array",
1858               "items": {
1859                 "type": "string"
1860               }
1861             }
1862           },
1863           "additionalProperties": false
1864         },
1865         "ApplicationUnexpose": {
1866           "type": "object",
1867           "properties": {
1868             "application": {
1869               "type": "string"
1870             }
1871           },
1872           "additionalProperties": false,
1873           "required": [
1874             "application"
1875           ]
1876         },
1877         "ApplicationUnset": {
1878           "type": "object",
1879           "properties": {
1880             "application": {
1881               "type": "string"
1882             },
1883             "options": {
1884               "type": "array",
1885               "items": {
1886                 "type": "string"
1887               }
1888             }
1889           },
1890           "additionalProperties": false,
1891           "required": [
1892             "application",
1893             "options"
1894           ]
1895         },
1896         "ApplicationUpdate": {
1897           "type": "object",
1898           "properties": {
1899             "application": {
1900               "type": "string"
1901             },
1902             "charm-url": {
1903               "type": "string"
1904             },
1905             "constraints": {
1906               "$ref": "#/definitions/Value"
1907             },
1908             "force-charm-url": {
1909               "type": "boolean"
1910             },
1911             "force-series": {
1912               "type": "boolean"
1913             },
1914             "min-units": {
1915               "type": "integer"
1916             },
1917             "settings": {
1918               "type": "object",
1919               "patternProperties": {
1920                 ".*": {
1921                   "type": "string"
1922                 }
1923               }
1924             },
1925             "settings-yaml": {
1926               "type": "string"
1927             }
1928           },
1929           "additionalProperties": false,
1930           "required": [
1931             "application",
1932             "charm-url",
1933             "force-charm-url",
1934             "force-series",
1935             "settings-yaml"
1936           ]
1937         },
1938         "ApplicationsDeploy": {
1939           "type": "object",
1940           "properties": {
1941             "applications": {
1942               "type": "array",
1943               "items": {
1944                 "$ref": "#/definitions/ApplicationDeploy"
1945               }
1946             }
1947           },
1948           "additionalProperties": false,
1949           "required": [
1950             "applications"
1951           ]
1952         },
1953         "CharmRelation": {
1954           "type": "object",
1955           "properties": {
1956             "interface": {
1957               "type": "string"
1958             },
1959             "limit": {
1960               "type": "integer"
1961             },
1962             "name": {
1963               "type": "string"
1964             },
1965             "optional": {
1966               "type": "boolean"
1967             },
1968             "role": {
1969               "type": "string"
1970             },
1971             "scope": {
1972               "type": "string"
1973             }
1974           },
1975           "additionalProperties": false,
1976           "required": [
1977             "name",
1978             "role",
1979             "interface",
1980             "optional",
1981             "limit",
1982             "scope"
1983           ]
1984         },
1985         "Constraints": {
1986           "type": "object",
1987           "properties": {
1988             "Count": {
1989               "type": "integer"
1990             },
1991             "Pool": {
1992               "type": "string"
1993             },
1994             "Size": {
1995               "type": "integer"
1996             }
1997           },
1998           "additionalProperties": false,
1999           "required": [
2000             "Pool",
2001             "Size",
2002             "Count"
2003           ]
2004         },
2005         "ConsumeApplicationArg": {
2006           "type": "object",
2007           "properties": {
2008             "application-alias": {
2009               "type": "string"
2010             },
2011             "application-url": {
2012               "type": "string"
2013             }
2014           },
2015           "additionalProperties": false,
2016           "required": [
2017             "application-url"
2018           ]
2019         },
2020         "ConsumeApplicationArgs": {
2021           "type": "object",
2022           "properties": {
2023             "args": {
2024               "type": "array",
2025               "items": {
2026                 "$ref": "#/definitions/ConsumeApplicationArg"
2027               }
2028             }
2029           },
2030           "additionalProperties": false
2031         },
2032         "ConsumeApplicationResult": {
2033           "type": "object",
2034           "properties": {
2035             "error": {
2036               "$ref": "#/definitions/Error"
2037             },
2038             "local-name": {
2039               "type": "string"
2040             }
2041           },
2042           "additionalProperties": false
2043         },
2044         "ConsumeApplicationResults": {
2045           "type": "object",
2046           "properties": {
2047             "results": {
2048               "type": "array",
2049               "items": {
2050                 "$ref": "#/definitions/ConsumeApplicationResult"
2051               }
2052             }
2053           },
2054           "additionalProperties": false,
2055           "required": [
2056             "results"
2057           ]
2058         },
2059         "DestroyApplicationInfo": {
2060           "type": "object",
2061           "properties": {
2062             "destroyed-storage": {
2063               "type": "array",
2064               "items": {
2065                 "$ref": "#/definitions/Entity"
2066               }
2067             },
2068             "destroyed-units": {
2069               "type": "array",
2070               "items": {
2071                 "$ref": "#/definitions/Entity"
2072               }
2073             },
2074             "detached-storage": {
2075               "type": "array",
2076               "items": {
2077                 "$ref": "#/definitions/Entity"
2078               }
2079             }
2080           },
2081           "additionalProperties": false
2082         },
2083         "DestroyApplicationResult": {
2084           "type": "object",
2085           "properties": {
2086             "error": {
2087               "$ref": "#/definitions/Error"
2088             },
2089             "info": {
2090               "$ref": "#/definitions/DestroyApplicationInfo"
2091             }
2092           },
2093           "additionalProperties": false
2094         },
2095         "DestroyApplicationResults": {
2096           "type": "object",
2097           "properties": {
2098             "results": {
2099               "type": "array",
2100               "items": {
2101                 "$ref": "#/definitions/DestroyApplicationResult"
2102               }
2103             }
2104           },
2105           "additionalProperties": false
2106         },
2107         "DestroyApplicationUnits": {
2108           "type": "object",
2109           "properties": {
2110             "unit-names": {
2111               "type": "array",
2112               "items": {
2113                 "type": "string"
2114               }
2115             }
2116           },
2117           "additionalProperties": false,
2118           "required": [
2119             "unit-names"
2120           ]
2121         },
2122         "DestroyRelation": {
2123           "type": "object",
2124           "properties": {
2125             "endpoints": {
2126               "type": "array",
2127               "items": {
2128                 "type": "string"
2129               }
2130             }
2131           },
2132           "additionalProperties": false,
2133           "required": [
2134             "endpoints"
2135           ]
2136         },
2137         "DestroyUnitInfo": {
2138           "type": "object",
2139           "properties": {
2140             "destroyed-storage": {
2141               "type": "array",
2142               "items": {
2143                 "$ref": "#/definitions/Entity"
2144               }
2145             },
2146             "detached-storage": {
2147               "type": "array",
2148               "items": {
2149                 "$ref": "#/definitions/Entity"
2150               }
2151             }
2152           },
2153           "additionalProperties": false
2154         },
2155         "DestroyUnitResult": {
2156           "type": "object",
2157           "properties": {
2158             "error": {
2159               "$ref": "#/definitions/Error"
2160             },
2161             "info": {
2162               "$ref": "#/definitions/DestroyUnitInfo"
2163             }
2164           },
2165           "additionalProperties": false
2166         },
2167         "DestroyUnitResults": {
2168           "type": "object",
2169           "properties": {
2170             "results": {
2171               "type": "array",
2172               "items": {
2173                 "$ref": "#/definitions/DestroyUnitResult"
2174               }
2175             }
2176           },
2177           "additionalProperties": false
2178         },
2179         "Entities": {
2180           "type": "object",
2181           "properties": {
2182             "entities": {
2183               "type": "array",
2184               "items": {
2185                 "$ref": "#/definitions/Entity"
2186               }
2187             }
2188           },
2189           "additionalProperties": false,
2190           "required": [
2191             "entities"
2192           ]
2193         },
2194         "Entity": {
2195           "type": "object",
2196           "properties": {
2197             "tag": {
2198               "type": "string"
2199             }
2200           },
2201           "additionalProperties": false,
2202           "required": [
2203             "tag"
2204           ]
2205         },
2206         "Error": {
2207           "type": "object",
2208           "properties": {
2209             "code": {
2210               "type": "string"
2211             },
2212             "info": {
2213               "$ref": "#/definitions/ErrorInfo"
2214             },
2215             "message": {
2216               "type": "string"
2217             }
2218           },
2219           "additionalProperties": false,
2220           "required": [
2221             "message",
2222             "code"
2223           ]
2224         },
2225         "ErrorInfo": {
2226           "type": "object",
2227           "properties": {
2228             "macaroon": {
2229               "$ref": "#/definitions/Macaroon"
2230             },
2231             "macaroon-path": {
2232               "type": "string"
2233             }
2234           },
2235           "additionalProperties": false
2236         },
2237         "ErrorResult": {
2238           "type": "object",
2239           "properties": {
2240             "error": {
2241               "$ref": "#/definitions/Error"
2242             }
2243           },
2244           "additionalProperties": false
2245         },
2246         "ErrorResults": {
2247           "type": "object",
2248           "properties": {
2249             "results": {
2250               "type": "array",
2251               "items": {
2252                 "$ref": "#/definitions/ErrorResult"
2253               }
2254             }
2255           },
2256           "additionalProperties": false,
2257           "required": [
2258             "results"
2259           ]
2260         },
2261         "GetApplicationConstraints": {
2262           "type": "object",
2263           "properties": {
2264             "application": {
2265               "type": "string"
2266             }
2267           },
2268           "additionalProperties": false,
2269           "required": [
2270             "application"
2271           ]
2272         },
2273         "GetConstraintsResults": {
2274           "type": "object",
2275           "properties": {
2276             "constraints": {
2277               "$ref": "#/definitions/Value"
2278             }
2279           },
2280           "additionalProperties": false,
2281           "required": [
2282             "constraints"
2283           ]
2284         },
2285         "Macaroon": {
2286           "type": "object",
2287           "additionalProperties": false
2288         },
2289         "Placement": {
2290           "type": "object",
2291           "properties": {
2292             "directive": {
2293               "type": "string"
2294             },
2295             "scope": {
2296               "type": "string"
2297             }
2298           },
2299           "additionalProperties": false,
2300           "required": [
2301             "scope",
2302             "directive"
2303           ]
2304         },
2305         "RemoteApplicationInfo": {
2306           "type": "object",
2307           "properties": {
2308             "application-url": {
2309               "type": "string"
2310             },
2311             "description": {
2312               "type": "string"
2313             },
2314             "endpoints": {
2315               "type": "array",
2316               "items": {
2317                 "$ref": "#/definitions/RemoteEndpoint"
2318               }
2319             },
2320             "icon-url-path": {
2321               "type": "string"
2322             },
2323             "model-tag": {
2324               "type": "string"
2325             },
2326             "name": {
2327               "type": "string"
2328             },
2329             "source-model-label": {
2330               "type": "string"
2331             }
2332           },
2333           "additionalProperties": false,
2334           "required": [
2335             "model-tag",
2336             "name",
2337             "description",
2338             "application-url",
2339             "endpoints",
2340             "icon-url-path"
2341           ]
2342         },
2343         "RemoteApplicationInfoResult": {
2344           "type": "object",
2345           "properties": {
2346             "error": {
2347               "$ref": "#/definitions/Error"
2348             },
2349             "result": {
2350               "$ref": "#/definitions/RemoteApplicationInfo"
2351             }
2352           },
2353           "additionalProperties": false
2354         },
2355         "RemoteApplicationInfoResults": {
2356           "type": "object",
2357           "properties": {
2358             "results": {
2359               "type": "array",
2360               "items": {
2361                 "$ref": "#/definitions/RemoteApplicationInfoResult"
2362               }
2363             }
2364           },
2365           "additionalProperties": false,
2366           "required": [
2367             "results"
2368           ]
2369         },
2370         "RemoteEndpoint": {
2371           "type": "object",
2372           "properties": {
2373             "interface": {
2374               "type": "string"
2375             },
2376             "limit": {
2377               "type": "integer"
2378             },
2379             "name": {
2380               "type": "string"
2381             },
2382             "role": {
2383               "type": "string"
2384             },
2385             "scope": {
2386               "type": "string"
2387             }
2388           },
2389           "additionalProperties": false,
2390           "required": [
2391             "name",
2392             "role",
2393             "interface",
2394             "limit",
2395             "scope"
2396           ]
2397         },
2398         "SetConstraints": {
2399           "type": "object",
2400           "properties": {
2401             "application": {
2402               "type": "string"
2403             },
2404             "constraints": {
2405               "$ref": "#/definitions/Value"
2406             }
2407           },
2408           "additionalProperties": false,
2409           "required": [
2410             "application",
2411             "constraints"
2412           ]
2413         },
2414         "StorageConstraints": {
2415           "type": "object",
2416           "properties": {
2417             "count": {
2418               "type": "integer"
2419             },
2420             "pool": {
2421               "type": "string"
2422             },
2423             "size": {
2424               "type": "integer"
2425             }
2426           },
2427           "additionalProperties": false
2428         },
2429         "StringResult": {
2430           "type": "object",
2431           "properties": {
2432             "error": {
2433               "$ref": "#/definitions/Error"
2434             },
2435             "result": {
2436               "type": "string"
2437             }
2438           },
2439           "additionalProperties": false,
2440           "required": [
2441             "result"
2442           ]
2443         },
2444         "Value": {
2445           "type": "object",
2446           "properties": {
2447             "arch": {
2448               "type": "string"
2449             },
2450             "container": {
2451               "type": "string"
2452             },
2453             "cores": {
2454               "type": "integer"
2455             },
2456             "cpu-power": {
2457               "type": "integer"
2458             },
2459             "instance-type": {
2460               "type": "string"
2461             },
2462             "mem": {
2463               "type": "integer"
2464             },
2465             "root-disk": {
2466               "type": "integer"
2467             },
2468             "spaces": {
2469               "type": "array",
2470               "items": {
2471                 "type": "string"
2472               }
2473             },
2474             "tags": {
2475               "type": "array",
2476               "items": {
2477                 "type": "string"
2478               }
2479             },
2480             "virt-type": {
2481               "type": "string"
2482             }
2483           },
2484           "additionalProperties": false
2485         }
2486       }
2487     }
2488   },
2489   {
2490     "Name": "ApplicationScaler",
2491     "Version": 1,
2492     "Schema": {
2493       "type": "object",
2494       "properties": {
2495         "Rescale": {
2496           "type": "object",
2497           "properties": {
2498             "Params": {
2499               "$ref": "#/definitions/Entities"
2500             },
2501             "Result": {
2502               "$ref": "#/definitions/ErrorResults"
2503             }
2504           }
2505         },
2506         "Watch": {
2507           "type": "object",
2508           "properties": {
2509             "Result": {
2510               "$ref": "#/definitions/StringsWatchResult"
2511             }
2512           }
2513         }
2514       },
2515       "definitions": {
2516         "Entities": {
2517           "type": "object",
2518           "properties": {
2519             "entities": {
2520               "type": "array",
2521               "items": {
2522                 "$ref": "#/definitions/Entity"
2523               }
2524             }
2525           },
2526           "additionalProperties": false,
2527           "required": [
2528             "entities"
2529           ]
2530         },
2531         "Entity": {
2532           "type": "object",
2533           "properties": {
2534             "tag": {
2535               "type": "string"
2536             }
2537           },
2538           "additionalProperties": false,
2539           "required": [
2540             "tag"
2541           ]
2542         },
2543         "Error": {
2544           "type": "object",
2545           "properties": {
2546             "code": {
2547               "type": "string"
2548             },
2549             "info": {
2550               "$ref": "#/definitions/ErrorInfo"
2551             },
2552             "message": {
2553               "type": "string"
2554             }
2555           },
2556           "additionalProperties": false,
2557           "required": [
2558             "message",
2559             "code"
2560           ]
2561         },
2562         "ErrorInfo": {
2563           "type": "object",
2564           "properties": {
2565             "macaroon": {
2566               "$ref": "#/definitions/Macaroon"
2567             },
2568             "macaroon-path": {
2569               "type": "string"
2570             }
2571           },
2572           "additionalProperties": false
2573         },
2574         "ErrorResult": {
2575           "type": "object",
2576           "properties": {
2577             "error": {
2578               "$ref": "#/definitions/Error"
2579             }
2580           },
2581           "additionalProperties": false
2582         },
2583         "ErrorResults": {
2584           "type": "object",
2585           "properties": {
2586             "results": {
2587               "type": "array",
2588               "items": {
2589                 "$ref": "#/definitions/ErrorResult"
2590               }
2591             }
2592           },
2593           "additionalProperties": false,
2594           "required": [
2595             "results"
2596           ]
2597         },
2598         "Macaroon": {
2599           "type": "object",
2600           "additionalProperties": false
2601         },
2602         "StringsWatchResult": {
2603           "type": "object",
2604           "properties": {
2605             "changes": {
2606               "type": "array",
2607               "items": {
2608                 "type": "string"
2609               }
2610             },
2611             "error": {
2612               "$ref": "#/definitions/Error"
2613             },
2614             "watcher-id": {
2615               "type": "string"
2616             }
2617           },
2618           "additionalProperties": false,
2619           "required": [
2620             "watcher-id"
2621           ]
2622         }
2623       }
2624     }
2625   },
2626   {
2627     "Name": "Backups",
2628     "Version": 1,
2629     "Schema": {
2630       "type": "object",
2631       "properties": {
2632         "Create": {
2633           "type": "object",
2634           "properties": {
2635             "Params": {
2636               "$ref": "#/definitions/BackupsCreateArgs"
2637             },
2638             "Result": {
2639               "$ref": "#/definitions/BackupsMetadataResult"
2640             }
2641           }
2642         },
2643         "FinishRestore": {
2644           "type": "object"
2645         },
2646         "Info": {
2647           "type": "object",
2648           "properties": {
2649             "Params": {
2650               "$ref": "#/definitions/BackupsInfoArgs"
2651             },
2652             "Result": {
2653               "$ref": "#/definitions/BackupsMetadataResult"
2654             }
2655           }
2656         },
2657         "List": {
2658           "type": "object",
2659           "properties": {
2660             "Params": {
2661               "$ref": "#/definitions/BackupsListArgs"
2662             },
2663             "Result": {
2664               "$ref": "#/definitions/BackupsListResult"
2665             }
2666           }
2667         },
2668         "PrepareRestore": {
2669           "type": "object"
2670         },
2671         "Remove": {
2672           "type": "object",
2673           "properties": {
2674             "Params": {
2675               "$ref": "#/definitions/BackupsRemoveArgs"
2676             }
2677           }
2678         },
2679         "Restore": {
2680           "type": "object",
2681           "properties": {
2682             "Params": {
2683               "$ref": "#/definitions/RestoreArgs"
2684             }
2685           }
2686         }
2687       },
2688       "definitions": {
2689         "BackupsCreateArgs": {
2690           "type": "object",
2691           "properties": {
2692             "notes": {
2693               "type": "string"
2694             }
2695           },
2696           "additionalProperties": false,
2697           "required": [
2698             "notes"
2699           ]
2700         },
2701         "BackupsInfoArgs": {
2702           "type": "object",
2703           "properties": {
2704             "id": {
2705               "type": "string"
2706             }
2707           },
2708           "additionalProperties": false,
2709           "required": [
2710             "id"
2711           ]
2712         },
2713         "BackupsListArgs": {
2714           "type": "object",
2715           "additionalProperties": false
2716         },
2717         "BackupsListResult": {
2718           "type": "object",
2719           "properties": {
2720             "list": {
2721               "type": "array",
2722               "items": {
2723                 "$ref": "#/definitions/BackupsMetadataResult"
2724               }
2725             }
2726           },
2727           "additionalProperties": false,
2728           "required": [
2729             "list"
2730           ]
2731         },
2732         "BackupsMetadataResult": {
2733           "type": "object",
2734           "properties": {
2735             "ca-cert": {
2736               "type": "string"
2737             },
2738             "ca-private-key": {
2739               "type": "string"
2740             },
2741             "checksum": {
2742               "type": "string"
2743             },
2744             "checksum-format": {
2745               "type": "string"
2746             },
2747             "finished": {
2748               "type": "string",
2749               "format": "date-time"
2750             },
2751             "hostname": {
2752               "type": "string"
2753             },
2754             "id": {
2755               "type": "string"
2756             },
2757             "machine": {
2758               "type": "string"
2759             },
2760             "model": {
2761               "type": "string"
2762             },
2763             "notes": {
2764               "type": "string"
2765             },
2766             "series": {
2767               "type": "string"
2768             },
2769             "size": {
2770               "type": "integer"
2771             },
2772             "started": {
2773               "type": "string",
2774               "format": "date-time"
2775             },
2776             "stored": {
2777               "type": "string",
2778               "format": "date-time"
2779             },
2780             "version": {
2781               "$ref": "#/definitions/Number"
2782             }
2783           },
2784           "additionalProperties": false,
2785           "required": [
2786             "id",
2787             "checksum",
2788             "checksum-format",
2789             "size",
2790             "stored",
2791             "started",
2792             "finished",
2793             "notes",
2794             "model",
2795             "machine",
2796             "hostname",
2797             "version",
2798             "series",
2799             "ca-cert",
2800             "ca-private-key"
2801           ]
2802         },
2803         "BackupsRemoveArgs": {
2804           "type": "object",
2805           "properties": {
2806             "id": {
2807               "type": "string"
2808             }
2809           },
2810           "additionalProperties": false,
2811           "required": [
2812             "id"
2813           ]
2814         },
2815         "Number": {
2816           "type": "object",
2817           "properties": {
2818             "Build": {
2819               "type": "integer"
2820             },
2821             "Major": {
2822               "type": "integer"
2823             },
2824             "Minor": {
2825               "type": "integer"
2826             },
2827             "Patch": {
2828               "type": "integer"
2829             },
2830             "Tag": {
2831               "type": "string"
2832             }
2833           },
2834           "additionalProperties": false,
2835           "required": [
2836             "Major",
2837             "Minor",
2838             "Tag",
2839             "Patch",
2840             "Build"
2841           ]
2842         },
2843         "RestoreArgs": {
2844           "type": "object",
2845           "properties": {
2846             "backup-id": {
2847               "type": "string"
2848             }
2849           },
2850           "additionalProperties": false,
2851           "required": [
2852             "backup-id"
2853           ]
2854         }
2855       }
2856     }
2857   },
2858   {
2859     "Name": "Block",
2860     "Version": 2,
2861     "Schema": {
2862       "type": "object",
2863       "properties": {
2864         "List": {
2865           "type": "object",
2866           "properties": {
2867             "Result": {
2868               "$ref": "#/definitions/BlockResults"
2869             }
2870           }
2871         },
2872         "SwitchBlockOff": {
2873           "type": "object",
2874           "properties": {
2875             "Params": {
2876               "$ref": "#/definitions/BlockSwitchParams"
2877             },
2878             "Result": {
2879               "$ref": "#/definitions/ErrorResult"
2880             }
2881           }
2882         },
2883         "SwitchBlockOn": {
2884           "type": "object",
2885           "properties": {
2886             "Params": {
2887               "$ref": "#/definitions/BlockSwitchParams"
2888             },
2889             "Result": {
2890               "$ref": "#/definitions/ErrorResult"
2891             }
2892           }
2893         }
2894       },
2895       "definitions": {
2896         "Block": {
2897           "type": "object",
2898           "properties": {
2899             "id": {
2900               "type": "string"
2901             },
2902             "message": {
2903               "type": "string"
2904             },
2905             "tag": {
2906               "type": "string"
2907             },
2908             "type": {
2909               "type": "string"
2910             }
2911           },
2912           "additionalProperties": false,
2913           "required": [
2914             "id",
2915             "tag",
2916             "type"
2917           ]
2918         },
2919         "BlockResult": {
2920           "type": "object",
2921           "properties": {
2922             "error": {
2923               "$ref": "#/definitions/Error"
2924             },
2925             "result": {
2926               "$ref": "#/definitions/Block"
2927             }
2928           },
2929           "additionalProperties": false,
2930           "required": [
2931             "result"
2932           ]
2933         },
2934         "BlockResults": {
2935           "type": "object",
2936           "properties": {
2937             "results": {
2938               "type": "array",
2939               "items": {
2940                 "$ref": "#/definitions/BlockResult"
2941               }
2942             }
2943           },
2944           "additionalProperties": false
2945         },
2946         "BlockSwitchParams": {
2947           "type": "object",
2948           "properties": {
2949             "message": {
2950               "type": "string"
2951             },
2952             "type": {
2953               "type": "string"
2954             }
2955           },
2956           "additionalProperties": false,
2957           "required": [
2958             "type"
2959           ]
2960         },
2961         "Error": {
2962           "type": "object",
2963           "properties": {
2964             "code": {
2965               "type": "string"
2966             },
2967             "info": {
2968               "$ref": "#/definitions/ErrorInfo"
2969             },
2970             "message": {
2971               "type": "string"
2972             }
2973           },
2974           "additionalProperties": false,
2975           "required": [
2976             "message",
2977             "code"
2978           ]
2979         },
2980         "ErrorInfo": {
2981           "type": "object",
2982           "properties": {
2983             "macaroon": {
2984               "$ref": "#/definitions/Macaroon"
2985             },
2986             "macaroon-path": {
2987               "type": "string"
2988             }
2989           },
2990           "additionalProperties": false
2991         },
2992         "ErrorResult": {
2993           "type": "object",
2994           "properties": {
2995             "error": {
2996               "$ref": "#/definitions/Error"
2997             }
2998           },
2999           "additionalProperties": false
3000         },
3001         "Macaroon": {
3002           "type": "object",
3003           "additionalProperties": false
3004         }
3005       }
3006     }
3007   },
3008   {
3009     "Name": "Bundle",
3010     "Version": 1,
3011     "Schema": {
3012       "type": "object",
3013       "properties": {
3014         "GetChanges": {
3015           "type": "object",
3016           "properties": {
3017             "Params": {
3018               "$ref": "#/definitions/BundleChangesParams"
3019             },
3020             "Result": {
3021               "$ref": "#/definitions/BundleChangesResults"
3022             }
3023           }
3024         }
3025       },
3026       "definitions": {
3027         "BundleChange": {
3028           "type": "object",
3029           "properties": {
3030             "args": {
3031               "type": "array",
3032               "items": {
3033                 "type": "object",
3034                 "additionalProperties": true
3035               }
3036             },
3037             "id": {
3038               "type": "string"
3039             },
3040             "method": {
3041               "type": "string"
3042             },
3043             "requires": {
3044               "type": "array",
3045               "items": {
3046                 "type": "string"
3047               }
3048             }
3049           },
3050           "additionalProperties": false,
3051           "required": [
3052             "id",
3053             "method",
3054             "args",
3055             "requires"
3056           ]
3057         },
3058         "BundleChangesParams": {
3059           "type": "object",
3060           "properties": {
3061             "yaml": {
3062               "type": "string"
3063             }
3064           },
3065           "additionalProperties": false,
3066           "required": [
3067             "yaml"
3068           ]
3069         },
3070         "BundleChangesResults": {
3071           "type": "object",
3072           "properties": {
3073             "changes": {
3074               "type": "array",
3075               "items": {
3076                 "$ref": "#/definitions/BundleChange"
3077               }
3078             },
3079             "errors": {
3080               "type": "array",
3081               "items": {
3082                 "type": "string"
3083               }
3084             }
3085           },
3086           "additionalProperties": false
3087         }
3088       }
3089     }
3090   },
3091   {
3092     "Name": "CharmRevisionUpdater",
3093     "Version": 2,
3094     "Schema": {
3095       "type": "object",
3096       "properties": {
3097         "UpdateLatestRevisions": {
3098           "type": "object",
3099           "properties": {
3100             "Result": {
3101               "$ref": "#/definitions/ErrorResult"
3102             }
3103           }
3104         }
3105       },
3106       "definitions": {
3107         "Error": {
3108           "type": "object",
3109           "properties": {
3110             "code": {
3111               "type": "string"
3112             },
3113             "info": {
3114               "$ref": "#/definitions/ErrorInfo"
3115             },
3116             "message": {
3117               "type": "string"
3118             }
3119           },
3120           "additionalProperties": false,
3121           "required": [
3122             "message",
3123             "code"
3124           ]
3125         },
3126         "ErrorInfo": {
3127           "type": "object",
3128           "properties": {
3129             "macaroon": {
3130               "$ref": "#/definitions/Macaroon"
3131             },
3132             "macaroon-path": {
3133               "type": "string"
3134             }
3135           },
3136           "additionalProperties": false
3137         },
3138         "ErrorResult": {
3139           "type": "object",
3140           "properties": {
3141             "error": {
3142               "$ref": "#/definitions/Error"
3143             }
3144           },
3145           "additionalProperties": false
3146         },
3147         "Macaroon": {
3148           "type": "object",
3149           "additionalProperties": false
3150         }
3151       }
3152     }
3153   },
3154   {
3155     "Name": "Charms",
3156     "Version": 2,
3157     "Schema": {
3158       "type": "object",
3159       "properties": {
3160         "CharmInfo": {
3161           "type": "object",
3162           "properties": {
3163             "Params": {
3164               "$ref": "#/definitions/CharmURL"
3165             },
3166             "Result": {
3167               "$ref": "#/definitions/CharmInfo"
3168             }
3169           }
3170         },
3171         "IsMetered": {
3172           "type": "object",
3173           "properties": {
3174             "Params": {
3175               "$ref": "#/definitions/CharmURL"
3176             },
3177             "Result": {
3178               "$ref": "#/definitions/IsMeteredResult"
3179             }
3180           }
3181         },
3182         "List": {
3183           "type": "object",
3184           "properties": {
3185             "Params": {
3186               "$ref": "#/definitions/CharmsList"
3187             },
3188             "Result": {
3189               "$ref": "#/definitions/CharmsListResult"
3190             }
3191           }
3192         }
3193       },
3194       "definitions": {
3195         "CharmActionSpec": {
3196           "type": "object",
3197           "properties": {
3198             "description": {
3199               "type": "string"
3200             },
3201             "params": {
3202               "type": "object",
3203               "patternProperties": {
3204                 ".*": {
3205                   "type": "object",
3206                   "additionalProperties": true
3207                 }
3208               }
3209             }
3210           },
3211           "additionalProperties": false,
3212           "required": [
3213             "description",
3214             "params"
3215           ]
3216         },
3217         "CharmActions": {
3218           "type": "object",
3219           "properties": {
3220             "specs": {
3221               "type": "object",
3222               "patternProperties": {
3223                 ".*": {
3224                   "$ref": "#/definitions/CharmActionSpec"
3225                 }
3226               }
3227             }
3228           },
3229           "additionalProperties": false
3230         },
3231         "CharmInfo": {
3232           "type": "object",
3233           "properties": {
3234             "actions": {
3235               "$ref": "#/definitions/CharmActions"
3236             },
3237             "config": {
3238               "type": "object",
3239               "patternProperties": {
3240                 ".*": {
3241                   "$ref": "#/definitions/CharmOption"
3242                 }
3243               }
3244             },
3245             "meta": {
3246               "$ref": "#/definitions/CharmMeta"
3247             },
3248             "metrics": {
3249               "$ref": "#/definitions/CharmMetrics"
3250             },
3251             "revision": {
3252               "type": "integer"
3253             },
3254             "url": {
3255               "type": "string"
3256             }
3257           },
3258           "additionalProperties": false,
3259           "required": [
3260             "revision",
3261             "url",
3262             "config"
3263           ]
3264         },
3265         "CharmMeta": {
3266           "type": "object",
3267           "properties": {
3268             "categories": {
3269               "type": "array",
3270               "items": {
3271                 "type": "string"
3272               }
3273             },
3274             "description": {
3275               "type": "string"
3276             },
3277             "extra-bindings": {
3278               "type": "object",
3279               "patternProperties": {
3280                 ".*": {
3281                   "type": "string"
3282                 }
3283               }
3284             },
3285             "min-juju-version": {
3286               "type": "string"
3287             },
3288             "name": {
3289               "type": "string"
3290             },
3291             "payload-classes": {
3292               "type": "object",
3293               "patternProperties": {
3294                 ".*": {
3295                   "$ref": "#/definitions/CharmPayloadClass"
3296                 }
3297               }
3298             },
3299             "peers": {
3300               "type": "object",
3301               "patternProperties": {
3302                 ".*": {
3303                   "$ref": "#/definitions/CharmRelation"
3304                 }
3305               }
3306             },
3307             "provides": {
3308               "type": "object",
3309               "patternProperties": {
3310                 ".*": {
3311                   "$ref": "#/definitions/CharmRelation"
3312                 }
3313               }
3314             },
3315             "requires": {
3316               "type": "object",
3317               "patternProperties": {
3318                 ".*": {
3319                   "$ref": "#/definitions/CharmRelation"
3320                 }
3321               }
3322             },
3323             "resources": {
3324               "type": "object",
3325               "patternProperties": {
3326                 ".*": {
3327                   "$ref": "#/definitions/CharmResourceMeta"
3328                 }
3329               }
3330             },
3331             "series": {
3332               "type": "array",
3333               "items": {
3334                 "type": "string"
3335               }
3336             },
3337             "storage": {
3338               "type": "object",
3339               "patternProperties": {
3340                 ".*": {
3341                   "$ref": "#/definitions/CharmStorage"
3342                 }
3343               }
3344             },
3345             "subordinate": {
3346               "type": "boolean"
3347             },
3348             "summary": {
3349               "type": "string"
3350             },
3351             "tags": {
3352               "type": "array",
3353               "items": {
3354                 "type": "string"
3355               }
3356             },
3357             "terms": {
3358               "type": "array",
3359               "items": {
3360                 "type": "string"
3361               }
3362             }
3363           },
3364           "additionalProperties": false,
3365           "required": [
3366             "name",
3367             "summary",
3368             "description",
3369             "subordinate"
3370           ]
3371         },
3372         "CharmMetric": {
3373           "type": "object",
3374           "properties": {
3375             "description": {
3376               "type": "string"
3377             },
3378             "type": {
3379               "type": "string"
3380             }
3381           },
3382           "additionalProperties": false,
3383           "required": [
3384             "type",
3385             "description"
3386           ]
3387         },
3388         "CharmMetrics": {
3389           "type": "object",
3390           "properties": {
3391             "metrics": {
3392               "type": "object",
3393               "patternProperties": {
3394                 ".*": {
3395                   "$ref": "#/definitions/CharmMetric"
3396                 }
3397               }
3398             },
3399             "plan": {
3400               "$ref": "#/definitions/CharmPlan"
3401             }
3402           },
3403           "additionalProperties": false,
3404           "required": [
3405             "metrics",
3406             "plan"
3407           ]
3408         },
3409         "CharmOption": {
3410           "type": "object",
3411           "properties": {
3412             "default": {
3413               "type": "object",
3414               "additionalProperties": true
3415             },
3416             "description": {
3417               "type": "string"
3418             },
3419             "type": {
3420               "type": "string"
3421             }
3422           },
3423           "additionalProperties": false,
3424           "required": [
3425             "type"
3426           ]
3427         },
3428         "CharmPayloadClass": {
3429           "type": "object",
3430           "properties": {
3431             "name": {
3432               "type": "string"
3433             },
3434             "type": {
3435               "type": "string"
3436             }
3437           },
3438           "additionalProperties": false,
3439           "required": [
3440             "name",
3441             "type"
3442           ]
3443         },
3444         "CharmPlan": {
3445           "type": "object",
3446           "properties": {
3447             "required": {
3448               "type": "boolean"
3449             }
3450           },
3451           "additionalProperties": false,
3452           "required": [
3453             "required"
3454           ]
3455         },
3456         "CharmRelation": {
3457           "type": "object",
3458           "properties": {
3459             "interface": {
3460               "type": "string"
3461             },
3462             "limit": {
3463               "type": "integer"
3464             },
3465             "name": {
3466               "type": "string"
3467             },
3468             "optional": {
3469               "type": "boolean"
3470             },
3471             "role": {
3472               "type": "string"
3473             },
3474             "scope": {
3475               "type": "string"
3476             }
3477           },
3478           "additionalProperties": false,
3479           "required": [
3480             "name",
3481             "role",
3482             "interface",
3483             "optional",
3484             "limit",
3485             "scope"
3486           ]
3487         },
3488         "CharmResourceMeta": {
3489           "type": "object",
3490           "properties": {
3491             "description": {
3492               "type": "string"
3493             },
3494             "name": {
3495               "type": "string"
3496             },
3497             "path": {
3498               "type": "string"
3499             },
3500             "type": {
3501               "type": "string"
3502             }
3503           },
3504           "additionalProperties": false,
3505           "required": [
3506             "name",
3507             "type",
3508             "path",
3509             "description"
3510           ]
3511         },
3512         "CharmStorage": {
3513           "type": "object",
3514           "properties": {
3515             "count-max": {
3516               "type": "integer"
3517             },
3518             "count-min": {
3519               "type": "integer"
3520             },
3521             "description": {
3522               "type": "string"
3523             },
3524             "location": {
3525               "type": "string"
3526             },
3527             "minimum-size": {
3528               "type": "integer"
3529             },
3530             "name": {
3531               "type": "string"
3532             },
3533             "properties": {
3534               "type": "array",
3535               "items": {
3536                 "type": "string"
3537               }
3538             },
3539             "read-only": {
3540               "type": "boolean"
3541             },
3542             "shared": {
3543               "type": "boolean"
3544             },
3545             "type": {
3546               "type": "string"
3547             }
3548           },
3549           "additionalProperties": false,
3550           "required": [
3551             "name",
3552             "description",
3553             "type",
3554             "shared",
3555             "read-only",
3556             "count-min",
3557             "count-max",
3558             "minimum-size"
3559           ]
3560         },
3561         "CharmURL": {
3562           "type": "object",
3563           "properties": {
3564             "url": {
3565               "type": "string"
3566             }
3567           },
3568           "additionalProperties": false,
3569           "required": [
3570             "url"
3571           ]
3572         },
3573         "CharmsList": {
3574           "type": "object",
3575           "properties": {
3576             "names": {
3577               "type": "array",
3578               "items": {
3579                 "type": "string"
3580               }
3581             }
3582           },
3583           "additionalProperties": false,
3584           "required": [
3585             "names"
3586           ]
3587         },
3588         "CharmsListResult": {
3589           "type": "object",
3590           "properties": {
3591             "charm-urls": {
3592               "type": "array",
3593               "items": {
3594                 "type": "string"
3595               }
3596             }
3597           },
3598           "additionalProperties": false,
3599           "required": [
3600             "charm-urls"
3601           ]
3602         },
3603         "IsMeteredResult": {
3604           "type": "object",
3605           "properties": {
3606             "metered": {
3607               "type": "boolean"
3608             }
3609           },
3610           "additionalProperties": false,
3611           "required": [
3612             "metered"
3613           ]
3614         }
3615       }
3616     }
3617   },
3618   {
3619     "Name": "Cleaner",
3620     "Version": 2,
3621     "Schema": {
3622       "type": "object",
3623       "properties": {
3624         "Cleanup": {
3625           "type": "object"
3626         },
3627         "WatchCleanups": {
3628           "type": "object",
3629           "properties": {
3630             "Result": {
3631               "$ref": "#/definitions/NotifyWatchResult"
3632             }
3633           }
3634         }
3635       },
3636       "definitions": {
3637         "Error": {
3638           "type": "object",
3639           "properties": {
3640             "code": {
3641               "type": "string"
3642             },
3643             "info": {
3644               "$ref": "#/definitions/ErrorInfo"
3645             },
3646             "message": {
3647               "type": "string"
3648             }
3649           },
3650           "additionalProperties": false,
3651           "required": [
3652             "message",
3653             "code"
3654           ]
3655         },
3656         "ErrorInfo": {
3657           "type": "object",
3658           "properties": {
3659             "macaroon": {
3660               "$ref": "#/definitions/Macaroon"
3661             },
3662             "macaroon-path": {
3663               "type": "string"
3664             }
3665           },
3666           "additionalProperties": false
3667         },
3668         "Macaroon": {
3669           "type": "object",
3670           "additionalProperties": false
3671         },
3672         "NotifyWatchResult": {
3673           "type": "object",
3674           "properties": {
3675             "NotifyWatcherId": {
3676               "type": "string"
3677             },
3678             "error": {
3679               "$ref": "#/definitions/Error"
3680             }
3681           },
3682           "additionalProperties": false,
3683           "required": [
3684             "NotifyWatcherId"
3685           ]
3686         }
3687       }
3688     }
3689   },
3690   {
3691     "Name": "Client",
3692     "Version": 1,
3693     "Schema": {
3694       "type": "object",
3695       "properties": {
3696         "APIHostPorts": {
3697           "type": "object",
3698           "properties": {
3699             "Result": {
3700               "$ref": "#/definitions/APIHostPortsResult"
3701             }
3702           }
3703         },
3704         "AbortCurrentUpgrade": {
3705           "type": "object"
3706         },
3707         "AddCharm": {
3708           "type": "object",
3709           "properties": {
3710             "Params": {
3711               "$ref": "#/definitions/AddCharm"
3712             }
3713           }
3714         },
3715         "AddCharmWithAuthorization": {
3716           "type": "object",
3717           "properties": {
3718             "Params": {
3719               "$ref": "#/definitions/AddCharmWithAuthorization"
3720             }
3721           }
3722         },
3723         "AddMachines": {
3724           "type": "object",
3725           "properties": {
3726             "Params": {
3727               "$ref": "#/definitions/AddMachines"
3728             },
3729             "Result": {
3730               "$ref": "#/definitions/AddMachinesResults"
3731             }
3732           }
3733         },
3734         "AddMachinesV2": {
3735           "type": "object",
3736           "properties": {
3737             "Params": {
3738               "$ref": "#/definitions/AddMachines"
3739             },
3740             "Result": {
3741               "$ref": "#/definitions/AddMachinesResults"
3742             }
3743           }
3744         },
3745         "AgentVersion": {
3746           "type": "object",
3747           "properties": {
3748             "Result": {
3749               "$ref": "#/definitions/AgentVersionResult"
3750             }
3751           }
3752         },
3753         "DestroyMachines": {
3754           "type": "object",
3755           "properties": {
3756             "Params": {
3757               "$ref": "#/definitions/DestroyMachines"
3758             }
3759           }
3760         },
3761         "FindTools": {
3762           "type": "object",
3763           "properties": {
3764             "Params": {
3765               "$ref": "#/definitions/FindToolsParams"
3766             },
3767             "Result": {
3768               "$ref": "#/definitions/FindToolsResult"
3769             }
3770           }
3771         },
3772         "FullStatus": {
3773           "type": "object",
3774           "properties": {
3775             "Params": {
3776               "$ref": "#/definitions/StatusParams"
3777             },
3778             "Result": {
3779               "$ref": "#/definitions/FullStatus"
3780             }
3781           }
3782         },
3783         "GetBundleChanges": {
3784           "type": "object",
3785           "properties": {
3786             "Params": {
3787               "$ref": "#/definitions/BundleChangesParams"
3788             },
3789             "Result": {
3790               "$ref": "#/definitions/BundleChangesResults"
3791             }
3792           }
3793         },
3794         "GetModelConstraints": {
3795           "type": "object",
3796           "properties": {
3797             "Result": {
3798               "$ref": "#/definitions/GetConstraintsResults"
3799             }
3800           }
3801         },
3802         "InjectMachines": {
3803           "type": "object",
3804           "properties": {
3805             "Params": {
3806               "$ref": "#/definitions/AddMachines"
3807             },
3808             "Result": {
3809               "$ref": "#/definitions/AddMachinesResults"
3810             }
3811           }
3812         },
3813         "ModelGet": {
3814           "type": "object",
3815           "properties": {
3816             "Result": {
3817               "$ref": "#/definitions/ModelConfigResults"
3818             }
3819           }
3820         },
3821         "ModelInfo": {
3822           "type": "object",
3823           "properties": {
3824             "Result": {
3825               "$ref": "#/definitions/ModelInfo"
3826             }
3827           }
3828         },
3829         "ModelSet": {
3830           "type": "object",
3831           "properties": {
3832             "Params": {
3833               "$ref": "#/definitions/ModelSet"
3834             }
3835           }
3836         },
3837         "ModelUnset": {
3838           "type": "object",
3839           "properties": {
3840             "Params": {
3841               "$ref": "#/definitions/ModelUnset"
3842             }
3843           }
3844         },
3845         "ModelUserInfo": {
3846           "type": "object",
3847           "properties": {
3848             "Result": {
3849               "$ref": "#/definitions/ModelUserInfoResults"
3850             }
3851           }
3852         },
3853         "PrivateAddress": {
3854           "type": "object",
3855           "properties": {
3856             "Params": {
3857               "$ref": "#/definitions/PrivateAddress"
3858             },
3859             "Result": {
3860               "$ref": "#/definitions/PrivateAddressResults"
3861             }
3862           }
3863         },
3864         "ProvisioningScript": {
3865           "type": "object",
3866           "properties": {
3867             "Params": {
3868               "$ref": "#/definitions/ProvisioningScriptParams"
3869             },
3870             "Result": {
3871               "$ref": "#/definitions/ProvisioningScriptResult"
3872             }
3873           }
3874         },
3875         "PublicAddress": {
3876           "type": "object",
3877           "properties": {
3878             "Params": {
3879               "$ref": "#/definitions/PublicAddress"
3880             },
3881             "Result": {
3882               "$ref": "#/definitions/PublicAddressResults"
3883             }
3884           }
3885         },
3886         "ResolveCharms": {
3887           "type": "object",
3888           "properties": {
3889             "Params": {
3890               "$ref": "#/definitions/ResolveCharms"
3891             },
3892             "Result": {
3893               "$ref": "#/definitions/ResolveCharmResults"
3894             }
3895           }
3896         },
3897         "Resolved": {
3898           "type": "object",
3899           "properties": {
3900             "Params": {
3901               "$ref": "#/definitions/Resolved"
3902             }
3903           }
3904         },
3905         "RetryProvisioning": {
3906           "type": "object",
3907           "properties": {
3908             "Params": {
3909               "$ref": "#/definitions/Entities"
3910             },
3911             "Result": {
3912               "$ref": "#/definitions/ErrorResults"
3913             }
3914           }
3915         },
3916         "SLALevel": {
3917           "type": "object",
3918           "properties": {
3919             "Result": {
3920               "$ref": "#/definitions/StringResult"
3921             }
3922           }
3923         },
3924         "SetModelAgentVersion": {
3925           "type": "object",
3926           "properties": {
3927             "Params": {
3928               "$ref": "#/definitions/SetModelAgentVersion"
3929             }
3930           }
3931         },
3932         "SetModelConstraints": {
3933           "type": "object",
3934           "properties": {
3935             "Params": {
3936               "$ref": "#/definitions/SetConstraints"
3937             }
3938           }
3939         },
3940         "SetSLALevel": {
3941           "type": "object",
3942           "properties": {
3943             "Params": {
3944               "$ref": "#/definitions/ModelSLA"
3945             }
3946           }
3947         },
3948         "StatusHistory": {
3949           "type": "object",
3950           "properties": {
3951             "Params": {
3952               "$ref": "#/definitions/StatusHistoryRequests"
3953             },
3954             "Result": {
3955               "$ref": "#/definitions/StatusHistoryResults"
3956             }
3957           }
3958         },
3959         "WatchAll": {
3960           "type": "object",
3961           "properties": {
3962             "Result": {
3963               "$ref": "#/definitions/AllWatcherId"
3964             }
3965           }
3966         }
3967       },
3968       "definitions": {
3969         "APIHostPortsResult": {
3970           "type": "object",
3971           "properties": {
3972             "servers": {
3973               "type": "array",
3974               "items": {
3975                 "type": "array",
3976                 "items": {
3977                   "$ref": "#/definitions/HostPort"
3978                 }
3979               }
3980             }
3981           },
3982           "additionalProperties": false,
3983           "required": [
3984             "servers"
3985           ]
3986         },
3987         "AddCharm": {
3988           "type": "object",
3989           "properties": {
3990             "channel": {
3991               "type": "string"
3992             },
3993             "url": {
3994               "type": "string"
3995             }
3996           },
3997           "additionalProperties": false,
3998           "required": [
3999             "url",
4000             "channel"
4001           ]
4002         },
4003         "AddCharmWithAuthorization": {
4004           "type": "object",
4005           "properties": {
4006             "channel": {
4007               "type": "string"
4008             },
4009             "macaroon": {
4010               "$ref": "#/definitions/Macaroon"
4011             },
4012             "url": {
4013               "type": "string"
4014             }
4015           },
4016           "additionalProperties": false,
4017           "required": [
4018             "url",
4019             "channel",
4020             "macaroon"
4021           ]
4022         },
4023         "AddMachineParams": {
4024           "type": "object",
4025           "properties": {
4026             "addresses": {
4027               "type": "array",
4028               "items": {
4029                 "$ref": "#/definitions/Address"
4030               }
4031             },
4032             "constraints": {
4033               "$ref": "#/definitions/Value"
4034             },
4035             "container-type": {
4036               "type": "string"
4037             },
4038             "disks": {
4039               "type": "array",
4040               "items": {
4041                 "$ref": "#/definitions/Constraints"
4042               }
4043             },
4044             "hardware-characteristics": {
4045               "$ref": "#/definitions/HardwareCharacteristics"
4046             },
4047             "instance-id": {
4048               "type": "string"
4049             },
4050             "jobs": {
4051               "type": "array",
4052               "items": {
4053                 "type": "string"
4054               }
4055             },
4056             "nonce": {
4057               "type": "string"
4058             },
4059             "parent-id": {
4060               "type": "string"
4061             },
4062             "placement": {
4063               "$ref": "#/definitions/Placement"
4064             },
4065             "series": {
4066               "type": "string"
4067             }
4068           },
4069           "additionalProperties": false,
4070           "required": [
4071             "series",
4072             "constraints",
4073             "jobs",
4074             "parent-id",
4075             "container-type",
4076             "instance-id",
4077             "nonce",
4078             "hardware-characteristics",
4079             "addresses"
4080           ]
4081         },
4082         "AddMachines": {
4083           "type": "object",
4084           "properties": {
4085             "params": {
4086               "type": "array",
4087               "items": {
4088                 "$ref": "#/definitions/AddMachineParams"
4089               }
4090             }
4091           },
4092           "additionalProperties": false,
4093           "required": [
4094             "params"
4095           ]
4096         },
4097         "AddMachinesResult": {
4098           "type": "object",
4099           "properties": {
4100             "error": {
4101               "$ref": "#/definitions/Error"
4102             },
4103             "machine": {
4104               "type": "string"
4105             }
4106           },
4107           "additionalProperties": false,
4108           "required": [
4109             "machine"
4110           ]
4111         },
4112         "AddMachinesResults": {
4113           "type": "object",
4114           "properties": {
4115             "machines": {
4116               "type": "array",
4117               "items": {
4118                 "$ref": "#/definitions/AddMachinesResult"
4119               }
4120             }
4121           },
4122           "additionalProperties": false,
4123           "required": [
4124             "machines"
4125           ]
4126         },
4127         "Address": {
4128           "type": "object",
4129           "properties": {
4130             "scope": {
4131               "type": "string"
4132             },
4133             "space-name": {
4134               "type": "string"
4135             },
4136             "type": {
4137               "type": "string"
4138             },
4139             "value": {
4140               "type": "string"
4141             }
4142           },
4143           "additionalProperties": false,
4144           "required": [
4145             "value",
4146             "type",
4147             "scope"
4148           ]
4149         },
4150         "AgentVersionResult": {
4151           "type": "object",
4152           "properties": {
4153             "version": {
4154               "$ref": "#/definitions/Number"
4155             }
4156           },
4157           "additionalProperties": false,
4158           "required": [
4159             "version"
4160           ]
4161         },
4162         "AllWatcherId": {
4163           "type": "object",
4164           "properties": {
4165             "watcher-id": {
4166               "type": "string"
4167             }
4168           },
4169           "additionalProperties": false,
4170           "required": [
4171             "watcher-id"
4172           ]
4173         },
4174         "ApplicationStatus": {
4175           "type": "object",
4176           "properties": {
4177             "can-upgrade-to": {
4178               "type": "string"
4179             },
4180             "charm": {
4181               "type": "string"
4182             },
4183             "err": {
4184               "type": "object",
4185               "additionalProperties": true
4186             },
4187             "exposed": {
4188               "type": "boolean"
4189             },
4190             "life": {
4191               "type": "string"
4192             },
4193             "meter-statuses": {
4194               "type": "object",
4195               "patternProperties": {
4196                 ".*": {
4197                   "$ref": "#/definitions/MeterStatus"
4198                 }
4199               }
4200             },
4201             "relations": {
4202               "type": "object",
4203               "patternProperties": {
4204                 ".*": {
4205                   "type": "array",
4206                   "items": {
4207                     "type": "string"
4208                   }
4209                 }
4210               }
4211             },
4212             "series": {
4213               "type": "string"
4214             },
4215             "status": {
4216               "$ref": "#/definitions/DetailedStatus"
4217             },
4218             "subordinate-to": {
4219               "type": "array",
4220               "items": {
4221                 "type": "string"
4222               }
4223             },
4224             "units": {
4225               "type": "object",
4226               "patternProperties": {
4227                 ".*": {
4228                   "$ref": "#/definitions/UnitStatus"
4229                 }
4230               }
4231             },
4232             "workload-version": {
4233               "type": "string"
4234             }
4235           },
4236           "additionalProperties": false,
4237           "required": [
4238             "charm",
4239             "series",
4240             "exposed",
4241             "life",
4242             "relations",
4243             "can-upgrade-to",
4244             "subordinate-to",
4245             "units",
4246             "meter-statuses",
4247             "status",
4248             "workload-version"
4249           ]
4250         },
4251         "Binary": {
4252           "type": "object",
4253           "properties": {
4254             "Arch": {
4255               "type": "string"
4256             },
4257             "Number": {
4258               "$ref": "#/definitions/Number"
4259             },
4260             "Series": {
4261               "type": "string"
4262             }
4263           },
4264           "additionalProperties": false,
4265           "required": [
4266             "Number",
4267             "Series",
4268             "Arch"
4269           ]
4270         },
4271         "BundleChange": {
4272           "type": "object",
4273           "properties": {
4274             "args": {
4275               "type": "array",
4276               "items": {
4277                 "type": "object",
4278                 "additionalProperties": true
4279               }
4280             },
4281             "id": {
4282               "type": "string"
4283             },
4284             "method": {
4285               "type": "string"
4286             },
4287             "requires": {
4288               "type": "array",
4289               "items": {
4290                 "type": "string"
4291               }
4292             }
4293           },
4294           "additionalProperties": false,
4295           "required": [
4296             "id",
4297             "method",
4298             "args",
4299             "requires"
4300           ]
4301         },
4302         "BundleChangesParams": {
4303           "type": "object",
4304           "properties": {
4305             "yaml": {
4306               "type": "string"
4307             }
4308           },
4309           "additionalProperties": false,
4310           "required": [
4311             "yaml"
4312           ]
4313         },
4314         "BundleChangesResults": {
4315           "type": "object",
4316           "properties": {
4317             "changes": {
4318               "type": "array",
4319               "items": {
4320                 "$ref": "#/definitions/BundleChange"
4321               }
4322             },
4323             "errors": {
4324               "type": "array",
4325               "items": {
4326                 "type": "string"
4327               }
4328             }
4329           },
4330           "additionalProperties": false
4331         },
4332         "ConfigValue": {
4333           "type": "object",
4334           "properties": {
4335             "source": {
4336               "type": "string"
4337             },
4338             "value": {
4339               "type": "object",
4340               "additionalProperties": true
4341             }
4342           },
4343           "additionalProperties": false,
4344           "required": [
4345             "value",
4346             "source"
4347           ]
4348         },
4349         "Constraints": {
4350           "type": "object",
4351           "properties": {
4352             "Count": {
4353               "type": "integer"
4354             },
4355             "Pool": {
4356               "type": "string"
4357             },
4358             "Size": {
4359               "type": "integer"
4360             }
4361           },
4362           "additionalProperties": false,
4363           "required": [
4364             "Pool",
4365             "Size",
4366             "Count"
4367           ]
4368         },
4369         "DestroyMachines": {
4370           "type": "object",
4371           "properties": {
4372             "force": {
4373               "type": "boolean"
4374             },
4375             "machine-names": {
4376               "type": "array",
4377               "items": {
4378                 "type": "string"
4379               }
4380             }
4381           },
4382           "additionalProperties": false,
4383           "required": [
4384             "machine-names",
4385             "force"
4386           ]
4387         },
4388         "DetailedStatus": {
4389           "type": "object",
4390           "properties": {
4391             "data": {
4392               "type": "object",
4393               "patternProperties": {
4394                 ".*": {
4395                   "type": "object",
4396                   "additionalProperties": true
4397                 }
4398               }
4399             },
4400             "err": {
4401               "type": "object",
4402               "additionalProperties": true
4403             },
4404             "info": {
4405               "type": "string"
4406             },
4407             "kind": {
4408               "type": "string"
4409             },
4410             "life": {
4411               "type": "string"
4412             },
4413             "since": {
4414               "type": "string",
4415               "format": "date-time"
4416             },
4417             "status": {
4418               "type": "string"
4419             },
4420             "version": {
4421               "type": "string"
4422             }
4423           },
4424           "additionalProperties": false,
4425           "required": [
4426             "status",
4427             "info",
4428             "data",
4429             "since",
4430             "kind",
4431             "version",
4432             "life"
4433           ]
4434         },
4435         "EndpointStatus": {
4436           "type": "object",
4437           "properties": {
4438             "application": {
4439               "type": "string"
4440             },
4441             "name": {
4442               "type": "string"
4443             },
4444             "role": {
4445               "type": "string"
4446             },
4447             "subordinate": {
4448               "type": "boolean"
4449             }
4450           },
4451           "additionalProperties": false,
4452           "required": [
4453             "application",
4454             "name",
4455             "role",
4456             "subordinate"
4457           ]
4458         },
4459         "Entities": {
4460           "type": "object",
4461           "properties": {
4462             "entities": {
4463               "type": "array",
4464               "items": {
4465                 "$ref": "#/definitions/Entity"
4466               }
4467             }
4468           },
4469           "additionalProperties": false,
4470           "required": [
4471             "entities"
4472           ]
4473         },
4474         "Entity": {
4475           "type": "object",
4476           "properties": {
4477             "tag": {
4478               "type": "string"
4479             }
4480           },
4481           "additionalProperties": false,
4482           "required": [
4483             "tag"
4484           ]
4485         },
4486         "EntityStatus": {
4487           "type": "object",
4488           "properties": {
4489             "data": {
4490               "type": "object",
4491               "patternProperties": {
4492                 ".*": {
4493                   "type": "object",
4494                   "additionalProperties": true
4495                 }
4496               }
4497             },
4498             "info": {
4499               "type": "string"
4500             },
4501             "since": {
4502               "type": "string",
4503               "format": "date-time"
4504             },
4505             "status": {
4506               "type": "string"
4507             }
4508           },
4509           "additionalProperties": false,
4510           "required": [
4511             "status",
4512             "info",
4513             "since"
4514           ]
4515         },
4516         "Error": {
4517           "type": "object",
4518           "properties": {
4519             "code": {
4520               "type": "string"
4521             },
4522             "info": {
4523               "$ref": "#/definitions/ErrorInfo"
4524             },
4525             "message": {
4526               "type": "string"
4527             }
4528           },
4529           "additionalProperties": false,
4530           "required": [
4531             "message",
4532             "code"
4533           ]
4534         },
4535         "ErrorInfo": {
4536           "type": "object",
4537           "properties": {
4538             "macaroon": {
4539               "$ref": "#/definitions/Macaroon"
4540             },
4541             "macaroon-path": {
4542               "type": "string"
4543             }
4544           },
4545           "additionalProperties": false
4546         },
4547         "ErrorResult": {
4548           "type": "object",
4549           "properties": {
4550             "error": {
4551               "$ref": "#/definitions/Error"
4552             }
4553           },
4554           "additionalProperties": false
4555         },
4556         "ErrorResults": {
4557           "type": "object",
4558           "properties": {
4559             "results": {
4560               "type": "array",
4561               "items": {
4562                 "$ref": "#/definitions/ErrorResult"
4563               }
4564             }
4565           },
4566           "additionalProperties": false,
4567           "required": [
4568             "results"
4569           ]
4570         },
4571         "FindToolsParams": {
4572           "type": "object",
4573           "properties": {
4574             "arch": {
4575               "type": "string"
4576             },
4577             "major": {
4578               "type": "integer"
4579             },
4580             "minor": {
4581               "type": "integer"
4582             },
4583             "number": {
4584               "$ref": "#/definitions/Number"
4585             },
4586             "series": {
4587               "type": "string"
4588             }
4589           },
4590           "additionalProperties": false,
4591           "required": [
4592             "number",
4593             "major",
4594             "minor",
4595             "arch",
4596             "series"
4597           ]
4598         },
4599         "FindToolsResult": {
4600           "type": "object",
4601           "properties": {
4602             "error": {
4603               "$ref": "#/definitions/Error"
4604             },
4605             "list": {
4606               "type": "array",
4607               "items": {
4608                 "$ref": "#/definitions/Tools"
4609               }
4610             }
4611           },
4612           "additionalProperties": false,
4613           "required": [
4614             "list"
4615           ]
4616         },
4617         "FullStatus": {
4618           "type": "object",
4619           "properties": {
4620             "applications": {
4621               "type": "object",
4622               "patternProperties": {
4623                 ".*": {
4624                   "$ref": "#/definitions/ApplicationStatus"
4625                 }
4626               }
4627             },
4628             "machines": {
4629               "type": "object",
4630               "patternProperties": {
4631                 ".*": {
4632                   "$ref": "#/definitions/MachineStatus"
4633                 }
4634               }
4635             },
4636             "model": {
4637               "$ref": "#/definitions/ModelStatusInfo"
4638             },
4639             "relations": {
4640               "type": "array",
4641               "items": {
4642                 "$ref": "#/definitions/RelationStatus"
4643               }
4644             },
4645             "remote-applications": {
4646               "type": "object",
4647               "patternProperties": {
4648                 ".*": {
4649                   "$ref": "#/definitions/RemoteApplicationStatus"
4650                 }
4651               }
4652             }
4653           },
4654           "additionalProperties": false,
4655           "required": [
4656             "model",
4657             "machines",
4658             "applications",
4659             "remote-applications",
4660             "relations"
4661           ]
4662         },
4663         "GetConstraintsResults": {
4664           "type": "object",
4665           "properties": {
4666             "constraints": {
4667               "$ref": "#/definitions/Value"
4668             }
4669           },
4670           "additionalProperties": false,
4671           "required": [
4672             "constraints"
4673           ]
4674         },
4675         "HardwareCharacteristics": {
4676           "type": "object",
4677           "properties": {
4678             "arch": {
4679               "type": "string"
4680             },
4681             "availability-zone": {
4682               "type": "string"
4683             },
4684             "cpu-cores": {
4685               "type": "integer"
4686             },
4687             "cpu-power": {
4688               "type": "integer"
4689             },
4690             "mem": {
4691               "type": "integer"
4692             },
4693             "root-disk": {
4694               "type": "integer"
4695             },
4696             "tags": {
4697               "type": "array",
4698               "items": {
4699                 "type": "string"
4700               }
4701             }
4702           },
4703           "additionalProperties": false
4704         },
4705         "History": {
4706           "type": "object",
4707           "properties": {
4708             "error": {
4709               "$ref": "#/definitions/Error"
4710             },
4711             "statuses": {
4712               "type": "array",
4713               "items": {
4714                 "$ref": "#/definitions/DetailedStatus"
4715               }
4716             }
4717           },
4718           "additionalProperties": false,
4719           "required": [
4720             "statuses"
4721           ]
4722         },
4723         "HostPort": {
4724           "type": "object",
4725           "properties": {
4726             "Address": {
4727               "$ref": "#/definitions/Address"
4728             },
4729             "port": {
4730               "type": "integer"
4731             }
4732           },
4733           "additionalProperties": false,
4734           "required": [
4735             "Address",
4736             "port"
4737           ]
4738         },
4739         "Macaroon": {
4740           "type": "object",
4741           "additionalProperties": false
4742         },
4743         "MachineHardware": {
4744           "type": "object",
4745           "properties": {
4746             "arch": {
4747               "type": "string"
4748             },
4749             "availability-zone": {
4750               "type": "string"
4751             },
4752             "cores": {
4753               "type": "integer"
4754             },
4755             "cpu-power": {
4756               "type": "integer"
4757             },
4758             "mem": {
4759               "type": "integer"
4760             },
4761             "root-disk": {
4762               "type": "integer"
4763             },
4764             "tags": {
4765               "type": "array",
4766               "items": {
4767                 "type": "string"
4768               }
4769             }
4770           },
4771           "additionalProperties": false
4772         },
4773         "MachineStatus": {
4774           "type": "object",
4775           "properties": {
4776             "agent-status": {
4777               "$ref": "#/definitions/DetailedStatus"
4778             },
4779             "constraints": {
4780               "type": "string"
4781             },
4782             "containers": {
4783               "type": "object",
4784               "patternProperties": {
4785                 ".*": {
4786                   "$ref": "#/definitions/MachineStatus"
4787                 }
4788               }
4789             },
4790             "dns-name": {
4791               "type": "string"
4792             },
4793             "hardware": {
4794               "type": "string"
4795             },
4796             "has-vote": {
4797               "type": "boolean"
4798             },
4799             "id": {
4800               "type": "string"
4801             },
4802             "instance-id": {
4803               "type": "string"
4804             },
4805             "instance-status": {
4806               "$ref": "#/definitions/DetailedStatus"
4807             },
4808             "ip-addresses": {
4809               "type": "array",
4810               "items": {
4811                 "type": "string"
4812               }
4813             },
4814             "jobs": {
4815               "type": "array",
4816               "items": {
4817                 "type": "string"
4818               }
4819             },
4820             "network-interfaces": {
4821               "type": "object",
4822               "patternProperties": {
4823                 ".*": {
4824                   "$ref": "#/definitions/NetworkInterface"
4825                 }
4826               }
4827             },
4828             "series": {
4829               "type": "string"
4830             },
4831             "wants-vote": {
4832               "type": "boolean"
4833             }
4834           },
4835           "additionalProperties": false,
4836           "required": [
4837             "agent-status",
4838             "instance-status",
4839             "dns-name",
4840             "instance-id",
4841             "series",
4842             "id",
4843             "containers",
4844             "constraints",
4845             "hardware",
4846             "jobs",
4847             "has-vote",
4848             "wants-vote"
4849           ]
4850         },
4851         "MeterStatus": {
4852           "type": "object",
4853           "properties": {
4854             "color": {
4855               "type": "string"
4856             },
4857             "message": {
4858               "type": "string"
4859             }
4860           },
4861           "additionalProperties": false,
4862           "required": [
4863             "color",
4864             "message"
4865           ]
4866         },
4867         "ModelConfigResults": {
4868           "type": "object",
4869           "properties": {
4870             "config": {
4871               "type": "object",
4872               "patternProperties": {
4873                 ".*": {
4874                   "$ref": "#/definitions/ConfigValue"
4875                 }
4876               }
4877             }
4878           },
4879           "additionalProperties": false,
4880           "required": [
4881             "config"
4882           ]
4883         },
4884         "ModelInfo": {
4885           "type": "object",
4886           "properties": {
4887             "cloud-credential-tag": {
4888               "type": "string"
4889             },
4890             "cloud-region": {
4891               "type": "string"
4892             },
4893             "cloud-tag": {
4894               "type": "string"
4895             },
4896             "controller-uuid": {
4897               "type": "string"
4898             },
4899             "default-series": {
4900               "type": "string"
4901             },
4902             "life": {
4903               "type": "string"
4904             },
4905             "machines": {
4906               "type": "array",
4907               "items": {
4908                 "$ref": "#/definitions/ModelMachineInfo"
4909               }
4910             },
4911             "migration": {
4912               "$ref": "#/definitions/ModelMigrationStatus"
4913             },
4914             "name": {
4915               "type": "string"
4916             },
4917             "owner-tag": {
4918               "type": "string"
4919             },
4920             "provider-type": {
4921               "type": "string"
4922             },
4923             "sla": {
4924               "$ref": "#/definitions/ModelSLAInfo"
4925             },
4926             "status": {
4927               "$ref": "#/definitions/EntityStatus"
4928             },
4929             "users": {
4930               "type": "array",
4931               "items": {
4932                 "$ref": "#/definitions/ModelUserInfo"
4933               }
4934             },
4935             "uuid": {
4936               "type": "string"
4937             }
4938           },
4939           "additionalProperties": false,
4940           "required": [
4941             "name",
4942             "uuid",
4943             "controller-uuid",
4944             "provider-type",
4945             "default-series",
4946             "cloud-tag",
4947             "owner-tag",
4948             "life",
4949             "status",
4950             "users",
4951             "machines",
4952             "sla"
4953           ]
4954         },
4955         "ModelMachineInfo": {
4956           "type": "object",
4957           "properties": {
4958             "hardware": {
4959               "$ref": "#/definitions/MachineHardware"
4960             },
4961             "has-vote": {
4962               "type": "boolean"
4963             },
4964             "id": {
4965               "type": "string"
4966             },
4967             "instance-id": {
4968               "type": "string"
4969             },
4970             "status": {
4971               "type": "string"
4972             },
4973             "wants-vote": {
4974               "type": "boolean"
4975             }
4976           },
4977           "additionalProperties": false,
4978           "required": [
4979             "id"
4980           ]
4981         },
4982         "ModelMigrationStatus": {
4983           "type": "object",
4984           "properties": {
4985             "end": {
4986               "type": "string",
4987               "format": "date-time"
4988             },
4989             "start": {
4990               "type": "string",
4991               "format": "date-time"
4992             },
4993             "status": {
4994               "type": "string"
4995             }
4996           },
4997           "additionalProperties": false,
4998           "required": [
4999             "status",
5000             "start"
5001           ]
5002         },
5003         "ModelSLA": {
5004           "type": "object",
5005           "properties": {
5006             "ModelSLAInfo": {
5007               "$ref": "#/definitions/ModelSLAInfo"
5008             },
5009             "creds": {
5010               "type": "array",
5011               "items": {
5012                 "type": "integer"
5013               }
5014             }
5015           },
5016           "additionalProperties": false,
5017           "required": [
5018             "ModelSLAInfo",
5019             "creds"
5020           ]
5021         },
5022         "ModelSLAInfo": {
5023           "type": "object",
5024           "properties": {
5025             "level": {
5026               "type": "string"
5027             },
5028             "owner": {
5029               "type": "string"
5030             }
5031           },
5032           "additionalProperties": false,
5033           "required": [
5034             "level",
5035             "owner"
5036           ]
5037         },
5038         "ModelSet": {
5039           "type": "object",
5040           "properties": {
5041             "config": {
5042               "type": "object",
5043               "patternProperties": {
5044                 ".*": {
5045                   "type": "object",
5046                   "additionalProperties": true
5047                 }
5048               }
5049             }
5050           },
5051           "additionalProperties": false,
5052           "required": [
5053             "config"
5054           ]
5055         },
5056         "ModelStatusInfo": {
5057           "type": "object",
5058           "properties": {
5059             "available-version": {
5060               "type": "string"
5061             },
5062             "cloud-tag": {
5063               "type": "string"
5064             },
5065             "meter-status": {
5066               "$ref": "#/definitions/MeterStatus"
5067             },
5068             "model-status": {
5069               "$ref": "#/definitions/DetailedStatus"
5070             },
5071             "name": {
5072               "type": "string"
5073             },
5074             "region": {
5075               "type": "string"
5076             },
5077             "sla": {
5078               "type": "string"
5079             },
5080             "version": {
5081               "type": "string"
5082             }
5083           },
5084           "additionalProperties": false,
5085           "required": [
5086             "name",
5087             "cloud-tag",
5088             "version",
5089             "available-version",
5090             "model-status",
5091             "meter-status",
5092             "sla"
5093           ]
5094         },
5095         "ModelUnset": {
5096           "type": "object",
5097           "properties": {
5098             "keys": {
5099               "type": "array",
5100               "items": {
5101                 "type": "string"
5102               }
5103             }
5104           },
5105           "additionalProperties": false,
5106           "required": [
5107             "keys"
5108           ]
5109         },
5110         "ModelUserInfo": {
5111           "type": "object",
5112           "properties": {
5113             "access": {
5114               "type": "string"
5115             },
5116             "display-name": {
5117               "type": "string"
5118             },
5119             "last-connection": {
5120               "type": "string",
5121               "format": "date-time"
5122             },
5123             "user": {
5124               "type": "string"
5125             }
5126           },
5127           "additionalProperties": false,
5128           "required": [
5129             "user",
5130             "display-name",
5131             "last-connection",
5132             "access"
5133           ]
5134         },
5135         "ModelUserInfoResult": {
5136           "type": "object",
5137           "properties": {
5138             "error": {
5139               "$ref": "#/definitions/Error"
5140             },
5141             "result": {
5142               "$ref": "#/definitions/ModelUserInfo"
5143             }
5144           },
5145           "additionalProperties": false
5146         },
5147         "ModelUserInfoResults": {
5148           "type": "object",
5149           "properties": {
5150             "results": {
5151               "type": "array",
5152               "items": {
5153                 "$ref": "#/definitions/ModelUserInfoResult"
5154               }
5155             }
5156           },
5157           "additionalProperties": false,
5158           "required": [
5159             "results"
5160           ]
5161         },
5162         "NetworkInterface": {
5163           "type": "object",
5164           "properties": {
5165             "dns-nameservers": {
5166               "type": "array",
5167               "items": {
5168                 "type": "string"
5169               }
5170             },
5171             "gateway": {
5172               "type": "string"
5173             },
5174             "ip-addresses": {
5175               "type": "array",
5176               "items": {
5177                 "type": "string"
5178               }
5179             },
5180             "is-up": {
5181               "type": "boolean"
5182             },
5183             "mac-address": {
5184               "type": "string"
5185             },
5186             "space": {
5187               "type": "string"
5188             }
5189           },
5190           "additionalProperties": false,
5191           "required": [
5192             "ip-addresses",
5193             "mac-address",
5194             "is-up"
5195           ]
5196         },
5197         "Number": {
5198           "type": "object",
5199           "properties": {
5200             "Build": {
5201               "type": "integer"
5202             },
5203             "Major": {
5204               "type": "integer"
5205             },
5206             "Minor": {
5207               "type": "integer"
5208             },
5209             "Patch": {
5210               "type": "integer"
5211             },
5212             "Tag": {
5213               "type": "string"
5214             }
5215           },
5216           "additionalProperties": false,
5217           "required": [
5218             "Major",
5219             "Minor",
5220             "Tag",
5221             "Patch",
5222             "Build"
5223           ]
5224         },
5225         "Placement": {
5226           "type": "object",
5227           "properties": {
5228             "directive": {
5229               "type": "string"
5230             },
5231             "scope": {
5232               "type": "string"
5233             }
5234           },
5235           "additionalProperties": false,
5236           "required": [
5237             "scope",
5238             "directive"
5239           ]
5240         },
5241         "PrivateAddress": {
5242           "type": "object",
5243           "properties": {
5244             "target": {
5245               "type": "string"
5246             }
5247           },
5248           "additionalProperties": false,
5249           "required": [
5250             "target"
5251           ]
5252         },
5253         "PrivateAddressResults": {
5254           "type": "object",
5255           "properties": {
5256             "private-address": {
5257               "type": "string"
5258             }
5259           },
5260           "additionalProperties": false,
5261           "required": [
5262             "private-address"
5263           ]
5264         },
5265         "ProvisioningScriptParams": {
5266           "type": "object",
5267           "properties": {
5268             "data-dir": {
5269               "type": "string"
5270             },
5271             "disable-package-commands": {
5272               "type": "boolean"
5273             },
5274             "machine-id": {
5275               "type": "string"
5276             },
5277             "nonce": {
5278               "type": "string"
5279             }
5280           },
5281           "additionalProperties": false,
5282           "required": [
5283             "machine-id",
5284             "nonce",
5285             "data-dir",
5286             "disable-package-commands"
5287           ]
5288         },
5289         "ProvisioningScriptResult": {
5290           "type": "object",
5291           "properties": {
5292             "script": {
5293               "type": "string"
5294             }
5295           },
5296           "additionalProperties": false,
5297           "required": [
5298             "script"
5299           ]
5300         },
5301         "PublicAddress": {
5302           "type": "object",
5303           "properties": {
5304             "target": {
5305               "type": "string"
5306             }
5307           },
5308           "additionalProperties": false,
5309           "required": [
5310             "target"
5311           ]
5312         },
5313         "PublicAddressResults": {
5314           "type": "object",
5315           "properties": {
5316             "public-address": {
5317               "type": "string"
5318             }
5319           },
5320           "additionalProperties": false,
5321           "required": [
5322             "public-address"
5323           ]
5324         },
5325         "RelationStatus": {
5326           "type": "object",
5327           "properties": {
5328             "endpoints": {
5329               "type": "array",
5330               "items": {
5331                 "$ref": "#/definitions/EndpointStatus"
5332               }
5333             },
5334             "id": {
5335               "type": "integer"
5336             },
5337             "interface": {
5338               "type": "string"
5339             },
5340             "key": {
5341               "type": "string"
5342             },
5343             "scope": {
5344               "type": "string"
5345             }
5346           },
5347           "additionalProperties": false,
5348           "required": [
5349             "id",
5350             "key",
5351             "interface",
5352             "scope",
5353             "endpoints"
5354           ]
5355         },
5356         "RemoteApplicationStatus": {
5357           "type": "object",
5358           "properties": {
5359             "application-name": {
5360               "type": "string"
5361             },
5362             "application-url": {
5363               "type": "string"
5364             },
5365             "endpoints": {
5366               "type": "array",
5367               "items": {
5368                 "$ref": "#/definitions/RemoteEndpoint"
5369               }
5370             },
5371             "err": {
5372               "type": "object",
5373               "additionalProperties": true
5374             },
5375             "life": {
5376               "type": "string"
5377             },
5378             "relations": {
5379               "type": "object",
5380               "patternProperties": {
5381                 ".*": {
5382                   "type": "array",
5383                   "items": {
5384                     "type": "string"
5385                   }
5386                 }
5387               }
5388             },
5389             "status": {
5390               "$ref": "#/definitions/DetailedStatus"
5391             }
5392           },
5393           "additionalProperties": false,
5394           "required": [
5395             "application-url",
5396             "application-name",
5397             "endpoints",
5398             "life",
5399             "relations",
5400             "status"
5401           ]
5402         },
5403         "RemoteEndpoint": {
5404           "type": "object",
5405           "properties": {
5406             "interface": {
5407               "type": "string"
5408             },
5409             "limit": {
5410               "type": "integer"
5411             },
5412             "name": {
5413               "type": "string"
5414             },
5415             "role": {
5416               "type": "string"
5417             },
5418             "scope": {
5419               "type": "string"
5420             }
5421           },
5422           "additionalProperties": false,
5423           "required": [
5424             "name",
5425             "role",
5426             "interface",
5427             "limit",
5428             "scope"
5429           ]
5430         },
5431         "ResolveCharmResult": {
5432           "type": "object",
5433           "properties": {
5434             "error": {
5435               "type": "string"
5436             },
5437             "url": {
5438               "type": "string"
5439             }
5440           },
5441           "additionalProperties": false
5442         },
5443         "ResolveCharmResults": {
5444           "type": "object",
5445           "properties": {
5446             "urls": {
5447               "type": "array",
5448               "items": {
5449                 "$ref": "#/definitions/ResolveCharmResult"
5450               }
5451             }
5452           },
5453           "additionalProperties": false,
5454           "required": [
5455             "urls"
5456           ]
5457         },
5458         "ResolveCharms": {
5459           "type": "object",
5460           "properties": {
5461             "references": {
5462               "type": "array",
5463               "items": {
5464                 "type": "string"
5465               }
5466             }
5467           },
5468           "additionalProperties": false,
5469           "required": [
5470             "references"
5471           ]
5472         },
5473         "Resolved": {
5474           "type": "object",
5475           "properties": {
5476             "retry": {
5477               "type": "boolean"
5478             },
5479             "unit-name": {
5480               "type": "string"
5481             }
5482           },
5483           "additionalProperties": false,
5484           "required": [
5485             "unit-name",
5486             "retry"
5487           ]
5488         },
5489         "SetConstraints": {
5490           "type": "object",
5491           "properties": {
5492             "application": {
5493               "type": "string"
5494             },
5495             "constraints": {
5496               "$ref": "#/definitions/Value"
5497             }
5498           },
5499           "additionalProperties": false,
5500           "required": [
5501             "application",
5502             "constraints"
5503           ]
5504         },
5505         "SetModelAgentVersion": {
5506           "type": "object",
5507           "properties": {
5508             "version": {
5509               "$ref": "#/definitions/Number"
5510             }
5511           },
5512           "additionalProperties": false,
5513           "required": [
5514             "version"
5515           ]
5516         },
5517         "StatusHistoryFilter": {
5518           "type": "object",
5519           "properties": {
5520             "date": {
5521               "type": "string",
5522               "format": "date-time"
5523             },
5524             "delta": {
5525               "type": "integer"
5526             },
5527             "exclude": {
5528               "type": "array",
5529               "items": {
5530                 "type": "string"
5531               }
5532             },
5533             "size": {
5534               "type": "integer"
5535             }
5536           },
5537           "additionalProperties": false,
5538           "required": [
5539             "size",
5540             "date",
5541             "delta",
5542             "exclude"
5543           ]
5544         },
5545         "StatusHistoryRequest": {
5546           "type": "object",
5547           "properties": {
5548             "filter": {
5549               "$ref": "#/definitions/StatusHistoryFilter"
5550             },
5551             "historyKind": {
5552               "type": "string"
5553             },
5554             "size": {
5555               "type": "integer"
5556             },
5557             "tag": {
5558               "type": "string"
5559             }
5560           },
5561           "additionalProperties": false,
5562           "required": [
5563             "historyKind",
5564             "size",
5565             "filter",
5566             "tag"
5567           ]
5568         },
5569         "StatusHistoryRequests": {
5570           "type": "object",
5571           "properties": {
5572             "requests": {
5573               "type": "array",
5574               "items": {
5575                 "$ref": "#/definitions/StatusHistoryRequest"
5576               }
5577             }
5578           },
5579           "additionalProperties": false,
5580           "required": [
5581             "requests"
5582           ]
5583         },
5584         "StatusHistoryResult": {
5585           "type": "object",
5586           "properties": {
5587             "error": {
5588               "$ref": "#/definitions/Error"
5589             },
5590             "history": {
5591               "$ref": "#/definitions/History"
5592             }
5593           },
5594           "additionalProperties": false,
5595           "required": [
5596             "history"
5597           ]
5598         },
5599         "StatusHistoryResults": {
5600           "type": "object",
5601           "properties": {
5602             "results": {
5603               "type": "array",
5604               "items": {
5605                 "$ref": "#/definitions/StatusHistoryResult"
5606               }
5607             }
5608           },
5609           "additionalProperties": false,
5610           "required": [
5611             "results"
5612           ]
5613         },
5614         "StatusParams": {
5615           "type": "object",
5616           "properties": {
5617             "patterns": {
5618               "type": "array",
5619               "items": {
5620                 "type": "string"
5621               }
5622             }
5623           },
5624           "additionalProperties": false,
5625           "required": [
5626             "patterns"
5627           ]
5628         },
5629         "StringResult": {
5630           "type": "object",
5631           "properties": {
5632             "error": {
5633               "$ref": "#/definitions/Error"
5634             },
5635             "result": {
5636               "type": "string"
5637             }
5638           },
5639           "additionalProperties": false,
5640           "required": [
5641             "result"
5642           ]
5643         },
5644         "Tools": {
5645           "type": "object",
5646           "properties": {
5647             "sha256": {
5648               "type": "string"
5649             },
5650             "size": {
5651               "type": "integer"
5652             },
5653             "url": {
5654               "type": "string"
5655             },
5656             "version": {
5657               "$ref": "#/definitions/Binary"
5658             }
5659           },
5660           "additionalProperties": false,
5661           "required": [
5662             "version",
5663             "url",
5664             "size"
5665           ]
5666         },
5667         "UnitStatus": {
5668           "type": "object",
5669           "properties": {
5670             "agent-status": {
5671               "$ref": "#/definitions/DetailedStatus"
5672             },
5673             "charm": {
5674               "type": "string"
5675             },
5676             "leader": {
5677               "type": "boolean"
5678             },
5679             "machine": {
5680               "type": "string"
5681             },
5682             "opened-ports": {
5683               "type": "array",
5684               "items": {
5685                 "type": "string"
5686               }
5687             },
5688             "public-address": {
5689               "type": "string"
5690             },
5691             "subordinates": {
5692               "type": "object",
5693               "patternProperties": {
5694                 ".*": {
5695                   "$ref": "#/definitions/UnitStatus"
5696                 }
5697               }
5698             },
5699             "workload-status": {
5700               "$ref": "#/definitions/DetailedStatus"
5701             },
5702             "workload-version": {
5703               "type": "string"
5704             }
5705           },
5706           "additionalProperties": false,
5707           "required": [
5708             "agent-status",
5709             "workload-status",
5710             "workload-version",
5711             "machine",
5712             "opened-ports",
5713             "public-address",
5714             "charm",
5715             "subordinates"
5716           ]
5717         },
5718         "Value": {
5719           "type": "object",
5720           "properties": {
5721             "arch": {
5722               "type": "string"
5723             },
5724             "container": {
5725               "type": "string"
5726             },
5727             "cores": {
5728               "type": "integer"
5729             },
5730             "cpu-power": {
5731               "type": "integer"
5732             },
5733             "instance-type": {
5734               "type": "string"
5735             },
5736             "mem": {
5737               "type": "integer"
5738             },
5739             "root-disk": {
5740               "type": "integer"
5741             },
5742             "spaces": {
5743               "type": "array",
5744               "items": {
5745                 "type": "string"
5746               }
5747             },
5748             "tags": {
5749               "type": "array",
5750               "items": {
5751                 "type": "string"
5752               }
5753             },
5754             "virt-type": {
5755               "type": "string"
5756             }
5757           },
5758           "additionalProperties": false
5759         }
5760       }
5761     }
5762   },
5763   {
5764     "Name": "Cloud",
5765     "Version": 1,
5766     "Schema": {
5767       "type": "object",
5768       "properties": {
5769         "Cloud": {
5770           "type": "object",
5771           "properties": {
5772             "Params": {
5773               "$ref": "#/definitions/Entities"
5774             },
5775             "Result": {
5776               "$ref": "#/definitions/CloudResults"
5777             }
5778           }
5779         },
5780         "Clouds": {
5781           "type": "object",
5782           "properties": {
5783             "Result": {
5784               "$ref": "#/definitions/CloudsResult"
5785             }
5786           }
5787         },
5788         "Credential": {
5789           "type": "object",
5790           "properties": {
5791             "Params": {
5792               "$ref": "#/definitions/Entities"
5793             },
5794             "Result": {
5795               "$ref": "#/definitions/CloudCredentialResults"
5796             }
5797           }
5798         },
5799         "DefaultCloud": {
5800           "type": "object",
5801           "properties": {
5802             "Result": {
5803               "$ref": "#/definitions/StringResult"
5804             }
5805           }
5806         },
5807         "InstanceTypes": {
5808           "type": "object",
5809           "properties": {
5810             "Params": {
5811               "$ref": "#/definitions/CloudInstanceTypesConstraints"
5812             },
5813             "Result": {
5814               "$ref": "#/definitions/InstanceTypesResults"
5815             }
5816           }
5817         },
5818         "RevokeCredentials": {
5819           "type": "object",
5820           "properties": {
5821             "Params": {
5822               "$ref": "#/definitions/Entities"
5823             },
5824             "Result": {
5825               "$ref": "#/definitions/ErrorResults"
5826             }
5827           }
5828         },
5829         "UpdateCredentials": {
5830           "type": "object",
5831           "properties": {
5832             "Params": {
5833               "$ref": "#/definitions/UpdateCloudCredentials"
5834             },
5835             "Result": {
5836               "$ref": "#/definitions/ErrorResults"
5837             }
5838           }
5839         },
5840         "UserCredentials": {
5841           "type": "object",
5842           "properties": {
5843             "Params": {
5844               "$ref": "#/definitions/UserClouds"
5845             },
5846             "Result": {
5847               "$ref": "#/definitions/StringsResults"
5848             }
5849           }
5850         }
5851       },
5852       "definitions": {
5853         "Cloud": {
5854           "type": "object",
5855           "properties": {
5856             "auth-types": {
5857               "type": "array",
5858               "items": {
5859                 "type": "string"
5860               }
5861             },
5862             "endpoint": {
5863               "type": "string"
5864             },
5865             "identity-endpoint": {
5866               "type": "string"
5867             },
5868             "regions": {
5869               "type": "array",
5870               "items": {
5871                 "$ref": "#/definitions/CloudRegion"
5872               }
5873             },
5874             "storage-endpoint": {
5875               "type": "string"
5876             },
5877             "type": {
5878               "type": "string"
5879             }
5880           },
5881           "additionalProperties": false,
5882           "required": [
5883             "type"
5884           ]
5885         },
5886         "CloudCredential": {
5887           "type": "object",
5888           "properties": {
5889             "attrs": {
5890               "type": "object",
5891               "patternProperties": {
5892                 ".*": {
5893                   "type": "string"
5894                 }
5895               }
5896             },
5897             "auth-type": {
5898               "type": "string"
5899             },
5900             "redacted": {
5901               "type": "array",
5902               "items": {
5903                 "type": "string"
5904               }
5905             }
5906           },
5907           "additionalProperties": false,
5908           "required": [
5909             "auth-type"
5910           ]
5911         },
5912         "CloudCredentialResult": {
5913           "type": "object",
5914           "properties": {
5915             "error": {
5916               "$ref": "#/definitions/Error"
5917             },
5918             "result": {
5919               "$ref": "#/definitions/CloudCredential"
5920             }
5921           },
5922           "additionalProperties": false
5923         },
5924         "CloudCredentialResults": {
5925           "type": "object",
5926           "properties": {
5927             "results": {
5928               "type": "array",
5929               "items": {
5930                 "$ref": "#/definitions/CloudCredentialResult"
5931               }
5932             }
5933           },
5934           "additionalProperties": false
5935         },
5936         "CloudInstanceTypesConstraint": {
5937           "type": "object",
5938           "properties": {
5939             "cloud-tag": {
5940               "type": "string"
5941             },
5942             "constraints": {
5943               "$ref": "#/definitions/Value"
5944             },
5945             "region": {
5946               "type": "string"
5947             }
5948           },
5949           "additionalProperties": false,
5950           "required": [
5951             "cloud-tag",
5952             "region"
5953           ]
5954         },
5955         "CloudInstanceTypesConstraints": {
5956           "type": "object",
5957           "properties": {
5958             "constraints": {
5959               "type": "array",
5960               "items": {
5961                 "$ref": "#/definitions/CloudInstanceTypesConstraint"
5962               }
5963             }
5964           },
5965           "additionalProperties": false,
5966           "required": [
5967             "constraints"
5968           ]
5969         },
5970         "CloudRegion": {
5971           "type": "object",
5972           "properties": {
5973             "endpoint": {
5974               "type": "string"
5975             },
5976             "identity-endpoint": {
5977               "type": "string"
5978             },
5979             "name": {
5980               "type": "string"
5981             },
5982             "storage-endpoint": {
5983               "type": "string"
5984             }
5985           },
5986           "additionalProperties": false,
5987           "required": [
5988             "name"
5989           ]
5990         },
5991         "CloudResult": {
5992           "type": "object",
5993           "properties": {
5994             "cloud": {
5995               "$ref": "#/definitions/Cloud"
5996             },
5997             "error": {
5998               "$ref": "#/definitions/Error"
5999             }
6000           },
6001           "additionalProperties": false
6002         },
6003         "CloudResults": {
6004           "type": "object",
6005           "properties": {
6006             "results": {
6007               "type": "array",
6008               "items": {
6009                 "$ref": "#/definitions/CloudResult"
6010               }
6011             }
6012           },
6013           "additionalProperties": false
6014         },
6015         "CloudsResult": {
6016           "type": "object",
6017           "properties": {
6018             "clouds": {
6019               "type": "object",
6020               "patternProperties": {
6021                 ".*": {
6022                   "$ref": "#/definitions/Cloud"
6023                 }
6024               }
6025             }
6026           },
6027           "additionalProperties": false
6028         },
6029         "Entities": {
6030           "type": "object",
6031           "properties": {
6032             "entities": {
6033               "type": "array",
6034               "items": {
6035                 "$ref": "#/definitions/Entity"
6036               }
6037             }
6038           },
6039           "additionalProperties": false,
6040           "required": [
6041             "entities"
6042           ]
6043         },
6044         "Entity": {
6045           "type": "object",
6046           "properties": {
6047             "tag": {
6048               "type": "string"
6049             }
6050           },
6051           "additionalProperties": false,
6052           "required": [
6053             "tag"
6054           ]
6055         },
6056         "Error": {
6057           "type": "object",
6058           "properties": {
6059             "code": {
6060               "type": "string"
6061             },
6062             "info": {
6063               "$ref": "#/definitions/ErrorInfo"
6064             },
6065             "message": {
6066               "type": "string"
6067             }
6068           },
6069           "additionalProperties": false,
6070           "required": [
6071             "message",
6072             "code"
6073           ]
6074         },
6075         "ErrorInfo": {
6076           "type": "object",
6077           "properties": {
6078             "macaroon": {
6079               "$ref": "#/definitions/Macaroon"
6080             },
6081             "macaroon-path": {
6082               "type": "string"
6083             }
6084           },
6085           "additionalProperties": false
6086         },
6087         "ErrorResult": {
6088           "type": "object",
6089           "properties": {
6090             "error": {
6091               "$ref": "#/definitions/Error"
6092             }
6093           },
6094           "additionalProperties": false
6095         },
6096         "ErrorResults": {
6097           "type": "object",
6098           "properties": {
6099             "results": {
6100               "type": "array",
6101               "items": {
6102                 "$ref": "#/definitions/ErrorResult"
6103               }
6104             }
6105           },
6106           "additionalProperties": false,
6107           "required": [
6108             "results"
6109           ]
6110         },
6111         "InstanceType": {
6112           "type": "object",
6113           "properties": {
6114             "arches": {
6115               "type": "array",
6116               "items": {
6117                 "type": "string"
6118               }
6119             },
6120             "cost": {
6121               "type": "integer"
6122             },
6123             "cpu-cores": {
6124               "type": "integer"
6125             },
6126             "deprecated": {
6127               "type": "boolean"
6128             },
6129             "memory": {
6130               "type": "integer"
6131             },
6132             "name": {
6133               "type": "string"
6134             },
6135             "root-disk": {
6136               "type": "integer"
6137             },
6138             "virt-type": {
6139               "type": "string"
6140             }
6141           },
6142           "additionalProperties": false,
6143           "required": [
6144             "arches",
6145             "cpu-cores",
6146             "memory"
6147           ]
6148         },
6149         "InstanceTypesResult": {
6150           "type": "object",
6151           "properties": {
6152             "cost-currency": {
6153               "type": "string"
6154             },
6155             "cost-divisor": {
6156               "type": "integer"
6157             },
6158             "cost-unit": {
6159               "type": "string"
6160             },
6161             "error": {
6162               "$ref": "#/definitions/Error"
6163             },
6164             "instance-types": {
6165               "type": "array",
6166               "items": {
6167                 "$ref": "#/definitions/InstanceType"
6168               }
6169             }
6170           },
6171           "additionalProperties": false
6172         },
6173         "InstanceTypesResults": {
6174           "type": "object",
6175           "properties": {
6176             "results": {
6177               "type": "array",
6178               "items": {
6179                 "$ref": "#/definitions/InstanceTypesResult"
6180               }
6181             }
6182           },
6183           "additionalProperties": false,
6184           "required": [
6185             "results"
6186           ]
6187         },
6188         "Macaroon": {
6189           "type": "object",
6190           "additionalProperties": false
6191         },
6192         "StringResult": {
6193           "type": "object",
6194           "properties": {
6195             "error": {
6196               "$ref": "#/definitions/Error"
6197             },
6198             "result": {
6199               "type": "string"
6200             }
6201           },
6202           "additionalProperties": false,
6203           "required": [
6204             "result"
6205           ]
6206         },
6207         "StringsResult": {
6208           "type": "object",
6209           "properties": {
6210             "error": {
6211               "$ref": "#/definitions/Error"
6212             },
6213             "result": {
6214               "type": "array",
6215               "items": {
6216                 "type": "string"
6217               }
6218             }
6219           },
6220           "additionalProperties": false
6221         },
6222         "StringsResults": {
6223           "type": "object",
6224           "properties": {
6225             "results": {
6226               "type": "array",
6227               "items": {
6228                 "$ref": "#/definitions/StringsResult"
6229               }
6230             }
6231           },
6232           "additionalProperties": false,
6233           "required": [
6234             "results"
6235           ]
6236         },
6237         "UpdateCloudCredential": {
6238           "type": "object",
6239           "properties": {
6240             "credential": {
6241               "$ref": "#/definitions/CloudCredential"
6242             },
6243             "tag": {
6244               "type": "string"
6245             }
6246           },
6247           "additionalProperties": false,
6248           "required": [
6249             "tag",
6250             "credential"
6251           ]
6252         },
6253         "UpdateCloudCredentials": {
6254           "type": "object",
6255           "properties": {
6256             "credentials": {
6257               "type": "array",
6258               "items": {
6259                 "$ref": "#/definitions/UpdateCloudCredential"
6260               }
6261             }
6262           },
6263           "additionalProperties": false
6264         },
6265         "UserCloud": {
6266           "type": "object",
6267           "properties": {
6268             "cloud-tag": {
6269               "type": "string"
6270             },
6271             "user-tag": {
6272               "type": "string"
6273             }
6274           },
6275           "additionalProperties": false,
6276           "required": [
6277             "user-tag",
6278             "cloud-tag"
6279           ]
6280         },
6281         "UserClouds": {
6282           "type": "object",
6283           "properties": {
6284             "user-clouds": {
6285               "type": "array",
6286               "items": {
6287                 "$ref": "#/definitions/UserCloud"
6288               }
6289             }
6290           },
6291           "additionalProperties": false
6292         },
6293         "Value": {
6294           "type": "object",
6295           "properties": {
6296             "arch": {
6297               "type": "string"
6298             },
6299             "container": {
6300               "type": "string"
6301             },
6302             "cores": {
6303               "type": "integer"
6304             },
6305             "cpu-power": {
6306               "type": "integer"
6307             },
6308             "instance-type": {
6309               "type": "string"
6310             },
6311             "mem": {
6312               "type": "integer"
6313             },
6314             "root-disk": {
6315               "type": "integer"
6316             },
6317             "spaces": {
6318               "type": "array",
6319               "items": {
6320                 "type": "string"
6321               }
6322             },
6323             "tags": {
6324               "type": "array",
6325               "items": {
6326                 "type": "string"
6327               }
6328             },
6329             "virt-type": {
6330               "type": "string"
6331             }
6332           },
6333           "additionalProperties": false
6334         }
6335       }
6336     }
6337   },
6338   {
6339     "Name": "Controller",
6340     "Version": 3,
6341     "Schema": {
6342       "type": "object",
6343       "properties": {
6344         "AllModels": {
6345           "type": "object",
6346           "properties": {
6347             "Result": {
6348               "$ref": "#/definitions/UserModelList"
6349             }
6350           }
6351         },
6352         "CloudSpec": {
6353           "type": "object",
6354           "properties": {
6355             "Params": {
6356               "$ref": "#/definitions/Entities"
6357             },
6358             "Result": {
6359               "$ref": "#/definitions/CloudSpecResults"
6360             }
6361           }
6362         },
6363         "ControllerConfig": {
6364           "type": "object",
6365           "properties": {
6366             "Result": {
6367               "$ref": "#/definitions/ControllerConfigResult"
6368             }
6369           }
6370         },
6371         "DestroyController": {
6372           "type": "object",
6373           "properties": {
6374             "Params": {
6375               "$ref": "#/definitions/DestroyControllerArgs"
6376             }
6377           }
6378         },
6379         "GetCloudSpec": {
6380           "type": "object",
6381           "properties": {
6382             "Params": {
6383               "$ref": "#/definitions/ModelTag"
6384             },
6385             "Result": {
6386               "$ref": "#/definitions/CloudSpecResult"
6387             }
6388           }
6389         },
6390         "GetControllerAccess": {
6391           "type": "object",
6392           "properties": {
6393             "Params": {
6394               "$ref": "#/definitions/Entities"
6395             },
6396             "Result": {
6397               "$ref": "#/definitions/UserAccessResults"
6398             }
6399           }
6400         },
6401         "HostedModelConfigs": {
6402           "type": "object",
6403           "properties": {
6404             "Result": {
6405               "$ref": "#/definitions/HostedModelConfigsResults"
6406             }
6407           }
6408         },
6409         "InitiateMigration": {
6410           "type": "object",
6411           "properties": {
6412             "Params": {
6413               "$ref": "#/definitions/InitiateMigrationArgs"
6414             },
6415             "Result": {
6416               "$ref": "#/definitions/InitiateMigrationResults"
6417             }
6418           }
6419         },
6420         "ListBlockedModels": {
6421           "type": "object",
6422           "properties": {
6423             "Result": {
6424               "$ref": "#/definitions/ModelBlockInfoList"
6425             }
6426           }
6427         },
6428         "ModelConfig": {
6429           "type": "object",
6430           "properties": {
6431             "Result": {
6432               "$ref": "#/definitions/ModelConfigResults"
6433             }
6434           }
6435         },
6436         "ModelStatus": {
6437           "type": "object",
6438           "properties": {
6439             "Params": {
6440               "$ref": "#/definitions/Entities"
6441             },
6442             "Result": {
6443               "$ref": "#/definitions/ModelStatusResults"
6444             }
6445           }
6446         },
6447         "ModifyControllerAccess": {
6448           "type": "object",
6449           "properties": {
6450             "Params": {
6451               "$ref": "#/definitions/ModifyControllerAccessRequest"
6452             },
6453             "Result": {
6454               "$ref": "#/definitions/ErrorResults"
6455             }
6456           }
6457         },
6458         "RemoveBlocks": {
6459           "type": "object",
6460           "properties": {
6461             "Params": {
6462               "$ref": "#/definitions/RemoveBlocksArgs"
6463             }
6464           }
6465         },
6466         "WatchAllModels": {
6467           "type": "object",
6468           "properties": {
6469             "Result": {
6470               "$ref": "#/definitions/AllWatcherId"
6471             }
6472           }
6473         }
6474       },
6475       "definitions": {
6476         "AllWatcherId": {
6477           "type": "object",
6478           "properties": {
6479             "watcher-id": {
6480               "type": "string"
6481             }
6482           },
6483           "additionalProperties": false,
6484           "required": [
6485             "watcher-id"
6486           ]
6487         },
6488         "CloudCredential": {
6489           "type": "object",
6490           "properties": {
6491             "attrs": {
6492               "type": "object",
6493               "patternProperties": {
6494                 ".*": {
6495                   "type": "string"
6496                 }
6497               }
6498             },
6499             "auth-type": {
6500               "type": "string"
6501             },
6502             "redacted": {
6503               "type": "array",
6504               "items": {
6505                 "type": "string"
6506               }
6507             }
6508           },
6509           "additionalProperties": false,
6510           "required": [
6511             "auth-type"
6512           ]
6513         },
6514         "CloudSpec": {
6515           "type": "object",
6516           "properties": {
6517             "credential": {
6518               "$ref": "#/definitions/CloudCredential"
6519             },
6520             "endpoint": {
6521               "type": "string"
6522             },
6523             "identity-endpoint": {
6524               "type": "string"
6525             },
6526             "name": {
6527               "type": "string"
6528             },
6529             "region": {
6530               "type": "string"
6531             },
6532             "storage-endpoint": {
6533               "type": "string"
6534             },
6535             "type": {
6536               "type": "string"
6537             }
6538           },
6539           "additionalProperties": false,
6540           "required": [
6541             "type",
6542             "name"
6543           ]
6544         },
6545         "CloudSpecResult": {
6546           "type": "object",
6547           "properties": {
6548             "error": {
6549               "$ref": "#/definitions/Error"
6550             },
6551             "result": {
6552               "$ref": "#/definitions/CloudSpec"
6553             }
6554           },
6555           "additionalProperties": false
6556         },
6557         "CloudSpecResults": {
6558           "type": "object",
6559           "properties": {
6560             "results": {
6561               "type": "array",
6562               "items": {
6563                 "$ref": "#/definitions/CloudSpecResult"
6564               }
6565             }
6566           },
6567           "additionalProperties": false
6568         },
6569         "ConfigValue": {
6570           "type": "object",
6571           "properties": {
6572             "source": {
6573               "type": "string"
6574             },
6575             "value": {
6576               "type": "object",
6577               "additionalProperties": true
6578             }
6579           },
6580           "additionalProperties": false,
6581           "required": [
6582             "value",
6583             "source"
6584           ]
6585         },
6586         "ControllerConfigResult": {
6587           "type": "object",
6588           "properties": {
6589             "config": {
6590               "type": "object",
6591               "patternProperties": {
6592                 ".*": {
6593                   "type": "object",
6594                   "additionalProperties": true
6595                 }
6596               }
6597             }
6598           },
6599           "additionalProperties": false,
6600           "required": [
6601             "config"
6602           ]
6603         },
6604         "DestroyControllerArgs": {
6605           "type": "object",
6606           "properties": {
6607             "destroy-models": {
6608               "type": "boolean"
6609             }
6610           },
6611           "additionalProperties": false,
6612           "required": [
6613             "destroy-models"
6614           ]
6615         },
6616         "Entities": {
6617           "type": "object",
6618           "properties": {
6619             "entities": {
6620               "type": "array",
6621               "items": {
6622                 "$ref": "#/definitions/Entity"
6623               }
6624             }
6625           },
6626           "additionalProperties": false,
6627           "required": [
6628             "entities"
6629           ]
6630         },
6631         "Entity": {
6632           "type": "object",
6633           "properties": {
6634             "tag": {
6635               "type": "string"
6636             }
6637           },
6638           "additionalProperties": false,
6639           "required": [
6640             "tag"
6641           ]
6642         },
6643         "Error": {
6644           "type": "object",
6645           "properties": {
6646             "code": {
6647               "type": "string"
6648             },
6649             "info": {
6650               "$ref": "#/definitions/ErrorInfo"
6651             },
6652             "message": {
6653               "type": "string"
6654             }
6655           },
6656           "additionalProperties": false,
6657           "required": [
6658             "message",
6659             "code"
6660           ]
6661         },
6662         "ErrorInfo": {
6663           "type": "object",
6664           "properties": {
6665             "macaroon": {
6666               "$ref": "#/definitions/Macaroon"
6667             },
6668             "macaroon-path": {
6669               "type": "string"
6670             }
6671           },
6672           "additionalProperties": false
6673         },
6674         "ErrorResult": {
6675           "type": "object",
6676           "properties": {
6677             "error": {
6678               "$ref": "#/definitions/Error"
6679             }
6680           },
6681           "additionalProperties": false
6682         },
6683         "ErrorResults": {
6684           "type": "object",
6685           "properties": {
6686             "results": {
6687               "type": "array",
6688               "items": {
6689                 "$ref": "#/definitions/ErrorResult"
6690               }
6691             }
6692           },
6693           "additionalProperties": false,
6694           "required": [
6695             "results"
6696           ]
6697         },
6698         "HostedModelConfig": {
6699           "type": "object",
6700           "properties": {
6701             "cloud-spec": {
6702               "$ref": "#/definitions/CloudSpec"
6703             },
6704             "config": {
6705               "type": "object",
6706               "patternProperties": {
6707                 ".*": {
6708                   "type": "object",
6709                   "additionalProperties": true
6710                 }
6711               }
6712             },
6713             "error": {
6714               "$ref": "#/definitions/Error"
6715             },
6716             "name": {
6717               "type": "string"
6718             },
6719             "owner": {
6720               "type": "string"
6721             }
6722           },
6723           "additionalProperties": false,
6724           "required": [
6725             "name",
6726             "owner"
6727           ]
6728         },
6729         "HostedModelConfigsResults": {
6730           "type": "object",
6731           "properties": {
6732             "models": {
6733               "type": "array",
6734               "items": {
6735                 "$ref": "#/definitions/HostedModelConfig"
6736               }
6737             }
6738           },
6739           "additionalProperties": false,
6740           "required": [
6741             "models"
6742           ]
6743         },
6744         "InitiateMigrationArgs": {
6745           "type": "object",
6746           "properties": {
6747             "specs": {
6748               "type": "array",
6749               "items": {
6750                 "$ref": "#/definitions/MigrationSpec"
6751               }
6752             }
6753           },
6754           "additionalProperties": false,
6755           "required": [
6756             "specs"
6757           ]
6758         },
6759         "InitiateMigrationResult": {
6760           "type": "object",
6761           "properties": {
6762             "error": {
6763               "$ref": "#/definitions/Error"
6764             },
6765             "migration-id": {
6766               "type": "string"
6767             },
6768             "model-tag": {
6769               "type": "string"
6770             }
6771           },
6772           "additionalProperties": false,
6773           "required": [
6774             "model-tag",
6775             "migration-id"
6776           ]
6777         },
6778         "InitiateMigrationResults": {
6779           "type": "object",
6780           "properties": {
6781             "results": {
6782               "type": "array",
6783               "items": {
6784                 "$ref": "#/definitions/InitiateMigrationResult"
6785               }
6786             }
6787           },
6788           "additionalProperties": false,
6789           "required": [
6790             "results"
6791           ]
6792         },
6793         "Macaroon": {
6794           "type": "object",
6795           "additionalProperties": false
6796         },
6797         "MachineHardware": {
6798           "type": "object",
6799           "properties": {
6800             "arch": {
6801               "type": "string"
6802             },
6803             "availability-zone": {
6804               "type": "string"
6805             },
6806             "cores": {
6807               "type": "integer"
6808             },
6809             "cpu-power": {
6810               "type": "integer"
6811             },
6812             "mem": {
6813               "type": "integer"
6814             },
6815             "root-disk": {
6816               "type": "integer"
6817             },
6818             "tags": {
6819               "type": "array",
6820               "items": {
6821                 "type": "string"
6822               }
6823             }
6824           },
6825           "additionalProperties": false
6826         },
6827         "MigrationSpec": {
6828           "type": "object",
6829           "properties": {
6830             "external-control": {
6831               "type": "boolean"
6832             },
6833             "model-tag": {
6834               "type": "string"
6835             },
6836             "skip-initial-prechecks": {
6837               "type": "boolean"
6838             },
6839             "target-info": {
6840               "$ref": "#/definitions/MigrationTargetInfo"
6841             }
6842           },
6843           "additionalProperties": false,
6844           "required": [
6845             "model-tag",
6846             "target-info",
6847             "external-control",
6848             "skip-initial-prechecks"
6849           ]
6850         },
6851         "MigrationTargetInfo": {
6852           "type": "object",
6853           "properties": {
6854             "addrs": {
6855               "type": "array",
6856               "items": {
6857                 "type": "string"
6858               }
6859             },
6860             "auth-tag": {
6861               "type": "string"
6862             },
6863             "ca-cert": {
6864               "type": "string"
6865             },
6866             "controller-tag": {
6867               "type": "string"
6868             },
6869             "macaroons": {
6870               "type": "string"
6871             },
6872             "password": {
6873               "type": "string"
6874             }
6875           },
6876           "additionalProperties": false,
6877           "required": [
6878             "controller-tag",
6879             "addrs",
6880             "ca-cert",
6881             "auth-tag"
6882           ]
6883         },
6884         "Model": {
6885           "type": "object",
6886           "properties": {
6887             "name": {
6888               "type": "string"
6889             },
6890             "owner-tag": {
6891               "type": "string"
6892             },
6893             "uuid": {
6894               "type": "string"
6895             }
6896           },
6897           "additionalProperties": false,
6898           "required": [
6899             "name",
6900             "uuid",
6901             "owner-tag"
6902           ]
6903         },
6904         "ModelBlockInfo": {
6905           "type": "object",
6906           "properties": {
6907             "blocks": {
6908               "type": "array",
6909               "items": {
6910                 "type": "string"
6911               }
6912             },
6913             "model-uuid": {
6914               "type": "string"
6915             },
6916             "name": {
6917               "type": "string"
6918             },
6919             "owner-tag": {
6920               "type": "string"
6921             }
6922           },
6923           "additionalProperties": false,
6924           "required": [
6925             "name",
6926             "model-uuid",
6927             "owner-tag",
6928             "blocks"
6929           ]
6930         },
6931         "ModelBlockInfoList": {
6932           "type": "object",
6933           "properties": {
6934             "models": {
6935               "type": "array",
6936               "items": {
6937                 "$ref": "#/definitions/ModelBlockInfo"
6938               }
6939             }
6940           },
6941           "additionalProperties": false
6942         },
6943         "ModelConfigResults": {
6944           "type": "object",
6945           "properties": {
6946             "config": {
6947               "type": "object",
6948               "patternProperties": {
6949                 ".*": {
6950                   "$ref": "#/definitions/ConfigValue"
6951                 }
6952               }
6953             }
6954           },
6955           "additionalProperties": false,
6956           "required": [
6957             "config"
6958           ]
6959         },
6960         "ModelMachineInfo": {
6961           "type": "object",
6962           "properties": {
6963             "hardware": {
6964               "$ref": "#/definitions/MachineHardware"
6965             },
6966             "has-vote": {
6967               "type": "boolean"
6968             },
6969             "id": {
6970               "type": "string"
6971             },
6972             "instance-id": {
6973               "type": "string"
6974             },
6975             "status": {
6976               "type": "string"
6977             },
6978             "wants-vote": {
6979               "type": "boolean"
6980             }
6981           },
6982           "additionalProperties": false,
6983           "required": [
6984             "id"
6985           ]
6986         },
6987         "ModelStatus": {
6988           "type": "object",
6989           "properties": {
6990             "application-count": {
6991               "type": "integer"
6992             },
6993             "hosted-machine-count": {
6994               "type": "integer"
6995             },
6996             "life": {
6997               "type": "string"
6998             },
6999             "machines": {
7000               "type": "array",
7001               "items": {
7002                 "$ref": "#/definitions/ModelMachineInfo"
7003               }
7004             },
7005             "model-tag": {
7006               "type": "string"
7007             },
7008             "owner-tag": {
7009               "type": "string"
7010             }
7011           },
7012           "additionalProperties": false,
7013           "required": [
7014             "model-tag",
7015             "life",
7016             "hosted-machine-count",
7017             "application-count",
7018             "owner-tag"
7019           ]
7020         },
7021         "ModelStatusResults": {
7022           "type": "object",
7023           "properties": {
7024             "models": {
7025               "type": "array",
7026               "items": {
7027                 "$ref": "#/definitions/ModelStatus"
7028               }
7029             }
7030           },
7031           "additionalProperties": false,
7032           "required": [
7033             "models"
7034           ]
7035         },
7036         "ModelTag": {
7037           "type": "object",
7038           "additionalProperties": false
7039         },
7040         "ModifyControllerAccess": {
7041           "type": "object",
7042           "properties": {
7043             "access": {
7044               "type": "string"
7045             },
7046             "action": {
7047               "type": "string"
7048             },
7049             "user-tag": {
7050               "type": "string"
7051             }
7052           },
7053           "additionalProperties": false,
7054           "required": [
7055             "user-tag",
7056             "action",
7057             "access"
7058           ]
7059         },
7060         "ModifyControllerAccessRequest": {
7061           "type": "object",
7062           "properties": {
7063             "changes": {
7064               "type": "array",
7065               "items": {
7066                 "$ref": "#/definitions/ModifyControllerAccess"
7067               }
7068             }
7069           },
7070           "additionalProperties": false,
7071           "required": [
7072             "changes"
7073           ]
7074         },
7075         "RemoveBlocksArgs": {
7076           "type": "object",
7077           "properties": {
7078             "all": {
7079               "type": "boolean"
7080             }
7081           },
7082           "additionalProperties": false,
7083           "required": [
7084             "all"
7085           ]
7086         },
7087         "UserAccess": {
7088           "type": "object",
7089           "properties": {
7090             "access": {
7091               "type": "string"
7092             },
7093             "user-tag": {
7094               "type": "string"
7095             }
7096           },
7097           "additionalProperties": false,
7098           "required": [
7099             "user-tag",
7100             "access"
7101           ]
7102         },
7103         "UserAccessResult": {
7104           "type": "object",
7105           "properties": {
7106             "error": {
7107               "$ref": "#/definitions/Error"
7108             },
7109             "result": {
7110               "$ref": "#/definitions/UserAccess"
7111             }
7112           },
7113           "additionalProperties": false
7114         },
7115         "UserAccessResults": {
7116           "type": "object",
7117           "properties": {
7118             "results": {
7119               "type": "array",
7120               "items": {
7121                 "$ref": "#/definitions/UserAccessResult"
7122               }
7123             }
7124           },
7125           "additionalProperties": false
7126         },
7127         "UserModel": {
7128           "type": "object",
7129           "properties": {
7130             "last-connection": {
7131               "type": "string",
7132               "format": "date-time"
7133             },
7134             "model": {
7135               "$ref": "#/definitions/Model"
7136             }
7137           },
7138           "additionalProperties": false,
7139           "required": [
7140             "model",
7141             "last-connection"
7142           ]
7143         },
7144         "UserModelList": {
7145           "type": "object",
7146           "properties": {
7147             "user-models": {
7148               "type": "array",
7149               "items": {
7150                 "$ref": "#/definitions/UserModel"
7151               }
7152             }
7153           },
7154           "additionalProperties": false,
7155           "required": [
7156             "user-models"
7157           ]
7158         }
7159       }
7160     }
7161   },
7162   {
7163     "Name": "Deployer",
7164     "Version": 1,
7165     "Schema": {
7166       "type": "object",
7167       "properties": {
7168         "APIAddresses": {
7169           "type": "object",
7170           "properties": {
7171             "Result": {
7172               "$ref": "#/definitions/StringsResult"
7173             }
7174           }
7175         },
7176         "APIHostPorts": {
7177           "type": "object",
7178           "properties": {
7179             "Result": {
7180               "$ref": "#/definitions/APIHostPortsResult"
7181             }
7182           }
7183         },
7184         "CACert": {
7185           "type": "object",
7186           "properties": {
7187             "Result": {
7188               "$ref": "#/definitions/BytesResult"
7189             }
7190           }
7191         },
7192         "ConnectionInfo": {
7193           "type": "object",
7194           "properties": {
7195             "Result": {
7196               "$ref": "#/definitions/DeployerConnectionValues"
7197             }
7198           }
7199         },
7200         "Life": {
7201           "type": "object",
7202           "properties": {
7203             "Params": {
7204               "$ref": "#/definitions/Entities"
7205             },
7206             "Result": {
7207               "$ref": "#/definitions/LifeResults"
7208             }
7209           }
7210         },
7211         "ModelUUID": {
7212           "type": "object",
7213           "properties": {
7214             "Result": {
7215               "$ref": "#/definitions/StringResult"
7216             }
7217           }
7218         },
7219         "Remove": {
7220           "type": "object",
7221           "properties": {
7222             "Params": {
7223               "$ref": "#/definitions/Entities"
7224             },
7225             "Result": {
7226               "$ref": "#/definitions/ErrorResults"
7227             }
7228           }
7229         },
7230         "SetPasswords": {
7231           "type": "object",
7232           "properties": {
7233             "Params": {
7234               "$ref": "#/definitions/EntityPasswords"
7235             },
7236             "Result": {
7237               "$ref": "#/definitions/ErrorResults"
7238             }
7239           }
7240         },
7241         "SetStatus": {
7242           "type": "object",
7243           "properties": {
7244             "Params": {
7245               "$ref": "#/definitions/SetStatus"
7246             },
7247             "Result": {
7248               "$ref": "#/definitions/ErrorResults"
7249             }
7250           }
7251         },
7252         "StateAddresses": {
7253           "type": "object",
7254           "properties": {
7255             "Result": {
7256               "$ref": "#/definitions/StringsResult"
7257             }
7258           }
7259         },
7260         "UpdateStatus": {
7261           "type": "object",
7262           "properties": {
7263             "Params": {
7264               "$ref": "#/definitions/SetStatus"
7265             },
7266             "Result": {
7267               "$ref": "#/definitions/ErrorResults"
7268             }
7269           }
7270         },
7271         "WatchAPIHostPorts": {
7272           "type": "object",
7273           "properties": {
7274             "Result": {
7275               "$ref": "#/definitions/NotifyWatchResult"
7276             }
7277           }
7278         },
7279         "WatchUnits": {
7280           "type": "object",
7281           "properties": {
7282             "Params": {
7283               "$ref": "#/definitions/Entities"
7284             },
7285             "Result": {
7286               "$ref": "#/definitions/StringsWatchResults"
7287             }
7288           }
7289         }
7290       },
7291       "definitions": {
7292         "APIHostPortsResult": {
7293           "type": "object",
7294           "properties": {
7295             "servers": {
7296               "type": "array",
7297               "items": {
7298                 "type": "array",
7299                 "items": {
7300                   "$ref": "#/definitions/HostPort"
7301                 }
7302               }
7303             }
7304           },
7305           "additionalProperties": false,
7306           "required": [
7307             "servers"
7308           ]
7309         },
7310         "Address": {
7311           "type": "object",
7312           "properties": {
7313             "scope": {
7314               "type": "string"
7315             },
7316             "space-name": {
7317               "type": "string"
7318             },
7319             "type": {
7320               "type": "string"
7321             },
7322             "value": {
7323               "type": "string"
7324             }
7325           },
7326           "additionalProperties": false,
7327           "required": [
7328             "value",
7329             "type",
7330             "scope"
7331           ]
7332         },
7333         "BytesResult": {
7334           "type": "object",
7335           "properties": {
7336             "result": {
7337               "type": "array",
7338               "items": {
7339                 "type": "integer"
7340               }
7341             }
7342           },
7343           "additionalProperties": false,
7344           "required": [
7345             "result"
7346           ]
7347         },
7348         "DeployerConnectionValues": {
7349           "type": "object",
7350           "properties": {
7351             "api-addresses": {
7352               "type": "array",
7353               "items": {
7354                 "type": "string"
7355               }
7356             },
7357             "state-addresses": {
7358               "type": "array",
7359               "items": {
7360                 "type": "string"
7361               }
7362             }
7363           },
7364           "additionalProperties": false,
7365           "required": [
7366             "state-addresses",
7367             "api-addresses"
7368           ]
7369         },
7370         "Entities": {
7371           "type": "object",
7372           "properties": {
7373             "entities": {
7374               "type": "array",
7375               "items": {
7376                 "$ref": "#/definitions/Entity"
7377               }
7378             }
7379           },
7380           "additionalProperties": false,
7381           "required": [
7382             "entities"
7383           ]
7384         },
7385         "Entity": {
7386           "type": "object",
7387           "properties": {
7388             "tag": {
7389               "type": "string"
7390             }
7391           },
7392           "additionalProperties": false,
7393           "required": [
7394             "tag"
7395           ]
7396         },
7397         "EntityPassword": {
7398           "type": "object",
7399           "properties": {
7400             "password": {
7401               "type": "string"
7402             },
7403             "tag": {
7404               "type": "string"
7405             }
7406           },
7407           "additionalProperties": false,
7408           "required": [
7409             "tag",
7410             "password"
7411           ]
7412         },
7413         "EntityPasswords": {
7414           "type": "object",
7415           "properties": {
7416             "changes": {
7417               "type": "array",
7418               "items": {
7419                 "$ref": "#/definitions/EntityPassword"
7420               }
7421             }
7422           },
7423           "additionalProperties": false,
7424           "required": [
7425             "changes"
7426           ]
7427         },
7428         "EntityStatusArgs": {
7429           "type": "object",
7430           "properties": {
7431             "data": {
7432               "type": "object",
7433               "patternProperties": {
7434                 ".*": {
7435                   "type": "object",
7436                   "additionalProperties": true
7437                 }
7438               }
7439             },
7440             "info": {
7441               "type": "string"
7442             },
7443             "status": {
7444               "type": "string"
7445             },
7446             "tag": {
7447               "type": "string"
7448             }
7449           },
7450           "additionalProperties": false,
7451           "required": [
7452             "tag",
7453             "status",
7454             "info",
7455             "data"
7456           ]
7457         },
7458         "Error": {
7459           "type": "object",
7460           "properties": {
7461             "code": {
7462               "type": "string"
7463             },
7464             "info": {
7465               "$ref": "#/definitions/ErrorInfo"
7466             },
7467             "message": {
7468               "type": "string"
7469             }
7470           },
7471           "additionalProperties": false,
7472           "required": [
7473             "message",
7474             "code"
7475           ]
7476         },
7477         "ErrorInfo": {
7478           "type": "object",
7479           "properties": {
7480             "macaroon": {
7481               "$ref": "#/definitions/Macaroon"
7482             },
7483             "macaroon-path": {
7484               "type": "string"
7485             }
7486           },
7487           "additionalProperties": false
7488         },
7489         "ErrorResult": {
7490           "type": "object",
7491           "properties": {
7492             "error": {
7493               "$ref": "#/definitions/Error"
7494             }
7495           },
7496           "additionalProperties": false
7497         },
7498         "ErrorResults": {
7499           "type": "object",
7500           "properties": {
7501             "results": {
7502               "type": "array",
7503               "items": {
7504                 "$ref": "#/definitions/ErrorResult"
7505               }
7506             }
7507           },
7508           "additionalProperties": false,
7509           "required": [
7510             "results"
7511           ]
7512         },
7513         "HostPort": {
7514           "type": "object",
7515           "properties": {
7516             "Address": {
7517               "$ref": "#/definitions/Address"
7518             },
7519             "port": {
7520               "type": "integer"
7521             }
7522           },
7523           "additionalProperties": false,
7524           "required": [
7525             "Address",
7526             "port"
7527           ]
7528         },
7529         "LifeResult": {
7530           "type": "object",
7531           "properties": {
7532             "error": {
7533               "$ref": "#/definitions/Error"
7534             },
7535             "life": {
7536               "type": "string"
7537             }
7538           },
7539           "additionalProperties": false,
7540           "required": [
7541             "life"
7542           ]
7543         },
7544         "LifeResults": {
7545           "type": "object",
7546           "properties": {
7547             "results": {
7548               "type": "array",
7549               "items": {
7550                 "$ref": "#/definitions/LifeResult"
7551               }
7552             }
7553           },
7554           "additionalProperties": false,
7555           "required": [
7556             "results"
7557           ]
7558         },
7559         "Macaroon": {
7560           "type": "object",
7561           "additionalProperties": false
7562         },
7563         "NotifyWatchResult": {
7564           "type": "object",
7565           "properties": {
7566             "NotifyWatcherId": {
7567               "type": "string"
7568             },
7569             "error": {
7570               "$ref": "#/definitions/Error"
7571             }
7572           },
7573           "additionalProperties": false,
7574           "required": [
7575             "NotifyWatcherId"
7576           ]
7577         },
7578         "SetStatus": {
7579           "type": "object",
7580           "properties": {
7581             "entities": {
7582               "type": "array",
7583               "items": {
7584                 "$ref": "#/definitions/EntityStatusArgs"
7585               }
7586             }
7587           },
7588           "additionalProperties": false,
7589           "required": [
7590             "entities"
7591           ]
7592         },
7593         "StringResult": {
7594           "type": "object",
7595           "properties": {
7596             "error": {
7597               "$ref": "#/definitions/Error"
7598             },
7599             "result": {
7600               "type": "string"
7601             }
7602           },
7603           "additionalProperties": false,
7604           "required": [
7605             "result"
7606           ]
7607         },
7608         "StringsResult": {
7609           "type": "object",
7610           "properties": {
7611             "error": {
7612               "$ref": "#/definitions/Error"
7613             },
7614             "result": {
7615               "type": "array",
7616               "items": {
7617                 "type": "string"
7618               }
7619             }
7620           },
7621           "additionalProperties": false
7622         },
7623         "StringsWatchResult": {
7624           "type": "object",
7625           "properties": {
7626             "changes": {
7627               "type": "array",
7628               "items": {
7629                 "type": "string"
7630               }
7631             },
7632             "error": {
7633               "$ref": "#/definitions/Error"
7634             },
7635             "watcher-id": {
7636               "type": "string"
7637             }
7638           },
7639           "additionalProperties": false,
7640           "required": [
7641             "watcher-id"
7642           ]
7643         },
7644         "StringsWatchResults": {
7645           "type": "object",
7646           "properties": {
7647             "results": {
7648               "type": "array",
7649               "items": {
7650                 "$ref": "#/definitions/StringsWatchResult"
7651               }
7652             }
7653           },
7654           "additionalProperties": false,
7655           "required": [
7656             "results"
7657           ]
7658         }
7659       }
7660     }
7661   },
7662   {
7663     "Name": "DiscoverSpaces",
7664     "Version": 2,
7665     "Schema": {
7666       "type": "object",
7667       "properties": {
7668         "AddSubnets": {
7669           "type": "object",
7670           "properties": {
7671             "Params": {
7672               "$ref": "#/definitions/AddSubnetsParams"
7673             },
7674             "Result": {
7675               "$ref": "#/definitions/ErrorResults"
7676             }
7677           }
7678         },
7679         "CreateSpaces": {
7680           "type": "object",
7681           "properties": {
7682             "Params": {
7683               "$ref": "#/definitions/CreateSpacesParams"
7684             },
7685             "Result": {
7686               "$ref": "#/definitions/ErrorResults"
7687             }
7688           }
7689         },
7690         "ListSpaces": {
7691           "type": "object",
7692           "properties": {
7693             "Result": {
7694               "$ref": "#/definitions/DiscoverSpacesResults"
7695             }
7696           }
7697         },
7698         "ListSubnets": {
7699           "type": "object",
7700           "properties": {
7701             "Params": {
7702               "$ref": "#/definitions/SubnetsFilters"
7703             },
7704             "Result": {
7705               "$ref": "#/definitions/ListSubnetsResults"
7706             }
7707           }
7708         },
7709         "ModelConfig": {
7710           "type": "object",
7711           "properties": {
7712             "Result": {
7713               "$ref": "#/definitions/ModelConfigResult"
7714             }
7715           }
7716         }
7717       },
7718       "definitions": {
7719         "AddSubnetParams": {
7720           "type": "object",
7721           "properties": {
7722             "provider-network-id": {
7723               "type": "string"
7724             },
7725             "space-tag": {
7726               "type": "string"
7727             },
7728             "subnet-provider-id": {
7729               "type": "string"
7730             },
7731             "subnet-tag": {
7732               "type": "string"
7733             },
7734             "vlan-tag": {
7735               "type": "integer"
7736             },
7737             "zones": {
7738               "type": "array",
7739               "items": {
7740                 "type": "string"
7741               }
7742             }
7743           },
7744           "additionalProperties": false,
7745           "required": [
7746             "space-tag"
7747           ]
7748         },
7749         "AddSubnetsParams": {
7750           "type": "object",
7751           "properties": {
7752             "subnets": {
7753               "type": "array",
7754               "items": {
7755                 "$ref": "#/definitions/AddSubnetParams"
7756               }
7757             }
7758           },
7759           "additionalProperties": false,
7760           "required": [
7761             "subnets"
7762           ]
7763         },
7764         "CreateSpaceParams": {
7765           "type": "object",
7766           "properties": {
7767             "provider-id": {
7768               "type": "string"
7769             },
7770             "public": {
7771               "type": "boolean"
7772             },
7773             "space-tag": {
7774               "type": "string"
7775             },
7776             "subnet-tags": {
7777               "type": "array",
7778               "items": {
7779                 "type": "string"
7780               }
7781             }
7782           },
7783           "additionalProperties": false,
7784           "required": [
7785             "subnet-tags",
7786             "space-tag",
7787             "public"
7788           ]
7789         },
7790         "CreateSpacesParams": {
7791           "type": "object",
7792           "properties": {
7793             "spaces": {
7794               "type": "array",
7795               "items": {
7796                 "$ref": "#/definitions/CreateSpaceParams"
7797               }
7798             }
7799           },
7800           "additionalProperties": false,
7801           "required": [
7802             "spaces"
7803           ]
7804         },
7805         "DiscoverSpacesResults": {
7806           "type": "object",
7807           "properties": {
7808             "results": {
7809               "type": "array",
7810               "items": {
7811                 "$ref": "#/definitions/ProviderSpace"
7812               }
7813             }
7814           },
7815           "additionalProperties": false,
7816           "required": [
7817             "results"
7818           ]
7819         },
7820         "Error": {
7821           "type": "object",
7822           "properties": {
7823             "code": {
7824               "type": "string"
7825             },
7826             "info": {
7827               "$ref": "#/definitions/ErrorInfo"
7828             },
7829             "message": {
7830               "type": "string"
7831             }
7832           },
7833           "additionalProperties": false,
7834           "required": [
7835             "message",
7836             "code"
7837           ]
7838         },
7839         "ErrorInfo": {
7840           "type": "object",
7841           "properties": {
7842             "macaroon": {
7843               "$ref": "#/definitions/Macaroon"
7844             },
7845             "macaroon-path": {
7846               "type": "string"
7847             }
7848           },
7849           "additionalProperties": false
7850         },
7851         "ErrorResult": {
7852           "type": "object",
7853           "properties": {
7854             "error": {
7855               "$ref": "#/definitions/Error"
7856             }
7857           },
7858           "additionalProperties": false
7859         },
7860         "ErrorResults": {
7861           "type": "object",
7862           "properties": {
7863             "results": {
7864               "type": "array",
7865               "items": {
7866                 "$ref": "#/definitions/ErrorResult"
7867               }
7868             }
7869           },
7870           "additionalProperties": false,
7871           "required": [
7872             "results"
7873           ]
7874         },
7875         "ListSubnetsResults": {
7876           "type": "object",
7877           "properties": {
7878             "results": {
7879               "type": "array",
7880               "items": {
7881                 "$ref": "#/definitions/Subnet"
7882               }
7883             }
7884           },
7885           "additionalProperties": false,
7886           "required": [
7887             "results"
7888           ]
7889         },
7890         "Macaroon": {
7891           "type": "object",
7892           "additionalProperties": false
7893         },
7894         "ModelConfigResult": {
7895           "type": "object",
7896           "properties": {
7897             "config": {
7898               "type": "object",
7899               "patternProperties": {
7900                 ".*": {
7901                   "type": "object",
7902                   "additionalProperties": true
7903                 }
7904               }
7905             }
7906           },
7907           "additionalProperties": false,
7908           "required": [
7909             "config"
7910           ]
7911         },
7912         "ProviderSpace": {
7913           "type": "object",
7914           "properties": {
7915             "error": {
7916               "$ref": "#/definitions/Error"
7917             },
7918             "name": {
7919               "type": "string"
7920             },
7921             "provider-id": {
7922               "type": "string"
7923             },
7924             "subnets": {
7925               "type": "array",
7926               "items": {
7927                 "$ref": "#/definitions/Subnet"
7928               }
7929             }
7930           },
7931           "additionalProperties": false,
7932           "required": [
7933             "name",
7934             "provider-id",
7935             "subnets"
7936           ]
7937         },
7938         "Subnet": {
7939           "type": "object",
7940           "properties": {
7941             "cidr": {
7942               "type": "string"
7943             },
7944             "life": {
7945               "type": "string"
7946             },
7947             "provider-id": {
7948               "type": "string"
7949             },
7950             "provider-network-id": {
7951               "type": "string"
7952             },
7953             "space-tag": {
7954               "type": "string"
7955             },
7956             "status": {
7957               "type": "string"
7958             },
7959             "vlan-tag": {
7960               "type": "integer"
7961             },
7962             "zones": {
7963               "type": "array",
7964               "items": {
7965                 "type": "string"
7966               }
7967             }
7968           },
7969           "additionalProperties": false,
7970           "required": [
7971             "cidr",
7972             "vlan-tag",
7973             "life",
7974             "space-tag",
7975             "zones"
7976           ]
7977         },
7978         "SubnetsFilters": {
7979           "type": "object",
7980           "properties": {
7981             "space-tag": {
7982               "type": "string"
7983             },
7984             "zone": {
7985               "type": "string"
7986             }
7987           },
7988           "additionalProperties": false
7989         }
7990       }
7991     }
7992   },
7993   {
7994     "Name": "DiskManager",
7995     "Version": 2,
7996     "Schema": {
7997       "type": "object",
7998       "properties": {
7999         "SetMachineBlockDevices": {
8000           "type": "object",
8001           "properties": {
8002             "Params": {
8003               "$ref": "#/definitions/SetMachineBlockDevices"
8004             },
8005             "Result": {
8006               "$ref": "#/definitions/ErrorResults"
8007             }
8008           }
8009         }
8010       },
8011       "definitions": {
8012         "BlockDevice": {
8013           "type": "object",
8014           "properties": {
8015             "BusAddress": {
8016               "type": "string"
8017             },
8018             "DeviceLinks": {
8019               "type": "array",
8020               "items": {
8021                 "type": "string"
8022               }
8023             },
8024             "DeviceName": {
8025               "type": "string"
8026             },
8027             "FilesystemType": {
8028               "type": "string"
8029             },
8030             "HardwareId": {
8031               "type": "string"
8032             },
8033             "InUse": {
8034               "type": "boolean"
8035             },
8036             "Label": {
8037               "type": "string"
8038             },
8039             "MountPoint": {
8040               "type": "string"
8041             },
8042             "Size": {
8043               "type": "integer"
8044             },
8045             "UUID": {
8046               "type": "string"
8047             }
8048           },
8049           "additionalProperties": false,
8050           "required": [
8051             "DeviceName",
8052             "DeviceLinks",
8053             "Label",
8054             "UUID",
8055             "HardwareId",
8056             "BusAddress",
8057             "Size",
8058             "FilesystemType",
8059             "InUse",
8060             "MountPoint"
8061           ]
8062         },
8063         "Error": {
8064           "type": "object",
8065           "properties": {
8066             "code": {
8067               "type": "string"
8068             },
8069             "info": {
8070               "$ref": "#/definitions/ErrorInfo"
8071             },
8072             "message": {
8073               "type": "string"
8074             }
8075           },
8076           "additionalProperties": false,
8077           "required": [
8078             "message",
8079             "code"
8080           ]
8081         },
8082         "ErrorInfo": {
8083           "type": "object",
8084           "properties": {
8085             "macaroon": {
8086               "$ref": "#/definitions/Macaroon"
8087             },
8088             "macaroon-path": {
8089               "type": "string"
8090             }
8091           },
8092           "additionalProperties": false
8093         },
8094         "ErrorResult": {
8095           "type": "object",
8096           "properties": {
8097             "error": {
8098               "$ref": "#/definitions/Error"
8099             }
8100           },
8101           "additionalProperties": false
8102         },
8103         "ErrorResults": {
8104           "type": "object",
8105           "properties": {
8106             "results": {
8107               "type": "array",
8108               "items": {
8109                 "$ref": "#/definitions/ErrorResult"
8110               }
8111             }
8112           },
8113           "additionalProperties": false,
8114           "required": [
8115             "results"
8116           ]
8117         },
8118         "Macaroon": {
8119           "type": "object",
8120           "additionalProperties": false
8121         },
8122         "MachineBlockDevices": {
8123           "type": "object",
8124           "properties": {
8125             "block-devices": {
8126               "type": "array",
8127               "items": {
8128                 "$ref": "#/definitions/BlockDevice"
8129               }
8130             },
8131             "machine": {
8132               "type": "string"
8133             }
8134           },
8135           "additionalProperties": false,
8136           "required": [
8137             "machine"
8138           ]
8139         },
8140         "SetMachineBlockDevices": {
8141           "type": "object",
8142           "properties": {
8143             "machine-block-devices": {
8144               "type": "array",
8145               "items": {
8146                 "$ref": "#/definitions/MachineBlockDevices"
8147               }
8148             }
8149           },
8150           "additionalProperties": false,
8151           "required": [
8152             "machine-block-devices"
8153           ]
8154         }
8155       }
8156     }
8157   },
8158   {
8159     "Name": "EntityWatcher",
8160     "Version": 2,
8161     "Schema": {
8162       "type": "object",
8163       "properties": {
8164         "Next": {
8165           "type": "object",
8166           "properties": {
8167             "Result": {
8168               "$ref": "#/definitions/EntitiesWatchResult"
8169             }
8170           }
8171         },
8172         "Stop": {
8173           "type": "object"
8174         }
8175       },
8176       "definitions": {
8177         "EntitiesWatchResult": {
8178           "type": "object",
8179           "properties": {
8180             "changes": {
8181               "type": "array",
8182               "items": {
8183                 "type": "string"
8184               }
8185             },
8186             "error": {
8187               "$ref": "#/definitions/Error"
8188             },
8189             "watcher-id": {
8190               "type": "string"
8191             }
8192           },
8193           "additionalProperties": false,
8194           "required": [
8195             "watcher-id"
8196           ]
8197         },
8198         "Error": {
8199           "type": "object",
8200           "properties": {
8201             "code": {
8202               "type": "string"
8203             },
8204             "info": {
8205               "$ref": "#/definitions/ErrorInfo"
8206             },
8207             "message": {
8208               "type": "string"
8209             }
8210           },
8211           "additionalProperties": false,
8212           "required": [
8213             "message",
8214             "code"
8215           ]
8216         },
8217         "ErrorInfo": {
8218           "type": "object",
8219           "properties": {
8220             "macaroon": {
8221               "$ref": "#/definitions/Macaroon"
8222             },
8223             "macaroon-path": {
8224               "type": "string"
8225             }
8226           },
8227           "additionalProperties": false
8228         },
8229         "Macaroon": {
8230           "type": "object",
8231           "additionalProperties": false
8232         }
8233       }
8234     }
8235   },
8236   {
8237     "Name": "FilesystemAttachmentsWatcher",
8238     "Version": 2,
8239     "Schema": {
8240       "type": "object",
8241       "properties": {
8242         "Next": {
8243           "type": "object",
8244           "properties": {
8245             "Result": {
8246               "$ref": "#/definitions/MachineStorageIdsWatchResult"
8247             }
8248           }
8249         },
8250         "Stop": {
8251           "type": "object"
8252         }
8253       },
8254       "definitions": {
8255         "Error": {
8256           "type": "object",
8257           "properties": {
8258             "code": {
8259               "type": "string"
8260             },
8261             "info": {
8262               "$ref": "#/definitions/ErrorInfo"
8263             },
8264             "message": {
8265               "type": "string"
8266             }
8267           },
8268           "additionalProperties": false,
8269           "required": [
8270             "message",
8271             "code"
8272           ]
8273         },
8274         "ErrorInfo": {
8275           "type": "object",
8276           "properties": {
8277             "macaroon": {
8278               "$ref": "#/definitions/Macaroon"
8279             },
8280             "macaroon-path": {
8281               "type": "string"
8282             }
8283           },
8284           "additionalProperties": false
8285         },
8286         "Macaroon": {
8287           "type": "object",
8288           "additionalProperties": false
8289         },
8290         "MachineStorageId": {
8291           "type": "object",
8292           "properties": {
8293             "attachment-tag": {
8294               "type": "string"
8295             },
8296             "machine-tag": {
8297               "type": "string"
8298             }
8299           },
8300           "additionalProperties": false,
8301           "required": [
8302             "machine-tag",
8303             "attachment-tag"
8304           ]
8305         },
8306         "MachineStorageIdsWatchResult": {
8307           "type": "object",
8308           "properties": {
8309             "changes": {
8310               "type": "array",
8311               "items": {
8312                 "$ref": "#/definitions/MachineStorageId"
8313               }
8314             },
8315             "error": {
8316               "$ref": "#/definitions/Error"
8317             },
8318             "watcher-id": {
8319               "type": "string"
8320             }
8321           },
8322           "additionalProperties": false,
8323           "required": [
8324             "watcher-id",
8325             "changes"
8326           ]
8327         }
8328       }
8329     }
8330   },
8331   {
8332     "Name": "Firewaller",
8333     "Version": 3,
8334     "Schema": {
8335       "type": "object",
8336       "properties": {
8337         "CloudSpec": {
8338           "type": "object",
8339           "properties": {
8340             "Params": {
8341               "$ref": "#/definitions/Entities"
8342             },
8343             "Result": {
8344               "$ref": "#/definitions/CloudSpecResults"
8345             }
8346           }
8347         },
8348         "GetAssignedMachine": {
8349           "type": "object",
8350           "properties": {
8351             "Params": {
8352               "$ref": "#/definitions/Entities"
8353             },
8354             "Result": {
8355               "$ref": "#/definitions/StringResults"
8356             }
8357           }
8358         },
8359         "GetCloudSpec": {
8360           "type": "object",
8361           "properties": {
8362             "Params": {
8363               "$ref": "#/definitions/ModelTag"
8364             },
8365             "Result": {
8366               "$ref": "#/definitions/CloudSpecResult"
8367             }
8368           }
8369         },
8370         "GetExposed": {
8371           "type": "object",
8372           "properties": {
8373             "Params": {
8374               "$ref": "#/definitions/Entities"
8375             },
8376             "Result": {
8377               "$ref": "#/definitions/BoolResults"
8378             }
8379           }
8380         },
8381         "GetMachineActiveSubnets": {
8382           "type": "object",
8383           "properties": {
8384             "Params": {
8385               "$ref": "#/definitions/Entities"
8386             },
8387             "Result": {
8388               "$ref": "#/definitions/StringsResults"
8389             }
8390           }
8391         },
8392         "GetMachinePorts": {
8393           "type": "object",
8394           "properties": {
8395             "Params": {
8396               "$ref": "#/definitions/MachinePortsParams"
8397             },
8398             "Result": {
8399               "$ref": "#/definitions/MachinePortsResults"
8400             }
8401           }
8402         },
8403         "InstanceId": {
8404           "type": "object",
8405           "properties": {
8406             "Params": {
8407               "$ref": "#/definitions/Entities"
8408             },
8409             "Result": {
8410               "$ref": "#/definitions/StringResults"
8411             }
8412           }
8413         },
8414         "Life": {
8415           "type": "object",
8416           "properties": {
8417             "Params": {
8418               "$ref": "#/definitions/Entities"
8419             },
8420             "Result": {
8421               "$ref": "#/definitions/LifeResults"
8422             }
8423           }
8424         },
8425         "ModelConfig": {
8426           "type": "object",
8427           "properties": {
8428             "Result": {
8429               "$ref": "#/definitions/ModelConfigResult"
8430             }
8431           }
8432         },
8433         "Watch": {
8434           "type": "object",
8435           "properties": {
8436             "Params": {
8437               "$ref": "#/definitions/Entities"
8438             },
8439             "Result": {
8440               "$ref": "#/definitions/NotifyWatchResults"
8441             }
8442           }
8443         },
8444         "WatchForModelConfigChanges": {
8445           "type": "object",
8446           "properties": {
8447             "Result": {
8448               "$ref": "#/definitions/NotifyWatchResult"
8449             }
8450           }
8451         },
8452         "WatchModelMachines": {
8453           "type": "object",
8454           "properties": {
8455             "Result": {
8456               "$ref": "#/definitions/StringsWatchResult"
8457             }
8458           }
8459         },
8460         "WatchOpenedPorts": {
8461           "type": "object",
8462           "properties": {
8463             "Params": {
8464               "$ref": "#/definitions/Entities"
8465             },
8466             "Result": {
8467               "$ref": "#/definitions/StringsWatchResults"
8468             }
8469           }
8470         },
8471         "WatchUnits": {
8472           "type": "object",
8473           "properties": {
8474             "Params": {
8475               "$ref": "#/definitions/Entities"
8476             },
8477             "Result": {
8478               "$ref": "#/definitions/StringsWatchResults"
8479             }
8480           }
8481         }
8482       },
8483       "definitions": {
8484         "BoolResult": {
8485           "type": "object",
8486           "properties": {
8487             "error": {
8488               "$ref": "#/definitions/Error"
8489             },
8490             "result": {
8491               "type": "boolean"
8492             }
8493           },
8494           "additionalProperties": false,
8495           "required": [
8496             "result"
8497           ]
8498         },
8499         "BoolResults": {
8500           "type": "object",
8501           "properties": {
8502             "results": {
8503               "type": "array",
8504               "items": {
8505                 "$ref": "#/definitions/BoolResult"
8506               }
8507             }
8508           },
8509           "additionalProperties": false,
8510           "required": [
8511             "results"
8512           ]
8513         },
8514         "CloudCredential": {
8515           "type": "object",
8516           "properties": {
8517             "attrs": {
8518               "type": "object",
8519               "patternProperties": {
8520                 ".*": {
8521                   "type": "string"
8522                 }
8523               }
8524             },
8525             "auth-type": {
8526               "type": "string"
8527             },
8528             "redacted": {
8529               "type": "array",
8530               "items": {
8531                 "type": "string"
8532               }
8533             }
8534           },
8535           "additionalProperties": false,
8536           "required": [
8537             "auth-type"
8538           ]
8539         },
8540         "CloudSpec": {
8541           "type": "object",
8542           "properties": {
8543             "credential": {
8544               "$ref": "#/definitions/CloudCredential"
8545             },
8546             "endpoint": {
8547               "type": "string"
8548             },
8549             "identity-endpoint": {
8550               "type": "string"
8551             },
8552             "name": {
8553               "type": "string"
8554             },
8555             "region": {
8556               "type": "string"
8557             },
8558             "storage-endpoint": {
8559               "type": "string"
8560             },
8561             "type": {
8562               "type": "string"
8563             }
8564           },
8565           "additionalProperties": false,
8566           "required": [
8567             "type",
8568             "name"
8569           ]
8570         },
8571         "CloudSpecResult": {
8572           "type": "object",
8573           "properties": {
8574             "error": {
8575               "$ref": "#/definitions/Error"
8576             },
8577             "result": {
8578               "$ref": "#/definitions/CloudSpec"
8579             }
8580           },
8581           "additionalProperties": false
8582         },
8583         "CloudSpecResults": {
8584           "type": "object",
8585           "properties": {
8586             "results": {
8587               "type": "array",
8588               "items": {
8589                 "$ref": "#/definitions/CloudSpecResult"
8590               }
8591             }
8592           },
8593           "additionalProperties": false
8594         },
8595         "Entities": {
8596           "type": "object",
8597           "properties": {
8598             "entities": {
8599               "type": "array",
8600               "items": {
8601                 "$ref": "#/definitions/Entity"
8602               }
8603             }
8604           },
8605           "additionalProperties": false,
8606           "required": [
8607             "entities"
8608           ]
8609         },
8610         "Entity": {
8611           "type": "object",
8612           "properties": {
8613             "tag": {
8614               "type": "string"
8615             }
8616           },
8617           "additionalProperties": false,
8618           "required": [
8619             "tag"
8620           ]
8621         },
8622         "Error": {
8623           "type": "object",
8624           "properties": {
8625             "code": {
8626               "type": "string"
8627             },
8628             "info": {
8629               "$ref": "#/definitions/ErrorInfo"
8630             },
8631             "message": {
8632               "type": "string"
8633             }
8634           },
8635           "additionalProperties": false,
8636           "required": [
8637             "message",
8638             "code"
8639           ]
8640         },
8641         "ErrorInfo": {
8642           "type": "object",
8643           "properties": {
8644             "macaroon": {
8645               "$ref": "#/definitions/Macaroon"
8646             },
8647             "macaroon-path": {
8648               "type": "string"
8649             }
8650           },
8651           "additionalProperties": false
8652         },
8653         "LifeResult": {
8654           "type": "object",
8655           "properties": {
8656             "error": {
8657               "$ref": "#/definitions/Error"
8658             },
8659             "life": {
8660               "type": "string"
8661             }
8662           },
8663           "additionalProperties": false,
8664           "required": [
8665             "life"
8666           ]
8667         },
8668         "LifeResults": {
8669           "type": "object",
8670           "properties": {
8671             "results": {
8672               "type": "array",
8673               "items": {
8674                 "$ref": "#/definitions/LifeResult"
8675               }
8676             }
8677           },
8678           "additionalProperties": false,
8679           "required": [
8680             "results"
8681           ]
8682         },
8683         "Macaroon": {
8684           "type": "object",
8685           "additionalProperties": false
8686         },
8687         "MachinePortRange": {
8688           "type": "object",
8689           "properties": {
8690             "port-range": {
8691               "$ref": "#/definitions/PortRange"
8692             },
8693             "relation-tag": {
8694               "type": "string"
8695             },
8696             "unit-tag": {
8697               "type": "string"
8698             }
8699           },
8700           "additionalProperties": false,
8701           "required": [
8702             "unit-tag",
8703             "relation-tag",
8704             "port-range"
8705           ]
8706         },
8707         "MachinePorts": {
8708           "type": "object",
8709           "properties": {
8710             "machine-tag": {
8711               "type": "string"
8712             },
8713             "subnet-tag": {
8714               "type": "string"
8715             }
8716           },
8717           "additionalProperties": false,
8718           "required": [
8719             "machine-tag",
8720             "subnet-tag"
8721           ]
8722         },
8723         "MachinePortsParams": {
8724           "type": "object",
8725           "properties": {
8726             "params": {
8727               "type": "array",
8728               "items": {
8729                 "$ref": "#/definitions/MachinePorts"
8730               }
8731             }
8732           },
8733           "additionalProperties": false,
8734           "required": [
8735             "params"
8736           ]
8737         },
8738         "MachinePortsResult": {
8739           "type": "object",
8740           "properties": {
8741             "error": {
8742               "$ref": "#/definitions/Error"
8743             },
8744             "ports": {
8745               "type": "array",
8746               "items": {
8747                 "$ref": "#/definitions/MachinePortRange"
8748               }
8749             }
8750           },
8751           "additionalProperties": false,
8752           "required": [
8753             "ports"
8754           ]
8755         },
8756         "MachinePortsResults": {
8757           "type": "object",
8758           "properties": {
8759             "results": {
8760               "type": "array",
8761               "items": {
8762                 "$ref": "#/definitions/MachinePortsResult"
8763               }
8764             }
8765           },
8766           "additionalProperties": false,
8767           "required": [
8768             "results"
8769           ]
8770         },
8771         "ModelConfigResult": {
8772           "type": "object",
8773           "properties": {
8774             "config": {
8775               "type": "object",
8776               "patternProperties": {
8777                 ".*": {
8778                   "type": "object",
8779                   "additionalProperties": true
8780                 }
8781               }
8782             }
8783           },
8784           "additionalProperties": false,
8785           "required": [
8786             "config"
8787           ]
8788         },
8789         "ModelTag": {
8790           "type": "object",
8791           "additionalProperties": false
8792         },
8793         "NotifyWatchResult": {
8794           "type": "object",
8795           "properties": {
8796             "NotifyWatcherId": {
8797               "type": "string"
8798             },
8799             "error": {
8800               "$ref": "#/definitions/Error"
8801             }
8802           },
8803           "additionalProperties": false,
8804           "required": [
8805             "NotifyWatcherId"
8806           ]
8807         },
8808         "NotifyWatchResults": {
8809           "type": "object",
8810           "properties": {
8811             "results": {
8812               "type": "array",
8813               "items": {
8814                 "$ref": "#/definitions/NotifyWatchResult"
8815               }
8816             }
8817           },
8818           "additionalProperties": false,
8819           "required": [
8820             "results"
8821           ]
8822         },
8823         "PortRange": {
8824           "type": "object",
8825           "properties": {
8826             "from-port": {
8827               "type": "integer"
8828             },
8829             "protocol": {
8830               "type": "string"
8831             },
8832             "to-port": {
8833               "type": "integer"
8834             }
8835           },
8836           "additionalProperties": false,
8837           "required": [
8838             "from-port",
8839             "to-port",
8840             "protocol"
8841           ]
8842         },
8843         "StringResult": {
8844           "type": "object",
8845           "properties": {
8846             "error": {
8847               "$ref": "#/definitions/Error"
8848             },
8849             "result": {
8850               "type": "string"
8851             }
8852           },
8853           "additionalProperties": false,
8854           "required": [
8855             "result"
8856           ]
8857         },
8858         "StringResults": {
8859           "type": "object",
8860           "properties": {
8861             "results": {
8862               "type": "array",
8863               "items": {
8864                 "$ref": "#/definitions/StringResult"
8865               }
8866             }
8867           },
8868           "additionalProperties": false,
8869           "required": [
8870             "results"
8871           ]
8872         },
8873         "StringsResult": {
8874           "type": "object",
8875           "properties": {
8876             "error": {
8877               "$ref": "#/definitions/Error"
8878             },
8879             "result": {
8880               "type": "array",
8881               "items": {
8882                 "type": "string"
8883               }
8884             }
8885           },
8886           "additionalProperties": false
8887         },
8888         "StringsResults": {
8889           "type": "object",
8890           "properties": {
8891             "results": {
8892               "type": "array",
8893               "items": {
8894                 "$ref": "#/definitions/StringsResult"
8895               }
8896             }
8897           },
8898           "additionalProperties": false,
8899           "required": [
8900             "results"
8901           ]
8902         },
8903         "StringsWatchResult": {
8904           "type": "object",
8905           "properties": {
8906             "changes": {
8907               "type": "array",
8908               "items": {
8909                 "type": "string"
8910               }
8911             },
8912             "error": {
8913               "$ref": "#/definitions/Error"
8914             },
8915             "watcher-id": {
8916               "type": "string"
8917             }
8918           },
8919           "additionalProperties": false,
8920           "required": [
8921             "watcher-id"
8922           ]
8923         },
8924         "StringsWatchResults": {
8925           "type": "object",
8926           "properties": {
8927             "results": {
8928               "type": "array",
8929               "items": {
8930                 "$ref": "#/definitions/StringsWatchResult"
8931               }
8932             }
8933           },
8934           "additionalProperties": false,
8935           "required": [
8936             "results"
8937           ]
8938         }
8939       }
8940     }
8941   },
8942   {
8943     "Name": "HighAvailability",
8944     "Version": 2,
8945     "Schema": {
8946       "type": "object",
8947       "properties": {
8948         "EnableHA": {
8949           "type": "object",
8950           "properties": {
8951             "Params": {
8952               "$ref": "#/definitions/ControllersSpecs"
8953             },
8954             "Result": {
8955               "$ref": "#/definitions/ControllersChangeResults"
8956             }
8957           }
8958         },
8959         "ResumeHAReplicationAfterUpgrade": {
8960           "type": "object",
8961           "properties": {
8962             "Params": {
8963               "$ref": "#/definitions/ResumeReplicationParams"
8964             }
8965           }
8966         },
8967         "StopHAReplicationForUpgrade": {
8968           "type": "object",
8969           "properties": {
8970             "Params": {
8971               "$ref": "#/definitions/UpgradeMongoParams"
8972             },
8973             "Result": {
8974               "$ref": "#/definitions/MongoUpgradeResults"
8975             }
8976           }
8977         }
8978       },
8979       "definitions": {
8980         "Address": {
8981           "type": "object",
8982           "properties": {
8983             "Scope": {
8984               "type": "string"
8985             },
8986             "SpaceName": {
8987               "type": "string"
8988             },
8989             "SpaceProviderId": {
8990               "type": "string"
8991             },
8992             "Type": {
8993               "type": "string"
8994             },
8995             "Value": {
8996               "type": "string"
8997             }
8998           },
8999           "additionalProperties": false,
9000           "required": [
9001             "Value",
9002             "Type",
9003             "Scope",
9004             "SpaceName",
9005             "SpaceProviderId"
9006           ]
9007         },
9008         "ControllersChangeResult": {
9009           "type": "object",
9010           "properties": {
9011             "error": {
9012               "$ref": "#/definitions/Error"
9013             },
9014             "result": {
9015               "$ref": "#/definitions/ControllersChanges"
9016             }
9017           },
9018           "additionalProperties": false,
9019           "required": [
9020             "result"
9021           ]
9022         },
9023         "ControllersChangeResults": {
9024           "type": "object",
9025           "properties": {
9026             "results": {
9027               "type": "array",
9028               "items": {
9029                 "$ref": "#/definitions/ControllersChangeResult"
9030               }
9031             }
9032           },
9033           "additionalProperties": false,
9034           "required": [
9035             "results"
9036           ]
9037         },
9038         "ControllersChanges": {
9039           "type": "object",
9040           "properties": {
9041             "added": {
9042               "type": "array",
9043               "items": {
9044                 "type": "string"
9045               }
9046             },
9047             "converted": {
9048               "type": "array",
9049               "items": {
9050                 "type": "string"
9051               }
9052             },
9053             "demoted": {
9054               "type": "array",
9055               "items": {
9056                 "type": "string"
9057               }
9058             },
9059             "maintained": {
9060               "type": "array",
9061               "items": {
9062                 "type": "string"
9063               }
9064             },
9065             "promoted": {
9066               "type": "array",
9067               "items": {
9068                 "type": "string"
9069               }
9070             },
9071             "removed": {
9072               "type": "array",
9073               "items": {
9074                 "type": "string"
9075               }
9076             }
9077           },
9078           "additionalProperties": false
9079         },
9080         "ControllersSpec": {
9081           "type": "object",
9082           "properties": {
9083             "constraints": {
9084               "$ref": "#/definitions/Value"
9085             },
9086             "num-controllers": {
9087               "type": "integer"
9088             },
9089             "placement": {
9090               "type": "array",
9091               "items": {
9092                 "type": "string"
9093               }
9094             },
9095             "series": {
9096               "type": "string"
9097             }
9098           },
9099           "additionalProperties": false,
9100           "required": [
9101             "num-controllers"
9102           ]
9103         },
9104         "ControllersSpecs": {
9105           "type": "object",
9106           "properties": {
9107             "specs": {
9108               "type": "array",
9109               "items": {
9110                 "$ref": "#/definitions/ControllersSpec"
9111               }
9112             }
9113           },
9114           "additionalProperties": false,
9115           "required": [
9116             "specs"
9117           ]
9118         },
9119         "Error": {
9120           "type": "object",
9121           "properties": {
9122             "code": {
9123               "type": "string"
9124             },
9125             "info": {
9126               "$ref": "#/definitions/ErrorInfo"
9127             },
9128             "message": {
9129               "type": "string"
9130             }
9131           },
9132           "additionalProperties": false,
9133           "required": [
9134             "message",
9135             "code"
9136           ]
9137         },
9138         "ErrorInfo": {
9139           "type": "object",
9140           "properties": {
9141             "macaroon": {
9142               "$ref": "#/definitions/Macaroon"
9143             },
9144             "macaroon-path": {
9145               "type": "string"
9146             }
9147           },
9148           "additionalProperties": false
9149         },
9150         "HAMember": {
9151           "type": "object",
9152           "properties": {
9153             "public-address": {
9154               "$ref": "#/definitions/Address"
9155             },
9156             "series": {
9157               "type": "string"
9158             },
9159             "tag": {
9160               "type": "string"
9161             }
9162           },
9163           "additionalProperties": false,
9164           "required": [
9165             "tag",
9166             "public-address",
9167             "series"
9168           ]
9169         },
9170         "Macaroon": {
9171           "type": "object",
9172           "additionalProperties": false
9173         },
9174         "Member": {
9175           "type": "object",
9176           "properties": {
9177             "Address": {
9178               "type": "string"
9179             },
9180             "Arbiter": {
9181               "type": "boolean"
9182             },
9183             "BuildIndexes": {
9184               "type": "boolean"
9185             },
9186             "Hidden": {
9187               "type": "boolean"
9188             },
9189             "Id": {
9190               "type": "integer"
9191             },
9192             "Priority": {
9193               "type": "number"
9194             },
9195             "SlaveDelay": {
9196               "type": "integer"
9197             },
9198             "Tags": {
9199               "type": "object",
9200               "patternProperties": {
9201                 ".*": {
9202                   "type": "string"
9203                 }
9204               }
9205             },
9206             "Votes": {
9207               "type": "integer"
9208             }
9209           },
9210           "additionalProperties": false,
9211           "required": [
9212             "Id",
9213             "Address",
9214             "Arbiter",
9215             "BuildIndexes",
9216             "Hidden",
9217             "Priority",
9218             "Tags",
9219             "SlaveDelay",
9220             "Votes"
9221           ]
9222         },
9223         "MongoUpgradeResults": {
9224           "type": "object",
9225           "properties": {
9226             "ha-members": {
9227               "type": "array",
9228               "items": {
9229                 "$ref": "#/definitions/HAMember"
9230               }
9231             },
9232             "master": {
9233               "$ref": "#/definitions/HAMember"
9234             },
9235             "rs-members": {
9236               "type": "array",
9237               "items": {
9238                 "$ref": "#/definitions/Member"
9239               }
9240             }
9241           },
9242           "additionalProperties": false,
9243           "required": [
9244             "rs-members",
9245             "master",
9246             "ha-members"
9247           ]
9248         },
9249         "MongoVersion": {
9250           "type": "object",
9251           "properties": {
9252             "engine": {
9253               "type": "string"
9254             },
9255             "major": {
9256               "type": "integer"
9257             },
9258             "minor": {
9259               "type": "integer"
9260             },
9261             "patch": {
9262               "type": "string"
9263             }
9264           },
9265           "additionalProperties": false,
9266           "required": [
9267             "major",
9268             "minor",
9269             "patch",
9270             "engine"
9271           ]
9272         },
9273         "ResumeReplicationParams": {
9274           "type": "object",
9275           "properties": {
9276             "members": {
9277               "type": "array",
9278               "items": {
9279                 "$ref": "#/definitions/Member"
9280               }
9281             }
9282           },
9283           "additionalProperties": false,
9284           "required": [
9285             "members"
9286           ]
9287         },
9288         "UpgradeMongoParams": {
9289           "type": "object",
9290           "properties": {
9291             "target": {
9292               "$ref": "#/definitions/MongoVersion"
9293             }
9294           },
9295           "additionalProperties": false,
9296           "required": [
9297             "target"
9298           ]
9299         },
9300         "Value": {
9301           "type": "object",
9302           "properties": {
9303             "arch": {
9304               "type": "string"
9305             },
9306             "container": {
9307               "type": "string"
9308             },
9309             "cores": {
9310               "type": "integer"
9311             },
9312             "cpu-power": {
9313               "type": "integer"
9314             },
9315             "instance-type": {
9316               "type": "string"
9317             },
9318             "mem": {
9319               "type": "integer"
9320             },
9321             "root-disk": {
9322               "type": "integer"
9323             },
9324             "spaces": {
9325               "type": "array",
9326               "items": {
9327                 "type": "string"
9328               }
9329             },
9330             "tags": {
9331               "type": "array",
9332               "items": {
9333                 "type": "string"
9334               }
9335             },
9336             "virt-type": {
9337               "type": "string"
9338             }
9339           },
9340           "additionalProperties": false
9341         }
9342       }
9343     }
9344   },
9345   {
9346     "Name": "HostKeyReporter",
9347     "Version": 1,
9348     "Schema": {
9349       "type": "object",
9350       "properties": {
9351         "ReportKeys": {
9352           "type": "object",
9353           "properties": {
9354             "Params": {
9355               "$ref": "#/definitions/SSHHostKeySet"
9356             },
9357             "Result": {
9358               "$ref": "#/definitions/ErrorResults"
9359             }
9360           }
9361         }
9362       },
9363       "definitions": {
9364         "Error": {
9365           "type": "object",
9366           "properties": {
9367             "code": {
9368               "type": "string"
9369             },
9370             "info": {
9371               "$ref": "#/definitions/ErrorInfo"
9372             },
9373             "message": {
9374               "type": "string"
9375             }
9376           },
9377           "additionalProperties": false,
9378           "required": [
9379             "message",
9380             "code"
9381           ]
9382         },
9383         "ErrorInfo": {
9384           "type": "object",
9385           "properties": {
9386             "macaroon": {
9387               "$ref": "#/definitions/Macaroon"
9388             },
9389             "macaroon-path": {
9390               "type": "string"
9391             }
9392           },
9393           "additionalProperties": false
9394         },
9395         "ErrorResult": {
9396           "type": "object",
9397           "properties": {
9398             "error": {
9399               "$ref": "#/definitions/Error"
9400             }
9401           },
9402           "additionalProperties": false
9403         },
9404         "ErrorResults": {
9405           "type": "object",
9406           "properties": {
9407             "results": {
9408               "type": "array",
9409               "items": {
9410                 "$ref": "#/definitions/ErrorResult"
9411               }
9412             }
9413           },
9414           "additionalProperties": false,
9415           "required": [
9416             "results"
9417           ]
9418         },
9419         "Macaroon": {
9420           "type": "object",
9421           "additionalProperties": false
9422         },
9423         "SSHHostKeySet": {
9424           "type": "object",
9425           "properties": {
9426             "entity-keys": {
9427               "type": "array",
9428               "items": {
9429                 "$ref": "#/definitions/SSHHostKeys"
9430               }
9431             }
9432           },
9433           "additionalProperties": false,
9434           "required": [
9435             "entity-keys"
9436           ]
9437         },
9438         "SSHHostKeys": {
9439           "type": "object",
9440           "properties": {
9441             "public-keys": {
9442               "type": "array",
9443               "items": {
9444                 "type": "string"
9445               }
9446             },
9447             "tag": {
9448               "type": "string"
9449             }
9450           },
9451           "additionalProperties": false,
9452           "required": [
9453             "tag",
9454             "public-keys"
9455           ]
9456         }
9457       }
9458     }
9459   },
9460   {
9461     "Name": "ImageManager",
9462     "Version": 2,
9463     "Schema": {
9464       "type": "object",
9465       "properties": {
9466         "DeleteImages": {
9467           "type": "object",
9468           "properties": {
9469             "Params": {
9470               "$ref": "#/definitions/ImageFilterParams"
9471             },
9472             "Result": {
9473               "$ref": "#/definitions/ErrorResults"
9474             }
9475           }
9476         },
9477         "ListImages": {
9478           "type": "object",
9479           "properties": {
9480             "Params": {
9481               "$ref": "#/definitions/ImageFilterParams"
9482             },
9483             "Result": {
9484               "$ref": "#/definitions/ListImageResult"
9485             }
9486           }
9487         }
9488       },
9489       "definitions": {
9490         "Error": {
9491           "type": "object",
9492           "properties": {
9493             "code": {
9494               "type": "string"
9495             },
9496             "info": {
9497               "$ref": "#/definitions/ErrorInfo"
9498             },
9499             "message": {
9500               "type": "string"
9501             }
9502           },
9503           "additionalProperties": false,
9504           "required": [
9505             "message",
9506             "code"
9507           ]
9508         },
9509         "ErrorInfo": {
9510           "type": "object",
9511           "properties": {
9512             "macaroon": {
9513               "$ref": "#/definitions/Macaroon"
9514             },
9515             "macaroon-path": {
9516               "type": "string"
9517             }
9518           },
9519           "additionalProperties": false
9520         },
9521         "ErrorResult": {
9522           "type": "object",
9523           "properties": {
9524             "error": {
9525               "$ref": "#/definitions/Error"
9526             }
9527           },
9528           "additionalProperties": false
9529         },
9530         "ErrorResults": {
9531           "type": "object",
9532           "properties": {
9533             "results": {
9534               "type": "array",
9535               "items": {
9536                 "$ref": "#/definitions/ErrorResult"
9537               }
9538             }
9539           },
9540           "additionalProperties": false,
9541           "required": [
9542             "results"
9543           ]
9544         },
9545         "ImageFilterParams": {
9546           "type": "object",
9547           "properties": {
9548             "images": {
9549               "type": "array",
9550               "items": {
9551                 "$ref": "#/definitions/ImageSpec"
9552               }
9553             }
9554           },
9555           "additionalProperties": false,
9556           "required": [
9557             "images"
9558           ]
9559         },
9560         "ImageMetadata": {
9561           "type": "object",
9562           "properties": {
9563             "arch": {
9564               "type": "string"
9565             },
9566             "created": {
9567               "type": "string",
9568               "format": "date-time"
9569             },
9570             "kind": {
9571               "type": "string"
9572             },
9573             "series": {
9574               "type": "string"
9575             },
9576             "url": {
9577               "type": "string"
9578             }
9579           },
9580           "additionalProperties": false,
9581           "required": [
9582             "kind",
9583             "arch",
9584             "series",
9585             "url",
9586             "created"
9587           ]
9588         },
9589         "ImageSpec": {
9590           "type": "object",
9591           "properties": {
9592             "arch": {
9593               "type": "string"
9594             },
9595             "kind": {
9596               "type": "string"
9597             },
9598             "series": {
9599               "type": "string"
9600             }
9601           },
9602           "additionalProperties": false,
9603           "required": [
9604             "kind",
9605             "arch",
9606             "series"
9607           ]
9608         },
9609         "ListImageResult": {
9610           "type": "object",
9611           "properties": {
9612             "result": {
9613               "type": "array",
9614               "items": {
9615                 "$ref": "#/definitions/ImageMetadata"
9616               }
9617             }
9618           },
9619           "additionalProperties": false,
9620           "required": [
9621             "result"
9622           ]
9623         },
9624         "Macaroon": {
9625           "type": "object",
9626           "additionalProperties": false
9627         }
9628       }
9629     }
9630   },
9631   {
9632     "Name": "ImageMetadata",
9633     "Version": 2,
9634     "Schema": {
9635       "type": "object",
9636       "properties": {
9637         "Delete": {
9638           "type": "object",
9639           "properties": {
9640             "Params": {
9641               "$ref": "#/definitions/MetadataImageIds"
9642             },
9643             "Result": {
9644               "$ref": "#/definitions/ErrorResults"
9645             }
9646           }
9647         },
9648         "List": {
9649           "type": "object",
9650           "properties": {
9651             "Params": {
9652               "$ref": "#/definitions/ImageMetadataFilter"
9653             },
9654             "Result": {
9655               "$ref": "#/definitions/ListCloudImageMetadataResult"
9656             }
9657           }
9658         },
9659         "Save": {
9660           "type": "object",
9661           "properties": {
9662             "Params": {
9663               "$ref": "#/definitions/MetadataSaveParams"
9664             },
9665             "Result": {
9666               "$ref": "#/definitions/ErrorResults"
9667             }
9668           }
9669         },
9670         "UpdateFromPublishedImages": {
9671           "type": "object"
9672         }
9673       },
9674       "definitions": {
9675         "CloudImageMetadata": {
9676           "type": "object",
9677           "properties": {
9678             "arch": {
9679               "type": "string"
9680             },
9681             "image-id": {
9682               "type": "string"
9683             },
9684             "priority": {
9685               "type": "integer"
9686             },
9687             "region": {
9688               "type": "string"
9689             },
9690             "root-storage-size": {
9691               "type": "integer"
9692             },
9693             "root-storage-type": {
9694               "type": "string"
9695             },
9696             "series": {
9697               "type": "string"
9698             },
9699             "source": {
9700               "type": "string"
9701             },
9702             "stream": {
9703               "type": "string"
9704             },
9705             "version": {
9706               "type": "string"
9707             },
9708             "virt-type": {
9709               "type": "string"
9710             }
9711           },
9712           "additionalProperties": false,
9713           "required": [
9714             "image-id",
9715             "region",
9716             "version",
9717             "series",
9718             "arch",
9719             "source",
9720             "priority"
9721           ]
9722         },
9723         "CloudImageMetadataList": {
9724           "type": "object",
9725           "properties": {
9726             "metadata": {
9727               "type": "array",
9728               "items": {
9729                 "$ref": "#/definitions/CloudImageMetadata"
9730               }
9731             }
9732           },
9733           "additionalProperties": false
9734         },
9735         "Error": {
9736           "type": "object",
9737           "properties": {
9738             "code": {
9739               "type": "string"
9740             },
9741             "info": {
9742               "$ref": "#/definitions/ErrorInfo"
9743             },
9744             "message": {
9745               "type": "string"
9746             }
9747           },
9748           "additionalProperties": false,
9749           "required": [
9750             "message",
9751             "code"
9752           ]
9753         },
9754         "ErrorInfo": {
9755           "type": "object",
9756           "properties": {
9757             "macaroon": {
9758               "$ref": "#/definitions/Macaroon"
9759             },
9760             "macaroon-path": {
9761               "type": "string"
9762             }
9763           },
9764           "additionalProperties": false
9765         },
9766         "ErrorResult": {
9767           "type": "object",
9768           "properties": {
9769             "error": {
9770               "$ref": "#/definitions/Error"
9771             }
9772           },
9773           "additionalProperties": false
9774         },
9775         "ErrorResults": {
9776           "type": "object",
9777           "properties": {
9778             "results": {
9779               "type": "array",
9780               "items": {
9781                 "$ref": "#/definitions/ErrorResult"
9782               }
9783             }
9784           },
9785           "additionalProperties": false,
9786           "required": [
9787             "results"
9788           ]
9789         },
9790         "ImageMetadataFilter": {
9791           "type": "object",
9792           "properties": {
9793             "arches": {
9794               "type": "array",
9795               "items": {
9796                 "type": "string"
9797               }
9798             },
9799             "region": {
9800               "type": "string"
9801             },
9802             "root-storage-type": {
9803               "type": "string"
9804             },
9805             "series": {
9806               "type": "array",
9807               "items": {
9808                 "type": "string"
9809               }
9810             },
9811             "stream": {
9812               "type": "string"
9813             },
9814             "virt-type": {
9815               "type": "string"
9816             }
9817           },
9818           "additionalProperties": false
9819         },
9820         "ListCloudImageMetadataResult": {
9821           "type": "object",
9822           "properties": {
9823             "result": {
9824               "type": "array",
9825               "items": {
9826                 "$ref": "#/definitions/CloudImageMetadata"
9827               }
9828             }
9829           },
9830           "additionalProperties": false,
9831           "required": [
9832             "result"
9833           ]
9834         },
9835         "Macaroon": {
9836           "type": "object",
9837           "additionalProperties": false
9838         },
9839         "MetadataImageIds": {
9840           "type": "object",
9841           "properties": {
9842             "image-ids": {
9843               "type": "array",
9844               "items": {
9845                 "type": "string"
9846               }
9847             }
9848           },
9849           "additionalProperties": false,
9850           "required": [
9851             "image-ids"
9852           ]
9853         },
9854         "MetadataSaveParams": {
9855           "type": "object",
9856           "properties": {
9857             "metadata": {
9858               "type": "array",
9859               "items": {
9860                 "$ref": "#/definitions/CloudImageMetadataList"
9861               }
9862             }
9863           },
9864           "additionalProperties": false
9865         }
9866       }
9867     }
9868   },
9869   {
9870     "Name": "InstancePoller",
9871     "Version": 3,
9872     "Schema": {
9873       "type": "object",
9874       "properties": {
9875         "AreManuallyProvisioned": {
9876           "type": "object",
9877           "properties": {
9878             "Params": {
9879               "$ref": "#/definitions/Entities"
9880             },
9881             "Result": {
9882               "$ref": "#/definitions/BoolResults"
9883             }
9884           }
9885         },
9886         "InstanceId": {
9887           "type": "object",
9888           "properties": {
9889             "Params": {
9890               "$ref": "#/definitions/Entities"
9891             },
9892             "Result": {
9893               "$ref": "#/definitions/StringResults"
9894             }
9895           }
9896         },
9897         "InstanceStatus": {
9898           "type": "object",
9899           "properties": {
9900             "Params": {
9901               "$ref": "#/definitions/Entities"
9902             },
9903             "Result": {
9904               "$ref": "#/definitions/StatusResults"
9905             }
9906           }
9907         },
9908         "Life": {
9909           "type": "object",
9910           "properties": {
9911             "Params": {
9912               "$ref": "#/definitions/Entities"
9913             },
9914             "Result": {
9915               "$ref": "#/definitions/LifeResults"
9916             }
9917           }
9918         },
9919         "ModelConfig": {
9920           "type": "object",
9921           "properties": {
9922             "Result": {
9923               "$ref": "#/definitions/ModelConfigResult"
9924             }
9925           }
9926         },
9927         "ProviderAddresses": {
9928           "type": "object",
9929           "properties": {
9930             "Params": {
9931               "$ref": "#/definitions/Entities"
9932             },
9933             "Result": {
9934               "$ref": "#/definitions/MachineAddressesResults"
9935             }
9936           }
9937         },
9938         "SetInstanceStatus": {
9939           "type": "object",
9940           "properties": {
9941             "Params": {
9942               "$ref": "#/definitions/SetStatus"
9943             },
9944             "Result": {
9945               "$ref": "#/definitions/ErrorResults"
9946             }
9947           }
9948         },
9949         "SetProviderAddresses": {
9950           "type": "object",
9951           "properties": {
9952             "Params": {
9953               "$ref": "#/definitions/SetMachinesAddresses"
9954             },
9955             "Result": {
9956               "$ref": "#/definitions/ErrorResults"
9957             }
9958           }
9959         },
9960         "Status": {
9961           "type": "object",
9962           "properties": {
9963             "Params": {
9964               "$ref": "#/definitions/Entities"
9965             },
9966             "Result": {
9967               "$ref": "#/definitions/StatusResults"
9968             }
9969           }
9970         },
9971         "WatchForModelConfigChanges": {
9972           "type": "object",
9973           "properties": {
9974             "Result": {
9975               "$ref": "#/definitions/NotifyWatchResult"
9976             }
9977           }
9978         },
9979         "WatchModelMachines": {
9980           "type": "object",
9981           "properties": {
9982             "Result": {
9983               "$ref": "#/definitions/StringsWatchResult"
9984             }
9985           }
9986         }
9987       },
9988       "definitions": {
9989         "Address": {
9990           "type": "object",
9991           "properties": {
9992             "scope": {
9993               "type": "string"
9994             },
9995             "space-name": {
9996               "type": "string"
9997             },
9998             "type": {
9999               "type": "string"
10000             },
10001             "value": {
10002               "type": "string"
10003             }
10004           },
10005           "additionalProperties": false,
10006           "required": [
10007             "value",
10008             "type",
10009             "scope"
10010           ]
10011         },
10012         "BoolResult": {
10013           "type": "object",
10014           "properties": {
10015             "error": {
10016               "$ref": "#/definitions/Error"
10017             },
10018             "result": {
10019               "type": "boolean"
10020             }
10021           },
10022           "additionalProperties": false,
10023           "required": [
10024             "result"
10025           ]
10026         },
10027         "BoolResults": {
10028           "type": "object",
10029           "properties": {
10030             "results": {
10031               "type": "array",
10032               "items": {
10033                 "$ref": "#/definitions/BoolResult"
10034               }
10035             }
10036           },
10037           "additionalProperties": false,
10038           "required": [
10039             "results"
10040           ]
10041         },
10042         "Entities": {
10043           "type": "object",
10044           "properties": {
10045             "entities": {
10046               "type": "array",
10047               "items": {
10048                 "$ref": "#/definitions/Entity"
10049               }
10050             }
10051           },
10052           "additionalProperties": false,
10053           "required": [
10054             "entities"
10055           ]
10056         },
10057         "Entity": {
10058           "type": "object",
10059           "properties": {
10060             "tag": {
10061               "type": "string"
10062             }
10063           },
10064           "additionalProperties": false,
10065           "required": [
10066             "tag"
10067           ]
10068         },
10069         "EntityStatusArgs": {
10070           "type": "object",
10071           "properties": {
10072             "data": {
10073               "type": "object",
10074               "patternProperties": {
10075                 ".*": {
10076                   "type": "object",
10077                   "additionalProperties": true
10078                 }
10079               }
10080             },
10081             "info": {
10082               "type": "string"
10083             },
10084             "status": {
10085               "type": "string"
10086             },
10087             "tag": {
10088               "type": "string"
10089             }
10090           },
10091           "additionalProperties": false,
10092           "required": [
10093             "tag",
10094             "status",
10095             "info",
10096             "data"
10097           ]
10098         },
10099         "Error": {
10100           "type": "object",
10101           "properties": {
10102             "code": {
10103               "type": "string"
10104             },
10105             "info": {
10106               "$ref": "#/definitions/ErrorInfo"
10107             },
10108             "message": {
10109               "type": "string"
10110             }
10111           },
10112           "additionalProperties": false,
10113           "required": [
10114             "message",
10115             "code"
10116           ]
10117         },
10118         "ErrorInfo": {
10119           "type": "object",
10120           "properties": {
10121             "macaroon": {
10122               "$ref": "#/definitions/Macaroon"
10123             },
10124             "macaroon-path": {
10125               "type": "string"
10126             }
10127           },
10128           "additionalProperties": false
10129         },
10130         "ErrorResult": {
10131           "type": "object",
10132           "properties": {
10133             "error": {
10134               "$ref": "#/definitions/Error"
10135             }
10136           },
10137           "additionalProperties": false
10138         },
10139         "ErrorResults": {
10140           "type": "object",
10141           "properties": {
10142             "results": {
10143               "type": "array",
10144               "items": {
10145                 "$ref": "#/definitions/ErrorResult"
10146               }
10147             }
10148           },
10149           "additionalProperties": false,
10150           "required": [
10151             "results"
10152           ]
10153         },
10154         "LifeResult": {
10155           "type": "object",
10156           "properties": {
10157             "error": {
10158               "$ref": "#/definitions/Error"
10159             },
10160             "life": {
10161               "type": "string"
10162             }
10163           },
10164           "additionalProperties": false,
10165           "required": [
10166             "life"
10167           ]
10168         },
10169         "LifeResults": {
10170           "type": "object",
10171           "properties": {
10172             "results": {
10173               "type": "array",
10174               "items": {
10175                 "$ref": "#/definitions/LifeResult"
10176               }
10177             }
10178           },
10179           "additionalProperties": false,
10180           "required": [
10181             "results"
10182           ]
10183         },
10184         "Macaroon": {
10185           "type": "object",
10186           "additionalProperties": false
10187         },
10188         "MachineAddresses": {
10189           "type": "object",
10190           "properties": {
10191             "addresses": {
10192               "type": "array",
10193               "items": {
10194                 "$ref": "#/definitions/Address"
10195               }
10196             },
10197             "tag": {
10198               "type": "string"
10199             }
10200           },
10201           "additionalProperties": false,
10202           "required": [
10203             "tag",
10204             "addresses"
10205           ]
10206         },
10207         "MachineAddressesResult": {
10208           "type": "object",
10209           "properties": {
10210             "addresses": {
10211               "type": "array",
10212               "items": {
10213                 "$ref": "#/definitions/Address"
10214               }
10215             },
10216             "error": {
10217               "$ref": "#/definitions/Error"
10218             }
10219           },
10220           "additionalProperties": false,
10221           "required": [
10222             "addresses"
10223           ]
10224         },
10225         "MachineAddressesResults": {
10226           "type": "object",
10227           "properties": {
10228             "results": {
10229               "type": "array",
10230               "items": {
10231                 "$ref": "#/definitions/MachineAddressesResult"
10232               }
10233             }
10234           },
10235           "additionalProperties": false,
10236           "required": [
10237             "results"
10238           ]
10239         },
10240         "ModelConfigResult": {
10241           "type": "object",
10242           "properties": {
10243             "config": {
10244               "type": "object",
10245               "patternProperties": {
10246                 ".*": {
10247                   "type": "object",
10248                   "additionalProperties": true
10249                 }
10250               }
10251             }
10252           },
10253           "additionalProperties": false,
10254           "required": [
10255             "config"
10256           ]
10257         },
10258         "NotifyWatchResult": {
10259           "type": "object",
10260           "properties": {
10261             "NotifyWatcherId": {
10262               "type": "string"
10263             },
10264             "error": {
10265               "$ref": "#/definitions/Error"
10266             }
10267           },
10268           "additionalProperties": false,
10269           "required": [
10270             "NotifyWatcherId"
10271           ]
10272         },
10273         "SetMachinesAddresses": {
10274           "type": "object",
10275           "properties": {
10276             "machine-addresses": {
10277               "type": "array",
10278               "items": {
10279                 "$ref": "#/definitions/MachineAddresses"
10280               }
10281             }
10282           },
10283           "additionalProperties": false,
10284           "required": [
10285             "machine-addresses"
10286           ]
10287         },
10288         "SetStatus": {
10289           "type": "object",
10290           "properties": {
10291             "entities": {
10292               "type": "array",
10293               "items": {
10294                 "$ref": "#/definitions/EntityStatusArgs"
10295               }
10296             }
10297           },
10298           "additionalProperties": false,
10299           "required": [
10300             "entities"
10301           ]
10302         },
10303         "StatusResult": {
10304           "type": "object",
10305           "properties": {
10306             "data": {
10307               "type": "object",
10308               "patternProperties": {
10309                 ".*": {
10310                   "type": "object",
10311                   "additionalProperties": true
10312                 }
10313               }
10314             },
10315             "error": {
10316               "$ref": "#/definitions/Error"
10317             },
10318             "id": {
10319               "type": "string"
10320             },
10321             "info": {
10322               "type": "string"
10323             },
10324             "life": {
10325               "type": "string"
10326             },
10327             "since": {
10328               "type": "string",
10329               "format": "date-time"
10330             },
10331             "status": {
10332               "type": "string"
10333             }
10334           },
10335           "additionalProperties": false,
10336           "required": [
10337             "id",
10338             "life",
10339             "status",
10340             "info",
10341             "data",
10342             "since"
10343           ]
10344         },
10345         "StatusResults": {
10346           "type": "object",
10347           "properties": {
10348             "results": {
10349               "type": "array",
10350               "items": {
10351                 "$ref": "#/definitions/StatusResult"
10352               }
10353             }
10354           },
10355           "additionalProperties": false,
10356           "required": [
10357             "results"
10358           ]
10359         },
10360         "StringResult": {
10361           "type": "object",
10362           "properties": {
10363             "error": {
10364               "$ref": "#/definitions/Error"
10365             },
10366             "result": {
10367               "type": "string"
10368             }
10369           },
10370           "additionalProperties": false,
10371           "required": [
10372             "result"
10373           ]
10374         },
10375         "StringResults": {
10376           "type": "object",
10377           "properties": {
10378             "results": {
10379               "type": "array",
10380               "items": {
10381                 "$ref": "#/definitions/StringResult"
10382               }
10383             }
10384           },
10385           "additionalProperties": false,
10386           "required": [
10387             "results"
10388           ]
10389         },
10390         "StringsWatchResult": {
10391           "type": "object",
10392           "properties": {
10393             "changes": {
10394               "type": "array",
10395               "items": {
10396                 "type": "string"
10397               }
10398             },
10399             "error": {
10400               "$ref": "#/definitions/Error"
10401             },
10402             "watcher-id": {
10403               "type": "string"
10404             }
10405           },
10406           "additionalProperties": false,
10407           "required": [
10408             "watcher-id"
10409           ]
10410         }
10411       }
10412     }
10413   },
10414   {
10415     "Name": "KeyManager",
10416     "Version": 1,
10417     "Schema": {
10418       "type": "object",
10419       "properties": {
10420         "AddKeys": {
10421           "type": "object",
10422           "properties": {
10423             "Params": {
10424               "$ref": "#/definitions/ModifyUserSSHKeys"
10425             },
10426             "Result": {
10427               "$ref": "#/definitions/ErrorResults"
10428             }
10429           }
10430         },
10431         "DeleteKeys": {
10432           "type": "object",
10433           "properties": {
10434             "Params": {
10435               "$ref": "#/definitions/ModifyUserSSHKeys"
10436             },
10437             "Result": {
10438               "$ref": "#/definitions/ErrorResults"
10439             }
10440           }
10441         },
10442         "ImportKeys": {
10443           "type": "object",
10444           "properties": {
10445             "Params": {
10446               "$ref": "#/definitions/ModifyUserSSHKeys"
10447             },
10448             "Result": {
10449               "$ref": "#/definitions/ErrorResults"
10450             }
10451           }
10452         },
10453         "ListKeys": {
10454           "type": "object",
10455           "properties": {
10456             "Params": {
10457               "$ref": "#/definitions/ListSSHKeys"
10458             },
10459             "Result": {
10460               "$ref": "#/definitions/StringsResults"
10461             }
10462           }
10463         }
10464       },
10465       "definitions": {
10466         "Entities": {
10467           "type": "object",
10468           "properties": {
10469             "entities": {
10470               "type": "array",
10471               "items": {
10472                 "$ref": "#/definitions/Entity"
10473               }
10474             }
10475           },
10476           "additionalProperties": false,
10477           "required": [
10478             "entities"
10479           ]
10480         },
10481         "Entity": {
10482           "type": "object",
10483           "properties": {
10484             "tag": {
10485               "type": "string"
10486             }
10487           },
10488           "additionalProperties": false,
10489           "required": [
10490             "tag"
10491           ]
10492         },
10493         "Error": {
10494           "type": "object",
10495           "properties": {
10496             "code": {
10497               "type": "string"
10498             },
10499             "info": {
10500               "$ref": "#/definitions/ErrorInfo"
10501             },
10502             "message": {
10503               "type": "string"
10504             }
10505           },
10506           "additionalProperties": false,
10507           "required": [
10508             "message",
10509             "code"
10510           ]
10511         },
10512         "ErrorInfo": {
10513           "type": "object",
10514           "properties": {
10515             "macaroon": {
10516               "$ref": "#/definitions/Macaroon"
10517             },
10518             "macaroon-path": {
10519               "type": "string"
10520             }
10521           },
10522           "additionalProperties": false
10523         },
10524         "ErrorResult": {
10525           "type": "object",
10526           "properties": {
10527             "error": {
10528               "$ref": "#/definitions/Error"
10529             }
10530           },
10531           "additionalProperties": false
10532         },
10533         "ErrorResults": {
10534           "type": "object",
10535           "properties": {
10536             "results": {
10537               "type": "array",
10538               "items": {
10539                 "$ref": "#/definitions/ErrorResult"
10540               }
10541             }
10542           },
10543           "additionalProperties": false,
10544           "required": [
10545             "results"
10546           ]
10547         },
10548         "ListSSHKeys": {
10549           "type": "object",
10550           "properties": {
10551             "entities": {
10552               "$ref": "#/definitions/Entities"
10553             },
10554             "mode": {
10555               "type": "boolean"
10556             }
10557           },
10558           "additionalProperties": false,
10559           "required": [
10560             "entities",
10561             "mode"
10562           ]
10563         },
10564         "Macaroon": {
10565           "type": "object",
10566           "additionalProperties": false
10567         },
10568         "ModifyUserSSHKeys": {
10569           "type": "object",
10570           "properties": {
10571             "ssh-keys": {
10572               "type": "array",
10573               "items": {
10574                 "type": "string"
10575               }
10576             },
10577             "user": {
10578               "type": "string"
10579             }
10580           },
10581           "additionalProperties": false,
10582           "required": [
10583             "user",
10584             "ssh-keys"
10585           ]
10586         },
10587         "StringsResult": {
10588           "type": "object",
10589           "properties": {
10590             "error": {
10591               "$ref": "#/definitions/Error"
10592             },
10593             "result": {
10594               "type": "array",
10595               "items": {
10596                 "type": "string"
10597               }
10598             }
10599           },
10600           "additionalProperties": false
10601         },
10602         "StringsResults": {
10603           "type": "object",
10604           "properties": {
10605             "results": {
10606               "type": "array",
10607               "items": {
10608                 "$ref": "#/definitions/StringsResult"
10609               }
10610             }
10611           },
10612           "additionalProperties": false,
10613           "required": [
10614             "results"
10615           ]
10616         }
10617       }
10618     }
10619   },
10620   {
10621     "Name": "KeyUpdater",
10622     "Version": 1,
10623     "Schema": {
10624       "type": "object",
10625       "properties": {
10626         "AuthorisedKeys": {
10627           "type": "object",
10628           "properties": {
10629             "Params": {
10630               "$ref": "#/definitions/Entities"
10631             },
10632             "Result": {
10633               "$ref": "#/definitions/StringsResults"
10634             }
10635           }
10636         },
10637         "WatchAuthorisedKeys": {
10638           "type": "object",
10639           "properties": {
10640             "Params": {
10641               "$ref": "#/definitions/Entities"
10642             },
10643             "Result": {
10644               "$ref": "#/definitions/NotifyWatchResults"
10645             }
10646           }
10647         }
10648       },
10649       "definitions": {
10650         "Entities": {
10651           "type": "object",
10652           "properties": {
10653             "entities": {
10654               "type": "array",
10655               "items": {
10656                 "$ref": "#/definitions/Entity"
10657               }
10658             }
10659           },
10660           "additionalProperties": false,
10661           "required": [
10662             "entities"
10663           ]
10664         },
10665         "Entity": {
10666           "type": "object",
10667           "properties": {
10668             "tag": {
10669               "type": "string"
10670             }
10671           },
10672           "additionalProperties": false,
10673           "required": [
10674             "tag"
10675           ]
10676         },
10677         "Error": {
10678           "type": "object",
10679           "properties": {
10680             "code": {
10681               "type": "string"
10682             },
10683             "info": {
10684               "$ref": "#/definitions/ErrorInfo"
10685             },
10686             "message": {
10687               "type": "string"
10688             }
10689           },
10690           "additionalProperties": false,
10691           "required": [
10692             "message",
10693             "code"
10694           ]
10695         },
10696         "ErrorInfo": {
10697           "type": "object",
10698           "properties": {
10699             "macaroon": {
10700               "$ref": "#/definitions/Macaroon"
10701             },
10702             "macaroon-path": {
10703               "type": "string"
10704             }
10705           },
10706           "additionalProperties": false
10707         },
10708         "Macaroon": {
10709           "type": "object",
10710           "additionalProperties": false
10711         },
10712         "NotifyWatchResult": {
10713           "type": "object",
10714           "properties": {
10715             "NotifyWatcherId": {
10716               "type": "string"
10717             },
10718             "error": {
10719               "$ref": "#/definitions/Error"
10720             }
10721           },
10722           "additionalProperties": false,
10723           "required": [
10724             "NotifyWatcherId"
10725           ]
10726         },
10727         "NotifyWatchResults": {
10728           "type": "object",
10729           "properties": {
10730             "results": {
10731               "type": "array",
10732               "items": {
10733                 "$ref": "#/definitions/NotifyWatchResult"
10734               }
10735             }
10736           },
10737           "additionalProperties": false,
10738           "required": [
10739             "results"
10740           ]
10741         },
10742         "StringsResult": {
10743           "type": "object",
10744           "properties": {
10745             "error": {
10746               "$ref": "#/definitions/Error"
10747             },
10748             "result": {
10749               "type": "array",
10750               "items": {
10751                 "type": "string"
10752               }
10753             }
10754           },
10755           "additionalProperties": false
10756         },
10757         "StringsResults": {
10758           "type": "object",
10759           "properties": {
10760             "results": {
10761               "type": "array",
10762               "items": {
10763                 "$ref": "#/definitions/StringsResult"
10764               }
10765             }
10766           },
10767           "additionalProperties": false,
10768           "required": [
10769             "results"
10770           ]
10771         }
10772       }
10773     }
10774   },
10775   {
10776     "Name": "LeadershipService",
10777     "Version": 2,
10778     "Schema": {
10779       "type": "object",
10780       "properties": {
10781         "BlockUntilLeadershipReleased": {
10782           "type": "object",
10783           "properties": {
10784             "Params": {
10785               "$ref": "#/definitions/ApplicationTag"
10786             },
10787             "Result": {
10788               "$ref": "#/definitions/ErrorResult"
10789             }
10790           }
10791         },
10792         "ClaimLeadership": {
10793           "type": "object",
10794           "properties": {
10795             "Params": {
10796               "$ref": "#/definitions/ClaimLeadershipBulkParams"
10797             },
10798             "Result": {
10799               "$ref": "#/definitions/ClaimLeadershipBulkResults"
10800             }
10801           }
10802         }
10803       },
10804       "definitions": {
10805         "ApplicationTag": {
10806           "type": "object",
10807           "properties": {
10808             "Name": {
10809               "type": "string"
10810             }
10811           },
10812           "additionalProperties": false,
10813           "required": [
10814             "Name"
10815           ]
10816         },
10817         "ClaimLeadershipBulkParams": {
10818           "type": "object",
10819           "properties": {
10820             "params": {
10821               "type": "array",
10822               "items": {
10823                 "$ref": "#/definitions/ClaimLeadershipParams"
10824               }
10825             }
10826           },
10827           "additionalProperties": false,
10828           "required": [
10829             "params"
10830           ]
10831         },
10832         "ClaimLeadershipBulkResults": {
10833           "type": "object",
10834           "properties": {
10835             "results": {
10836               "type": "array",
10837               "items": {
10838                 "$ref": "#/definitions/ErrorResult"
10839               }
10840             }
10841           },
10842           "additionalProperties": false,
10843           "required": [
10844             "results"
10845           ]
10846         },
10847         "ClaimLeadershipParams": {
10848           "type": "object",
10849           "properties": {
10850             "application-tag": {
10851               "type": "string"
10852             },
10853             "duration": {
10854               "type": "number"
10855             },
10856             "unit-tag": {
10857               "type": "string"
10858             }
10859           },
10860           "additionalProperties": false,
10861           "required": [
10862             "application-tag",
10863             "unit-tag",
10864             "duration"
10865           ]
10866         },
10867         "Error": {
10868           "type": "object",
10869           "properties": {
10870             "code": {
10871               "type": "string"
10872             },
10873             "info": {
10874               "$ref": "#/definitions/ErrorInfo"
10875             },
10876             "message": {
10877               "type": "string"
10878             }
10879           },
10880           "additionalProperties": false,
10881           "required": [
10882             "message",
10883             "code"
10884           ]
10885         },
10886         "ErrorInfo": {
10887           "type": "object",
10888           "properties": {
10889             "macaroon": {
10890               "$ref": "#/definitions/Macaroon"
10891             },
10892             "macaroon-path": {
10893               "type": "string"
10894             }
10895           },
10896           "additionalProperties": false
10897         },
10898         "ErrorResult": {
10899           "type": "object",
10900           "properties": {
10901             "error": {
10902               "$ref": "#/definitions/Error"
10903             }
10904           },
10905           "additionalProperties": false
10906         },
10907         "Macaroon": {
10908           "type": "object",
10909           "additionalProperties": false
10910         }
10911       }
10912     }
10913   },
10914   {
10915     "Name": "LifeFlag",
10916     "Version": 1,
10917     "Schema": {
10918       "type": "object",
10919       "properties": {
10920         "Life": {
10921           "type": "object",
10922           "properties": {
10923             "Params": {
10924               "$ref": "#/definitions/Entities"
10925             },
10926             "Result": {
10927               "$ref": "#/definitions/LifeResults"
10928             }
10929           }
10930         },
10931         "Watch": {
10932           "type": "object",
10933           "properties": {
10934             "Params": {
10935               "$ref": "#/definitions/Entities"
10936             },
10937             "Result": {
10938               "$ref": "#/definitions/NotifyWatchResults"
10939             }
10940           }
10941         }
10942       },
10943       "definitions": {
10944         "Entities": {
10945           "type": "object",
10946           "properties": {
10947             "entities": {
10948               "type": "array",
10949               "items": {
10950                 "$ref": "#/definitions/Entity"
10951               }
10952             }
10953           },
10954           "additionalProperties": false,
10955           "required": [
10956             "entities"
10957           ]
10958         },
10959         "Entity": {
10960           "type": "object",
10961           "properties": {
10962             "tag": {
10963               "type": "string"
10964             }
10965           },
10966           "additionalProperties": false,
10967           "required": [
10968             "tag"
10969           ]
10970         },
10971         "Error": {
10972           "type": "object",
10973           "properties": {
10974             "code": {
10975               "type": "string"
10976             },
10977             "info": {
10978               "$ref": "#/definitions/ErrorInfo"
10979             },
10980             "message": {
10981               "type": "string"
10982             }
10983           },
10984           "additionalProperties": false,
10985           "required": [
10986             "message",
10987             "code"
10988           ]
10989         },
10990         "ErrorInfo": {
10991           "type": "object",
10992           "properties": {
10993             "macaroon": {
10994               "$ref": "#/definitions/Macaroon"
10995             },
10996             "macaroon-path": {
10997               "type": "string"
10998             }
10999           },
11000           "additionalProperties": false
11001         },
11002         "LifeResult": {
11003           "type": "object",
11004           "properties": {
11005             "error": {
11006               "$ref": "#/definitions/Error"
11007             },
11008             "life": {
11009               "type": "string"
11010             }
11011           },
11012           "additionalProperties": false,
11013           "required": [
11014             "life"
11015           ]
11016         },
11017         "LifeResults": {
11018           "type": "object",
11019           "properties": {
11020             "results": {
11021               "type": "array",
11022               "items": {
11023                 "$ref": "#/definitions/LifeResult"
11024               }
11025             }
11026           },
11027           "additionalProperties": false,
11028           "required": [
11029             "results"
11030           ]
11031         },
11032         "Macaroon": {
11033           "type": "object",
11034           "additionalProperties": false
11035         },
11036         "NotifyWatchResult": {
11037           "type": "object",
11038           "properties": {
11039             "NotifyWatcherId": {
11040               "type": "string"
11041             },
11042             "error": {
11043               "$ref": "#/definitions/Error"
11044             }
11045           },
11046           "additionalProperties": false,
11047           "required": [
11048             "NotifyWatcherId"
11049           ]
11050         },
11051         "NotifyWatchResults": {
11052           "type": "object",
11053           "properties": {
11054             "results": {
11055               "type": "array",
11056               "items": {
11057                 "$ref": "#/definitions/NotifyWatchResult"
11058               }
11059             }
11060           },
11061           "additionalProperties": false,
11062           "required": [
11063             "results"
11064           ]
11065         }
11066       }
11067     }
11068   },
11069   {
11070     "Name": "LogForwarding",
11071     "Version": 1,
11072     "Schema": {
11073       "type": "object",
11074       "properties": {
11075         "GetLastSent": {
11076           "type": "object",
11077           "properties": {
11078             "Params": {
11079               "$ref": "#/definitions/LogForwardingGetLastSentParams"
11080             },
11081             "Result": {
11082               "$ref": "#/definitions/LogForwardingGetLastSentResults"
11083             }
11084           }
11085         },
11086         "SetLastSent": {
11087           "type": "object",
11088           "properties": {
11089             "Params": {
11090               "$ref": "#/definitions/LogForwardingSetLastSentParams"
11091             },
11092             "Result": {
11093               "$ref": "#/definitions/ErrorResults"
11094             }
11095           }
11096         }
11097       },
11098       "definitions": {
11099         "Error": {
11100           "type": "object",
11101           "properties": {
11102             "code": {
11103               "type": "string"
11104             },
11105             "info": {
11106               "$ref": "#/definitions/ErrorInfo"
11107             },
11108             "message": {
11109               "type": "string"
11110             }
11111           },
11112           "additionalProperties": false,
11113           "required": [
11114             "message",
11115             "code"
11116           ]
11117         },
11118         "ErrorInfo": {
11119           "type": "object",
11120           "properties": {
11121             "macaroon": {
11122               "$ref": "#/definitions/Macaroon"
11123             },
11124             "macaroon-path": {
11125               "type": "string"
11126             }
11127           },
11128           "additionalProperties": false
11129         },
11130         "ErrorResult": {
11131           "type": "object",
11132           "properties": {
11133             "error": {
11134               "$ref": "#/definitions/Error"
11135             }
11136           },
11137           "additionalProperties": false
11138         },
11139         "ErrorResults": {
11140           "type": "object",
11141           "properties": {
11142             "results": {
11143               "type": "array",
11144               "items": {
11145                 "$ref": "#/definitions/ErrorResult"
11146               }
11147             }
11148           },
11149           "additionalProperties": false,
11150           "required": [
11151             "results"
11152           ]
11153         },
11154         "LogForwardingGetLastSentParams": {
11155           "type": "object",
11156           "properties": {
11157             "ids": {
11158               "type": "array",
11159               "items": {
11160                 "$ref": "#/definitions/LogForwardingID"
11161               }
11162             }
11163           },
11164           "additionalProperties": false,
11165           "required": [
11166             "ids"
11167           ]
11168         },
11169         "LogForwardingGetLastSentResult": {
11170           "type": "object",
11171           "properties": {
11172             "err": {
11173               "$ref": "#/definitions/Error"
11174             },
11175             "record-id": {
11176               "type": "integer"
11177             },
11178             "record-timestamp": {
11179               "type": "integer"
11180             }
11181           },
11182           "additionalProperties": false,
11183           "required": [
11184             "record-id",
11185             "record-timestamp",
11186             "err"
11187           ]
11188         },
11189         "LogForwardingGetLastSentResults": {
11190           "type": "object",
11191           "properties": {
11192             "results": {
11193               "type": "array",
11194               "items": {
11195                 "$ref": "#/definitions/LogForwardingGetLastSentResult"
11196               }
11197             }
11198           },
11199           "additionalProperties": false,
11200           "required": [
11201             "results"
11202           ]
11203         },
11204         "LogForwardingID": {
11205           "type": "object",
11206           "properties": {
11207             "model": {
11208               "type": "string"
11209             },
11210             "sink": {
11211               "type": "string"
11212             }
11213           },
11214           "additionalProperties": false,
11215           "required": [
11216             "model",
11217             "sink"
11218           ]
11219         },
11220         "LogForwardingSetLastSentParam": {
11221           "type": "object",
11222           "properties": {
11223             "LogForwardingID": {
11224               "$ref": "#/definitions/LogForwardingID"
11225             },
11226             "record-id": {
11227               "type": "integer"
11228             },
11229             "record-timestamp": {
11230               "type": "integer"
11231             }
11232           },
11233           "additionalProperties": false,
11234           "required": [
11235             "LogForwardingID",
11236             "record-id",
11237             "record-timestamp"
11238           ]
11239         },
11240         "LogForwardingSetLastSentParams": {
11241           "type": "object",
11242           "properties": {
11243             "params": {
11244               "type": "array",
11245               "items": {
11246                 "$ref": "#/definitions/LogForwardingSetLastSentParam"
11247               }
11248             }
11249           },
11250           "additionalProperties": false,
11251           "required": [
11252             "params"
11253           ]
11254         },
11255         "Macaroon": {
11256           "type": "object",
11257           "additionalProperties": false
11258         }
11259       }
11260     }
11261   },
11262   {
11263     "Name": "Logger",
11264     "Version": 1,
11265     "Schema": {
11266       "type": "object",
11267       "properties": {
11268         "LoggingConfig": {
11269           "type": "object",
11270           "properties": {
11271             "Params": {
11272               "$ref": "#/definitions/Entities"
11273             },
11274             "Result": {
11275               "$ref": "#/definitions/StringResults"
11276             }
11277           }
11278         },
11279         "WatchLoggingConfig": {
11280           "type": "object",
11281           "properties": {
11282             "Params": {
11283               "$ref": "#/definitions/Entities"
11284             },
11285             "Result": {
11286               "$ref": "#/definitions/NotifyWatchResults"
11287             }
11288           }
11289         }
11290       },
11291       "definitions": {
11292         "Entities": {
11293           "type": "object",
11294           "properties": {
11295             "entities": {
11296               "type": "array",
11297               "items": {
11298                 "$ref": "#/definitions/Entity"
11299               }
11300             }
11301           },
11302           "additionalProperties": false,
11303           "required": [
11304             "entities"
11305           ]
11306         },
11307         "Entity": {
11308           "type": "object",
11309           "properties": {
11310             "tag": {
11311               "type": "string"
11312             }
11313           },
11314           "additionalProperties": false,
11315           "required": [
11316             "tag"
11317           ]
11318         },
11319         "Error": {
11320           "type": "object",
11321           "properties": {
11322             "code": {
11323               "type": "string"
11324             },
11325             "info": {
11326               "$ref": "#/definitions/ErrorInfo"
11327             },
11328             "message": {
11329               "type": "string"
11330             }
11331           },
11332           "additionalProperties": false,
11333           "required": [
11334             "message",
11335             "code"
11336           ]
11337         },
11338         "ErrorInfo": {
11339           "type": "object",
11340           "properties": {
11341             "macaroon": {
11342               "$ref": "#/definitions/Macaroon"
11343             },
11344             "macaroon-path": {
11345               "type": "string"
11346             }
11347           },
11348           "additionalProperties": false
11349         },
11350         "Macaroon": {
11351           "type": "object",
11352           "additionalProperties": false
11353         },
11354         "NotifyWatchResult": {
11355           "type": "object",
11356           "properties": {
11357             "NotifyWatcherId": {
11358               "type": "string"
11359             },
11360             "error": {
11361               "$ref": "#/definitions/Error"
11362             }
11363           },
11364           "additionalProperties": false,
11365           "required": [
11366             "NotifyWatcherId"
11367           ]
11368         },
11369         "NotifyWatchResults": {
11370           "type": "object",
11371           "properties": {
11372             "results": {
11373               "type": "array",
11374               "items": {
11375                 "$ref": "#/definitions/NotifyWatchResult"
11376               }
11377             }
11378           },
11379           "additionalProperties": false,
11380           "required": [
11381             "results"
11382           ]
11383         },
11384         "StringResult": {
11385           "type": "object",
11386           "properties": {
11387             "error": {
11388               "$ref": "#/definitions/Error"
11389             },
11390             "result": {
11391               "type": "string"
11392             }
11393           },
11394           "additionalProperties": false,
11395           "required": [
11396             "result"
11397           ]
11398         },
11399         "StringResults": {
11400           "type": "object",
11401           "properties": {
11402             "results": {
11403               "type": "array",
11404               "items": {
11405                 "$ref": "#/definitions/StringResult"
11406               }
11407             }
11408           },
11409           "additionalProperties": false,
11410           "required": [
11411             "results"
11412           ]
11413         }
11414       }
11415     }
11416   },
11417   {
11418     "Name": "MachineActions",
11419     "Version": 1,
11420     "Schema": {
11421       "type": "object",
11422       "properties": {
11423         "Actions": {
11424           "type": "object",
11425           "properties": {
11426             "Params": {
11427               "$ref": "#/definitions/Entities"
11428             },
11429             "Result": {
11430               "$ref": "#/definitions/ActionResults"
11431             }
11432           }
11433         },
11434         "BeginActions": {
11435           "type": "object",
11436           "properties": {
11437             "Params": {
11438               "$ref": "#/definitions/Entities"
11439             },
11440             "Result": {
11441               "$ref": "#/definitions/ErrorResults"
11442             }
11443           }
11444         },
11445         "FinishActions": {
11446           "type": "object",
11447           "properties": {
11448             "Params": {
11449               "$ref": "#/definitions/ActionExecutionResults"
11450             },
11451             "Result": {
11452               "$ref": "#/definitions/ErrorResults"
11453             }
11454           }
11455         },
11456         "RunningActions": {
11457           "type": "object",
11458           "properties": {
11459             "Params": {
11460               "$ref": "#/definitions/Entities"
11461             },
11462             "Result": {
11463               "$ref": "#/definitions/ActionsByReceivers"
11464             }
11465           }
11466         },
11467         "WatchActionNotifications": {
11468           "type": "object",
11469           "properties": {
11470             "Params": {
11471               "$ref": "#/definitions/Entities"
11472             },
11473             "Result": {
11474               "$ref": "#/definitions/StringsWatchResults"
11475             }
11476           }
11477         }
11478       },
11479       "definitions": {
11480         "Action": {
11481           "type": "object",
11482           "properties": {
11483             "name": {
11484               "type": "string"
11485             },
11486             "parameters": {
11487               "type": "object",
11488               "patternProperties": {
11489                 ".*": {
11490                   "type": "object",
11491                   "additionalProperties": true
11492                 }
11493               }
11494             },
11495             "receiver": {
11496               "type": "string"
11497             },
11498             "tag": {
11499               "type": "string"
11500             }
11501           },
11502           "additionalProperties": false,
11503           "required": [
11504             "tag",
11505             "receiver",
11506             "name"
11507           ]
11508         },
11509         "ActionExecutionResult": {
11510           "type": "object",
11511           "properties": {
11512             "action-tag": {
11513               "type": "string"
11514             },
11515             "message": {
11516               "type": "string"
11517             },
11518             "results": {
11519               "type": "object",
11520               "patternProperties": {
11521                 ".*": {
11522                   "type": "object",
11523                   "additionalProperties": true
11524                 }
11525               }
11526             },
11527             "status": {
11528               "type": "string"
11529             }
11530           },
11531           "additionalProperties": false,
11532           "required": [
11533             "action-tag",
11534             "status"
11535           ]
11536         },
11537         "ActionExecutionResults": {
11538           "type": "object",
11539           "properties": {
11540             "results": {
11541               "type": "array",
11542               "items": {
11543                 "$ref": "#/definitions/ActionExecutionResult"
11544               }
11545             }
11546           },
11547           "additionalProperties": false
11548         },
11549         "ActionResult": {
11550           "type": "object",
11551           "properties": {
11552             "action": {
11553               "$ref": "#/definitions/Action"
11554             },
11555             "completed": {
11556               "type": "string",
11557               "format": "date-time"
11558             },
11559             "enqueued": {
11560               "type": "string",
11561               "format": "date-time"
11562             },
11563             "error": {
11564               "$ref": "#/definitions/Error"
11565             },
11566             "message": {
11567               "type": "string"
11568             },
11569             "output": {
11570               "type": "object",
11571               "patternProperties": {
11572                 ".*": {
11573                   "type": "object",
11574                   "additionalProperties": true
11575                 }
11576               }
11577             },
11578             "started": {
11579               "type": "string",
11580               "format": "date-time"
11581             },
11582             "status": {
11583               "type": "string"
11584             }
11585           },
11586           "additionalProperties": false
11587         },
11588         "ActionResults": {
11589           "type": "object",
11590           "properties": {
11591             "results": {
11592               "type": "array",
11593               "items": {
11594                 "$ref": "#/definitions/ActionResult"
11595               }
11596             }
11597           },
11598           "additionalProperties": false
11599         },
11600         "ActionsByReceiver": {
11601           "type": "object",
11602           "properties": {
11603             "actions": {
11604               "type": "array",
11605               "items": {
11606                 "$ref": "#/definitions/ActionResult"
11607               }
11608             },
11609             "error": {
11610               "$ref": "#/definitions/Error"
11611             },
11612             "receiver": {
11613               "type": "string"
11614             }
11615           },
11616           "additionalProperties": false
11617         },
11618         "ActionsByReceivers": {
11619           "type": "object",
11620           "properties": {
11621             "actions": {
11622               "type": "array",
11623               "items": {
11624                 "$ref": "#/definitions/ActionsByReceiver"
11625               }
11626             }
11627           },
11628           "additionalProperties": false
11629         },
11630         "Entities": {
11631           "type": "object",
11632           "properties": {
11633             "entities": {
11634               "type": "array",
11635               "items": {
11636                 "$ref": "#/definitions/Entity"
11637               }
11638             }
11639           },
11640           "additionalProperties": false,
11641           "required": [
11642             "entities"
11643           ]
11644         },
11645         "Entity": {
11646           "type": "object",
11647           "properties": {
11648             "tag": {
11649               "type": "string"
11650             }
11651           },
11652           "additionalProperties": false,
11653           "required": [
11654             "tag"
11655           ]
11656         },
11657         "Error": {
11658           "type": "object",
11659           "properties": {
11660             "code": {
11661               "type": "string"
11662             },
11663             "info": {
11664               "$ref": "#/definitions/ErrorInfo"
11665             },
11666             "message": {
11667               "type": "string"
11668             }
11669           },
11670           "additionalProperties": false,
11671           "required": [
11672             "message",
11673             "code"
11674           ]
11675         },
11676         "ErrorInfo": {
11677           "type": "object",
11678           "properties": {
11679             "macaroon": {
11680               "$ref": "#/definitions/Macaroon"
11681             },
11682             "macaroon-path": {
11683               "type": "string"
11684             }
11685           },
11686           "additionalProperties": false
11687         },
11688         "ErrorResult": {
11689           "type": "object",
11690           "properties": {
11691             "error": {
11692               "$ref": "#/definitions/Error"
11693             }
11694           },
11695           "additionalProperties": false
11696         },
11697         "ErrorResults": {
11698           "type": "object",
11699           "properties": {
11700             "results": {
11701               "type": "array",
11702               "items": {
11703                 "$ref": "#/definitions/ErrorResult"
11704               }
11705             }
11706           },
11707           "additionalProperties": false,
11708           "required": [
11709             "results"
11710           ]
11711         },
11712         "Macaroon": {
11713           "type": "object",
11714           "additionalProperties": false
11715         },
11716         "StringsWatchResult": {
11717           "type": "object",
11718           "properties": {
11719             "changes": {
11720               "type": "array",
11721               "items": {
11722                 "type": "string"
11723               }
11724             },
11725             "error": {
11726               "$ref": "#/definitions/Error"
11727             },
11728             "watcher-id": {
11729               "type": "string"
11730             }
11731           },
11732           "additionalProperties": false,
11733           "required": [
11734             "watcher-id"
11735           ]
11736         },
11737         "StringsWatchResults": {
11738           "type": "object",
11739           "properties": {
11740             "results": {
11741               "type": "array",
11742               "items": {
11743                 "$ref": "#/definitions/StringsWatchResult"
11744               }
11745             }
11746           },
11747           "additionalProperties": false,
11748           "required": [
11749             "results"
11750           ]
11751         }
11752       }
11753     }
11754   },
11755   {
11756     "Name": "MachineManager",
11757     "Version": 3,
11758     "Schema": {
11759       "type": "object",
11760       "properties": {
11761         "AddMachines": {
11762           "type": "object",
11763           "properties": {
11764             "Params": {
11765               "$ref": "#/definitions/AddMachines"
11766             },
11767             "Result": {
11768               "$ref": "#/definitions/AddMachinesResults"
11769             }
11770           }
11771         },
11772         "DestroyMachine": {
11773           "type": "object",
11774           "properties": {
11775             "Params": {
11776               "$ref": "#/definitions/Entities"
11777             },
11778             "Result": {
11779               "$ref": "#/definitions/DestroyMachineResults"
11780             }
11781           }
11782         },
11783         "ForceDestroyMachine": {
11784           "type": "object",
11785           "properties": {
11786             "Params": {
11787               "$ref": "#/definitions/Entities"
11788             },
11789             "Result": {
11790               "$ref": "#/definitions/DestroyMachineResults"
11791             }
11792           }
11793         },
11794         "InstanceTypes": {
11795           "type": "object",
11796           "properties": {
11797             "Params": {
11798               "$ref": "#/definitions/ModelInstanceTypesConstraints"
11799             },
11800             "Result": {
11801               "$ref": "#/definitions/InstanceTypesResults"
11802             }
11803           }
11804         }
11805       },
11806       "definitions": {
11807         "AddMachineParams": {
11808           "type": "object",
11809           "properties": {
11810             "addresses": {
11811               "type": "array",
11812               "items": {
11813                 "$ref": "#/definitions/Address"
11814               }
11815             },
11816             "constraints": {
11817               "$ref": "#/definitions/Value"
11818             },
11819             "container-type": {
11820               "type": "string"
11821             },
11822             "disks": {
11823               "type": "array",
11824               "items": {
11825                 "$ref": "#/definitions/Constraints"
11826               }
11827             },
11828             "hardware-characteristics": {
11829               "$ref": "#/definitions/HardwareCharacteristics"
11830             },
11831             "instance-id": {
11832               "type": "string"
11833             },
11834             "jobs": {
11835               "type": "array",
11836               "items": {
11837                 "type": "string"
11838               }
11839             },
11840             "nonce": {
11841               "type": "string"
11842             },
11843             "parent-id": {
11844               "type": "string"
11845             },
11846             "placement": {
11847               "$ref": "#/definitions/Placement"
11848             },
11849             "series": {
11850               "type": "string"
11851             }
11852           },
11853           "additionalProperties": false,
11854           "required": [
11855             "series",
11856             "constraints",
11857             "jobs",
11858             "parent-id",
11859             "container-type",
11860             "instance-id",
11861             "nonce",
11862             "hardware-characteristics",
11863             "addresses"
11864           ]
11865         },
11866         "AddMachines": {
11867           "type": "object",
11868           "properties": {
11869             "params": {
11870               "type": "array",
11871               "items": {
11872                 "$ref": "#/definitions/AddMachineParams"
11873               }
11874             }
11875           },
11876           "additionalProperties": false,
11877           "required": [
11878             "params"
11879           ]
11880         },
11881         "AddMachinesResult": {
11882           "type": "object",
11883           "properties": {
11884             "error": {
11885               "$ref": "#/definitions/Error"
11886             },
11887             "machine": {
11888               "type": "string"
11889             }
11890           },
11891           "additionalProperties": false,
11892           "required": [
11893             "machine"
11894           ]
11895         },
11896         "AddMachinesResults": {
11897           "type": "object",
11898           "properties": {
11899             "machines": {
11900               "type": "array",
11901               "items": {
11902                 "$ref": "#/definitions/AddMachinesResult"
11903               }
11904             }
11905           },
11906           "additionalProperties": false,
11907           "required": [
11908             "machines"
11909           ]
11910         },
11911         "Address": {
11912           "type": "object",
11913           "properties": {
11914             "scope": {
11915               "type": "string"
11916             },
11917             "space-name": {
11918               "type": "string"
11919             },
11920             "type": {
11921               "type": "string"
11922             },
11923             "value": {
11924               "type": "string"
11925             }
11926           },
11927           "additionalProperties": false,
11928           "required": [
11929             "value",
11930             "type",
11931             "scope"
11932           ]
11933         },
11934         "Constraints": {
11935           "type": "object",
11936           "properties": {
11937             "Count": {
11938               "type": "integer"
11939             },
11940             "Pool": {
11941               "type": "string"
11942             },
11943             "Size": {
11944               "type": "integer"
11945             }
11946           },
11947           "additionalProperties": false,
11948           "required": [
11949             "Pool",
11950             "Size",
11951             "Count"
11952           ]
11953         },
11954         "DestroyMachineInfo": {
11955           "type": "object",
11956           "properties": {
11957             "destroyed-storage": {
11958               "type": "array",
11959               "items": {
11960                 "$ref": "#/definitions/Entity"
11961               }
11962             },
11963             "destroyed-units": {
11964               "type": "array",
11965               "items": {
11966                 "$ref": "#/definitions/Entity"
11967               }
11968             },
11969             "detached-storage": {
11970               "type": "array",
11971               "items": {
11972                 "$ref": "#/definitions/Entity"
11973               }
11974             }
11975           },
11976           "additionalProperties": false
11977         },
11978         "DestroyMachineResult": {
11979           "type": "object",
11980           "properties": {
11981             "error": {
11982               "$ref": "#/definitions/Error"
11983             },
11984             "info": {
11985               "$ref": "#/definitions/DestroyMachineInfo"
11986             }
11987           },
11988           "additionalProperties": false
11989         },
11990         "DestroyMachineResults": {
11991           "type": "object",
11992           "properties": {
11993             "results": {
11994               "type": "array",
11995               "items": {
11996                 "$ref": "#/definitions/DestroyMachineResult"
11997               }
11998             }
11999           },
12000           "additionalProperties": false
12001         },
12002         "Entities": {
12003           "type": "object",
12004           "properties": {
12005             "entities": {
12006               "type": "array",
12007               "items": {
12008                 "$ref": "#/definitions/Entity"
12009               }
12010             }
12011           },
12012           "additionalProperties": false,
12013           "required": [
12014             "entities"
12015           ]
12016         },
12017         "Entity": {
12018           "type": "object",
12019           "properties": {
12020             "tag": {
12021               "type": "string"
12022             }
12023           },
12024           "additionalProperties": false,
12025           "required": [
12026             "tag"
12027           ]
12028         },
12029         "Error": {
12030           "type": "object",
12031           "properties": {
12032             "code": {
12033               "type": "string"
12034             },
12035             "info": {
12036               "$ref": "#/definitions/ErrorInfo"
12037             },
12038             "message": {
12039               "type": "string"
12040             }
12041           },
12042           "additionalProperties": false,
12043           "required": [
12044             "message",
12045             "code"
12046           ]
12047         },
12048         "ErrorInfo": {
12049           "type": "object",
12050           "properties": {
12051             "macaroon": {
12052               "$ref": "#/definitions/Macaroon"
12053             },
12054             "macaroon-path": {
12055               "type": "string"
12056             }
12057           },
12058           "additionalProperties": false
12059         },
12060         "HardwareCharacteristics": {
12061           "type": "object",
12062           "properties": {
12063             "arch": {
12064               "type": "string"
12065             },
12066             "availability-zone": {
12067               "type": "string"
12068             },
12069             "cpu-cores": {
12070               "type": "integer"
12071             },
12072             "cpu-power": {
12073               "type": "integer"
12074             },
12075             "mem": {
12076               "type": "integer"
12077             },
12078             "root-disk": {
12079               "type": "integer"
12080             },
12081             "tags": {
12082               "type": "array",
12083               "items": {
12084                 "type": "string"
12085               }
12086             }
12087           },
12088           "additionalProperties": false
12089         },
12090         "InstanceType": {
12091           "type": "object",
12092           "properties": {
12093             "arches": {
12094               "type": "array",
12095               "items": {
12096                 "type": "string"
12097               }
12098             },
12099             "cost": {
12100               "type": "integer"
12101             },
12102             "cpu-cores": {
12103               "type": "integer"
12104             },
12105             "deprecated": {
12106               "type": "boolean"
12107             },
12108             "memory": {
12109               "type": "integer"
12110             },
12111             "name": {
12112               "type": "string"
12113             },
12114             "root-disk": {
12115               "type": "integer"
12116             },
12117             "virt-type": {
12118               "type": "string"
12119             }
12120           },
12121           "additionalProperties": false,
12122           "required": [
12123             "arches",
12124             "cpu-cores",
12125             "memory"
12126           ]
12127         },
12128         "InstanceTypesResult": {
12129           "type": "object",
12130           "properties": {
12131             "cost-currency": {
12132               "type": "string"
12133             },
12134             "cost-divisor": {
12135               "type": "integer"
12136             },
12137             "cost-unit": {
12138               "type": "string"
12139             },
12140             "error": {
12141               "$ref": "#/definitions/Error"
12142             },
12143             "instance-types": {
12144               "type": "array",
12145               "items": {
12146                 "$ref": "#/definitions/InstanceType"
12147               }
12148             }
12149           },
12150           "additionalProperties": false
12151         },
12152         "InstanceTypesResults": {
12153           "type": "object",
12154           "properties": {
12155             "results": {
12156               "type": "array",
12157               "items": {
12158                 "$ref": "#/definitions/InstanceTypesResult"
12159               }
12160             }
12161           },
12162           "additionalProperties": false,
12163           "required": [
12164             "results"
12165           ]
12166         },
12167         "Macaroon": {
12168           "type": "object",
12169           "additionalProperties": false
12170         },
12171         "ModelInstanceTypesConstraint": {
12172           "type": "object",
12173           "properties": {
12174             "value": {
12175               "$ref": "#/definitions/Value"
12176             }
12177           },
12178           "additionalProperties": false
12179         },
12180         "ModelInstanceTypesConstraints": {
12181           "type": "object",
12182           "properties": {
12183             "constraints": {
12184               "type": "array",
12185               "items": {
12186                 "$ref": "#/definitions/ModelInstanceTypesConstraint"
12187               }
12188             }
12189           },
12190           "additionalProperties": false,
12191           "required": [
12192             "constraints"
12193           ]
12194         },
12195         "Placement": {
12196           "type": "object",
12197           "properties": {
12198             "directive": {
12199               "type": "string"
12200             },
12201             "scope": {
12202               "type": "string"
12203             }
12204           },
12205           "additionalProperties": false,
12206           "required": [
12207             "scope",
12208             "directive"
12209           ]
12210         },
12211         "Value": {
12212           "type": "object",
12213           "properties": {
12214             "arch": {
12215               "type": "string"
12216             },
12217             "container": {
12218               "type": "string"
12219             },
12220             "cores": {
12221               "type": "integer"
12222             },
12223             "cpu-power": {
12224               "type": "integer"
12225             },
12226             "instance-type": {
12227               "type": "string"
12228             },
12229             "mem": {
12230               "type": "integer"
12231             },
12232             "root-disk": {
12233               "type": "integer"
12234             },
12235             "spaces": {
12236               "type": "array",
12237               "items": {
12238                 "type": "string"
12239               }
12240             },
12241             "tags": {
12242               "type": "array",
12243               "items": {
12244                 "type": "string"
12245               }
12246             },
12247             "virt-type": {
12248               "type": "string"
12249             }
12250           },
12251           "additionalProperties": false
12252         }
12253       }
12254     }
12255   },
12256   {
12257     "Name": "MachineUndertaker",
12258     "Version": 1,
12259     "Schema": {
12260       "type": "object",
12261       "properties": {
12262         "AllMachineRemovals": {
12263           "type": "object",
12264           "properties": {
12265             "Params": {
12266               "$ref": "#/definitions/Entities"
12267             },
12268             "Result": {
12269               "$ref": "#/definitions/EntitiesResults"
12270             }
12271           }
12272         },
12273         "CompleteMachineRemovals": {
12274           "type": "object",
12275           "properties": {
12276             "Params": {
12277               "$ref": "#/definitions/Entities"
12278             }
12279           }
12280         },
12281         "GetMachineProviderInterfaceInfo": {
12282           "type": "object",
12283           "properties": {
12284             "Params": {
12285               "$ref": "#/definitions/Entities"
12286             },
12287             "Result": {
12288               "$ref": "#/definitions/ProviderInterfaceInfoResults"
12289             }
12290           }
12291         },
12292         "WatchMachineRemovals": {
12293           "type": "object",
12294           "properties": {
12295             "Params": {
12296               "$ref": "#/definitions/Entities"
12297             },
12298             "Result": {
12299               "$ref": "#/definitions/NotifyWatchResults"
12300             }
12301           }
12302         }
12303       },
12304       "definitions": {
12305         "Entities": {
12306           "type": "object",
12307           "properties": {
12308             "entities": {
12309               "type": "array",
12310               "items": {
12311                 "$ref": "#/definitions/Entity"
12312               }
12313             }
12314           },
12315           "additionalProperties": false,
12316           "required": [
12317             "entities"
12318           ]
12319         },
12320         "EntitiesResult": {
12321           "type": "object",
12322           "properties": {
12323             "entities": {
12324               "type": "array",
12325               "items": {
12326                 "$ref": "#/definitions/Entity"
12327               }
12328             },
12329             "error": {
12330               "$ref": "#/definitions/Error"
12331             }
12332           },
12333           "additionalProperties": false,
12334           "required": [
12335             "entities"
12336           ]
12337         },
12338         "EntitiesResults": {
12339           "type": "object",
12340           "properties": {
12341             "results": {
12342               "type": "array",
12343               "items": {
12344                 "$ref": "#/definitions/EntitiesResult"
12345               }
12346             }
12347           },
12348           "additionalProperties": false,
12349           "required": [
12350             "results"
12351           ]
12352         },
12353         "Entity": {
12354           "type": "object",
12355           "properties": {
12356             "tag": {
12357               "type": "string"
12358             }
12359           },
12360           "additionalProperties": false,
12361           "required": [
12362             "tag"
12363           ]
12364         },
12365         "Error": {
12366           "type": "object",
12367           "properties": {
12368             "code": {
12369               "type": "string"
12370             },
12371             "info": {
12372               "$ref": "#/definitions/ErrorInfo"
12373             },
12374             "message": {
12375               "type": "string"
12376             }
12377           },
12378           "additionalProperties": false,
12379           "required": [
12380             "message",
12381             "code"
12382           ]
12383         },
12384         "ErrorInfo": {
12385           "type": "object",
12386           "properties": {
12387             "macaroon": {
12388               "$ref": "#/definitions/Macaroon"
12389             },
12390             "macaroon-path": {
12391               "type": "string"
12392             }
12393           },
12394           "additionalProperties": false
12395         },
12396         "Macaroon": {
12397           "type": "object",
12398           "additionalProperties": false
12399         },
12400         "NotifyWatchResult": {
12401           "type": "object",
12402           "properties": {
12403             "NotifyWatcherId": {
12404               "type": "string"
12405             },
12406             "error": {
12407               "$ref": "#/definitions/Error"
12408             }
12409           },
12410           "additionalProperties": false,
12411           "required": [
12412             "NotifyWatcherId"
12413           ]
12414         },
12415         "NotifyWatchResults": {
12416           "type": "object",
12417           "properties": {
12418             "results": {
12419               "type": "array",
12420               "items": {
12421                 "$ref": "#/definitions/NotifyWatchResult"
12422               }
12423             }
12424           },
12425           "additionalProperties": false,
12426           "required": [
12427             "results"
12428           ]
12429         },
12430         "ProviderInterfaceInfo": {
12431           "type": "object",
12432           "properties": {
12433             "interface-name": {
12434               "type": "string"
12435             },
12436             "mac-address": {
12437               "type": "string"
12438             },
12439             "provider-id": {
12440               "type": "string"
12441             }
12442           },
12443           "additionalProperties": false,
12444           "required": [
12445             "interface-name",
12446             "mac-address",
12447             "provider-id"
12448           ]
12449         },
12450         "ProviderInterfaceInfoResult": {
12451           "type": "object",
12452           "properties": {
12453             "error": {
12454               "$ref": "#/definitions/Error"
12455             },
12456             "interfaces": {
12457               "type": "array",
12458               "items": {
12459                 "$ref": "#/definitions/ProviderInterfaceInfo"
12460               }
12461             },
12462             "machine-tag": {
12463               "type": "string"
12464             }
12465           },
12466           "additionalProperties": false,
12467           "required": [
12468             "machine-tag",
12469             "interfaces"
12470           ]
12471         },
12472         "ProviderInterfaceInfoResults": {
12473           "type": "object",
12474           "properties": {
12475             "results": {
12476               "type": "array",
12477               "items": {
12478                 "$ref": "#/definitions/ProviderInterfaceInfoResult"
12479               }
12480             }
12481           },
12482           "additionalProperties": false,
12483           "required": [
12484             "results"
12485           ]
12486         }
12487       }
12488     }
12489   },
12490   {
12491     "Name": "Machiner",
12492     "Version": 1,
12493     "Schema": {
12494       "type": "object",
12495       "properties": {
12496         "APIAddresses": {
12497           "type": "object",
12498           "properties": {
12499             "Result": {
12500               "$ref": "#/definitions/StringsResult"
12501             }
12502           }
12503         },
12504         "APIHostPorts": {
12505           "type": "object",
12506           "properties": {
12507             "Result": {
12508               "$ref": "#/definitions/APIHostPortsResult"
12509             }
12510           }
12511         },
12512         "CACert": {
12513           "type": "object",
12514           "properties": {
12515             "Result": {
12516               "$ref": "#/definitions/BytesResult"
12517             }
12518           }
12519         },
12520         "EnsureDead": {
12521           "type": "object",
12522           "properties": {
12523             "Params": {
12524               "$ref": "#/definitions/Entities"
12525             },
12526             "Result": {
12527               "$ref": "#/definitions/ErrorResults"
12528             }
12529           }
12530         },
12531         "Jobs": {
12532           "type": "object",
12533           "properties": {
12534             "Params": {
12535               "$ref": "#/definitions/Entities"
12536             },
12537             "Result": {
12538               "$ref": "#/definitions/JobsResults"
12539             }
12540           }
12541         },
12542         "Life": {
12543           "type": "object",
12544           "properties": {
12545             "Params": {
12546               "$ref": "#/definitions/Entities"
12547             },
12548             "Result": {
12549               "$ref": "#/definitions/LifeResults"
12550             }
12551           }
12552         },
12553         "ModelUUID": {
12554           "type": "object",
12555           "properties": {
12556             "Result": {
12557               "$ref": "#/definitions/StringResult"
12558             }
12559           }
12560         },
12561         "SetMachineAddresses": {
12562           "type": "object",
12563           "properties": {
12564             "Params": {
12565               "$ref": "#/definitions/SetMachinesAddresses"
12566             },
12567             "Result": {
12568               "$ref": "#/definitions/ErrorResults"
12569             }
12570           }
12571         },
12572         "SetObservedNetworkConfig": {
12573           "type": "object",
12574           "properties": {
12575             "Params": {
12576               "$ref": "#/definitions/SetMachineNetworkConfig"
12577             }
12578           }
12579         },
12580         "SetProviderNetworkConfig": {
12581           "type": "object",
12582           "properties": {
12583             "Params": {
12584               "$ref": "#/definitions/Entities"
12585             },
12586             "Result": {
12587               "$ref": "#/definitions/ErrorResults"
12588             }
12589           }
12590         },
12591         "SetStatus": {
12592           "type": "object",
12593           "properties": {
12594             "Params": {
12595               "$ref": "#/definitions/SetStatus"
12596             },
12597             "Result": {
12598               "$ref": "#/definitions/ErrorResults"
12599             }
12600           }
12601         },
12602         "UpdateStatus": {
12603           "type": "object",
12604           "properties": {
12605             "Params": {
12606               "$ref": "#/definitions/SetStatus"
12607             },
12608             "Result": {
12609               "$ref": "#/definitions/ErrorResults"
12610             }
12611           }
12612         },
12613         "Watch": {
12614           "type": "object",
12615           "properties": {
12616             "Params": {
12617               "$ref": "#/definitions/Entities"
12618             },
12619             "Result": {
12620               "$ref": "#/definitions/NotifyWatchResults"
12621             }
12622           }
12623         },
12624         "WatchAPIHostPorts": {
12625           "type": "object",
12626           "properties": {
12627             "Result": {
12628               "$ref": "#/definitions/NotifyWatchResult"
12629             }
12630           }
12631         }
12632       },
12633       "definitions": {
12634         "APIHostPortsResult": {
12635           "type": "object",
12636           "properties": {
12637             "servers": {
12638               "type": "array",
12639               "items": {
12640                 "type": "array",
12641                 "items": {
12642                   "$ref": "#/definitions/HostPort"
12643                 }
12644               }
12645             }
12646           },
12647           "additionalProperties": false,
12648           "required": [
12649             "servers"
12650           ]
12651         },
12652         "Address": {
12653           "type": "object",
12654           "properties": {
12655             "scope": {
12656               "type": "string"
12657             },
12658             "space-name": {
12659               "type": "string"
12660             },
12661             "type": {
12662               "type": "string"
12663             },
12664             "value": {
12665               "type": "string"
12666             }
12667           },
12668           "additionalProperties": false,
12669           "required": [
12670             "value",
12671             "type",
12672             "scope"
12673           ]
12674         },
12675         "BytesResult": {
12676           "type": "object",
12677           "properties": {
12678             "result": {
12679               "type": "array",
12680               "items": {
12681                 "type": "integer"
12682               }
12683             }
12684           },
12685           "additionalProperties": false,
12686           "required": [
12687             "result"
12688           ]
12689         },
12690         "Entities": {
12691           "type": "object",
12692           "properties": {
12693             "entities": {
12694               "type": "array",
12695               "items": {
12696                 "$ref": "#/definitions/Entity"
12697               }
12698             }
12699           },
12700           "additionalProperties": false,
12701           "required": [
12702             "entities"
12703           ]
12704         },
12705         "Entity": {
12706           "type": "object",
12707           "properties": {
12708             "tag": {
12709               "type": "string"
12710             }
12711           },
12712           "additionalProperties": false,
12713           "required": [
12714             "tag"
12715           ]
12716         },
12717         "EntityStatusArgs": {
12718           "type": "object",
12719           "properties": {
12720             "data": {
12721               "type": "object",
12722               "patternProperties": {
12723                 ".*": {
12724                   "type": "object",
12725                   "additionalProperties": true
12726                 }
12727               }
12728             },
12729             "info": {
12730               "type": "string"
12731             },
12732             "status": {
12733               "type": "string"
12734             },
12735             "tag": {
12736               "type": "string"
12737             }
12738           },
12739           "additionalProperties": false,
12740           "required": [
12741             "tag",
12742             "status",
12743             "info",
12744             "data"
12745           ]
12746         },
12747         "Error": {
12748           "type": "object",
12749           "properties": {
12750             "code": {
12751               "type": "string"
12752             },
12753             "info": {
12754               "$ref": "#/definitions/ErrorInfo"
12755             },
12756             "message": {
12757               "type": "string"
12758             }
12759           },
12760           "additionalProperties": false,
12761           "required": [
12762             "message",
12763             "code"
12764           ]
12765         },
12766         "ErrorInfo": {
12767           "type": "object",
12768           "properties": {
12769             "macaroon": {
12770               "$ref": "#/definitions/Macaroon"
12771             },
12772             "macaroon-path": {
12773               "type": "string"
12774             }
12775           },
12776           "additionalProperties": false
12777         },
12778         "ErrorResult": {
12779           "type": "object",
12780           "properties": {
12781             "error": {
12782               "$ref": "#/definitions/Error"
12783             }
12784           },
12785           "additionalProperties": false
12786         },
12787         "ErrorResults": {
12788           "type": "object",
12789           "properties": {
12790             "results": {
12791               "type": "array",
12792               "items": {
12793                 "$ref": "#/definitions/ErrorResult"
12794               }
12795             }
12796           },
12797           "additionalProperties": false,
12798           "required": [
12799             "results"
12800           ]
12801         },
12802         "HostPort": {
12803           "type": "object",
12804           "properties": {
12805             "Address": {
12806               "$ref": "#/definitions/Address"
12807             },
12808             "port": {
12809               "type": "integer"
12810             }
12811           },
12812           "additionalProperties": false,
12813           "required": [
12814             "Address",
12815             "port"
12816           ]
12817         },
12818         "JobsResult": {
12819           "type": "object",
12820           "properties": {
12821             "error": {
12822               "$ref": "#/definitions/Error"
12823             },
12824             "jobs": {
12825               "type": "array",
12826               "items": {
12827                 "type": "string"
12828               }
12829             }
12830           },
12831           "additionalProperties": false,
12832           "required": [
12833             "jobs"
12834           ]
12835         },
12836         "JobsResults": {
12837           "type": "object",
12838           "properties": {
12839             "results": {
12840               "type": "array",
12841               "items": {
12842                 "$ref": "#/definitions/JobsResult"
12843               }
12844             }
12845           },
12846           "additionalProperties": false,
12847           "required": [
12848             "results"
12849           ]
12850         },
12851         "LifeResult": {
12852           "type": "object",
12853           "properties": {
12854             "error": {
12855               "$ref": "#/definitions/Error"
12856             },
12857             "life": {
12858               "type": "string"
12859             }
12860           },
12861           "additionalProperties": false,
12862           "required": [
12863             "life"
12864           ]
12865         },
12866         "LifeResults": {
12867           "type": "object",
12868           "properties": {
12869             "results": {
12870               "type": "array",
12871               "items": {
12872                 "$ref": "#/definitions/LifeResult"
12873               }
12874             }
12875           },
12876           "additionalProperties": false,
12877           "required": [
12878             "results"
12879           ]
12880         },
12881         "Macaroon": {
12882           "type": "object",
12883           "additionalProperties": false
12884         },
12885         "MachineAddresses": {
12886           "type": "object",
12887           "properties": {
12888             "addresses": {
12889               "type": "array",
12890               "items": {
12891                 "$ref": "#/definitions/Address"
12892               }
12893             },
12894             "tag": {
12895               "type": "string"
12896             }
12897           },
12898           "additionalProperties": false,
12899           "required": [
12900             "tag",
12901             "addresses"
12902           ]
12903         },
12904         "NetworkConfig": {
12905           "type": "object",
12906           "properties": {
12907             "address": {
12908               "type": "string"
12909             },
12910             "cidr": {
12911               "type": "string"
12912             },
12913             "config-type": {
12914               "type": "string"
12915             },
12916             "device-index": {
12917               "type": "integer"
12918             },
12919             "disabled": {
12920               "type": "boolean"
12921             },
12922             "dns-search-domains": {
12923               "type": "array",
12924               "items": {
12925                 "type": "string"
12926               }
12927             },
12928             "dns-servers": {
12929               "type": "array",
12930               "items": {
12931                 "type": "string"
12932               }
12933             },
12934             "gateway-address": {
12935               "type": "string"
12936             },
12937             "interface-name": {
12938               "type": "string"
12939             },
12940             "interface-type": {
12941               "type": "string"
12942             },
12943             "mac-address": {
12944               "type": "string"
12945             },
12946             "mtu": {
12947               "type": "integer"
12948             },
12949             "no-auto-start": {
12950               "type": "boolean"
12951             },
12952             "parent-interface-name": {
12953               "type": "string"
12954             },
12955             "provider-address-id": {
12956               "type": "string"
12957             },
12958             "provider-id": {
12959               "type": "string"
12960             },
12961             "provider-space-id": {
12962               "type": "string"
12963             },
12964             "provider-subnet-id": {
12965               "type": "string"
12966             },
12967             "provider-vlan-id": {
12968               "type": "string"
12969             },
12970             "routes": {
12971               "type": "array",
12972               "items": {
12973                 "$ref": "#/definitions/NetworkRoute"
12974               }
12975             },
12976             "vlan-tag": {
12977               "type": "integer"
12978             }
12979           },
12980           "additionalProperties": false,
12981           "required": [
12982             "device-index",
12983             "mac-address",
12984             "cidr",
12985             "mtu",
12986             "provider-id",
12987             "provider-subnet-id",
12988             "provider-space-id",
12989             "provider-address-id",
12990             "provider-vlan-id",
12991             "vlan-tag",
12992             "interface-name",
12993             "parent-interface-name",
12994             "interface-type",
12995             "disabled"
12996           ]
12997         },
12998         "NetworkRoute": {
12999           "type": "object",
13000           "properties": {
13001             "destination-cidr": {
13002               "type": "string"
13003             },
13004             "gateway-ip": {
13005               "type": "string"
13006             },
13007             "metric": {
13008               "type": "integer"
13009             }
13010           },
13011           "additionalProperties": false,
13012           "required": [
13013             "destination-cidr",
13014             "gateway-ip",
13015             "metric"
13016           ]
13017         },
13018         "NotifyWatchResult": {
13019           "type": "object",
13020           "properties": {
13021             "NotifyWatcherId": {
13022               "type": "string"
13023             },
13024             "error": {
13025               "$ref": "#/definitions/Error"
13026             }
13027           },
13028           "additionalProperties": false,
13029           "required": [
13030             "NotifyWatcherId"
13031           ]
13032         },
13033         "NotifyWatchResults": {
13034           "type": "object",
13035           "properties": {
13036             "results": {
13037               "type": "array",
13038               "items": {
13039                 "$ref": "#/definitions/NotifyWatchResult"
13040               }
13041             }
13042           },
13043           "additionalProperties": false,
13044           "required": [
13045             "results"
13046           ]
13047         },
13048         "SetMachineNetworkConfig": {
13049           "type": "object",
13050           "properties": {
13051             "config": {
13052               "type": "array",
13053               "items": {
13054                 "$ref": "#/definitions/NetworkConfig"
13055               }
13056             },
13057             "tag": {
13058               "type": "string"
13059             }
13060           },
13061           "additionalProperties": false,
13062           "required": [
13063             "tag",
13064             "config"
13065           ]
13066         },
13067         "SetMachinesAddresses": {
13068           "type": "object",
13069           "properties": {
13070             "machine-addresses": {
13071               "type": "array",
13072               "items": {
13073                 "$ref": "#/definitions/MachineAddresses"
13074               }
13075             }
13076           },
13077           "additionalProperties": false,
13078           "required": [
13079             "machine-addresses"
13080           ]
13081         },
13082         "SetStatus": {
13083           "type": "object",
13084           "properties": {
13085             "entities": {
13086               "type": "array",
13087               "items": {
13088                 "$ref": "#/definitions/EntityStatusArgs"
13089               }
13090             }
13091           },
13092           "additionalProperties": false,
13093           "required": [
13094             "entities"
13095           ]
13096         },
13097         "StringResult": {
13098           "type": "object",
13099           "properties": {
13100             "error": {
13101               "$ref": "#/definitions/Error"
13102             },
13103             "result": {
13104               "type": "string"
13105             }
13106           },
13107           "additionalProperties": false,
13108           "required": [
13109             "result"
13110           ]
13111         },
13112         "StringsResult": {
13113           "type": "object",
13114           "properties": {
13115             "error": {
13116               "$ref": "#/definitions/Error"
13117             },
13118             "result": {
13119               "type": "array",
13120               "items": {
13121                 "type": "string"
13122               }
13123             }
13124           },
13125           "additionalProperties": false
13126         }
13127       }
13128     }
13129   },
13130   {
13131     "Name": "MeterStatus",
13132     "Version": 1,
13133     "Schema": {
13134       "type": "object",
13135       "properties": {
13136         "GetMeterStatus": {
13137           "type": "object",
13138           "properties": {
13139             "Params": {
13140               "$ref": "#/definitions/Entities"
13141             },
13142             "Result": {
13143               "$ref": "#/definitions/MeterStatusResults"
13144             }
13145           }
13146         },
13147         "WatchMeterStatus": {
13148           "type": "object",
13149           "properties": {
13150             "Params": {
13151               "$ref": "#/definitions/Entities"
13152             },
13153             "Result": {
13154               "$ref": "#/definitions/NotifyWatchResults"
13155             }
13156           }
13157         }
13158       },
13159       "definitions": {
13160         "Entities": {
13161           "type": "object",
13162           "properties": {
13163             "entities": {
13164               "type": "array",
13165               "items": {
13166                 "$ref": "#/definitions/Entity"
13167               }
13168             }
13169           },
13170           "additionalProperties": false,
13171           "required": [
13172             "entities"
13173           ]
13174         },
13175         "Entity": {
13176           "type": "object",
13177           "properties": {
13178             "tag": {
13179               "type": "string"
13180             }
13181           },
13182           "additionalProperties": false,
13183           "required": [
13184             "tag"
13185           ]
13186         },
13187         "Error": {
13188           "type": "object",
13189           "properties": {
13190             "code": {
13191               "type": "string"
13192             },
13193             "info": {
13194               "$ref": "#/definitions/ErrorInfo"
13195             },
13196             "message": {
13197               "type": "string"
13198             }
13199           },
13200           "additionalProperties": false,
13201           "required": [
13202             "message",
13203             "code"
13204           ]
13205         },
13206         "ErrorInfo": {
13207           "type": "object",
13208           "properties": {
13209             "macaroon": {
13210               "$ref": "#/definitions/Macaroon"
13211             },
13212             "macaroon-path": {
13213               "type": "string"
13214             }
13215           },
13216           "additionalProperties": false
13217         },
13218         "Macaroon": {
13219           "type": "object",
13220           "additionalProperties": false
13221         },
13222         "MeterStatusResult": {
13223           "type": "object",
13224           "properties": {
13225             "code": {
13226               "type": "string"
13227             },
13228             "error": {
13229               "$ref": "#/definitions/Error"
13230             },
13231             "info": {
13232               "type": "string"
13233             }
13234           },
13235           "additionalProperties": false,
13236           "required": [
13237             "code",
13238             "info"
13239           ]
13240         },
13241         "MeterStatusResults": {
13242           "type": "object",
13243           "properties": {
13244             "results": {
13245               "type": "array",
13246               "items": {
13247                 "$ref": "#/definitions/MeterStatusResult"
13248               }
13249             }
13250           },
13251           "additionalProperties": false,
13252           "required": [
13253             "results"
13254           ]
13255         },
13256         "NotifyWatchResult": {
13257           "type": "object",
13258           "properties": {
13259             "NotifyWatcherId": {
13260               "type": "string"
13261             },
13262             "error": {
13263               "$ref": "#/definitions/Error"
13264             }
13265           },
13266           "additionalProperties": false,
13267           "required": [
13268             "NotifyWatcherId"
13269           ]
13270         },
13271         "NotifyWatchResults": {
13272           "type": "object",
13273           "properties": {
13274             "results": {
13275               "type": "array",
13276               "items": {
13277                 "$ref": "#/definitions/NotifyWatchResult"
13278               }
13279             }
13280           },
13281           "additionalProperties": false,
13282           "required": [
13283             "results"
13284           ]
13285         }
13286       }
13287     }
13288   },
13289   {
13290     "Name": "MetricsAdder",
13291     "Version": 2,
13292     "Schema": {
13293       "type": "object",
13294       "properties": {
13295         "AddMetricBatches": {
13296           "type": "object",
13297           "properties": {
13298             "Params": {
13299               "$ref": "#/definitions/MetricBatchParams"
13300             },
13301             "Result": {
13302               "$ref": "#/definitions/ErrorResults"
13303             }
13304           }
13305         }
13306       },
13307       "definitions": {
13308         "Error": {
13309           "type": "object",
13310           "properties": {
13311             "code": {
13312               "type": "string"
13313             },
13314             "info": {
13315               "$ref": "#/definitions/ErrorInfo"
13316             },
13317             "message": {
13318               "type": "string"
13319             }
13320           },
13321           "additionalProperties": false,
13322           "required": [
13323             "message",
13324             "code"
13325           ]
13326         },
13327         "ErrorInfo": {
13328           "type": "object",
13329           "properties": {
13330             "macaroon": {
13331               "$ref": "#/definitions/Macaroon"
13332             },
13333             "macaroon-path": {
13334               "type": "string"
13335             }
13336           },
13337           "additionalProperties": false
13338         },
13339         "ErrorResult": {
13340           "type": "object",
13341           "properties": {
13342             "error": {
13343               "$ref": "#/definitions/Error"
13344             }
13345           },
13346           "additionalProperties": false
13347         },
13348         "ErrorResults": {
13349           "type": "object",
13350           "properties": {
13351             "results": {
13352               "type": "array",
13353               "items": {
13354                 "$ref": "#/definitions/ErrorResult"
13355               }
13356             }
13357           },
13358           "additionalProperties": false,
13359           "required": [
13360             "results"
13361           ]
13362         },
13363         "Macaroon": {
13364           "type": "object",
13365           "additionalProperties": false
13366         },
13367         "Metric": {
13368           "type": "object",
13369           "properties": {
13370             "key": {
13371               "type": "string"
13372             },
13373             "time": {
13374               "type": "string",
13375               "format": "date-time"
13376             },
13377             "value": {
13378               "type": "string"
13379             }
13380           },
13381           "additionalProperties": false,
13382           "required": [
13383             "key",
13384             "value",
13385             "time"
13386           ]
13387         },
13388         "MetricBatch": {
13389           "type": "object",
13390           "properties": {
13391             "charm-url": {
13392               "type": "string"
13393             },
13394             "created": {
13395               "type": "string",
13396               "format": "date-time"
13397             },
13398             "metrics": {
13399               "type": "array",
13400               "items": {
13401                 "$ref": "#/definitions/Metric"
13402               }
13403             },
13404             "uuid": {
13405               "type": "string"
13406             }
13407           },
13408           "additionalProperties": false,
13409           "required": [
13410             "uuid",
13411             "charm-url",
13412             "created",
13413             "metrics"
13414           ]
13415         },
13416         "MetricBatchParam": {
13417           "type": "object",
13418           "properties": {
13419             "batch": {
13420               "$ref": "#/definitions/MetricBatch"
13421             },
13422             "tag": {
13423               "type": "string"
13424             }
13425           },
13426           "additionalProperties": false,
13427           "required": [
13428             "tag",
13429             "batch"
13430           ]
13431         },
13432         "MetricBatchParams": {
13433           "type": "object",
13434           "properties": {
13435             "batches": {
13436               "type": "array",
13437               "items": {
13438                 "$ref": "#/definitions/MetricBatchParam"
13439               }
13440             }
13441           },
13442           "additionalProperties": false,
13443           "required": [
13444             "batches"
13445           ]
13446         }
13447       }
13448     }
13449   },
13450   {
13451     "Name": "MetricsDebug",
13452     "Version": 2,
13453     "Schema": {
13454       "type": "object",
13455       "properties": {
13456         "GetMetrics": {
13457           "type": "object",
13458           "properties": {
13459             "Params": {
13460               "$ref": "#/definitions/Entities"
13461             },
13462             "Result": {
13463               "$ref": "#/definitions/MetricResults"
13464             }
13465           }
13466         },
13467         "SetMeterStatus": {
13468           "type": "object",
13469           "properties": {
13470             "Params": {
13471               "$ref": "#/definitions/MeterStatusParams"
13472             },
13473             "Result": {
13474               "$ref": "#/definitions/ErrorResults"
13475             }
13476           }
13477         }
13478       },
13479       "definitions": {
13480         "Entities": {
13481           "type": "object",
13482           "properties": {
13483             "entities": {
13484               "type": "array",
13485               "items": {
13486                 "$ref": "#/definitions/Entity"
13487               }
13488             }
13489           },
13490           "additionalProperties": false,
13491           "required": [
13492             "entities"
13493           ]
13494         },
13495         "Entity": {
13496           "type": "object",
13497           "properties": {
13498             "tag": {
13499               "type": "string"
13500             }
13501           },
13502           "additionalProperties": false,
13503           "required": [
13504             "tag"
13505           ]
13506         },
13507         "EntityMetrics": {
13508           "type": "object",
13509           "properties": {
13510             "error": {
13511               "$ref": "#/definitions/Error"
13512             },
13513             "metrics": {
13514               "type": "array",
13515               "items": {
13516                 "$ref": "#/definitions/MetricResult"
13517               }
13518             }
13519           },
13520           "additionalProperties": false
13521         },
13522         "Error": {
13523           "type": "object",
13524           "properties": {
13525             "code": {
13526               "type": "string"
13527             },
13528             "info": {
13529               "$ref": "#/definitions/ErrorInfo"
13530             },
13531             "message": {
13532               "type": "string"
13533             }
13534           },
13535           "additionalProperties": false,
13536           "required": [
13537             "message",
13538             "code"
13539           ]
13540         },
13541         "ErrorInfo": {
13542           "type": "object",
13543           "properties": {
13544             "macaroon": {
13545               "$ref": "#/definitions/Macaroon"
13546             },
13547             "macaroon-path": {
13548               "type": "string"
13549             }
13550           },
13551           "additionalProperties": false
13552         },
13553         "ErrorResult": {
13554           "type": "object",
13555           "properties": {
13556             "error": {
13557               "$ref": "#/definitions/Error"
13558             }
13559           },
13560           "additionalProperties": false
13561         },
13562         "ErrorResults": {
13563           "type": "object",
13564           "properties": {
13565             "results": {
13566               "type": "array",
13567               "items": {
13568                 "$ref": "#/definitions/ErrorResult"
13569               }
13570             }
13571           },
13572           "additionalProperties": false,
13573           "required": [
13574             "results"
13575           ]
13576         },
13577         "Macaroon": {
13578           "type": "object",
13579           "additionalProperties": false
13580         },
13581         "MeterStatusParam": {
13582           "type": "object",
13583           "properties": {
13584             "code": {
13585               "type": "string"
13586             },
13587             "info": {
13588               "type": "string"
13589             },
13590             "tag": {
13591               "type": "string"
13592             }
13593           },
13594           "additionalProperties": false,
13595           "required": [
13596             "tag",
13597             "code",
13598             "info"
13599           ]
13600         },
13601         "MeterStatusParams": {
13602           "type": "object",
13603           "properties": {
13604             "statues": {
13605               "type": "array",
13606               "items": {
13607                 "$ref": "#/definitions/MeterStatusParam"
13608               }
13609             }
13610           },
13611           "additionalProperties": false,
13612           "required": [
13613             "statues"
13614           ]
13615         },
13616         "MetricResult": {
13617           "type": "object",
13618           "properties": {
13619             "key": {
13620               "type": "string"
13621             },
13622             "time": {
13623               "type": "string",
13624               "format": "date-time"
13625             },
13626             "unit": {
13627               "type": "string"
13628             },
13629             "value": {
13630               "type": "string"
13631             }
13632           },
13633           "additionalProperties": false,
13634           "required": [
13635             "time",
13636             "key",
13637             "value",
13638             "unit"
13639           ]
13640         },
13641         "MetricResults": {
13642           "type": "object",
13643           "properties": {
13644             "results": {
13645               "type": "array",
13646               "items": {
13647                 "$ref": "#/definitions/EntityMetrics"
13648               }
13649             }
13650           },
13651           "additionalProperties": false,
13652           "required": [
13653             "results"
13654           ]
13655         }
13656       }
13657     }
13658   },
13659   {
13660     "Name": "MetricsManager",
13661     "Version": 1,
13662     "Schema": {
13663       "type": "object",
13664       "properties": {
13665         "AddJujuMachineMetrics": {
13666           "type": "object"
13667         },
13668         "CleanupOldMetrics": {
13669           "type": "object",
13670           "properties": {
13671             "Params": {
13672               "$ref": "#/definitions/Entities"
13673             },
13674             "Result": {
13675               "$ref": "#/definitions/ErrorResults"
13676             }
13677           }
13678         },
13679         "SendMetrics": {
13680           "type": "object",
13681           "properties": {
13682             "Params": {
13683               "$ref": "#/definitions/Entities"
13684             },
13685             "Result": {
13686               "$ref": "#/definitions/ErrorResults"
13687             }
13688           }
13689         }
13690       },
13691       "definitions": {
13692         "Entities": {
13693           "type": "object",
13694           "properties": {
13695             "entities": {
13696               "type": "array",
13697               "items": {
13698                 "$ref": "#/definitions/Entity"
13699               }
13700             }
13701           },
13702           "additionalProperties": false,
13703           "required": [
13704             "entities"
13705           ]
13706         },
13707         "Entity": {
13708           "type": "object",
13709           "properties": {
13710             "tag": {
13711               "type": "string"
13712             }
13713           },
13714           "additionalProperties": false,
13715           "required": [
13716             "tag"
13717           ]
13718         },
13719         "Error": {
13720           "type": "object",
13721           "properties": {
13722             "code": {
13723               "type": "string"
13724             },
13725             "info": {
13726               "$ref": "#/definitions/ErrorInfo"
13727             },
13728             "message": {
13729               "type": "string"
13730             }
13731           },
13732           "additionalProperties": false,
13733           "required": [
13734             "message",
13735             "code"
13736           ]
13737         },
13738         "ErrorInfo": {
13739           "type": "object",
13740           "properties": {
13741             "macaroon": {
13742               "$ref": "#/definitions/Macaroon"
13743             },
13744             "macaroon-path": {
13745               "type": "string"
13746             }
13747           },
13748           "additionalProperties": false
13749         },
13750         "ErrorResult": {
13751           "type": "object",
13752           "properties": {
13753             "error": {
13754               "$ref": "#/definitions/Error"
13755             }
13756           },
13757           "additionalProperties": false
13758         },
13759         "ErrorResults": {
13760           "type": "object",
13761           "properties": {
13762             "results": {
13763               "type": "array",
13764               "items": {
13765                 "$ref": "#/definitions/ErrorResult"
13766               }
13767             }
13768           },
13769           "additionalProperties": false,
13770           "required": [
13771             "results"
13772           ]
13773         },
13774         "Macaroon": {
13775           "type": "object",
13776           "additionalProperties": false
13777         }
13778       }
13779     }
13780   },
13781   {
13782     "Name": "MigrationFlag",
13783     "Version": 1,
13784     "Schema": {
13785       "type": "object",
13786       "properties": {
13787         "Phase": {
13788           "type": "object",
13789           "properties": {
13790             "Params": {
13791               "$ref": "#/definitions/Entities"
13792             },
13793             "Result": {
13794               "$ref": "#/definitions/PhaseResults"
13795             }
13796           }
13797         },
13798         "Watch": {
13799           "type": "object",
13800           "properties": {
13801             "Params": {
13802               "$ref": "#/definitions/Entities"
13803             },
13804             "Result": {
13805               "$ref": "#/definitions/NotifyWatchResults"
13806             }
13807           }
13808         }
13809       },
13810       "definitions": {
13811         "Entities": {
13812           "type": "object",
13813           "properties": {
13814             "entities": {
13815               "type": "array",
13816               "items": {
13817                 "$ref": "#/definitions/Entity"
13818               }
13819             }
13820           },
13821           "additionalProperties": false,
13822           "required": [
13823             "entities"
13824           ]
13825         },
13826         "Entity": {
13827           "type": "object",
13828           "properties": {
13829             "tag": {
13830               "type": "string"
13831             }
13832           },
13833           "additionalProperties": false,
13834           "required": [
13835             "tag"
13836           ]
13837         },
13838         "Error": {
13839           "type": "object",
13840           "properties": {
13841             "code": {
13842               "type": "string"
13843             },
13844             "info": {
13845               "$ref": "#/definitions/ErrorInfo"
13846             },
13847             "message": {
13848               "type": "string"
13849             }
13850           },
13851           "additionalProperties": false,
13852           "required": [
13853             "message",
13854             "code"
13855           ]
13856         },
13857         "ErrorInfo": {
13858           "type": "object",
13859           "properties": {
13860             "macaroon": {
13861               "$ref": "#/definitions/Macaroon"
13862             },
13863             "macaroon-path": {
13864               "type": "string"
13865             }
13866           },
13867           "additionalProperties": false
13868         },
13869         "Macaroon": {
13870           "type": "object",
13871           "additionalProperties": false
13872         },
13873         "NotifyWatchResult": {
13874           "type": "object",
13875           "properties": {
13876             "NotifyWatcherId": {
13877               "type": "string"
13878             },
13879             "error": {
13880               "$ref": "#/definitions/Error"
13881             }
13882           },
13883           "additionalProperties": false,
13884           "required": [
13885             "NotifyWatcherId"
13886           ]
13887         },
13888         "NotifyWatchResults": {
13889           "type": "object",
13890           "properties": {
13891             "results": {
13892               "type": "array",
13893               "items": {
13894                 "$ref": "#/definitions/NotifyWatchResult"
13895               }
13896             }
13897           },
13898           "additionalProperties": false,
13899           "required": [
13900             "results"
13901           ]
13902         },
13903         "PhaseResult": {
13904           "type": "object",
13905           "properties": {
13906             "error": {
13907               "$ref": "#/definitions/Error"
13908             },
13909             "phase": {
13910               "type": "string"
13911             }
13912           },
13913           "additionalProperties": false
13914         },
13915         "PhaseResults": {
13916           "type": "object",
13917           "properties": {
13918             "results": {
13919               "type": "array",
13920               "items": {
13921                 "$ref": "#/definitions/PhaseResult"
13922               }
13923             }
13924           },
13925           "additionalProperties": false,
13926           "required": [
13927             "results"
13928           ]
13929         }
13930       }
13931     }
13932   },
13933   {
13934     "Name": "MigrationMaster",
13935     "Version": 1,
13936     "Schema": {
13937       "type": "object",
13938       "properties": {
13939         "Export": {
13940           "type": "object",
13941           "properties": {
13942             "Result": {
13943               "$ref": "#/definitions/SerializedModel"
13944             }
13945           }
13946         },
13947         "MigrationStatus": {
13948           "type": "object",
13949           "properties": {
13950             "Result": {
13951               "$ref": "#/definitions/MasterMigrationStatus"
13952             }
13953           }
13954         },
13955         "MinionReports": {
13956           "type": "object",
13957           "properties": {
13958             "Result": {
13959               "$ref": "#/definitions/MinionReports"
13960             }
13961           }
13962         },
13963         "ModelInfo": {
13964           "type": "object",
13965           "properties": {
13966             "Result": {
13967               "$ref": "#/definitions/MigrationModelInfo"
13968             }
13969           }
13970         },
13971         "Prechecks": {
13972           "type": "object"
13973         },
13974         "Reap": {
13975           "type": "object"
13976         },
13977         "SetPhase": {
13978           "type": "object",
13979           "properties": {
13980             "Params": {
13981               "$ref": "#/definitions/SetMigrationPhaseArgs"
13982             }
13983           }
13984         },
13985         "SetStatusMessage": {
13986           "type": "object",
13987           "properties": {
13988             "Params": {
13989               "$ref": "#/definitions/SetMigrationStatusMessageArgs"
13990             }
13991           }
13992         },
13993         "Watch": {
13994           "type": "object",
13995           "properties": {
13996             "Result": {
13997               "$ref": "#/definitions/NotifyWatchResult"
13998             }
13999           }
14000         },
14001         "WatchMinionReports": {
14002           "type": "object",
14003           "properties": {
14004             "Result": {
14005               "$ref": "#/definitions/NotifyWatchResult"
14006             }
14007           }
14008         }
14009       },
14010       "definitions": {
14011         "Error": {
14012           "type": "object",
14013           "properties": {
14014             "code": {
14015               "type": "string"
14016             },
14017             "info": {
14018               "$ref": "#/definitions/ErrorInfo"
14019             },
14020             "message": {
14021               "type": "string"
14022             }
14023           },
14024           "additionalProperties": false,
14025           "required": [
14026             "message",
14027             "code"
14028           ]
14029         },
14030         "ErrorInfo": {
14031           "type": "object",
14032           "properties": {
14033             "macaroon": {
14034               "$ref": "#/definitions/Macaroon"
14035             },
14036             "macaroon-path": {
14037               "type": "string"
14038             }
14039           },
14040           "additionalProperties": false
14041         },
14042         "Macaroon": {
14043           "type": "object",
14044           "additionalProperties": false
14045         },
14046         "MasterMigrationStatus": {
14047           "type": "object",
14048           "properties": {
14049             "migration-id": {
14050               "type": "string"
14051             },
14052             "phase": {
14053               "type": "string"
14054             },
14055             "phase-changed-time": {
14056               "type": "string",
14057               "format": "date-time"
14058             },
14059             "spec": {
14060               "$ref": "#/definitions/MigrationSpec"
14061             }
14062           },
14063           "additionalProperties": false,
14064           "required": [
14065             "spec",
14066             "migration-id",
14067             "phase",
14068             "phase-changed-time"
14069           ]
14070         },
14071         "MigrationModelInfo": {
14072           "type": "object",
14073           "properties": {
14074             "agent-version": {
14075               "$ref": "#/definitions/Number"
14076             },
14077             "controller-agent-version": {
14078               "$ref": "#/definitions/Number"
14079             },
14080             "name": {
14081               "type": "string"
14082             },
14083             "owner-tag": {
14084               "type": "string"
14085             },
14086             "uuid": {
14087               "type": "string"
14088             }
14089           },
14090           "additionalProperties": false,
14091           "required": [
14092             "uuid",
14093             "name",
14094             "owner-tag",
14095             "agent-version",
14096             "controller-agent-version"
14097           ]
14098         },
14099         "MigrationSpec": {
14100           "type": "object",
14101           "properties": {
14102             "external-control": {
14103               "type": "boolean"
14104             },
14105             "model-tag": {
14106               "type": "string"
14107             },
14108             "skip-initial-prechecks": {
14109               "type": "boolean"
14110             },
14111             "target-info": {
14112               "$ref": "#/definitions/MigrationTargetInfo"
14113             }
14114           },
14115           "additionalProperties": false,
14116           "required": [
14117             "model-tag",
14118             "target-info",
14119             "external-control",
14120             "skip-initial-prechecks"
14121           ]
14122         },
14123         "MigrationTargetInfo": {
14124           "type": "object",
14125           "properties": {
14126             "addrs": {
14127               "type": "array",
14128               "items": {
14129                 "type": "string"
14130               }
14131             },
14132             "auth-tag": {
14133               "type": "string"
14134             },
14135             "ca-cert": {
14136               "type": "string"
14137             },
14138             "controller-tag": {
14139               "type": "string"
14140             },
14141             "macaroons": {
14142               "type": "string"
14143             },
14144             "password": {
14145               "type": "string"
14146             }
14147           },
14148           "additionalProperties": false,
14149           "required": [
14150             "controller-tag",
14151             "addrs",
14152             "ca-cert",
14153             "auth-tag"
14154           ]
14155         },
14156         "MinionReports": {
14157           "type": "object",
14158           "properties": {
14159             "failed": {
14160               "type": "array",
14161               "items": {
14162                 "type": "string"
14163               }
14164             },
14165             "migration-id": {
14166               "type": "string"
14167             },
14168             "phase": {
14169               "type": "string"
14170             },
14171             "success-count": {
14172               "type": "integer"
14173             },
14174             "unknown-count": {
14175               "type": "integer"
14176             },
14177             "unknown-sample": {
14178               "type": "array",
14179               "items": {
14180                 "type": "string"
14181               }
14182             }
14183           },
14184           "additionalProperties": false,
14185           "required": [
14186             "migration-id",
14187             "phase",
14188             "success-count",
14189             "unknown-count",
14190             "unknown-sample",
14191             "failed"
14192           ]
14193         },
14194         "NotifyWatchResult": {
14195           "type": "object",
14196           "properties": {
14197             "NotifyWatcherId": {
14198               "type": "string"
14199             },
14200             "error": {
14201               "$ref": "#/definitions/Error"
14202             }
14203           },
14204           "additionalProperties": false,
14205           "required": [
14206             "NotifyWatcherId"
14207           ]
14208         },
14209         "Number": {
14210           "type": "object",
14211           "properties": {
14212             "Build": {
14213               "type": "integer"
14214             },
14215             "Major": {
14216               "type": "integer"
14217             },
14218             "Minor": {
14219               "type": "integer"
14220             },
14221             "Patch": {
14222               "type": "integer"
14223             },
14224             "Tag": {
14225               "type": "string"
14226             }
14227           },
14228           "additionalProperties": false,
14229           "required": [
14230             "Major",
14231             "Minor",
14232             "Tag",
14233             "Patch",
14234             "Build"
14235           ]
14236         },
14237         "SerializedModel": {
14238           "type": "object",
14239           "properties": {
14240             "bytes": {
14241               "type": "array",
14242               "items": {
14243                 "type": "integer"
14244               }
14245             },
14246             "charms": {
14247               "type": "array",
14248               "items": {
14249                 "type": "string"
14250               }
14251             },
14252             "resources": {
14253               "type": "array",
14254               "items": {
14255                 "$ref": "#/definitions/SerializedModelResource"
14256               }
14257             },
14258             "tools": {
14259               "type": "array",
14260               "items": {
14261                 "$ref": "#/definitions/SerializedModelTools"
14262               }
14263             }
14264           },
14265           "additionalProperties": false,
14266           "required": [
14267             "bytes",
14268             "charms",
14269             "tools",
14270             "resources"
14271           ]
14272         },
14273         "SerializedModelResource": {
14274           "type": "object",
14275           "properties": {
14276             "application": {
14277               "type": "string"
14278             },
14279             "application-revision": {
14280               "$ref": "#/definitions/SerializedModelResourceRevision"
14281             },
14282             "charmstore-revision": {
14283               "$ref": "#/definitions/SerializedModelResourceRevision"
14284             },
14285             "name": {
14286               "type": "string"
14287             },
14288             "unit-revisions": {
14289               "type": "object",
14290               "patternProperties": {
14291                 ".*": {
14292                   "$ref": "#/definitions/SerializedModelResourceRevision"
14293                 }
14294               }
14295             }
14296           },
14297           "additionalProperties": false,
14298           "required": [
14299             "application",
14300             "name",
14301             "application-revision",
14302             "charmstore-revision",
14303             "unit-revisions"
14304           ]
14305         },
14306         "SerializedModelResourceRevision": {
14307           "type": "object",
14308           "properties": {
14309             "description": {
14310               "type": "string"
14311             },
14312             "fingerprint": {
14313               "type": "string"
14314             },
14315             "origin": {
14316               "type": "string"
14317             },
14318             "path": {
14319               "type": "string"
14320             },
14321             "revision": {
14322               "type": "integer"
14323             },
14324             "size": {
14325               "type": "integer"
14326             },
14327             "timestamp": {
14328               "type": "string",
14329               "format": "date-time"
14330             },
14331             "type": {
14332               "type": "string"
14333             },
14334             "username": {
14335               "type": "string"
14336             }
14337           },
14338           "additionalProperties": false,
14339           "required": [
14340             "revision",
14341             "type",
14342             "path",
14343             "description",
14344             "origin",
14345             "fingerprint",
14346             "size",
14347             "timestamp"
14348           ]
14349         },
14350         "SerializedModelTools": {
14351           "type": "object",
14352           "properties": {
14353             "uri": {
14354               "type": "string"
14355             },
14356             "version": {
14357               "type": "string"
14358             }
14359           },
14360           "additionalProperties": false,
14361           "required": [
14362             "version",
14363             "uri"
14364           ]
14365         },
14366         "SetMigrationPhaseArgs": {
14367           "type": "object",
14368           "properties": {
14369             "phase": {
14370               "type": "string"
14371             }
14372           },
14373           "additionalProperties": false,
14374           "required": [
14375             "phase"
14376           ]
14377         },
14378         "SetMigrationStatusMessageArgs": {
14379           "type": "object",
14380           "properties": {
14381             "message": {
14382               "type": "string"
14383             }
14384           },
14385           "additionalProperties": false,
14386           "required": [
14387             "message"
14388           ]
14389         }
14390       }
14391     }
14392   },
14393   {
14394     "Name": "MigrationMinion",
14395     "Version": 1,
14396     "Schema": {
14397       "type": "object",
14398       "properties": {
14399         "Report": {
14400           "type": "object",
14401           "properties": {
14402             "Params": {
14403               "$ref": "#/definitions/MinionReport"
14404             }
14405           }
14406         },
14407         "Watch": {
14408           "type": "object",
14409           "properties": {
14410             "Result": {
14411               "$ref": "#/definitions/NotifyWatchResult"
14412             }
14413           }
14414         }
14415       },
14416       "definitions": {
14417         "Error": {
14418           "type": "object",
14419           "properties": {
14420             "code": {
14421               "type": "string"
14422             },
14423             "info": {
14424               "$ref": "#/definitions/ErrorInfo"
14425             },
14426             "message": {
14427               "type": "string"
14428             }
14429           },
14430           "additionalProperties": false,
14431           "required": [
14432             "message",
14433             "code"
14434           ]
14435         },
14436         "ErrorInfo": {
14437           "type": "object",
14438           "properties": {
14439             "macaroon": {
14440               "$ref": "#/definitions/Macaroon"
14441             },
14442             "macaroon-path": {
14443               "type": "string"
14444             }
14445           },
14446           "additionalProperties": false
14447         },
14448         "Macaroon": {
14449           "type": "object",
14450           "additionalProperties": false
14451         },
14452         "MinionReport": {
14453           "type": "object",
14454           "properties": {
14455             "migration-id": {
14456               "type": "string"
14457             },
14458             "phase": {
14459               "type": "string"
14460             },
14461             "success": {
14462               "type": "boolean"
14463             }
14464           },
14465           "additionalProperties": false,
14466           "required": [
14467             "migration-id",
14468             "phase",
14469             "success"
14470           ]
14471         },
14472         "NotifyWatchResult": {
14473           "type": "object",
14474           "properties": {
14475             "NotifyWatcherId": {
14476               "type": "string"
14477             },
14478             "error": {
14479               "$ref": "#/definitions/Error"
14480             }
14481           },
14482           "additionalProperties": false,
14483           "required": [
14484             "NotifyWatcherId"
14485           ]
14486         }
14487       }
14488     }
14489   },
14490   {
14491     "Name": "MigrationStatusWatcher",
14492     "Version": 1,
14493     "Schema": {
14494       "type": "object",
14495       "properties": {
14496         "Next": {
14497           "type": "object",
14498           "properties": {
14499             "Result": {
14500               "$ref": "#/definitions/MigrationStatus"
14501             }
14502           }
14503         },
14504         "Stop": {
14505           "type": "object"
14506         }
14507       },
14508       "definitions": {
14509         "MigrationStatus": {
14510           "type": "object",
14511           "properties": {
14512             "attempt": {
14513               "type": "integer"
14514             },
14515             "external-control": {
14516               "type": "boolean"
14517             },
14518             "migration-id": {
14519               "type": "string"
14520             },
14521             "phase": {
14522               "type": "string"
14523             },
14524             "source-api-addrs": {
14525               "type": "array",
14526               "items": {
14527                 "type": "string"
14528               }
14529             },
14530             "source-ca-cert": {
14531               "type": "string"
14532             },
14533             "target-api-addrs": {
14534               "type": "array",
14535               "items": {
14536                 "type": "string"
14537               }
14538             },
14539             "target-ca-cert": {
14540               "type": "string"
14541             }
14542           },
14543           "additionalProperties": false,
14544           "required": [
14545             "migration-id",
14546             "attempt",
14547             "phase",
14548             "external-control",
14549             "source-api-addrs",
14550             "source-ca-cert",
14551             "target-api-addrs",
14552             "target-ca-cert"
14553           ]
14554         }
14555       }
14556     }
14557   },
14558   {
14559     "Name": "MigrationTarget",
14560     "Version": 1,
14561     "Schema": {
14562       "type": "object",
14563       "properties": {
14564         "Abort": {
14565           "type": "object",
14566           "properties": {
14567             "Params": {
14568               "$ref": "#/definitions/ModelArgs"
14569             }
14570           }
14571         },
14572         "Activate": {
14573           "type": "object",
14574           "properties": {
14575             "Params": {
14576               "$ref": "#/definitions/ModelArgs"
14577             }
14578           }
14579         },
14580         "AdoptResources": {
14581           "type": "object",
14582           "properties": {
14583             "Params": {
14584               "$ref": "#/definitions/AdoptResourcesArgs"
14585             }
14586           }
14587         },
14588         "Import": {
14589           "type": "object",
14590           "properties": {
14591             "Params": {
14592               "$ref": "#/definitions/SerializedModel"
14593             }
14594           }
14595         },
14596         "LatestLogTime": {
14597           "type": "object",
14598           "properties": {
14599             "Params": {
14600               "$ref": "#/definitions/ModelArgs"
14601             },
14602             "Result": {
14603               "type": "string",
14604               "format": "date-time"
14605             }
14606           }
14607         },
14608         "Prechecks": {
14609           "type": "object",
14610           "properties": {
14611             "Params": {
14612               "$ref": "#/definitions/MigrationModelInfo"
14613             }
14614           }
14615         }
14616       },
14617       "definitions": {
14618         "AdoptResourcesArgs": {
14619           "type": "object",
14620           "properties": {
14621             "model-tag": {
14622               "type": "string"
14623             },
14624             "source-controller-version": {
14625               "$ref": "#/definitions/Number"
14626             }
14627           },
14628           "additionalProperties": false,
14629           "required": [
14630             "model-tag",
14631             "source-controller-version"
14632           ]
14633         },
14634         "MigrationModelInfo": {
14635           "type": "object",
14636           "properties": {
14637             "agent-version": {
14638               "$ref": "#/definitions/Number"
14639             },
14640             "controller-agent-version": {
14641               "$ref": "#/definitions/Number"
14642             },
14643             "name": {
14644               "type": "string"
14645             },
14646             "owner-tag": {
14647               "type": "string"
14648             },
14649             "uuid": {
14650               "type": "string"
14651             }
14652           },
14653           "additionalProperties": false,
14654           "required": [
14655             "uuid",
14656             "name",
14657             "owner-tag",
14658             "agent-version",
14659             "controller-agent-version"
14660           ]
14661         },
14662         "ModelArgs": {
14663           "type": "object",
14664           "properties": {
14665             "model-tag": {
14666               "type": "string"
14667             }
14668           },
14669           "additionalProperties": false,
14670           "required": [
14671             "model-tag"
14672           ]
14673         },
14674         "Number": {
14675           "type": "object",
14676           "properties": {
14677             "Build": {
14678               "type": "integer"
14679             },
14680             "Major": {
14681               "type": "integer"
14682             },
14683             "Minor": {
14684               "type": "integer"
14685             },
14686             "Patch": {
14687               "type": "integer"
14688             },
14689             "Tag": {
14690               "type": "string"
14691             }
14692           },
14693           "additionalProperties": false,
14694           "required": [
14695             "Major",
14696             "Minor",
14697             "Tag",
14698             "Patch",
14699             "Build"
14700           ]
14701         },
14702         "SerializedModel": {
14703           "type": "object",
14704           "properties": {
14705             "bytes": {
14706               "type": "array",
14707               "items": {
14708                 "type": "integer"
14709               }
14710             },
14711             "charms": {
14712               "type": "array",
14713               "items": {
14714                 "type": "string"
14715               }
14716             },
14717             "resources": {
14718               "type": "array",
14719               "items": {
14720                 "$ref": "#/definitions/SerializedModelResource"
14721               }
14722             },
14723             "tools": {
14724               "type": "array",
14725               "items": {
14726                 "$ref": "#/definitions/SerializedModelTools"
14727               }
14728             }
14729           },
14730           "additionalProperties": false,
14731           "required": [
14732             "bytes",
14733             "charms",
14734             "tools",
14735             "resources"
14736           ]
14737         },
14738         "SerializedModelResource": {
14739           "type": "object",
14740           "properties": {
14741             "application": {
14742               "type": "string"
14743             },
14744             "application-revision": {
14745               "$ref": "#/definitions/SerializedModelResourceRevision"
14746             },
14747             "charmstore-revision": {
14748               "$ref": "#/definitions/SerializedModelResourceRevision"
14749             },
14750             "name": {
14751               "type": "string"
14752             },
14753             "unit-revisions": {
14754               "type": "object",
14755               "patternProperties": {
14756                 ".*": {
14757                   "$ref": "#/definitions/SerializedModelResourceRevision"
14758                 }
14759               }
14760             }
14761           },
14762           "additionalProperties": false,
14763           "required": [
14764             "application",
14765             "name",
14766             "application-revision",
14767             "charmstore-revision",
14768             "unit-revisions"
14769           ]
14770         },
14771         "SerializedModelResourceRevision": {
14772           "type": "object",
14773           "properties": {
14774             "description": {
14775               "type": "string"
14776             },
14777             "fingerprint": {
14778               "type": "string"
14779             },
14780             "origin": {
14781               "type": "string"
14782             },
14783             "path": {
14784               "type": "string"
14785             },
14786             "revision": {
14787               "type": "integer"
14788             },
14789             "size": {
14790               "type": "integer"
14791             },
14792             "timestamp": {
14793               "type": "string",
14794               "format": "date-time"
14795             },
14796             "type": {
14797               "type": "string"
14798             },
14799             "username": {
14800               "type": "string"
14801             }
14802           },
14803           "additionalProperties": false,
14804           "required": [
14805             "revision",
14806             "type",
14807             "path",
14808             "description",
14809             "origin",
14810             "fingerprint",
14811             "size",
14812             "timestamp"
14813           ]
14814         },
14815         "SerializedModelTools": {
14816           "type": "object",
14817           "properties": {
14818             "uri": {
14819               "type": "string"
14820             },
14821             "version": {
14822               "type": "string"
14823             }
14824           },
14825           "additionalProperties": false,
14826           "required": [
14827             "version",
14828             "uri"
14829           ]
14830         }
14831       }
14832     }
14833   },
14834   {
14835     "Name": "ModelConfig",
14836     "Version": 1,
14837     "Schema": {
14838       "type": "object",
14839       "properties": {
14840         "ModelGet": {
14841           "type": "object",
14842           "properties": {
14843             "Result": {
14844               "$ref": "#/definitions/ModelConfigResults"
14845             }
14846           }
14847         },
14848         "ModelSet": {
14849           "type": "object",
14850           "properties": {
14851             "Params": {
14852               "$ref": "#/definitions/ModelSet"
14853             }
14854           }
14855         },
14856         "ModelUnset": {
14857           "type": "object",
14858           "properties": {
14859             "Params": {
14860               "$ref": "#/definitions/ModelUnset"
14861             }
14862           }
14863         },
14864         "SLALevel": {
14865           "type": "object",
14866           "properties": {
14867             "Result": {
14868               "$ref": "#/definitions/StringResult"
14869             }
14870           }
14871         },
14872         "SetSLALevel": {
14873           "type": "object",
14874           "properties": {
14875             "Params": {
14876               "$ref": "#/definitions/ModelSLA"
14877             }
14878           }
14879         }
14880       },
14881       "definitions": {
14882         "ConfigValue": {
14883           "type": "object",
14884           "properties": {
14885             "source": {
14886               "type": "string"
14887             },
14888             "value": {
14889               "type": "object",
14890               "additionalProperties": true
14891             }
14892           },
14893           "additionalProperties": false,
14894           "required": [
14895             "value",
14896             "source"
14897           ]
14898         },
14899         "Error": {
14900           "type": "object",
14901           "properties": {
14902             "code": {
14903               "type": "string"
14904             },
14905             "info": {
14906               "$ref": "#/definitions/ErrorInfo"
14907             },
14908             "message": {
14909               "type": "string"
14910             }
14911           },
14912           "additionalProperties": false,
14913           "required": [
14914             "message",
14915             "code"
14916           ]
14917         },
14918         "ErrorInfo": {
14919           "type": "object",
14920           "properties": {
14921             "macaroon": {
14922               "$ref": "#/definitions/Macaroon"
14923             },
14924             "macaroon-path": {
14925               "type": "string"
14926             }
14927           },
14928           "additionalProperties": false
14929         },
14930         "Macaroon": {
14931           "type": "object",
14932           "additionalProperties": false
14933         },
14934         "ModelConfigResults": {
14935           "type": "object",
14936           "properties": {
14937             "config": {
14938               "type": "object",
14939               "patternProperties": {
14940                 ".*": {
14941                   "$ref": "#/definitions/ConfigValue"
14942                 }
14943               }
14944             }
14945           },
14946           "additionalProperties": false,
14947           "required": [
14948             "config"
14949           ]
14950         },
14951         "ModelSLA": {
14952           "type": "object",
14953           "properties": {
14954             "ModelSLAInfo": {
14955               "$ref": "#/definitions/ModelSLAInfo"
14956             },
14957             "creds": {
14958               "type": "array",
14959               "items": {
14960                 "type": "integer"
14961               }
14962             }
14963           },
14964           "additionalProperties": false,
14965           "required": [
14966             "ModelSLAInfo",
14967             "creds"
14968           ]
14969         },
14970         "ModelSLAInfo": {
14971           "type": "object",
14972           "properties": {
14973             "level": {
14974               "type": "string"
14975             },
14976             "owner": {
14977               "type": "string"
14978             }
14979           },
14980           "additionalProperties": false,
14981           "required": [
14982             "level",
14983             "owner"
14984           ]
14985         },
14986         "ModelSet": {
14987           "type": "object",
14988           "properties": {
14989             "config": {
14990               "type": "object",
14991               "patternProperties": {
14992                 ".*": {
14993                   "type": "object",
14994                   "additionalProperties": true
14995                 }
14996               }
14997             }
14998           },
14999           "additionalProperties": false,
15000           "required": [
15001             "config"
15002           ]
15003         },
15004         "ModelUnset": {
15005           "type": "object",
15006           "properties": {
15007             "keys": {
15008               "type": "array",
15009               "items": {
15010                 "type": "string"
15011               }
15012             }
15013           },
15014           "additionalProperties": false,
15015           "required": [
15016             "keys"
15017           ]
15018         },
15019         "StringResult": {
15020           "type": "object",
15021           "properties": {
15022             "error": {
15023               "$ref": "#/definitions/Error"
15024             },
15025             "result": {
15026               "type": "string"
15027             }
15028           },
15029           "additionalProperties": false,
15030           "required": [
15031             "result"
15032           ]
15033         }
15034       }
15035     }
15036   },
15037   {
15038     "Name": "ModelManager",
15039     "Version": 2,
15040     "Schema": {
15041       "type": "object",
15042       "properties": {
15043         "CreateModel": {
15044           "type": "object",
15045           "properties": {
15046             "Params": {
15047               "$ref": "#/definitions/ModelCreateArgs"
15048             },
15049             "Result": {
15050               "$ref": "#/definitions/ModelInfo"
15051             }
15052           }
15053         },
15054         "DestroyModels": {
15055           "type": "object",
15056           "properties": {
15057             "Params": {
15058               "$ref": "#/definitions/Entities"
15059             },
15060             "Result": {
15061               "$ref": "#/definitions/ErrorResults"
15062             }
15063           }
15064         },
15065         "DumpModels": {
15066           "type": "object",
15067           "properties": {
15068             "Params": {
15069               "$ref": "#/definitions/Entities"
15070             },
15071             "Result": {
15072               "$ref": "#/definitions/MapResults"
15073             }
15074           }
15075         },
15076         "DumpModelsDB": {
15077           "type": "object",
15078           "properties": {
15079             "Params": {
15080               "$ref": "#/definitions/Entities"
15081             },
15082             "Result": {
15083               "$ref": "#/definitions/MapResults"
15084             }
15085           }
15086         },
15087         "ListModels": {
15088           "type": "object",
15089           "properties": {
15090             "Params": {
15091               "$ref": "#/definitions/Entity"
15092             },
15093             "Result": {
15094               "$ref": "#/definitions/UserModelList"
15095             }
15096           }
15097         },
15098         "ModelDefaults": {
15099           "type": "object",
15100           "properties": {
15101             "Result": {
15102               "$ref": "#/definitions/ModelDefaultsResult"
15103             }
15104           }
15105         },
15106         "ModelInfo": {
15107           "type": "object",
15108           "properties": {
15109             "Params": {
15110               "$ref": "#/definitions/Entities"
15111             },
15112             "Result": {
15113               "$ref": "#/definitions/ModelInfoResults"
15114             }
15115           }
15116         },
15117         "ModelStatus": {
15118           "type": "object",
15119           "properties": {
15120             "Params": {
15121               "$ref": "#/definitions/Entities"
15122             },
15123             "Result": {
15124               "$ref": "#/definitions/ModelStatusResults"
15125             }
15126           }
15127         },
15128         "ModifyModelAccess": {
15129           "type": "object",
15130           "properties": {
15131             "Params": {
15132               "$ref": "#/definitions/ModifyModelAccessRequest"
15133             },
15134             "Result": {
15135               "$ref": "#/definitions/ErrorResults"
15136             }
15137           }
15138         },
15139         "SetModelDefaults": {
15140           "type": "object",
15141           "properties": {
15142             "Params": {
15143               "$ref": "#/definitions/SetModelDefaults"
15144             },
15145             "Result": {
15146               "$ref": "#/definitions/ErrorResults"
15147             }
15148           }
15149         },
15150         "UnsetModelDefaults": {
15151           "type": "object",
15152           "properties": {
15153             "Params": {
15154               "$ref": "#/definitions/UnsetModelDefaults"
15155             },
15156             "Result": {
15157               "$ref": "#/definitions/ErrorResults"
15158             }
15159           }
15160         }
15161       },
15162       "definitions": {
15163         "Entities": {
15164           "type": "object",
15165           "properties": {
15166             "entities": {
15167               "type": "array",
15168               "items": {
15169                 "$ref": "#/definitions/Entity"
15170               }
15171             }
15172           },
15173           "additionalProperties": false,
15174           "required": [
15175             "entities"
15176           ]
15177         },
15178         "Entity": {
15179           "type": "object",
15180           "properties": {
15181             "tag": {
15182               "type": "string"
15183             }
15184           },
15185           "additionalProperties": false,
15186           "required": [
15187             "tag"
15188           ]
15189         },
15190         "EntityStatus": {
15191           "type": "object",
15192           "properties": {
15193             "data": {
15194               "type": "object",
15195               "patternProperties": {
15196                 ".*": {
15197                   "type": "object",
15198                   "additionalProperties": true
15199                 }
15200               }
15201             },
15202             "info": {
15203               "type": "string"
15204             },
15205             "since": {
15206               "type": "string",
15207               "format": "date-time"
15208             },
15209             "status": {
15210               "type": "string"
15211             }
15212           },
15213           "additionalProperties": false,
15214           "required": [
15215             "status",
15216             "info",
15217             "since"
15218           ]
15219         },
15220         "Error": {
15221           "type": "object",
15222           "properties": {
15223             "code": {
15224               "type": "string"
15225             },
15226             "info": {
15227               "$ref": "#/definitions/ErrorInfo"
15228             },
15229             "message": {
15230               "type": "string"
15231             }
15232           },
15233           "additionalProperties": false,
15234           "required": [
15235             "message",
15236             "code"
15237           ]
15238         },
15239         "ErrorInfo": {
15240           "type": "object",
15241           "properties": {
15242             "macaroon": {
15243               "$ref": "#/definitions/Macaroon"
15244             },
15245             "macaroon-path": {
15246               "type": "string"
15247             }
15248           },
15249           "additionalProperties": false
15250         },
15251         "ErrorResult": {
15252           "type": "object",
15253           "properties": {
15254             "error": {
15255               "$ref": "#/definitions/Error"
15256             }
15257           },
15258           "additionalProperties": false
15259         },
15260         "ErrorResults": {
15261           "type": "object",
15262           "properties": {
15263             "results": {
15264               "type": "array",
15265               "items": {
15266                 "$ref": "#/definitions/ErrorResult"
15267               }
15268             }
15269           },
15270           "additionalProperties": false,
15271           "required": [
15272             "results"
15273           ]
15274         },
15275         "Macaroon": {
15276           "type": "object",
15277           "additionalProperties": false
15278         },
15279         "MachineHardware": {
15280           "type": "object",
15281           "properties": {
15282             "arch": {
15283               "type": "string"
15284             },
15285             "availability-zone": {
15286               "type": "string"
15287             },
15288             "cores": {
15289               "type": "integer"
15290             },
15291             "cpu-power": {
15292               "type": "integer"
15293             },
15294             "mem": {
15295               "type": "integer"
15296             },
15297             "root-disk": {
15298               "type": "integer"
15299             },
15300             "tags": {
15301               "type": "array",
15302               "items": {
15303                 "type": "string"
15304               }
15305             }
15306           },
15307           "additionalProperties": false
15308         },
15309         "MapResult": {
15310           "type": "object",
15311           "properties": {
15312             "error": {
15313               "$ref": "#/definitions/Error"
15314             },
15315             "result": {
15316               "type": "object",
15317               "patternProperties": {
15318                 ".*": {
15319                   "type": "object",
15320                   "additionalProperties": true
15321                 }
15322               }
15323             }
15324           },
15325           "additionalProperties": false,
15326           "required": [
15327             "result"
15328           ]
15329         },
15330         "MapResults": {
15331           "type": "object",
15332           "properties": {
15333             "results": {
15334               "type": "array",
15335               "items": {
15336                 "$ref": "#/definitions/MapResult"
15337               }
15338             }
15339           },
15340           "additionalProperties": false,
15341           "required": [
15342             "results"
15343           ]
15344         },
15345         "Model": {
15346           "type": "object",
15347           "properties": {
15348             "name": {
15349               "type": "string"
15350             },
15351             "owner-tag": {
15352               "type": "string"
15353             },
15354             "uuid": {
15355               "type": "string"
15356             }
15357           },
15358           "additionalProperties": false,
15359           "required": [
15360             "name",
15361             "uuid",
15362             "owner-tag"
15363           ]
15364         },
15365         "ModelCreateArgs": {
15366           "type": "object",
15367           "properties": {
15368             "cloud-tag": {
15369               "type": "string"
15370             },
15371             "config": {
15372               "type": "object",
15373               "patternProperties": {
15374                 ".*": {
15375                   "type": "object",
15376                   "additionalProperties": true
15377                 }
15378               }
15379             },
15380             "credential": {
15381               "type": "string"
15382             },
15383             "name": {
15384               "type": "string"
15385             },
15386             "owner-tag": {
15387               "type": "string"
15388             },
15389             "region": {
15390               "type": "string"
15391             }
15392           },
15393           "additionalProperties": false,
15394           "required": [
15395             "name",
15396             "owner-tag"
15397           ]
15398         },
15399         "ModelDefaultValues": {
15400           "type": "object",
15401           "properties": {
15402             "cloud-region": {
15403               "type": "string"
15404             },
15405             "cloud-tag": {
15406               "type": "string"
15407             },
15408             "config": {
15409               "type": "object",
15410               "patternProperties": {
15411                 ".*": {
15412                   "type": "object",
15413                   "additionalProperties": true
15414                 }
15415               }
15416             }
15417           },
15418           "additionalProperties": false,
15419           "required": [
15420             "config"
15421           ]
15422         },
15423         "ModelDefaults": {
15424           "type": "object",
15425           "properties": {
15426             "controller": {
15427               "type": "object",
15428               "additionalProperties": true
15429             },
15430             "default": {
15431               "type": "object",
15432               "additionalProperties": true
15433             },
15434             "regions": {
15435               "type": "array",
15436               "items": {
15437                 "$ref": "#/definitions/RegionDefaults"
15438               }
15439             }
15440           },
15441           "additionalProperties": false
15442         },
15443         "ModelDefaultsResult": {
15444           "type": "object",
15445           "properties": {
15446             "config": {
15447               "type": "object",
15448               "patternProperties": {
15449                 ".*": {
15450                   "$ref": "#/definitions/ModelDefaults"
15451                 }
15452               }
15453             }
15454           },
15455           "additionalProperties": false,
15456           "required": [
15457             "config"
15458           ]
15459         },
15460         "ModelInfo": {
15461           "type": "object",
15462           "properties": {
15463             "cloud-credential-tag": {
15464               "type": "string"
15465             },
15466             "cloud-region": {
15467               "type": "string"
15468             },
15469             "cloud-tag": {
15470               "type": "string"
15471             },
15472             "controller-uuid": {
15473               "type": "string"
15474             },
15475             "default-series": {
15476               "type": "string"
15477             },
15478             "life": {
15479               "type": "string"
15480             },
15481             "machines": {
15482               "type": "array",
15483               "items": {
15484                 "$ref": "#/definitions/ModelMachineInfo"
15485               }
15486             },
15487             "migration": {
15488               "$ref": "#/definitions/ModelMigrationStatus"
15489             },
15490             "name": {
15491               "type": "string"
15492             },
15493             "owner-tag": {
15494               "type": "string"
15495             },
15496             "provider-type": {
15497               "type": "string"
15498             },
15499             "sla": {
15500               "$ref": "#/definitions/ModelSLAInfo"
15501             },
15502             "status": {
15503               "$ref": "#/definitions/EntityStatus"
15504             },
15505             "users": {
15506               "type": "array",
15507               "items": {
15508                 "$ref": "#/definitions/ModelUserInfo"
15509               }
15510             },
15511             "uuid": {
15512               "type": "string"
15513             }
15514           },
15515           "additionalProperties": false,
15516           "required": [
15517             "name",
15518             "uuid",
15519             "controller-uuid",
15520             "provider-type",
15521             "default-series",
15522             "cloud-tag",
15523             "owner-tag",
15524             "life",
15525             "status",
15526             "users",
15527             "machines",
15528             "sla"
15529           ]
15530         },
15531         "ModelInfoResult": {
15532           "type": "object",
15533           "properties": {
15534             "error": {
15535               "$ref": "#/definitions/Error"
15536             },
15537             "result": {
15538               "$ref": "#/definitions/ModelInfo"
15539             }
15540           },
15541           "additionalProperties": false
15542         },
15543         "ModelInfoResults": {
15544           "type": "object",
15545           "properties": {
15546             "results": {
15547               "type": "array",
15548               "items": {
15549                 "$ref": "#/definitions/ModelInfoResult"
15550               }
15551             }
15552           },
15553           "additionalProperties": false,
15554           "required": [
15555             "results"
15556           ]
15557         },
15558         "ModelMachineInfo": {
15559           "type": "object",
15560           "properties": {
15561             "hardware": {
15562               "$ref": "#/definitions/MachineHardware"
15563             },
15564             "has-vote": {
15565               "type": "boolean"
15566             },
15567             "id": {
15568               "type": "string"
15569             },
15570             "instance-id": {
15571               "type": "string"
15572             },
15573             "status": {
15574               "type": "string"
15575             },
15576             "wants-vote": {
15577               "type": "boolean"
15578             }
15579           },
15580           "additionalProperties": false,
15581           "required": [
15582             "id"
15583           ]
15584         },
15585         "ModelMigrationStatus": {
15586           "type": "object",
15587           "properties": {
15588             "end": {
15589               "type": "string",
15590               "format": "date-time"
15591             },
15592             "start": {
15593               "type": "string",
15594               "format": "date-time"
15595             },
15596             "status": {
15597               "type": "string"
15598             }
15599           },
15600           "additionalProperties": false,
15601           "required": [
15602             "status",
15603             "start"
15604           ]
15605         },
15606         "ModelSLAInfo": {
15607           "type": "object",
15608           "properties": {
15609             "level": {
15610               "type": "string"
15611             },
15612             "owner": {
15613               "type": "string"
15614             }
15615           },
15616           "additionalProperties": false,
15617           "required": [
15618             "level",
15619             "owner"
15620           ]
15621         },
15622         "ModelStatus": {
15623           "type": "object",
15624           "properties": {
15625             "application-count": {
15626               "type": "integer"
15627             },
15628             "hosted-machine-count": {
15629               "type": "integer"
15630             },
15631             "life": {
15632               "type": "string"
15633             },
15634             "machines": {
15635               "type": "array",
15636               "items": {
15637                 "$ref": "#/definitions/ModelMachineInfo"
15638               }
15639             },
15640             "model-tag": {
15641               "type": "string"
15642             },
15643             "owner-tag": {
15644               "type": "string"
15645             }
15646           },
15647           "additionalProperties": false,
15648           "required": [
15649             "model-tag",
15650             "life",
15651             "hosted-machine-count",
15652             "application-count",
15653             "owner-tag"
15654           ]
15655         },
15656         "ModelStatusResults": {
15657           "type": "object",
15658           "properties": {
15659             "models": {
15660               "type": "array",
15661               "items": {
15662                 "$ref": "#/definitions/ModelStatus"
15663               }
15664             }
15665           },
15666           "additionalProperties": false,
15667           "required": [
15668             "models"
15669           ]
15670         },
15671         "ModelUnsetKeys": {
15672           "type": "object",
15673           "properties": {
15674             "cloud-region": {
15675               "type": "string"
15676             },
15677             "cloud-tag": {
15678               "type": "string"
15679             },
15680             "keys": {
15681               "type": "array",
15682               "items": {
15683                 "type": "string"
15684               }
15685             }
15686           },
15687           "additionalProperties": false,
15688           "required": [
15689             "keys"
15690           ]
15691         },
15692         "ModelUserInfo": {
15693           "type": "object",
15694           "properties": {
15695             "access": {
15696               "type": "string"
15697             },
15698             "display-name": {
15699               "type": "string"
15700             },
15701             "last-connection": {
15702               "type": "string",
15703               "format": "date-time"
15704             },
15705             "user": {
15706               "type": "string"
15707             }
15708           },
15709           "additionalProperties": false,
15710           "required": [
15711             "user",
15712             "display-name",
15713             "last-connection",
15714             "access"
15715           ]
15716         },
15717         "ModifyModelAccess": {
15718           "type": "object",
15719           "properties": {
15720             "access": {
15721               "type": "string"
15722             },
15723             "action": {
15724               "type": "string"
15725             },
15726             "model-tag": {
15727               "type": "string"
15728             },
15729             "user-tag": {
15730               "type": "string"
15731             }
15732           },
15733           "additionalProperties": false,
15734           "required": [
15735             "user-tag",
15736             "action",
15737             "access",
15738             "model-tag"
15739           ]
15740         },
15741         "ModifyModelAccessRequest": {
15742           "type": "object",
15743           "properties": {
15744             "changes": {
15745               "type": "array",
15746               "items": {
15747                 "$ref": "#/definitions/ModifyModelAccess"
15748               }
15749             }
15750           },
15751           "additionalProperties": false,
15752           "required": [
15753             "changes"
15754           ]
15755         },
15756         "RegionDefaults": {
15757           "type": "object",
15758           "properties": {
15759             "region-name": {
15760               "type": "string"
15761             },
15762             "value": {
15763               "type": "object",
15764               "additionalProperties": true
15765             }
15766           },
15767           "additionalProperties": false,
15768           "required": [
15769             "region-name",
15770             "value"
15771           ]
15772         },
15773         "SetModelDefaults": {
15774           "type": "object",
15775           "properties": {
15776             "config": {
15777               "type": "array",
15778               "items": {
15779                 "$ref": "#/definitions/ModelDefaultValues"
15780               }
15781             }
15782           },
15783           "additionalProperties": false,
15784           "required": [
15785             "config"
15786           ]
15787         },
15788         "UnsetModelDefaults": {
15789           "type": "object",
15790           "properties": {
15791             "keys": {
15792               "type": "array",
15793               "items": {
15794                 "$ref": "#/definitions/ModelUnsetKeys"
15795               }
15796             }
15797           },
15798           "additionalProperties": false,
15799           "required": [
15800             "keys"
15801           ]
15802         },
15803         "UserModel": {
15804           "type": "object",
15805           "properties": {
15806             "last-connection": {
15807               "type": "string",
15808               "format": "date-time"
15809             },
15810             "model": {
15811               "$ref": "#/definitions/Model"
15812             }
15813           },
15814           "additionalProperties": false,
15815           "required": [
15816             "model",
15817             "last-connection"
15818           ]
15819         },
15820         "UserModelList": {
15821           "type": "object",
15822           "properties": {
15823             "user-models": {
15824               "type": "array",
15825               "items": {
15826                 "$ref": "#/definitions/UserModel"
15827               }
15828             }
15829           },
15830           "additionalProperties": false,
15831           "required": [
15832             "user-models"
15833           ]
15834         }
15835       }
15836     }
15837   },
15838   {
15839     "Name": "NotifyWatcher",
15840     "Version": 1,
15841     "Schema": {
15842       "type": "object",
15843       "properties": {
15844         "Next": {
15845           "type": "object"
15846         },
15847         "Stop": {
15848           "type": "object"
15849         }
15850       }
15851     }
15852   },
15853   {
15854     "Name": "Payloads",
15855     "Version": 1,
15856     "Schema": {
15857       "type": "object",
15858       "properties": {
15859         "List": {
15860           "type": "object",
15861           "properties": {
15862             "Params": {
15863               "$ref": "#/definitions/PayloadListArgs"
15864             },
15865             "Result": {
15866               "$ref": "#/definitions/PayloadListResults"
15867             }
15868           }
15869         }
15870       },
15871       "definitions": {
15872         "Payload": {
15873           "type": "object",
15874           "properties": {
15875             "class": {
15876               "type": "string"
15877             },
15878             "id": {
15879               "type": "string"
15880             },
15881             "labels": {
15882               "type": "array",
15883               "items": {
15884                 "type": "string"
15885               }
15886             },
15887             "machine": {
15888               "type": "string"
15889             },
15890             "status": {
15891               "type": "string"
15892             },
15893             "type": {
15894               "type": "string"
15895             },
15896             "unit": {
15897               "type": "string"
15898             }
15899           },
15900           "additionalProperties": false,
15901           "required": [
15902             "class",
15903             "type",
15904             "id",
15905             "status",
15906             "labels",
15907             "unit",
15908             "machine"
15909           ]
15910         },
15911         "PayloadListArgs": {
15912           "type": "object",
15913           "properties": {
15914             "patterns": {
15915               "type": "array",
15916               "items": {
15917                 "type": "string"
15918               }
15919             }
15920           },
15921           "additionalProperties": false,
15922           "required": [
15923             "patterns"
15924           ]
15925         },
15926         "PayloadListResults": {
15927           "type": "object",
15928           "properties": {
15929             "results": {
15930               "type": "array",
15931               "items": {
15932                 "$ref": "#/definitions/Payload"
15933               }
15934             }
15935           },
15936           "additionalProperties": false,
15937           "required": [
15938             "results"
15939           ]
15940         }
15941       }
15942     }
15943   },
15944   {
15945     "Name": "PayloadsHookContext",
15946     "Version": 1,
15947     "Schema": {
15948       "type": "object",
15949       "properties": {
15950         "List": {
15951           "type": "object",
15952           "properties": {
15953             "Params": {
15954               "$ref": "#/definitions/Entities"
15955             },
15956             "Result": {
15957               "$ref": "#/definitions/PayloadResults"
15958             }
15959           }
15960         },
15961         "LookUp": {
15962           "type": "object",
15963           "properties": {
15964             "Params": {
15965               "$ref": "#/definitions/LookUpPayloadArgs"
15966             },
15967             "Result": {
15968               "$ref": "#/definitions/PayloadResults"
15969             }
15970           }
15971         },
15972         "SetStatus": {
15973           "type": "object",
15974           "properties": {
15975             "Params": {
15976               "$ref": "#/definitions/SetPayloadStatusArgs"
15977             },
15978             "Result": {
15979               "$ref": "#/definitions/PayloadResults"
15980             }
15981           }
15982         },
15983         "Track": {
15984           "type": "object",
15985           "properties": {
15986             "Params": {
15987               "$ref": "#/definitions/TrackPayloadArgs"
15988             },
15989             "Result": {
15990               "$ref": "#/definitions/PayloadResults"
15991             }
15992           }
15993         },
15994         "Untrack": {
15995           "type": "object",
15996           "properties": {
15997             "Params": {
15998               "$ref": "#/definitions/Entities"
15999             },
16000             "Result": {
16001               "$ref": "#/definitions/PayloadResults"
16002             }
16003           }
16004         }
16005       },
16006       "definitions": {
16007         "Entities": {
16008           "type": "object",
16009           "properties": {
16010             "entities": {
16011               "type": "array",
16012               "items": {
16013                 "$ref": "#/definitions/Entity"
16014               }
16015             }
16016           },
16017           "additionalProperties": false,
16018           "required": [
16019             "entities"
16020           ]
16021         },
16022         "Entity": {
16023           "type": "object",
16024           "properties": {
16025             "tag": {
16026               "type": "string"
16027             }
16028           },
16029           "additionalProperties": false,
16030           "required": [
16031             "tag"
16032           ]
16033         },
16034         "Error": {
16035           "type": "object",
16036           "properties": {
16037             "code": {
16038               "type": "string"
16039             },
16040             "info": {
16041               "$ref": "#/definitions/ErrorInfo"
16042             },
16043             "message": {
16044               "type": "string"
16045             }
16046           },
16047           "additionalProperties": false,
16048           "required": [
16049             "message",
16050             "code"
16051           ]
16052         },
16053         "ErrorInfo": {
16054           "type": "object",
16055           "properties": {
16056             "macaroon": {
16057               "$ref": "#/definitions/Macaroon"
16058             },
16059             "macaroon-path": {
16060               "type": "string"
16061             }
16062           },
16063           "additionalProperties": false
16064         },
16065         "LookUpPayloadArg": {
16066           "type": "object",
16067           "properties": {
16068             "id": {
16069               "type": "string"
16070             },
16071             "name": {
16072               "type": "string"
16073             }
16074           },
16075           "additionalProperties": false,
16076           "required": [
16077             "name",
16078             "id"
16079           ]
16080         },
16081         "LookUpPayloadArgs": {
16082           "type": "object",
16083           "properties": {
16084             "args": {
16085               "type": "array",
16086               "items": {
16087                 "$ref": "#/definitions/LookUpPayloadArg"
16088               }
16089             }
16090           },
16091           "additionalProperties": false,
16092           "required": [
16093             "args"
16094           ]
16095         },
16096         "Macaroon": {
16097           "type": "object",
16098           "additionalProperties": false
16099         },
16100         "Payload": {
16101           "type": "object",
16102           "properties": {
16103             "class": {
16104               "type": "string"
16105             },
16106             "id": {
16107               "type": "string"
16108             },
16109             "labels": {
16110               "type": "array",
16111               "items": {
16112                 "type": "string"
16113               }
16114             },
16115             "machine": {
16116               "type": "string"
16117             },
16118             "status": {
16119               "type": "string"
16120             },
16121             "type": {
16122               "type": "string"
16123             },
16124             "unit": {
16125               "type": "string"
16126             }
16127           },
16128           "additionalProperties": false,
16129           "required": [
16130             "class",
16131             "type",
16132             "id",
16133             "status",
16134             "labels",
16135             "unit",
16136             "machine"
16137           ]
16138         },
16139         "PayloadResult": {
16140           "type": "object",
16141           "properties": {
16142             "Entity": {
16143               "$ref": "#/definitions/Entity"
16144             },
16145             "error": {
16146               "$ref": "#/definitions/Error"
16147             },
16148             "not-found": {
16149               "type": "boolean"
16150             },
16151             "payload": {
16152               "$ref": "#/definitions/Payload"
16153             }
16154           },
16155           "additionalProperties": false,
16156           "required": [
16157             "Entity",
16158             "payload",
16159             "not-found"
16160           ]
16161         },
16162         "PayloadResults": {
16163           "type": "object",
16164           "properties": {
16165             "results": {
16166               "type": "array",
16167               "items": {
16168                 "$ref": "#/definitions/PayloadResult"
16169               }
16170             }
16171           },
16172           "additionalProperties": false,
16173           "required": [
16174             "results"
16175           ]
16176         },
16177         "SetPayloadStatusArg": {
16178           "type": "object",
16179           "properties": {
16180             "Entity": {
16181               "$ref": "#/definitions/Entity"
16182             },
16183             "status": {
16184               "type": "string"
16185             }
16186           },
16187           "additionalProperties": false,
16188           "required": [
16189             "Entity",
16190             "status"
16191           ]
16192         },
16193         "SetPayloadStatusArgs": {
16194           "type": "object",
16195           "properties": {
16196             "args": {
16197               "type": "array",
16198               "items": {
16199                 "$ref": "#/definitions/SetPayloadStatusArg"
16200               }
16201             }
16202           },
16203           "additionalProperties": false,
16204           "required": [
16205             "args"
16206           ]
16207         },
16208         "TrackPayloadArgs": {
16209           "type": "object",
16210           "properties": {
16211             "payloads": {
16212               "type": "array",
16213               "items": {
16214                 "$ref": "#/definitions/Payload"
16215               }
16216             }
16217           },
16218           "additionalProperties": false,
16219           "required": [
16220             "payloads"
16221           ]
16222         }
16223       }
16224     }
16225   },
16226   {
16227     "Name": "Pinger",
16228     "Version": 1,
16229     "Schema": {
16230       "type": "object",
16231       "properties": {
16232         "Ping": {
16233           "type": "object"
16234         },
16235         "Stop": {
16236           "type": "object"
16237         }
16238       }
16239     }
16240   },
16241   {
16242     "Name": "Provisioner",
16243     "Version": 3,
16244     "Schema": {
16245       "type": "object",
16246       "properties": {
16247         "APIAddresses": {
16248           "type": "object",
16249           "properties": {
16250             "Result": {
16251               "$ref": "#/definitions/StringsResult"
16252             }
16253           }
16254         },
16255         "APIHostPorts": {
16256           "type": "object",
16257           "properties": {
16258             "Result": {
16259               "$ref": "#/definitions/APIHostPortsResult"
16260             }
16261           }
16262         },
16263         "CACert": {
16264           "type": "object",
16265           "properties": {
16266             "Result": {
16267               "$ref": "#/definitions/BytesResult"
16268             }
16269           }
16270         },
16271         "Constraints": {
16272           "type": "object",
16273           "properties": {
16274             "Params": {
16275               "$ref": "#/definitions/Entities"
16276             },
16277             "Result": {
16278               "$ref": "#/definitions/ConstraintsResults"
16279             }
16280           }
16281         },
16282         "ContainerConfig": {
16283           "type": "object",
16284           "properties": {
16285             "Result": {
16286               "$ref": "#/definitions/ContainerConfig"
16287             }
16288           }
16289         },
16290         "ContainerManagerConfig": {
16291           "type": "object",
16292           "properties": {
16293             "Params": {
16294               "$ref": "#/definitions/ContainerManagerConfigParams"
16295             },
16296             "Result": {
16297               "$ref": "#/definitions/ContainerManagerConfig"
16298             }
16299           }
16300         },
16301         "ControllerConfig": {
16302           "type": "object",
16303           "properties": {
16304             "Result": {
16305               "$ref": "#/definitions/ControllerConfigResult"
16306             }
16307           }
16308         },
16309         "DistributionGroup": {
16310           "type": "object",
16311           "properties": {
16312             "Params": {
16313               "$ref": "#/definitions/Entities"
16314             },
16315             "Result": {
16316               "$ref": "#/definitions/DistributionGroupResults"
16317             }
16318           }
16319         },
16320         "EnsureDead": {
16321           "type": "object",
16322           "properties": {
16323             "Params": {
16324               "$ref": "#/definitions/Entities"
16325             },
16326             "Result": {
16327               "$ref": "#/definitions/ErrorResults"
16328             }
16329           }
16330         },
16331         "FindTools": {
16332           "type": "object",
16333           "properties": {
16334             "Params": {
16335               "$ref": "#/definitions/FindToolsParams"
16336             },
16337             "Result": {
16338               "$ref": "#/definitions/FindToolsResult"
16339             }
16340           }
16341         },
16342         "GetContainerInterfaceInfo": {
16343           "type": "object",
16344           "properties": {
16345             "Params": {
16346               "$ref": "#/definitions/Entities"
16347             },
16348             "Result": {
16349               "$ref": "#/definitions/MachineNetworkConfigResults"
16350             }
16351           }
16352         },
16353         "HostChangesForContainers": {
16354           "type": "object",
16355           "properties": {
16356             "Params": {
16357               "$ref": "#/definitions/Entities"
16358             },
16359             "Result": {
16360               "$ref": "#/definitions/HostNetworkChangeResults"
16361             }
16362           }
16363         },
16364         "InstanceId": {
16365           "type": "object",
16366           "properties": {
16367             "Params": {
16368               "$ref": "#/definitions/Entities"
16369             },
16370             "Result": {
16371               "$ref": "#/definitions/StringResults"
16372             }
16373           }
16374         },
16375         "InstanceStatus": {
16376           "type": "object",
16377           "properties": {
16378             "Params": {
16379               "$ref": "#/definitions/Entities"
16380             },
16381             "Result": {
16382               "$ref": "#/definitions/StatusResults"
16383             }
16384           }
16385         },
16386         "Life": {
16387           "type": "object",
16388           "properties": {
16389             "Params": {
16390               "$ref": "#/definitions/Entities"
16391             },
16392             "Result": {
16393               "$ref": "#/definitions/LifeResults"
16394             }
16395           }
16396         },
16397         "MachinesWithTransientErrors": {
16398           "type": "object",
16399           "properties": {
16400             "Result": {
16401               "$ref": "#/definitions/StatusResults"
16402             }
16403           }
16404         },
16405         "MarkMachinesForRemoval": {
16406           "type": "object",
16407           "properties": {
16408             "Params": {
16409               "$ref": "#/definitions/Entities"
16410             },
16411             "Result": {
16412               "$ref": "#/definitions/ErrorResults"
16413             }
16414           }
16415         },
16416         "ModelConfig": {
16417           "type": "object",
16418           "properties": {
16419             "Result": {
16420               "$ref": "#/definitions/ModelConfigResult"
16421             }
16422           }
16423         },
16424         "ModelUUID": {
16425           "type": "object",
16426           "properties": {
16427             "Result": {
16428               "$ref": "#/definitions/StringResult"
16429             }
16430           }
16431         },
16432         "PrepareContainerInterfaceInfo": {
16433           "type": "object",
16434           "properties": {
16435             "Params": {
16436               "$ref": "#/definitions/Entities"
16437             },
16438             "Result": {
16439               "$ref": "#/definitions/MachineNetworkConfigResults"
16440             }
16441           }
16442         },
16443         "ProvisioningInfo": {
16444           "type": "object",
16445           "properties": {
16446             "Params": {
16447               "$ref": "#/definitions/Entities"
16448             },
16449             "Result": {
16450               "$ref": "#/definitions/ProvisioningInfoResults"
16451             }
16452           }
16453         },
16454         "ReleaseContainerAddresses": {
16455           "type": "object",
16456           "properties": {
16457             "Params": {
16458               "$ref": "#/definitions/Entities"
16459             },
16460             "Result": {
16461               "$ref": "#/definitions/ErrorResults"
16462             }
16463           }
16464         },
16465         "Remove": {
16466           "type": "object",
16467           "properties": {
16468             "Params": {
16469               "$ref": "#/definitions/Entities"
16470             },
16471             "Result": {
16472               "$ref": "#/definitions/ErrorResults"
16473             }
16474           }
16475         },
16476         "Series": {
16477           "type": "object",
16478           "properties": {
16479             "Params": {
16480               "$ref": "#/definitions/Entities"
16481             },
16482             "Result": {
16483               "$ref": "#/definitions/StringResults"
16484             }
16485           }
16486         },
16487         "SetHostMachineNetworkConfig": {
16488           "type": "object",
16489           "properties": {
16490             "Params": {
16491               "$ref": "#/definitions/SetMachineNetworkConfig"
16492             }
16493           }
16494         },
16495         "SetInstanceInfo": {
16496           "type": "object",
16497           "properties": {
16498             "Params": {
16499               "$ref": "#/definitions/InstancesInfo"
16500             },
16501             "Result": {
16502               "$ref": "#/definitions/ErrorResults"
16503             }
16504           }
16505         },
16506         "SetInstanceStatus": {
16507           "type": "object",
16508           "properties": {
16509             "Params": {
16510               "$ref": "#/definitions/SetStatus"
16511             },
16512             "Result": {
16513               "$ref": "#/definitions/ErrorResults"
16514             }
16515           }
16516         },
16517         "SetObservedNetworkConfig": {
16518           "type": "object",
16519           "properties": {
16520             "Params": {
16521               "$ref": "#/definitions/SetMachineNetworkConfig"
16522             }
16523           }
16524         },
16525         "SetPasswords": {
16526           "type": "object",
16527           "properties": {
16528             "Params": {
16529               "$ref": "#/definitions/EntityPasswords"
16530             },
16531             "Result": {
16532               "$ref": "#/definitions/ErrorResults"
16533             }
16534           }
16535         },
16536         "SetProviderNetworkConfig": {
16537           "type": "object",
16538           "properties": {
16539             "Params": {
16540               "$ref": "#/definitions/Entities"
16541             },
16542             "Result": {
16543               "$ref": "#/definitions/ErrorResults"
16544             }
16545           }
16546         },
16547         "SetStatus": {
16548           "type": "object",
16549           "properties": {
16550             "Params": {
16551               "$ref": "#/definitions/SetStatus"
16552             },
16553             "Result": {
16554               "$ref": "#/definitions/ErrorResults"
16555             }
16556           }
16557         },
16558         "SetSupportedContainers": {
16559           "type": "object",
16560           "properties": {
16561             "Params": {
16562               "$ref": "#/definitions/MachineContainersParams"
16563             },
16564             "Result": {
16565               "$ref": "#/definitions/ErrorResults"
16566             }
16567           }
16568         },
16569         "StateAddresses": {
16570           "type": "object",
16571           "properties": {
16572             "Result": {
16573               "$ref": "#/definitions/StringsResult"
16574             }
16575           }
16576         },
16577         "Status": {
16578           "type": "object",
16579           "properties": {
16580             "Params": {
16581               "$ref": "#/definitions/Entities"
16582             },
16583             "Result": {
16584               "$ref": "#/definitions/StatusResults"
16585             }
16586           }
16587         },
16588         "Tools": {
16589           "type": "object",
16590           "properties": {
16591             "Params": {
16592               "$ref": "#/definitions/Entities"
16593             },
16594             "Result": {
16595               "$ref": "#/definitions/ToolsResults"
16596             }
16597           }
16598         },
16599         "UpdateStatus": {
16600           "type": "object",
16601           "properties": {
16602             "Params": {
16603               "$ref": "#/definitions/SetStatus"
16604             },
16605             "Result": {
16606               "$ref": "#/definitions/ErrorResults"
16607             }
16608           }
16609         },
16610         "WatchAPIHostPorts": {
16611           "type": "object",
16612           "properties": {
16613             "Result": {
16614               "$ref": "#/definitions/NotifyWatchResult"
16615             }
16616           }
16617         },
16618         "WatchAllContainers": {
16619           "type": "object",
16620           "properties": {
16621             "Params": {
16622               "$ref": "#/definitions/WatchContainers"
16623             },
16624             "Result": {
16625               "$ref": "#/definitions/StringsWatchResults"
16626             }
16627           }
16628         },
16629         "WatchContainers": {
16630           "type": "object",
16631           "properties": {
16632             "Params": {
16633               "$ref": "#/definitions/WatchContainers"
16634             },
16635             "Result": {
16636               "$ref": "#/definitions/StringsWatchResults"
16637             }
16638           }
16639         },
16640         "WatchForModelConfigChanges": {
16641           "type": "object",
16642           "properties": {
16643             "Result": {
16644               "$ref": "#/definitions/NotifyWatchResult"
16645             }
16646           }
16647         },
16648         "WatchMachineErrorRetry": {
16649           "type": "object",
16650           "properties": {
16651             "Result": {
16652               "$ref": "#/definitions/NotifyWatchResult"
16653             }
16654           }
16655         },
16656         "WatchModelMachines": {
16657           "type": "object",
16658           "properties": {
16659             "Result": {
16660               "$ref": "#/definitions/StringsWatchResult"
16661             }
16662           }
16663         }
16664       },
16665       "definitions": {
16666         "APIHostPortsResult": {
16667           "type": "object",
16668           "properties": {
16669             "servers": {
16670               "type": "array",
16671               "items": {
16672                 "type": "array",
16673                 "items": {
16674                   "$ref": "#/definitions/HostPort"
16675                 }
16676               }
16677             }
16678           },
16679           "additionalProperties": false,
16680           "required": [
16681             "servers"
16682           ]
16683         },
16684         "Address": {
16685           "type": "object",
16686           "properties": {
16687             "scope": {
16688               "type": "string"
16689             },
16690             "space-name": {
16691               "type": "string"
16692             },
16693             "type": {
16694               "type": "string"
16695             },
16696             "value": {
16697               "type": "string"
16698             }
16699           },
16700           "additionalProperties": false,
16701           "required": [
16702             "value",
16703             "type",
16704             "scope"
16705           ]
16706         },
16707         "Binary": {
16708           "type": "object",
16709           "properties": {
16710             "Arch": {
16711               "type": "string"
16712             },
16713             "Number": {
16714               "$ref": "#/definitions/Number"
16715             },
16716             "Series": {
16717               "type": "string"
16718             }
16719           },
16720           "additionalProperties": false,
16721           "required": [
16722             "Number",
16723             "Series",
16724             "Arch"
16725           ]
16726         },
16727         "BytesResult": {
16728           "type": "object",
16729           "properties": {
16730             "result": {
16731               "type": "array",
16732               "items": {
16733                 "type": "integer"
16734               }
16735             }
16736           },
16737           "additionalProperties": false,
16738           "required": [
16739             "result"
16740           ]
16741         },
16742         "CloudImageMetadata": {
16743           "type": "object",
16744           "properties": {
16745             "arch": {
16746               "type": "string"
16747             },
16748             "image-id": {
16749               "type": "string"
16750             },
16751             "priority": {
16752               "type": "integer"
16753             },
16754             "region": {
16755               "type": "string"
16756             },
16757             "root-storage-size": {
16758               "type": "integer"
16759             },
16760             "root-storage-type": {
16761               "type": "string"
16762             },
16763             "series": {
16764               "type": "string"
16765             },
16766             "source": {
16767               "type": "string"
16768             },
16769             "stream": {
16770               "type": "string"
16771             },
16772             "version": {
16773               "type": "string"
16774             },
16775             "virt-type": {
16776               "type": "string"
16777             }
16778           },
16779           "additionalProperties": false,
16780           "required": [
16781             "image-id",
16782             "region",
16783             "version",
16784             "series",
16785             "arch",
16786             "source",
16787             "priority"
16788           ]
16789         },
16790         "ConstraintsResult": {
16791           "type": "object",
16792           "properties": {
16793             "constraints": {
16794               "$ref": "#/definitions/Value"
16795             },
16796             "error": {
16797               "$ref": "#/definitions/Error"
16798             }
16799           },
16800           "additionalProperties": false,
16801           "required": [
16802             "constraints"
16803           ]
16804         },
16805         "ConstraintsResults": {
16806           "type": "object",
16807           "properties": {
16808             "results": {
16809               "type": "array",
16810               "items": {
16811                 "$ref": "#/definitions/ConstraintsResult"
16812               }
16813             }
16814           },
16815           "additionalProperties": false,
16816           "required": [
16817             "results"
16818           ]
16819         },
16820         "ContainerConfig": {
16821           "type": "object",
16822           "properties": {
16823             "UpdateBehavior": {
16824               "$ref": "#/definitions/UpdateBehavior"
16825             },
16826             "apt-mirror": {
16827               "type": "string"
16828             },
16829             "apt-proxy": {
16830               "$ref": "#/definitions/Settings"
16831             },
16832             "authorized-keys": {
16833               "type": "string"
16834             },
16835             "provider-type": {
16836               "type": "string"
16837             },
16838             "proxy": {
16839               "$ref": "#/definitions/Settings"
16840             },
16841             "ssl-hostname-verification": {
16842               "type": "boolean"
16843             }
16844           },
16845           "additionalProperties": false,
16846           "required": [
16847             "provider-type",
16848             "authorized-keys",
16849             "ssl-hostname-verification",
16850             "proxy",
16851             "apt-proxy",
16852             "apt-mirror",
16853             "UpdateBehavior"
16854           ]
16855         },
16856         "ContainerManagerConfig": {
16857           "type": "object",
16858           "properties": {
16859             "config": {
16860               "type": "object",
16861               "patternProperties": {
16862                 ".*": {
16863                   "type": "string"
16864                 }
16865               }
16866             }
16867           },
16868           "additionalProperties": false,
16869           "required": [
16870             "config"
16871           ]
16872         },
16873         "ContainerManagerConfigParams": {
16874           "type": "object",
16875           "properties": {
16876             "type": {
16877               "type": "string"
16878             }
16879           },
16880           "additionalProperties": false,
16881           "required": [
16882             "type"
16883           ]
16884         },
16885         "ControllerConfigResult": {
16886           "type": "object",
16887           "properties": {
16888             "config": {
16889               "type": "object",
16890               "patternProperties": {
16891                 ".*": {
16892                   "type": "object",
16893                   "additionalProperties": true
16894                 }
16895               }
16896             }
16897           },
16898           "additionalProperties": false,
16899           "required": [
16900             "config"
16901           ]
16902         },
16903         "DeviceBridgeInfo": {
16904           "type": "object",
16905           "properties": {
16906             "bridge-name": {
16907               "type": "string"
16908             },
16909             "host-device-name": {
16910               "type": "string"
16911             }
16912           },
16913           "additionalProperties": false,
16914           "required": [
16915             "host-device-name",
16916             "bridge-name"
16917           ]
16918         },
16919         "DistributionGroupResult": {
16920           "type": "object",
16921           "properties": {
16922             "error": {
16923               "$ref": "#/definitions/Error"
16924             },
16925             "result": {
16926               "type": "array",
16927               "items": {
16928                 "type": "string"
16929               }
16930             }
16931           },
16932           "additionalProperties": false,
16933           "required": [
16934             "result"
16935           ]
16936         },
16937         "DistributionGroupResults": {
16938           "type": "object",
16939           "properties": {
16940             "results": {
16941               "type": "array",
16942               "items": {
16943                 "$ref": "#/definitions/DistributionGroupResult"
16944               }
16945             }
16946           },
16947           "additionalProperties": false,
16948           "required": [
16949             "results"
16950           ]
16951         },
16952         "Entities": {
16953           "type": "object",
16954           "properties": {
16955             "entities": {
16956               "type": "array",
16957               "items": {
16958                 "$ref": "#/definitions/Entity"
16959               }
16960             }
16961           },
16962           "additionalProperties": false,
16963           "required": [
16964             "entities"
16965           ]
16966         },
16967         "Entity": {
16968           "type": "object",
16969           "properties": {
16970             "tag": {
16971               "type": "string"
16972             }
16973           },
16974           "additionalProperties": false,
16975           "required": [
16976             "tag"
16977           ]
16978         },
16979         "EntityPassword": {
16980           "type": "object",
16981           "properties": {
16982             "password": {
16983               "type": "string"
16984             },
16985             "tag": {
16986               "type": "string"
16987             }
16988           },
16989           "additionalProperties": false,
16990           "required": [
16991             "tag",
16992             "password"
16993           ]
16994         },
16995         "EntityPasswords": {
16996           "type": "object",
16997           "properties": {
16998             "changes": {
16999               "type": "array",
17000               "items": {
17001                 "$ref": "#/definitions/EntityPassword"
17002               }
17003             }
17004           },
17005           "additionalProperties": false,
17006           "required": [
17007             "changes"
17008           ]
17009         },
17010         "EntityStatusArgs": {
17011           "type": "object",
17012           "properties": {
17013             "data": {
17014               "type": "object",
17015               "patternProperties": {
17016                 ".*": {
17017                   "type": "object",
17018                   "additionalProperties": true
17019                 }
17020               }
17021             },
17022             "info": {
17023               "type": "string"
17024             },
17025             "status": {
17026               "type": "string"
17027             },
17028             "tag": {
17029               "type": "string"
17030             }
17031           },
17032           "additionalProperties": false,
17033           "required": [
17034             "tag",
17035             "status",
17036             "info",
17037             "data"
17038           ]
17039         },
17040         "Error": {
17041           "type": "object",
17042           "properties": {
17043             "code": {
17044               "type": "string"
17045             },
17046             "info": {
17047               "$ref": "#/definitions/ErrorInfo"
17048             },
17049             "message": {
17050               "type": "string"
17051             }
17052           },
17053           "additionalProperties": false,
17054           "required": [
17055             "message",
17056             "code"
17057           ]
17058         },
17059         "ErrorInfo": {
17060           "type": "object",
17061           "properties": {
17062             "macaroon": {
17063               "$ref": "#/definitions/Macaroon"
17064             },
17065             "macaroon-path": {
17066               "type": "string"
17067             }
17068           },
17069           "additionalProperties": false
17070         },
17071         "ErrorResult": {
17072           "type": "object",
17073           "properties": {
17074             "error": {
17075               "$ref": "#/definitions/Error"
17076             }
17077           },
17078           "additionalProperties": false
17079         },
17080         "ErrorResults": {
17081           "type": "object",
17082           "properties": {
17083             "results": {
17084               "type": "array",
17085               "items": {
17086                 "$ref": "#/definitions/ErrorResult"
17087               }
17088             }
17089           },
17090           "additionalProperties": false,
17091           "required": [
17092             "results"
17093           ]
17094         },
17095         "FindToolsParams": {
17096           "type": "object",
17097           "properties": {
17098             "arch": {
17099               "type": "string"
17100             },
17101             "major": {
17102               "type": "integer"
17103             },
17104             "minor": {
17105               "type": "integer"
17106             },
17107             "number": {
17108               "$ref": "#/definitions/Number"
17109             },
17110             "series": {
17111               "type": "string"
17112             }
17113           },
17114           "additionalProperties": false,
17115           "required": [
17116             "number",
17117             "major",
17118             "minor",
17119             "arch",
17120             "series"
17121           ]
17122         },
17123         "FindToolsResult": {
17124           "type": "object",
17125           "properties": {
17126             "error": {
17127               "$ref": "#/definitions/Error"
17128             },
17129             "list": {
17130               "type": "array",
17131               "items": {
17132                 "$ref": "#/definitions/Tools"
17133               }
17134             }
17135           },
17136           "additionalProperties": false,
17137           "required": [
17138             "list"
17139           ]
17140         },
17141         "HardwareCharacteristics": {
17142           "type": "object",
17143           "properties": {
17144             "arch": {
17145               "type": "string"
17146             },
17147             "availability-zone": {
17148               "type": "string"
17149             },
17150             "cpu-cores": {
17151               "type": "integer"
17152             },
17153             "cpu-power": {
17154               "type": "integer"
17155             },
17156             "mem": {
17157               "type": "integer"
17158             },
17159             "root-disk": {
17160               "type": "integer"
17161             },
17162             "tags": {
17163               "type": "array",
17164               "items": {
17165                 "type": "string"
17166               }
17167             }
17168           },
17169           "additionalProperties": false
17170         },
17171         "HostNetworkChange": {
17172           "type": "object",
17173           "properties": {
17174             "error": {
17175               "$ref": "#/definitions/Error"
17176             },
17177             "new-bridges": {
17178               "type": "array",
17179               "items": {
17180                 "$ref": "#/definitions/DeviceBridgeInfo"
17181               }
17182             },
17183             "reconfigure-delay": {
17184               "type": "integer"
17185             }
17186           },
17187           "additionalProperties": false,
17188           "required": [
17189             "new-bridges",
17190             "reconfigure-delay"
17191           ]
17192         },
17193         "HostNetworkChangeResults": {
17194           "type": "object",
17195           "properties": {
17196             "results": {
17197               "type": "array",
17198               "items": {
17199                 "$ref": "#/definitions/HostNetworkChange"
17200               }
17201             }
17202           },
17203           "additionalProperties": false,
17204           "required": [
17205             "results"
17206           ]
17207         },
17208         "HostPort": {
17209           "type": "object",
17210           "properties": {
17211             "Address": {
17212               "$ref": "#/definitions/Address"
17213             },
17214             "port": {
17215               "type": "integer"
17216             }
17217           },
17218           "additionalProperties": false,
17219           "required": [
17220             "Address",
17221             "port"
17222           ]
17223         },
17224         "InstanceInfo": {
17225           "type": "object",
17226           "properties": {
17227             "characteristics": {
17228               "$ref": "#/definitions/HardwareCharacteristics"
17229             },
17230             "instance-id": {
17231               "type": "string"
17232             },
17233             "network-config": {
17234               "type": "array",
17235               "items": {
17236                 "$ref": "#/definitions/NetworkConfig"
17237               }
17238             },
17239             "nonce": {
17240               "type": "string"
17241             },
17242             "tag": {
17243               "type": "string"
17244             },
17245             "volume-attachments": {
17246               "type": "object",
17247               "patternProperties": {
17248                 ".*": {
17249                   "$ref": "#/definitions/VolumeAttachmentInfo"
17250                 }
17251               }
17252             },
17253             "volumes": {
17254               "type": "array",
17255               "items": {
17256                 "$ref": "#/definitions/Volume"
17257               }
17258             }
17259           },
17260           "additionalProperties": false,
17261           "required": [
17262             "tag",
17263             "instance-id",
17264             "nonce",
17265             "characteristics",
17266             "volumes",
17267             "volume-attachments",
17268             "network-config"
17269           ]
17270         },
17271         "InstancesInfo": {
17272           "type": "object",
17273           "properties": {
17274             "machines": {
17275               "type": "array",
17276               "items": {
17277                 "$ref": "#/definitions/InstanceInfo"
17278               }
17279             }
17280           },
17281           "additionalProperties": false,
17282           "required": [
17283             "machines"
17284           ]
17285         },
17286         "LifeResult": {
17287           "type": "object",
17288           "properties": {
17289             "error": {
17290               "$ref": "#/definitions/Error"
17291             },
17292             "life": {
17293               "type": "string"
17294             }
17295           },
17296           "additionalProperties": false,
17297           "required": [
17298             "life"
17299           ]
17300         },
17301         "LifeResults": {
17302           "type": "object",
17303           "properties": {
17304             "results": {
17305               "type": "array",
17306               "items": {
17307                 "$ref": "#/definitions/LifeResult"
17308               }
17309             }
17310           },
17311           "additionalProperties": false,
17312           "required": [
17313             "results"
17314           ]
17315         },
17316         "Macaroon": {
17317           "type": "object",
17318           "additionalProperties": false
17319         },
17320         "MachineContainers": {
17321           "type": "object",
17322           "properties": {
17323             "container-types": {
17324               "type": "array",
17325               "items": {
17326                 "type": "string"
17327               }
17328             },
17329             "machine-tag": {
17330               "type": "string"
17331             }
17332           },
17333           "additionalProperties": false,
17334           "required": [
17335             "machine-tag",
17336             "container-types"
17337           ]
17338         },
17339         "MachineContainersParams": {
17340           "type": "object",
17341           "properties": {
17342             "params": {
17343               "type": "array",
17344               "items": {
17345                 "$ref": "#/definitions/MachineContainers"
17346               }
17347             }
17348           },
17349           "additionalProperties": false,
17350           "required": [
17351             "params"
17352           ]
17353         },
17354         "MachineNetworkConfigResult": {
17355           "type": "object",
17356           "properties": {
17357             "error": {
17358               "$ref": "#/definitions/Error"
17359             },
17360             "info": {
17361               "type": "array",
17362               "items": {
17363                 "$ref": "#/definitions/NetworkConfig"
17364               }
17365             }
17366           },
17367           "additionalProperties": false,
17368           "required": [
17369             "info"
17370           ]
17371         },
17372         "MachineNetworkConfigResults": {
17373           "type": "object",
17374           "properties": {
17375             "results": {
17376               "type": "array",
17377               "items": {
17378                 "$ref": "#/definitions/MachineNetworkConfigResult"
17379               }
17380             }
17381           },
17382           "additionalProperties": false,
17383           "required": [
17384             "results"
17385           ]
17386         },
17387         "ModelConfigResult": {
17388           "type": "object",
17389           "properties": {
17390             "config": {
17391               "type": "object",
17392               "patternProperties": {
17393                 ".*": {
17394                   "type": "object",
17395                   "additionalProperties": true
17396                 }
17397               }
17398             }
17399           },
17400           "additionalProperties": false,
17401           "required": [
17402             "config"
17403           ]
17404         },
17405         "NetworkConfig": {
17406           "type": "object",
17407           "properties": {
17408             "address": {
17409               "type": "string"
17410             },
17411             "cidr": {
17412               "type": "string"
17413             },
17414             "config-type": {
17415               "type": "string"
17416             },
17417             "device-index": {
17418               "type": "integer"
17419             },
17420             "disabled": {
17421               "type": "boolean"
17422             },
17423             "dns-search-domains": {
17424               "type": "array",
17425               "items": {
17426                 "type": "string"
17427               }
17428             },
17429             "dns-servers": {
17430               "type": "array",
17431               "items": {
17432                 "type": "string"
17433               }
17434             },
17435             "gateway-address": {
17436               "type": "string"
17437             },
17438             "interface-name": {
17439               "type": "string"
17440             },
17441             "interface-type": {
17442               "type": "string"
17443             },
17444             "mac-address": {
17445               "type": "string"
17446             },
17447             "mtu": {
17448               "type": "integer"
17449             },
17450             "no-auto-start": {
17451               "type": "boolean"
17452             },
17453             "parent-interface-name": {
17454               "type": "string"
17455             },
17456             "provider-address-id": {
17457               "type": "string"
17458             },
17459             "provider-id": {
17460               "type": "string"
17461             },
17462             "provider-space-id": {
17463               "type": "string"
17464             },
17465             "provider-subnet-id": {
17466               "type": "string"
17467             },
17468             "provider-vlan-id": {
17469               "type": "string"
17470             },
17471             "routes": {
17472               "type": "array",
17473               "items": {
17474                 "$ref": "#/definitions/NetworkRoute"
17475               }
17476             },
17477             "vlan-tag": {
17478               "type": "integer"
17479             }
17480           },
17481           "additionalProperties": false,
17482           "required": [
17483             "device-index",
17484             "mac-address",
17485             "cidr",
17486             "mtu",
17487             "provider-id",
17488             "provider-subnet-id",
17489             "provider-space-id",
17490             "provider-address-id",
17491             "provider-vlan-id",
17492             "vlan-tag",
17493             "interface-name",
17494             "parent-interface-name",
17495             "interface-type",
17496             "disabled"
17497           ]
17498         },
17499         "NetworkRoute": {
17500           "type": "object",
17501           "properties": {
17502             "destination-cidr": {
17503               "type": "string"
17504             },
17505             "gateway-ip": {
17506               "type": "string"
17507             },
17508             "metric": {
17509               "type": "integer"
17510             }
17511           },
17512           "additionalProperties": false,
17513           "required": [
17514             "destination-cidr",
17515             "gateway-ip",
17516             "metric"
17517           ]
17518         },
17519         "NotifyWatchResult": {
17520           "type": "object",
17521           "properties": {
17522             "NotifyWatcherId": {
17523               "type": "string"
17524             },
17525             "error": {
17526               "$ref": "#/definitions/Error"
17527             }
17528           },
17529           "additionalProperties": false,
17530           "required": [
17531             "NotifyWatcherId"
17532           ]
17533         },
17534         "Number": {
17535           "type": "object",
17536           "properties": {
17537             "Build": {
17538               "type": "integer"
17539             },
17540             "Major": {
17541               "type": "integer"
17542             },
17543             "Minor": {
17544               "type": "integer"
17545             },
17546             "Patch": {
17547               "type": "integer"
17548             },
17549             "Tag": {
17550               "type": "string"
17551             }
17552           },
17553           "additionalProperties": false,
17554           "required": [
17555             "Major",
17556             "Minor",
17557             "Tag",
17558             "Patch",
17559             "Build"
17560           ]
17561         },
17562         "ProvisioningInfo": {
17563           "type": "object",
17564           "properties": {
17565             "constraints": {
17566               "$ref": "#/definitions/Value"
17567             },
17568             "controller-config": {
17569               "type": "object",
17570               "patternProperties": {
17571                 ".*": {
17572                   "type": "object",
17573                   "additionalProperties": true
17574                 }
17575               }
17576             },
17577             "endpoint-bindings": {
17578               "type": "object",
17579               "patternProperties": {
17580                 ".*": {
17581                   "type": "string"
17582                 }
17583               }
17584             },
17585             "image-metadata": {
17586               "type": "array",
17587               "items": {
17588                 "$ref": "#/definitions/CloudImageMetadata"
17589               }
17590             },
17591             "jobs": {
17592               "type": "array",
17593               "items": {
17594                 "type": "string"
17595               }
17596             },
17597             "placement": {
17598               "type": "string"
17599             },
17600             "series": {
17601               "type": "string"
17602             },
17603             "subnets-to-zones": {
17604               "type": "object",
17605               "patternProperties": {
17606                 ".*": {
17607                   "type": "array",
17608                   "items": {
17609                     "type": "string"
17610                   }
17611                 }
17612               }
17613             },
17614             "tags": {
17615               "type": "object",
17616               "patternProperties": {
17617                 ".*": {
17618                   "type": "string"
17619                 }
17620               }
17621             },
17622             "volumes": {
17623               "type": "array",
17624               "items": {
17625                 "$ref": "#/definitions/VolumeParams"
17626               }
17627             }
17628           },
17629           "additionalProperties": false,
17630           "required": [
17631             "constraints",
17632             "series",
17633             "placement",
17634             "jobs"
17635           ]
17636         },
17637         "ProvisioningInfoResult": {
17638           "type": "object",
17639           "properties": {
17640             "error": {
17641               "$ref": "#/definitions/Error"
17642             },
17643             "result": {
17644               "$ref": "#/definitions/ProvisioningInfo"
17645             }
17646           },
17647           "additionalProperties": false,
17648           "required": [
17649             "result"
17650           ]
17651         },
17652         "ProvisioningInfoResults": {
17653           "type": "object",
17654           "properties": {
17655             "results": {
17656               "type": "array",
17657               "items": {
17658                 "$ref": "#/definitions/ProvisioningInfoResult"
17659               }
17660             }
17661           },
17662           "additionalProperties": false,
17663           "required": [
17664             "results"
17665           ]
17666         },
17667         "SetMachineNetworkConfig": {
17668           "type": "object",
17669           "properties": {
17670             "config": {
17671               "type": "array",
17672               "items": {
17673                 "$ref": "#/definitions/NetworkConfig"
17674               }
17675             },
17676             "tag": {
17677               "type": "string"
17678             }
17679           },
17680           "additionalProperties": false,
17681           "required": [
17682             "tag",
17683             "config"
17684           ]
17685         },
17686         "SetStatus": {
17687           "type": "object",
17688           "properties": {
17689             "entities": {
17690               "type": "array",
17691               "items": {
17692                 "$ref": "#/definitions/EntityStatusArgs"
17693               }
17694             }
17695           },
17696           "additionalProperties": false,
17697           "required": [
17698             "entities"
17699           ]
17700         },
17701         "Settings": {
17702           "type": "object",
17703           "properties": {
17704             "Ftp": {
17705               "type": "string"
17706             },
17707             "Http": {
17708               "type": "string"
17709             },
17710             "Https": {
17711               "type": "string"
17712             },
17713             "NoProxy": {
17714               "type": "string"
17715             }
17716           },
17717           "additionalProperties": false,
17718           "required": [
17719             "Http",
17720             "Https",
17721             "Ftp",
17722             "NoProxy"
17723           ]
17724         },
17725         "StatusResult": {
17726           "type": "object",
17727           "properties": {
17728             "data": {
17729               "type": "object",
17730               "patternProperties": {
17731                 ".*": {
17732                   "type": "object",
17733                   "additionalProperties": true
17734                 }
17735               }
17736             },
17737             "error": {
17738               "$ref": "#/definitions/Error"
17739             },
17740             "id": {
17741               "type": "string"
17742             },
17743             "info": {
17744               "type": "string"
17745             },
17746             "life": {
17747               "type": "string"
17748             },
17749             "since": {
17750               "type": "string",
17751               "format": "date-time"
17752             },
17753             "status": {
17754               "type": "string"
17755             }
17756           },
17757           "additionalProperties": false,
17758           "required": [
17759             "id",
17760             "life",
17761             "status",
17762             "info",
17763             "data",
17764             "since"
17765           ]
17766         },
17767         "StatusResults": {
17768           "type": "object",
17769           "properties": {
17770             "results": {
17771               "type": "array",
17772               "items": {
17773                 "$ref": "#/definitions/StatusResult"
17774               }
17775             }
17776           },
17777           "additionalProperties": false,
17778           "required": [
17779             "results"
17780           ]
17781         },
17782         "StringResult": {
17783           "type": "object",
17784           "properties": {
17785             "error": {
17786               "$ref": "#/definitions/Error"
17787             },
17788             "result": {
17789               "type": "string"
17790             }
17791           },
17792           "additionalProperties": false,
17793           "required": [
17794             "result"
17795           ]
17796         },
17797         "StringResults": {
17798           "type": "object",
17799           "properties": {
17800             "results": {
17801               "type": "array",
17802               "items": {
17803                 "$ref": "#/definitions/StringResult"
17804               }
17805             }
17806           },
17807           "additionalProperties": false,
17808           "required": [
17809             "results"
17810           ]
17811         },
17812         "StringsResult": {
17813           "type": "object",
17814           "properties": {
17815             "error": {
17816               "$ref": "#/definitions/Error"
17817             },
17818             "result": {
17819               "type": "array",
17820               "items": {
17821                 "type": "string"
17822               }
17823             }
17824           },
17825           "additionalProperties": false
17826         },
17827         "StringsWatchResult": {
17828           "type": "object",
17829           "properties": {
17830             "changes": {
17831               "type": "array",
17832               "items": {
17833                 "type": "string"
17834               }
17835             },
17836             "error": {
17837               "$ref": "#/definitions/Error"
17838             },
17839             "watcher-id": {
17840               "type": "string"
17841             }
17842           },
17843           "additionalProperties": false,
17844           "required": [
17845             "watcher-id"
17846           ]
17847         },
17848         "StringsWatchResults": {
17849           "type": "object",
17850           "properties": {
17851             "results": {
17852               "type": "array",
17853               "items": {
17854                 "$ref": "#/definitions/StringsWatchResult"
17855               }
17856             }
17857           },
17858           "additionalProperties": false,
17859           "required": [
17860             "results"
17861           ]
17862         },
17863         "Tools": {
17864           "type": "object",
17865           "properties": {
17866             "sha256": {
17867               "type": "string"
17868             },
17869             "size": {
17870               "type": "integer"
17871             },
17872             "url": {
17873               "type": "string"
17874             },
17875             "version": {
17876               "$ref": "#/definitions/Binary"
17877             }
17878           },
17879           "additionalProperties": false,
17880           "required": [
17881             "version",
17882             "url",
17883             "size"
17884           ]
17885         },
17886         "ToolsResult": {
17887           "type": "object",
17888           "properties": {
17889             "disable-ssl-hostname-verification": {
17890               "type": "boolean"
17891             },
17892             "error": {
17893               "$ref": "#/definitions/Error"
17894             },
17895             "tools": {
17896               "type": "array",
17897               "items": {
17898                 "$ref": "#/definitions/Tools"
17899               }
17900             }
17901           },
17902           "additionalProperties": false,
17903           "required": [
17904             "tools",
17905             "disable-ssl-hostname-verification"
17906           ]
17907         },
17908         "ToolsResults": {
17909           "type": "object",
17910           "properties": {
17911             "results": {
17912               "type": "array",
17913               "items": {
17914                 "$ref": "#/definitions/ToolsResult"
17915               }
17916             }
17917           },
17918           "additionalProperties": false,
17919           "required": [
17920             "results"
17921           ]
17922         },
17923         "UpdateBehavior": {
17924           "type": "object",
17925           "properties": {
17926             "enable-os-refresh-update": {
17927               "type": "boolean"
17928             },
17929             "enable-os-upgrade": {
17930               "type": "boolean"
17931             }
17932           },
17933           "additionalProperties": false,
17934           "required": [
17935             "enable-os-refresh-update",
17936             "enable-os-upgrade"
17937           ]
17938         },
17939         "Value": {
17940           "type": "object",
17941           "properties": {
17942             "arch": {
17943               "type": "string"
17944             },
17945             "container": {
17946               "type": "string"
17947             },
17948             "cores": {
17949               "type": "integer"
17950             },
17951             "cpu-power": {
17952               "type": "integer"
17953             },
17954             "instance-type": {
17955               "type": "string"
17956             },
17957             "mem": {
17958               "type": "integer"
17959             },
17960             "root-disk": {
17961               "type": "integer"
17962             },
17963             "spaces": {
17964               "type": "array",
17965               "items": {
17966                 "type": "string"
17967               }
17968             },
17969             "tags": {
17970               "type": "array",
17971               "items": {
17972                 "type": "string"
17973               }
17974             },
17975             "virt-type": {
17976               "type": "string"
17977             }
17978           },
17979           "additionalProperties": false
17980         },
17981         "Volume": {
17982           "type": "object",
17983           "properties": {
17984             "info": {
17985               "$ref": "#/definitions/VolumeInfo"
17986             },
17987             "volume-tag": {
17988               "type": "string"
17989             }
17990           },
17991           "additionalProperties": false,
17992           "required": [
17993             "volume-tag",
17994             "info"
17995           ]
17996         },
17997         "VolumeAttachmentInfo": {
17998           "type": "object",
17999           "properties": {
18000             "bus-address": {
18001               "type": "string"
18002             },
18003             "device-link": {
18004               "type": "string"
18005             },
18006             "device-name": {
18007               "type": "string"
18008             },
18009             "read-only": {
18010               "type": "boolean"
18011             }
18012           },
18013           "additionalProperties": false
18014         },
18015         "VolumeAttachmentParams": {
18016           "type": "object",
18017           "properties": {
18018             "instance-id": {
18019               "type": "string"
18020             },
18021             "machine-tag": {
18022               "type": "string"
18023             },
18024             "provider": {
18025               "type": "string"
18026             },
18027             "read-only": {
18028               "type": "boolean"
18029             },
18030             "volume-id": {
18031               "type": "string"
18032             },
18033             "volume-tag": {
18034               "type": "string"
18035             }
18036           },
18037           "additionalProperties": false,
18038           "required": [
18039             "volume-tag",
18040             "machine-tag",
18041             "provider"
18042           ]
18043         },
18044         "VolumeInfo": {
18045           "type": "object",
18046           "properties": {
18047             "hardware-id": {
18048               "type": "string"
18049             },
18050             "persistent": {
18051               "type": "boolean"
18052             },
18053             "pool": {
18054               "type": "string"
18055             },
18056             "size": {
18057               "type": "integer"
18058             },
18059             "volume-id": {
18060               "type": "string"
18061             }
18062           },
18063           "additionalProperties": false,
18064           "required": [
18065             "volume-id",
18066             "size",
18067             "persistent"
18068           ]
18069         },
18070         "VolumeParams": {
18071           "type": "object",
18072           "properties": {
18073             "attachment": {
18074               "$ref": "#/definitions/VolumeAttachmentParams"
18075             },
18076             "attributes": {
18077               "type": "object",
18078               "patternProperties": {
18079                 ".*": {
18080                   "type": "object",
18081                   "additionalProperties": true
18082                 }
18083               }
18084             },
18085             "provider": {
18086               "type": "string"
18087             },
18088             "size": {
18089               "type": "integer"
18090             },
18091             "tags": {
18092               "type": "object",
18093               "patternProperties": {
18094                 ".*": {
18095                   "type": "string"
18096                 }
18097               }
18098             },
18099             "volume-tag": {
18100               "type": "string"
18101             }
18102           },
18103           "additionalProperties": false,
18104           "required": [
18105             "volume-tag",
18106             "size",
18107             "provider"
18108           ]
18109         },
18110         "WatchContainer": {
18111           "type": "object",
18112           "properties": {
18113             "container-type": {
18114               "type": "string"
18115             },
18116             "machine-tag": {
18117               "type": "string"
18118             }
18119           },
18120           "additionalProperties": false,
18121           "required": [
18122             "machine-tag",
18123             "container-type"
18124           ]
18125         },
18126         "WatchContainers": {
18127           "type": "object",
18128           "properties": {
18129             "params": {
18130               "type": "array",
18131               "items": {
18132                 "$ref": "#/definitions/WatchContainer"
18133               }
18134             }
18135           },
18136           "additionalProperties": false,
18137           "required": [
18138             "params"
18139           ]
18140         }
18141       }
18142     }
18143   },
18144   {
18145     "Name": "ProxyUpdater",
18146     "Version": 1,
18147     "Schema": {
18148       "type": "object",
18149       "properties": {
18150         "ProxyConfig": {
18151           "type": "object",
18152           "properties": {
18153             "Params": {
18154               "$ref": "#/definitions/Entities"
18155             },
18156             "Result": {
18157               "$ref": "#/definitions/ProxyConfigResults"
18158             }
18159           }
18160         },
18161         "WatchForProxyConfigAndAPIHostPortChanges": {
18162           "type": "object",
18163           "properties": {
18164             "Params": {
18165               "$ref": "#/definitions/Entities"
18166             },
18167             "Result": {
18168               "$ref": "#/definitions/NotifyWatchResults"
18169             }
18170           }
18171         }
18172       },
18173       "definitions": {
18174         "Entities": {
18175           "type": "object",
18176           "properties": {
18177             "entities": {
18178               "type": "array",
18179               "items": {
18180                 "$ref": "#/definitions/Entity"
18181               }
18182             }
18183           },
18184           "additionalProperties": false,
18185           "required": [
18186             "entities"
18187           ]
18188         },
18189         "Entity": {
18190           "type": "object",
18191           "properties": {
18192             "tag": {
18193               "type": "string"
18194             }
18195           },
18196           "additionalProperties": false,
18197           "required": [
18198             "tag"
18199           ]
18200         },
18201         "Error": {
18202           "type": "object",
18203           "properties": {
18204             "code": {
18205               "type": "string"
18206             },
18207             "info": {
18208               "$ref": "#/definitions/ErrorInfo"
18209             },
18210             "message": {
18211               "type": "string"
18212             }
18213           },
18214           "additionalProperties": false,
18215           "required": [
18216             "message",
18217             "code"
18218           ]
18219         },
18220         "ErrorInfo": {
18221           "type": "object",
18222           "properties": {
18223             "macaroon": {
18224               "$ref": "#/definitions/Macaroon"
18225             },
18226             "macaroon-path": {
18227               "type": "string"
18228             }
18229           },
18230           "additionalProperties": false
18231         },
18232         "Macaroon": {
18233           "type": "object",
18234           "additionalProperties": false
18235         },
18236         "NotifyWatchResult": {
18237           "type": "object",
18238           "properties": {
18239             "NotifyWatcherId": {
18240               "type": "string"
18241             },
18242             "error": {
18243               "$ref": "#/definitions/Error"
18244             }
18245           },
18246           "additionalProperties": false,
18247           "required": [
18248             "NotifyWatcherId"
18249           ]
18250         },
18251         "NotifyWatchResults": {
18252           "type": "object",
18253           "properties": {
18254             "results": {
18255               "type": "array",
18256               "items": {
18257                 "$ref": "#/definitions/NotifyWatchResult"
18258               }
18259             }
18260           },
18261           "additionalProperties": false,
18262           "required": [
18263             "results"
18264           ]
18265         },
18266         "ProxyConfig": {
18267           "type": "object",
18268           "properties": {
18269             "ftp": {
18270               "type": "string"
18271             },
18272             "http": {
18273               "type": "string"
18274             },
18275             "https": {
18276               "type": "string"
18277             },
18278             "no-proxy": {
18279               "type": "string"
18280             }
18281           },
18282           "additionalProperties": false,
18283           "required": [
18284             "http",
18285             "https",
18286             "ftp",
18287             "no-proxy"
18288           ]
18289         },
18290         "ProxyConfigResult": {
18291           "type": "object",
18292           "properties": {
18293             "apt-proxy-settings": {
18294               "$ref": "#/definitions/ProxyConfig"
18295             },
18296             "error": {
18297               "$ref": "#/definitions/Error"
18298             },
18299             "proxy-settings": {
18300               "$ref": "#/definitions/ProxyConfig"
18301             }
18302           },
18303           "additionalProperties": false,
18304           "required": [
18305             "proxy-settings",
18306             "apt-proxy-settings"
18307           ]
18308         },
18309         "ProxyConfigResults": {
18310           "type": "object",
18311           "properties": {
18312             "results": {
18313               "type": "array",
18314               "items": {
18315                 "$ref": "#/definitions/ProxyConfigResult"
18316               }
18317             }
18318           },
18319           "additionalProperties": false,
18320           "required": [
18321             "results"
18322           ]
18323         }
18324       }
18325     }
18326   },
18327   {
18328     "Name": "Reboot",
18329     "Version": 2,
18330     "Schema": {
18331       "type": "object",
18332       "properties": {
18333         "ClearReboot": {
18334           "type": "object",
18335           "properties": {
18336             "Params": {
18337               "$ref": "#/definitions/Entities"
18338             },
18339             "Result": {
18340               "$ref": "#/definitions/ErrorResults"
18341             }
18342           }
18343         },
18344         "GetRebootAction": {
18345           "type": "object",
18346           "properties": {
18347             "Params": {
18348               "$ref": "#/definitions/Entities"
18349             },
18350             "Result": {
18351               "$ref": "#/definitions/RebootActionResults"
18352             }
18353           }
18354         },
18355         "RequestReboot": {
18356           "type": "object",
18357           "properties": {
18358             "Params": {
18359               "$ref": "#/definitions/Entities"
18360             },
18361             "Result": {
18362               "$ref": "#/definitions/ErrorResults"
18363             }
18364           }
18365         },
18366         "WatchForRebootEvent": {
18367           "type": "object",
18368           "properties": {
18369             "Result": {
18370               "$ref": "#/definitions/NotifyWatchResult"
18371             }
18372           }
18373         }
18374       },
18375       "definitions": {
18376         "Entities": {
18377           "type": "object",
18378           "properties": {
18379             "entities": {
18380               "type": "array",
18381               "items": {
18382                 "$ref": "#/definitions/Entity"
18383               }
18384             }
18385           },
18386           "additionalProperties": false,
18387           "required": [
18388             "entities"
18389           ]
18390         },
18391         "Entity": {
18392           "type": "object",
18393           "properties": {
18394             "tag": {
18395               "type": "string"
18396             }
18397           },
18398           "additionalProperties": false,
18399           "required": [
18400             "tag"
18401           ]
18402         },
18403         "Error": {
18404           "type": "object",
18405           "properties": {
18406             "code": {
18407               "type": "string"
18408             },
18409             "info": {
18410               "$ref": "#/definitions/ErrorInfo"
18411             },
18412             "message": {
18413               "type": "string"
18414             }
18415           },
18416           "additionalProperties": false,
18417           "required": [
18418             "message",
18419             "code"
18420           ]
18421         },
18422         "ErrorInfo": {
18423           "type": "object",
18424           "properties": {
18425             "macaroon": {
18426               "$ref": "#/definitions/Macaroon"
18427             },
18428             "macaroon-path": {
18429               "type": "string"
18430             }
18431           },
18432           "additionalProperties": false
18433         },
18434         "ErrorResult": {
18435           "type": "object",
18436           "properties": {
18437             "error": {
18438               "$ref": "#/definitions/Error"
18439             }
18440           },
18441           "additionalProperties": false
18442         },
18443         "ErrorResults": {
18444           "type": "object",
18445           "properties": {
18446             "results": {
18447               "type": "array",
18448               "items": {
18449                 "$ref": "#/definitions/ErrorResult"
18450               }
18451             }
18452           },
18453           "additionalProperties": false,
18454           "required": [
18455             "results"
18456           ]
18457         },
18458         "Macaroon": {
18459           "type": "object",
18460           "additionalProperties": false
18461         },
18462         "NotifyWatchResult": {
18463           "type": "object",
18464           "properties": {
18465             "NotifyWatcherId": {
18466               "type": "string"
18467             },
18468             "error": {
18469               "$ref": "#/definitions/Error"
18470             }
18471           },
18472           "additionalProperties": false,
18473           "required": [
18474             "NotifyWatcherId"
18475           ]
18476         },
18477         "RebootActionResult": {
18478           "type": "object",
18479           "properties": {
18480             "error": {
18481               "$ref": "#/definitions/Error"
18482             },
18483             "result": {
18484               "type": "string"
18485             }
18486           },
18487           "additionalProperties": false
18488         },
18489         "RebootActionResults": {
18490           "type": "object",
18491           "properties": {
18492             "results": {
18493               "type": "array",
18494               "items": {
18495                 "$ref": "#/definitions/RebootActionResult"
18496               }
18497             }
18498           },
18499           "additionalProperties": false
18500         }
18501       }
18502     }
18503   },
18504   {
18505     "Name": "RelationUnitsWatcher",
18506     "Version": 1,
18507     "Schema": {
18508       "type": "object",
18509       "properties": {
18510         "Next": {
18511           "type": "object",
18512           "properties": {
18513             "Result": {
18514               "$ref": "#/definitions/RelationUnitsWatchResult"
18515             }
18516           }
18517         },
18518         "Stop": {
18519           "type": "object"
18520         }
18521       },
18522       "definitions": {
18523         "Error": {
18524           "type": "object",
18525           "properties": {
18526             "code": {
18527               "type": "string"
18528             },
18529             "info": {
18530               "$ref": "#/definitions/ErrorInfo"
18531             },
18532             "message": {
18533               "type": "string"
18534             }
18535           },
18536           "additionalProperties": false,
18537           "required": [
18538             "message",
18539             "code"
18540           ]
18541         },
18542         "ErrorInfo": {
18543           "type": "object",
18544           "properties": {
18545             "macaroon": {
18546               "$ref": "#/definitions/Macaroon"
18547             },
18548             "macaroon-path": {
18549               "type": "string"
18550             }
18551           },
18552           "additionalProperties": false
18553         },
18554         "Macaroon": {
18555           "type": "object",
18556           "additionalProperties": false
18557         },
18558         "RelationUnitsChange": {
18559           "type": "object",
18560           "properties": {
18561             "changed": {
18562               "type": "object",
18563               "patternProperties": {
18564                 ".*": {
18565                   "$ref": "#/definitions/UnitSettings"
18566                 }
18567               }
18568             },
18569             "departed": {
18570               "type": "array",
18571               "items": {
18572                 "type": "string"
18573               }
18574             }
18575           },
18576           "additionalProperties": false,
18577           "required": [
18578             "changed"
18579           ]
18580         },
18581         "RelationUnitsWatchResult": {
18582           "type": "object",
18583           "properties": {
18584             "changes": {
18585               "$ref": "#/definitions/RelationUnitsChange"
18586             },
18587             "error": {
18588               "$ref": "#/definitions/Error"
18589             },
18590             "watcher-id": {
18591               "type": "string"
18592             }
18593           },
18594           "additionalProperties": false,
18595           "required": [
18596             "watcher-id",
18597             "changes"
18598           ]
18599         },
18600         "UnitSettings": {
18601           "type": "object",
18602           "properties": {
18603             "version": {
18604               "type": "integer"
18605             }
18606           },
18607           "additionalProperties": false,
18608           "required": [
18609             "version"
18610           ]
18611         }
18612       }
18613     }
18614   },
18615   {
18616     "Name": "Resources",
18617     "Version": 1,
18618     "Schema": {
18619       "type": "object",
18620       "properties": {
18621         "AddPendingResources": {
18622           "type": "object",
18623           "properties": {
18624             "Params": {
18625               "$ref": "#/definitions/AddPendingResourcesArgs"
18626             },
18627             "Result": {
18628               "$ref": "#/definitions/AddPendingResourcesResult"
18629             }
18630           }
18631         },
18632         "ListResources": {
18633           "type": "object",
18634           "properties": {
18635             "Params": {
18636               "$ref": "#/definitions/ListResourcesArgs"
18637             },
18638             "Result": {
18639               "$ref": "#/definitions/ResourcesResults"
18640             }
18641           }
18642         }
18643       },
18644       "definitions": {
18645         "AddCharmWithAuthorization": {
18646           "type": "object",
18647           "properties": {
18648             "channel": {
18649               "type": "string"
18650             },
18651             "macaroon": {
18652               "$ref": "#/definitions/Macaroon"
18653             },
18654             "url": {
18655               "type": "string"
18656             }
18657           },
18658           "additionalProperties": false,
18659           "required": [
18660             "url",
18661             "channel",
18662             "macaroon"
18663           ]
18664         },
18665         "AddPendingResourcesArgs": {
18666           "type": "object",
18667           "properties": {
18668             "AddCharmWithAuthorization": {
18669               "$ref": "#/definitions/AddCharmWithAuthorization"
18670             },
18671             "Entity": {
18672               "$ref": "#/definitions/Entity"
18673             },
18674             "resources": {
18675               "type": "array",
18676               "items": {
18677                 "$ref": "#/definitions/CharmResource"
18678               }
18679             }
18680           },
18681           "additionalProperties": false,
18682           "required": [
18683             "Entity",
18684             "AddCharmWithAuthorization",
18685             "resources"
18686           ]
18687         },
18688         "AddPendingResourcesResult": {
18689           "type": "object",
18690           "properties": {
18691             "ErrorResult": {
18692               "$ref": "#/definitions/ErrorResult"
18693             },
18694             "pending-ids": {
18695               "type": "array",
18696               "items": {
18697                 "type": "string"
18698               }
18699             }
18700           },
18701           "additionalProperties": false,
18702           "required": [
18703             "ErrorResult",
18704             "pending-ids"
18705           ]
18706         },
18707         "CharmResource": {
18708           "type": "object",
18709           "properties": {
18710             "description": {
18711               "type": "string"
18712             },
18713             "fingerprint": {
18714               "type": "array",
18715               "items": {
18716                 "type": "integer"
18717               }
18718             },
18719             "name": {
18720               "type": "string"
18721             },
18722             "origin": {
18723               "type": "string"
18724             },
18725             "path": {
18726               "type": "string"
18727             },
18728             "revision": {
18729               "type": "integer"
18730             },
18731             "size": {
18732               "type": "integer"
18733             },
18734             "type": {
18735               "type": "string"
18736             }
18737           },
18738           "additionalProperties": false,
18739           "required": [
18740             "name",
18741             "type",
18742             "path",
18743             "origin",
18744             "revision",
18745             "fingerprint",
18746             "size"
18747           ]
18748         },
18749         "Entity": {
18750           "type": "object",
18751           "properties": {
18752             "tag": {
18753               "type": "string"
18754             }
18755           },
18756           "additionalProperties": false,
18757           "required": [
18758             "tag"
18759           ]
18760         },
18761         "Error": {
18762           "type": "object",
18763           "properties": {
18764             "code": {
18765               "type": "string"
18766             },
18767             "info": {
18768               "$ref": "#/definitions/ErrorInfo"
18769             },
18770             "message": {
18771               "type": "string"
18772             }
18773           },
18774           "additionalProperties": false,
18775           "required": [
18776             "message",
18777             "code"
18778           ]
18779         },
18780         "ErrorInfo": {
18781           "type": "object",
18782           "properties": {
18783             "macaroon": {
18784               "$ref": "#/definitions/Macaroon"
18785             },
18786             "macaroon-path": {
18787               "type": "string"
18788             }
18789           },
18790           "additionalProperties": false
18791         },
18792         "ErrorResult": {
18793           "type": "object",
18794           "properties": {
18795             "error": {
18796               "$ref": "#/definitions/Error"
18797             }
18798           },
18799           "additionalProperties": false
18800         },
18801         "ListResourcesArgs": {
18802           "type": "object",
18803           "properties": {
18804             "entities": {
18805               "type": "array",
18806               "items": {
18807                 "$ref": "#/definitions/Entity"
18808               }
18809             }
18810           },
18811           "additionalProperties": false,
18812           "required": [
18813             "entities"
18814           ]
18815         },
18816         "Macaroon": {
18817           "type": "object",
18818           "additionalProperties": false
18819         },
18820         "Resource": {
18821           "type": "object",
18822           "properties": {
18823             "CharmResource": {
18824               "$ref": "#/definitions/CharmResource"
18825             },
18826             "application": {
18827               "type": "string"
18828             },
18829             "id": {
18830               "type": "string"
18831             },
18832             "pending-id": {
18833               "type": "string"
18834             },
18835             "timestamp": {
18836               "type": "string",
18837               "format": "date-time"
18838             },
18839             "username": {
18840               "type": "string"
18841             }
18842           },
18843           "additionalProperties": false,
18844           "required": [
18845             "CharmResource",
18846             "id",
18847             "pending-id",
18848             "application",
18849             "username",
18850             "timestamp"
18851           ]
18852         },
18853         "ResourcesResult": {
18854           "type": "object",
18855           "properties": {
18856             "ErrorResult": {
18857               "$ref": "#/definitions/ErrorResult"
18858             },
18859             "charm-store-resources": {
18860               "type": "array",
18861               "items": {
18862                 "$ref": "#/definitions/CharmResource"
18863               }
18864             },
18865             "resources": {
18866               "type": "array",
18867               "items": {
18868                 "$ref": "#/definitions/Resource"
18869               }
18870             },
18871             "unit-resources": {
18872               "type": "array",
18873               "items": {
18874                 "$ref": "#/definitions/UnitResources"
18875               }
18876             }
18877           },
18878           "additionalProperties": false,
18879           "required": [
18880             "ErrorResult",
18881             "resources",
18882             "charm-store-resources",
18883             "unit-resources"
18884           ]
18885         },
18886         "ResourcesResults": {
18887           "type": "object",
18888           "properties": {
18889             "results": {
18890               "type": "array",
18891               "items": {
18892                 "$ref": "#/definitions/ResourcesResult"
18893               }
18894             }
18895           },
18896           "additionalProperties": false,
18897           "required": [
18898             "results"
18899           ]
18900         },
18901         "UnitResources": {
18902           "type": "object",
18903           "properties": {
18904             "Entity": {
18905               "$ref": "#/definitions/Entity"
18906             },
18907             "download-progress": {
18908               "type": "object",
18909               "patternProperties": {
18910                 ".*": {
18911                   "type": "integer"
18912                 }
18913               }
18914             },
18915             "resources": {
18916               "type": "array",
18917               "items": {
18918                 "$ref": "#/definitions/Resource"
18919               }
18920             }
18921           },
18922           "additionalProperties": false,
18923           "required": [
18924             "Entity",
18925             "resources",
18926             "download-progress"
18927           ]
18928         }
18929       }
18930     }
18931   },
18932   {
18933     "Name": "ResourcesHookContext",
18934     "Version": 1,
18935     "Schema": {
18936       "type": "object",
18937       "properties": {
18938         "GetResourceInfo": {
18939           "type": "object",
18940           "properties": {
18941             "Params": {
18942               "$ref": "#/definitions/ListUnitResourcesArgs"
18943             },
18944             "Result": {
18945               "$ref": "#/definitions/UnitResourcesResult"
18946             }
18947           }
18948         }
18949       },
18950       "definitions": {
18951         "CharmResource": {
18952           "type": "object",
18953           "properties": {
18954             "description": {
18955               "type": "string"
18956             },
18957             "fingerprint": {
18958               "type": "array",
18959               "items": {
18960                 "type": "integer"
18961               }
18962             },
18963             "name": {
18964               "type": "string"
18965             },
18966             "origin": {
18967               "type": "string"
18968             },
18969             "path": {
18970               "type": "string"
18971             },
18972             "revision": {
18973               "type": "integer"
18974             },
18975             "size": {
18976               "type": "integer"
18977             },
18978             "type": {
18979               "type": "string"
18980             }
18981           },
18982           "additionalProperties": false,
18983           "required": [
18984             "name",
18985             "type",
18986             "path",
18987             "origin",
18988             "revision",
18989             "fingerprint",
18990             "size"
18991           ]
18992         },
18993         "Error": {
18994           "type": "object",
18995           "properties": {
18996             "code": {
18997               "type": "string"
18998             },
18999             "info": {
19000               "$ref": "#/definitions/ErrorInfo"
19001             },
19002             "message": {
19003               "type": "string"
19004             }
19005           },
19006           "additionalProperties": false,
19007           "required": [
19008             "message",
19009             "code"
19010           ]
19011         },
19012         "ErrorInfo": {
19013           "type": "object",
19014           "properties": {
19015             "macaroon": {
19016               "$ref": "#/definitions/Macaroon"
19017             },
19018             "macaroon-path": {
19019               "type": "string"
19020             }
19021           },
19022           "additionalProperties": false
19023         },
19024         "ErrorResult": {
19025           "type": "object",
19026           "properties": {
19027             "error": {
19028               "$ref": "#/definitions/Error"
19029             }
19030           },
19031           "additionalProperties": false
19032         },
19033         "ListUnitResourcesArgs": {
19034           "type": "object",
19035           "properties": {
19036             "resource-names": {
19037               "type": "array",
19038               "items": {
19039                 "type": "string"
19040               }
19041             }
19042           },
19043           "additionalProperties": false,
19044           "required": [
19045             "resource-names"
19046           ]
19047         },
19048         "Macaroon": {
19049           "type": "object",
19050           "additionalProperties": false
19051         },
19052         "Resource": {
19053           "type": "object",
19054           "properties": {
19055             "CharmResource": {
19056               "$ref": "#/definitions/CharmResource"
19057             },
19058             "application": {
19059               "type": "string"
19060             },
19061             "id": {
19062               "type": "string"
19063             },
19064             "pending-id": {
19065               "type": "string"
19066             },
19067             "timestamp": {
19068               "type": "string",
19069               "format": "date-time"
19070             },
19071             "username": {
19072               "type": "string"
19073             }
19074           },
19075           "additionalProperties": false,
19076           "required": [
19077             "CharmResource",
19078             "id",
19079             "pending-id",
19080             "application",
19081             "username",
19082             "timestamp"
19083           ]
19084         },
19085         "UnitResourceResult": {
19086           "type": "object",
19087           "properties": {
19088             "ErrorResult": {
19089               "$ref": "#/definitions/ErrorResult"
19090             },
19091             "resource": {
19092               "$ref": "#/definitions/Resource"
19093             }
19094           },
19095           "additionalProperties": false,
19096           "required": [
19097             "ErrorResult",
19098             "resource"
19099           ]
19100         },
19101         "UnitResourcesResult": {
19102           "type": "object",
19103           "properties": {
19104             "ErrorResult": {
19105               "$ref": "#/definitions/ErrorResult"
19106             },
19107             "resources": {
19108               "type": "array",
19109               "items": {
19110                 "$ref": "#/definitions/UnitResourceResult"
19111               }
19112             }
19113           },
19114           "additionalProperties": false,
19115           "required": [
19116             "ErrorResult",
19117             "resources"
19118           ]
19119         }
19120       }
19121     }
19122   },
19123   {
19124     "Name": "Resumer",
19125     "Version": 2,
19126     "Schema": {
19127       "type": "object",
19128       "properties": {
19129         "ResumeTransactions": {
19130           "type": "object"
19131         }
19132       }
19133     }
19134   },
19135   {
19136     "Name": "RetryStrategy",
19137     "Version": 1,
19138     "Schema": {
19139       "type": "object",
19140       "properties": {
19141         "RetryStrategy": {
19142           "type": "object",
19143           "properties": {
19144             "Params": {
19145               "$ref": "#/definitions/Entities"
19146             },
19147             "Result": {
19148               "$ref": "#/definitions/RetryStrategyResults"
19149             }
19150           }
19151         },
19152         "WatchRetryStrategy": {
19153           "type": "object",
19154           "properties": {
19155             "Params": {
19156               "$ref": "#/definitions/Entities"
19157             },
19158             "Result": {
19159               "$ref": "#/definitions/NotifyWatchResults"
19160             }
19161           }
19162         }
19163       },
19164       "definitions": {
19165         "Entities": {
19166           "type": "object",
19167           "properties": {
19168             "entities": {
19169               "type": "array",
19170               "items": {
19171                 "$ref": "#/definitions/Entity"
19172               }
19173             }
19174           },
19175           "additionalProperties": false,
19176           "required": [
19177             "entities"
19178           ]
19179         },
19180         "Entity": {
19181           "type": "object",
19182           "properties": {
19183             "tag": {
19184               "type": "string"
19185             }
19186           },
19187           "additionalProperties": false,
19188           "required": [
19189             "tag"
19190           ]
19191         },
19192         "Error": {
19193           "type": "object",
19194           "properties": {
19195             "code": {
19196               "type": "string"
19197             },
19198             "info": {
19199               "$ref": "#/definitions/ErrorInfo"
19200             },
19201             "message": {
19202               "type": "string"
19203             }
19204           },
19205           "additionalProperties": false,
19206           "required": [
19207             "message",
19208             "code"
19209           ]
19210         },
19211         "ErrorInfo": {
19212           "type": "object",
19213           "properties": {
19214             "macaroon": {
19215               "$ref": "#/definitions/Macaroon"
19216             },
19217             "macaroon-path": {
19218               "type": "string"
19219             }
19220           },
19221           "additionalProperties": false
19222         },
19223         "Macaroon": {
19224           "type": "object",
19225           "additionalProperties": false
19226         },
19227         "NotifyWatchResult": {
19228           "type": "object",
19229           "properties": {
19230             "NotifyWatcherId": {
19231               "type": "string"
19232             },
19233             "error": {
19234               "$ref": "#/definitions/Error"
19235             }
19236           },
19237           "additionalProperties": false,
19238           "required": [
19239             "NotifyWatcherId"
19240           ]
19241         },
19242         "NotifyWatchResults": {
19243           "type": "object",
19244           "properties": {
19245             "results": {
19246               "type": "array",
19247               "items": {
19248                 "$ref": "#/definitions/NotifyWatchResult"
19249               }
19250             }
19251           },
19252           "additionalProperties": false,
19253           "required": [
19254             "results"
19255           ]
19256         },
19257         "RetryStrategy": {
19258           "type": "object",
19259           "properties": {
19260             "jitter-retry-time": {
19261               "type": "boolean"
19262             },
19263             "max-retry-time": {
19264               "type": "integer"
19265             },
19266             "min-retry-time": {
19267               "type": "integer"
19268             },
19269             "retry-time-factor": {
19270               "type": "integer"
19271             },
19272             "should-retry": {
19273               "type": "boolean"
19274             }
19275           },
19276           "additionalProperties": false,
19277           "required": [
19278             "should-retry",
19279             "min-retry-time",
19280             "max-retry-time",
19281             "jitter-retry-time",
19282             "retry-time-factor"
19283           ]
19284         },
19285         "RetryStrategyResult": {
19286           "type": "object",
19287           "properties": {
19288             "error": {
19289               "$ref": "#/definitions/Error"
19290             },
19291             "result": {
19292               "$ref": "#/definitions/RetryStrategy"
19293             }
19294           },
19295           "additionalProperties": false
19296         },
19297         "RetryStrategyResults": {
19298           "type": "object",
19299           "properties": {
19300             "results": {
19301               "type": "array",
19302               "items": {
19303                 "$ref": "#/definitions/RetryStrategyResult"
19304               }
19305             }
19306           },
19307           "additionalProperties": false,
19308           "required": [
19309             "results"
19310           ]
19311         }
19312       }
19313     }
19314   },
19315   {
19316     "Name": "SSHClient",
19317     "Version": 2,
19318     "Schema": {
19319       "type": "object",
19320       "properties": {
19321         "AllAddresses": {
19322           "type": "object",
19323           "properties": {
19324             "Params": {
19325               "$ref": "#/definitions/Entities"
19326             },
19327             "Result": {
19328               "$ref": "#/definitions/SSHAddressesResults"
19329             }
19330           }
19331         },
19332         "PrivateAddress": {
19333           "type": "object",
19334           "properties": {
19335             "Params": {
19336               "$ref": "#/definitions/Entities"
19337             },
19338             "Result": {
19339               "$ref": "#/definitions/SSHAddressResults"
19340             }
19341           }
19342         },
19343         "Proxy": {
19344           "type": "object",
19345           "properties": {
19346             "Result": {
19347               "$ref": "#/definitions/SSHProxyResult"
19348             }
19349           }
19350         },
19351         "PublicAddress": {
19352           "type": "object",
19353           "properties": {
19354             "Params": {
19355               "$ref": "#/definitions/Entities"
19356             },
19357             "Result": {
19358               "$ref": "#/definitions/SSHAddressResults"
19359             }
19360           }
19361         },
19362         "PublicKeys": {
19363           "type": "object",
19364           "properties": {
19365             "Params": {
19366               "$ref": "#/definitions/Entities"
19367             },
19368             "Result": {
19369               "$ref": "#/definitions/SSHPublicKeysResults"
19370             }
19371           }
19372         }
19373       },
19374       "definitions": {
19375         "Entities": {
19376           "type": "object",
19377           "properties": {
19378             "entities": {
19379               "type": "array",
19380               "items": {
19381                 "$ref": "#/definitions/Entity"
19382               }
19383             }
19384           },
19385           "additionalProperties": false,
19386           "required": [
19387             "entities"
19388           ]
19389         },
19390         "Entity": {
19391           "type": "object",
19392           "properties": {
19393             "tag": {
19394               "type": "string"
19395             }
19396           },
19397           "additionalProperties": false,
19398           "required": [
19399             "tag"
19400           ]
19401         },
19402         "Error": {
19403           "type": "object",
19404           "properties": {
19405             "code": {
19406               "type": "string"
19407             },
19408             "info": {
19409               "$ref": "#/definitions/ErrorInfo"
19410             },
19411             "message": {
19412               "type": "string"
19413             }
19414           },
19415           "additionalProperties": false,
19416           "required": [
19417             "message",
19418             "code"
19419           ]
19420         },
19421         "ErrorInfo": {
19422           "type": "object",
19423           "properties": {
19424             "macaroon": {
19425               "$ref": "#/definitions/Macaroon"
19426             },
19427             "macaroon-path": {
19428               "type": "string"
19429             }
19430           },
19431           "additionalProperties": false
19432         },
19433         "Macaroon": {
19434           "type": "object",
19435           "additionalProperties": false
19436         },
19437         "SSHAddressResult": {
19438           "type": "object",
19439           "properties": {
19440             "address": {
19441               "type": "string"
19442             },
19443             "error": {
19444               "$ref": "#/definitions/Error"
19445             }
19446           },
19447           "additionalProperties": false
19448         },
19449         "SSHAddressResults": {
19450           "type": "object",
19451           "properties": {
19452             "results": {
19453               "type": "array",
19454               "items": {
19455                 "$ref": "#/definitions/SSHAddressResult"
19456               }
19457             }
19458           },
19459           "additionalProperties": false,
19460           "required": [
19461             "results"
19462           ]
19463         },
19464         "SSHAddressesResult": {
19465           "type": "object",
19466           "properties": {
19467             "addresses": {
19468               "type": "array",
19469               "items": {
19470                 "type": "string"
19471               }
19472             },
19473             "error": {
19474               "$ref": "#/definitions/Error"
19475             }
19476           },
19477           "additionalProperties": false,
19478           "required": [
19479             "addresses"
19480           ]
19481         },
19482         "SSHAddressesResults": {
19483           "type": "object",
19484           "properties": {
19485             "results": {
19486               "type": "array",
19487               "items": {
19488                 "$ref": "#/definitions/SSHAddressesResult"
19489               }
19490             }
19491           },
19492           "additionalProperties": false,
19493           "required": [
19494             "results"
19495           ]
19496         },
19497         "SSHProxyResult": {
19498           "type": "object",
19499           "properties": {
19500             "use-proxy": {
19501               "type": "boolean"
19502             }
19503           },
19504           "additionalProperties": false,
19505           "required": [
19506             "use-proxy"
19507           ]
19508         },
19509         "SSHPublicKeysResult": {
19510           "type": "object",
19511           "properties": {
19512             "error": {
19513               "$ref": "#/definitions/Error"
19514             },
19515             "public-keys": {
19516               "type": "array",
19517               "items": {
19518                 "type": "string"
19519               }
19520             }
19521           },
19522           "additionalProperties": false
19523         },
19524         "SSHPublicKeysResults": {
19525           "type": "object",
19526           "properties": {
19527             "results": {
19528               "type": "array",
19529               "items": {
19530                 "$ref": "#/definitions/SSHPublicKeysResult"
19531               }
19532             }
19533           },
19534           "additionalProperties": false,
19535           "required": [
19536             "results"
19537           ]
19538         }
19539       }
19540     }
19541   },
19542   {
19543     "Name": "Singular",
19544     "Version": 1,
19545     "Schema": {
19546       "type": "object",
19547       "properties": {
19548         "Claim": {
19549           "type": "object",
19550           "properties": {
19551             "Params": {
19552               "$ref": "#/definitions/SingularClaims"
19553             },
19554             "Result": {
19555               "$ref": "#/definitions/ErrorResults"
19556             }
19557           }
19558         },
19559         "Wait": {
19560           "type": "object",
19561           "properties": {
19562             "Params": {
19563               "$ref": "#/definitions/Entities"
19564             },
19565             "Result": {
19566               "$ref": "#/definitions/ErrorResults"
19567             }
19568           }
19569         }
19570       },
19571       "definitions": {
19572         "Entities": {
19573           "type": "object",
19574           "properties": {
19575             "entities": {
19576               "type": "array",
19577               "items": {
19578                 "$ref": "#/definitions/Entity"
19579               }
19580             }
19581           },
19582           "additionalProperties": false,
19583           "required": [
19584             "entities"
19585           ]
19586         },
19587         "Entity": {
19588           "type": "object",
19589           "properties": {
19590             "tag": {
19591               "type": "string"
19592             }
19593           },
19594           "additionalProperties": false,
19595           "required": [
19596             "tag"
19597           ]
19598         },
19599         "Error": {
19600           "type": "object",
19601           "properties": {
19602             "code": {
19603               "type": "string"
19604             },
19605             "info": {
19606               "$ref": "#/definitions/ErrorInfo"
19607             },
19608             "message": {
19609               "type": "string"
19610             }
19611           },
19612           "additionalProperties": false,
19613           "required": [
19614             "message",
19615             "code"
19616           ]
19617         },
19618         "ErrorInfo": {
19619           "type": "object",
19620           "properties": {
19621             "macaroon": {
19622               "$ref": "#/definitions/Macaroon"
19623             },
19624             "macaroon-path": {
19625               "type": "string"
19626             }
19627           },
19628           "additionalProperties": false
19629         },
19630         "ErrorResult": {
19631           "type": "object",
19632           "properties": {
19633             "error": {
19634               "$ref": "#/definitions/Error"
19635             }
19636           },
19637           "additionalProperties": false
19638         },
19639         "ErrorResults": {
19640           "type": "object",
19641           "properties": {
19642             "results": {
19643               "type": "array",
19644               "items": {
19645                 "$ref": "#/definitions/ErrorResult"
19646               }
19647             }
19648           },
19649           "additionalProperties": false,
19650           "required": [
19651             "results"
19652           ]
19653         },
19654         "Macaroon": {
19655           "type": "object",
19656           "additionalProperties": false
19657         },
19658         "SingularClaim": {
19659           "type": "object",
19660           "properties": {
19661             "controller-tag": {
19662               "type": "string"
19663             },
19664             "duration": {
19665               "type": "integer"
19666             },
19667             "model-tag": {
19668               "type": "string"
19669             }
19670           },
19671           "additionalProperties": false,
19672           "required": [
19673             "model-tag",
19674             "controller-tag",
19675             "duration"
19676           ]
19677         },
19678         "SingularClaims": {
19679           "type": "object",
19680           "properties": {
19681             "claims": {
19682               "type": "array",
19683               "items": {
19684                 "$ref": "#/definitions/SingularClaim"
19685               }
19686             }
19687           },
19688           "additionalProperties": false,
19689           "required": [
19690             "claims"
19691           ]
19692         }
19693       }
19694     }
19695   },
19696   {
19697     "Name": "Spaces",
19698     "Version": 2,
19699     "Schema": {
19700       "type": "object",
19701       "properties": {
19702         "CreateSpaces": {
19703           "type": "object",
19704           "properties": {
19705             "Params": {
19706               "$ref": "#/definitions/CreateSpacesParams"
19707             },
19708             "Result": {
19709               "$ref": "#/definitions/ErrorResults"
19710             }
19711           }
19712         },
19713         "ListSpaces": {
19714           "type": "object",
19715           "properties": {
19716             "Result": {
19717               "$ref": "#/definitions/ListSpacesResults"
19718             }
19719           }
19720         }
19721       },
19722       "definitions": {
19723         "CreateSpaceParams": {
19724           "type": "object",
19725           "properties": {
19726             "provider-id": {
19727               "type": "string"
19728             },
19729             "public": {
19730               "type": "boolean"
19731             },
19732             "space-tag": {
19733               "type": "string"
19734             },
19735             "subnet-tags": {
19736               "type": "array",
19737               "items": {
19738                 "type": "string"
19739               }
19740             }
19741           },
19742           "additionalProperties": false,
19743           "required": [
19744             "subnet-tags",
19745             "space-tag",
19746             "public"
19747           ]
19748         },
19749         "CreateSpacesParams": {
19750           "type": "object",
19751           "properties": {
19752             "spaces": {
19753               "type": "array",
19754               "items": {
19755                 "$ref": "#/definitions/CreateSpaceParams"
19756               }
19757             }
19758           },
19759           "additionalProperties": false,
19760           "required": [
19761             "spaces"
19762           ]
19763         },
19764         "Error": {
19765           "type": "object",
19766           "properties": {
19767             "code": {
19768               "type": "string"
19769             },
19770             "info": {
19771               "$ref": "#/definitions/ErrorInfo"
19772             },
19773             "message": {
19774               "type": "string"
19775             }
19776           },
19777           "additionalProperties": false,
19778           "required": [
19779             "message",
19780             "code"
19781           ]
19782         },
19783         "ErrorInfo": {
19784           "type": "object",
19785           "properties": {
19786             "macaroon": {
19787               "$ref": "#/definitions/Macaroon"
19788             },
19789             "macaroon-path": {
19790               "type": "string"
19791             }
19792           },
19793           "additionalProperties": false
19794         },
19795         "ErrorResult": {
19796           "type": "object",
19797           "properties": {
19798             "error": {
19799               "$ref": "#/definitions/Error"
19800             }
19801           },
19802           "additionalProperties": false
19803         },
19804         "ErrorResults": {
19805           "type": "object",
19806           "properties": {
19807             "results": {
19808               "type": "array",
19809               "items": {
19810                 "$ref": "#/definitions/ErrorResult"
19811               }
19812             }
19813           },
19814           "additionalProperties": false,
19815           "required": [
19816             "results"
19817           ]
19818         },
19819         "ListSpacesResults": {
19820           "type": "object",
19821           "properties": {
19822             "results": {
19823               "type": "array",
19824               "items": {
19825                 "$ref": "#/definitions/Space"
19826               }
19827             }
19828           },
19829           "additionalProperties": false,
19830           "required": [
19831             "results"
19832           ]
19833         },
19834         "Macaroon": {
19835           "type": "object",
19836           "additionalProperties": false
19837         },
19838         "Space": {
19839           "type": "object",
19840           "properties": {
19841             "error": {
19842               "$ref": "#/definitions/Error"
19843             },
19844             "name": {
19845               "type": "string"
19846             },
19847             "subnets": {
19848               "type": "array",
19849               "items": {
19850                 "$ref": "#/definitions/Subnet"
19851               }
19852             }
19853           },
19854           "additionalProperties": false,
19855           "required": [
19856             "name",
19857             "subnets"
19858           ]
19859         },
19860         "Subnet": {
19861           "type": "object",
19862           "properties": {
19863             "cidr": {
19864               "type": "string"
19865             },
19866             "life": {
19867               "type": "string"
19868             },
19869             "provider-id": {
19870               "type": "string"
19871             },
19872             "provider-network-id": {
19873               "type": "string"
19874             },
19875             "space-tag": {
19876               "type": "string"
19877             },
19878             "status": {
19879               "type": "string"
19880             },
19881             "vlan-tag": {
19882               "type": "integer"
19883             },
19884             "zones": {
19885               "type": "array",
19886               "items": {
19887                 "type": "string"
19888               }
19889             }
19890           },
19891           "additionalProperties": false,
19892           "required": [
19893             "cidr",
19894             "vlan-tag",
19895             "life",
19896             "space-tag",
19897             "zones"
19898           ]
19899         }
19900       }
19901     }
19902   },
19903   {
19904     "Name": "StatusHistory",
19905     "Version": 2,
19906     "Schema": {
19907       "type": "object",
19908       "properties": {
19909         "ModelConfig": {
19910           "type": "object",
19911           "properties": {
19912             "Result": {
19913               "$ref": "#/definitions/ModelConfigResult"
19914             }
19915           }
19916         },
19917         "Prune": {
19918           "type": "object",
19919           "properties": {
19920             "Params": {
19921               "$ref": "#/definitions/StatusHistoryPruneArgs"
19922             }
19923           }
19924         },
19925         "WatchForModelConfigChanges": {
19926           "type": "object",
19927           "properties": {
19928             "Result": {
19929               "$ref": "#/definitions/NotifyWatchResult"
19930             }
19931           }
19932         }
19933       },
19934       "definitions": {
19935         "Error": {
19936           "type": "object",
19937           "properties": {
19938             "code": {
19939               "type": "string"
19940             },
19941             "info": {
19942               "$ref": "#/definitions/ErrorInfo"
19943             },
19944             "message": {
19945               "type": "string"
19946             }
19947           },
19948           "additionalProperties": false,
19949           "required": [
19950             "message",
19951             "code"
19952           ]
19953         },
19954         "ErrorInfo": {
19955           "type": "object",
19956           "properties": {
19957             "macaroon": {
19958               "$ref": "#/definitions/Macaroon"
19959             },
19960             "macaroon-path": {
19961               "type": "string"
19962             }
19963           },
19964           "additionalProperties": false
19965         },
19966         "Macaroon": {
19967           "type": "object",
19968           "additionalProperties": false
19969         },
19970         "ModelConfigResult": {
19971           "type": "object",
19972           "properties": {
19973             "config": {
19974               "type": "object",
19975               "patternProperties": {
19976                 ".*": {
19977                   "type": "object",
19978                   "additionalProperties": true
19979                 }
19980               }
19981             }
19982           },
19983           "additionalProperties": false,
19984           "required": [
19985             "config"
19986           ]
19987         },
19988         "NotifyWatchResult": {
19989           "type": "object",
19990           "properties": {
19991             "NotifyWatcherId": {
19992               "type": "string"
19993             },
19994             "error": {
19995               "$ref": "#/definitions/Error"
19996             }
19997           },
19998           "additionalProperties": false,
19999           "required": [
20000             "NotifyWatcherId"
20001           ]
20002         },
20003         "StatusHistoryPruneArgs": {
20004           "type": "object",
20005           "properties": {
20006             "max-history-mb": {
20007               "type": "integer"
20008             },
20009             "max-history-time": {
20010               "type": "integer"
20011             }
20012           },
20013           "additionalProperties": false,
20014           "required": [
20015             "max-history-time",
20016             "max-history-mb"
20017           ]
20018         }
20019       }
20020     }
20021   },
20022   {
20023     "Name": "Storage",
20024     "Version": 3,
20025     "Schema": {
20026       "type": "object",
20027       "properties": {
20028         "AddToUnit": {
20029           "type": "object",
20030           "properties": {
20031             "Params": {
20032               "$ref": "#/definitions/StoragesAddParams"
20033             },
20034             "Result": {
20035               "$ref": "#/definitions/ErrorResults"
20036             }
20037           }
20038         },
20039         "Attach": {
20040           "type": "object",
20041           "properties": {
20042             "Params": {
20043               "$ref": "#/definitions/StorageAttachmentIds"
20044             },
20045             "Result": {
20046               "$ref": "#/definitions/ErrorResults"
20047             }
20048           }
20049         },
20050         "CreatePool": {
20051           "type": "object",
20052           "properties": {
20053             "Params": {
20054               "$ref": "#/definitions/StoragePool"
20055             }
20056           }
20057         },
20058         "Destroy": {
20059           "type": "object",
20060           "properties": {
20061             "Params": {
20062               "$ref": "#/definitions/Entities"
20063             },
20064             "Result": {
20065               "$ref": "#/definitions/ErrorResults"
20066             }
20067           }
20068         },
20069         "Detach": {
20070           "type": "object",
20071           "properties": {
20072             "Params": {
20073               "$ref": "#/definitions/StorageAttachmentIds"
20074             },
20075             "Result": {
20076               "$ref": "#/definitions/ErrorResults"
20077             }
20078           }
20079         },
20080         "ListFilesystems": {
20081           "type": "object",
20082           "properties": {
20083             "Params": {
20084               "$ref": "#/definitions/FilesystemFilters"
20085             },
20086             "Result": {
20087               "$ref": "#/definitions/FilesystemDetailsListResults"
20088             }
20089           }
20090         },
20091         "ListPools": {
20092           "type": "object",
20093           "properties": {
20094             "Params": {
20095               "$ref": "#/definitions/StoragePoolFilters"
20096             },
20097             "Result": {
20098               "$ref": "#/definitions/StoragePoolsResults"
20099             }
20100           }
20101         },
20102         "ListStorageDetails": {
20103           "type": "object",
20104           "properties": {
20105             "Params": {
20106               "$ref": "#/definitions/StorageFilters"
20107             },
20108             "Result": {
20109               "$ref": "#/definitions/StorageDetailsListResults"
20110             }
20111           }
20112         },
20113         "ListVolumes": {
20114           "type": "object",
20115           "properties": {
20116             "Params": {
20117               "$ref": "#/definitions/VolumeFilters"
20118             },
20119             "Result": {
20120               "$ref": "#/definitions/VolumeDetailsListResults"
20121             }
20122           }
20123         },
20124         "StorageDetails": {
20125           "type": "object",
20126           "properties": {
20127             "Params": {
20128               "$ref": "#/definitions/Entities"
20129             },
20130             "Result": {
20131               "$ref": "#/definitions/StorageDetailsResults"
20132             }
20133           }
20134         }
20135       },
20136       "definitions": {
20137         "Entities": {
20138           "type": "object",
20139           "properties": {
20140             "entities": {
20141               "type": "array",
20142               "items": {
20143                 "$ref": "#/definitions/Entity"
20144               }
20145             }
20146           },
20147           "additionalProperties": false,
20148           "required": [
20149             "entities"
20150           ]
20151         },
20152         "Entity": {
20153           "type": "object",
20154           "properties": {
20155             "tag": {
20156               "type": "string"
20157             }
20158           },
20159           "additionalProperties": false,
20160           "required": [
20161             "tag"
20162           ]
20163         },
20164         "EntityStatus": {
20165           "type": "object",
20166           "properties": {
20167             "data": {
20168               "type": "object",
20169               "patternProperties": {
20170                 ".*": {
20171                   "type": "object",
20172                   "additionalProperties": true
20173                 }
20174               }
20175             },
20176             "info": {
20177               "type": "string"
20178             },
20179             "since": {
20180               "type": "string",
20181               "format": "date-time"
20182             },
20183             "status": {
20184               "type": "string"
20185             }
20186           },
20187           "additionalProperties": false,
20188           "required": [
20189             "status",
20190             "info",
20191             "since"
20192           ]
20193         },
20194         "Error": {
20195           "type": "object",
20196           "properties": {
20197             "code": {
20198               "type": "string"
20199             },
20200             "info": {
20201               "$ref": "#/definitions/ErrorInfo"
20202             },
20203             "message": {
20204               "type": "string"
20205             }
20206           },
20207           "additionalProperties": false,
20208           "required": [
20209             "message",
20210             "code"
20211           ]
20212         },
20213         "ErrorInfo": {
20214           "type": "object",
20215           "properties": {
20216             "macaroon": {
20217               "$ref": "#/definitions/Macaroon"
20218             },
20219             "macaroon-path": {
20220               "type": "string"
20221             }
20222           },
20223           "additionalProperties": false
20224         },
20225         "ErrorResult": {
20226           "type": "object",
20227           "properties": {
20228             "error": {
20229               "$ref": "#/definitions/Error"
20230             }
20231           },
20232           "additionalProperties": false
20233         },
20234         "ErrorResults": {
20235           "type": "object",
20236           "properties": {
20237             "results": {
20238               "type": "array",
20239               "items": {
20240                 "$ref": "#/definitions/ErrorResult"
20241               }
20242             }
20243           },
20244           "additionalProperties": false,
20245           "required": [
20246             "results"
20247           ]
20248         },
20249         "FilesystemAttachmentDetails": {
20250           "type": "object",
20251           "properties": {
20252             "FilesystemAttachmentInfo": {
20253               "$ref": "#/definitions/FilesystemAttachmentInfo"
20254             },
20255             "life": {
20256               "type": "string"
20257             }
20258           },
20259           "additionalProperties": false,
20260           "required": [
20261             "FilesystemAttachmentInfo"
20262           ]
20263         },
20264         "FilesystemAttachmentInfo": {
20265           "type": "object",
20266           "properties": {
20267             "mount-point": {
20268               "type": "string"
20269             },
20270             "read-only": {
20271               "type": "boolean"
20272             }
20273           },
20274           "additionalProperties": false
20275         },
20276         "FilesystemDetails": {
20277           "type": "object",
20278           "properties": {
20279             "filesystem-tag": {
20280               "type": "string"
20281             },
20282             "info": {
20283               "$ref": "#/definitions/FilesystemInfo"
20284             },
20285             "life": {
20286               "type": "string"
20287             },
20288             "machine-attachments": {
20289               "type": "object",
20290               "patternProperties": {
20291                 ".*": {
20292                   "$ref": "#/definitions/FilesystemAttachmentDetails"
20293                 }
20294               }
20295             },
20296             "status": {
20297               "$ref": "#/definitions/EntityStatus"
20298             },
20299             "storage": {
20300               "$ref": "#/definitions/StorageDetails"
20301             },
20302             "volume-tag": {
20303               "type": "string"
20304             }
20305           },
20306           "additionalProperties": false,
20307           "required": [
20308             "filesystem-tag",
20309             "info",
20310             "status"
20311           ]
20312         },
20313         "FilesystemDetailsListResult": {
20314           "type": "object",
20315           "properties": {
20316             "error": {
20317               "$ref": "#/definitions/Error"
20318             },
20319             "result": {
20320               "type": "array",
20321               "items": {
20322                 "$ref": "#/definitions/FilesystemDetails"
20323               }
20324             }
20325           },
20326           "additionalProperties": false
20327         },
20328         "FilesystemDetailsListResults": {
20329           "type": "object",
20330           "properties": {
20331             "results": {
20332               "type": "array",
20333               "items": {
20334                 "$ref": "#/definitions/FilesystemDetailsListResult"
20335               }
20336             }
20337           },
20338           "additionalProperties": false
20339         },
20340         "FilesystemFilter": {
20341           "type": "object",
20342           "properties": {
20343             "machines": {
20344               "type": "array",
20345               "items": {
20346                 "type": "string"
20347               }
20348             }
20349           },
20350           "additionalProperties": false
20351         },
20352         "FilesystemFilters": {
20353           "type": "object",
20354           "properties": {
20355             "filters": {
20356               "type": "array",
20357               "items": {
20358                 "$ref": "#/definitions/FilesystemFilter"
20359               }
20360             }
20361           },
20362           "additionalProperties": false
20363         },
20364         "FilesystemInfo": {
20365           "type": "object",
20366           "properties": {
20367             "filesystem-id": {
20368               "type": "string"
20369             },
20370             "pool": {
20371               "type": "string"
20372             },
20373             "size": {
20374               "type": "integer"
20375             }
20376           },
20377           "additionalProperties": false,
20378           "required": [
20379             "filesystem-id",
20380             "pool",
20381             "size"
20382           ]
20383         },
20384         "Macaroon": {
20385           "type": "object",
20386           "additionalProperties": false
20387         },
20388         "StorageAddParams": {
20389           "type": "object",
20390           "properties": {
20391             "name": {
20392               "type": "string"
20393             },
20394             "storage": {
20395               "$ref": "#/definitions/StorageConstraints"
20396             },
20397             "unit": {
20398               "type": "string"
20399             }
20400           },
20401           "additionalProperties": false,
20402           "required": [
20403             "unit",
20404             "name",
20405             "storage"
20406           ]
20407         },
20408         "StorageAttachmentDetails": {
20409           "type": "object",
20410           "properties": {
20411             "life": {
20412               "type": "string"
20413             },
20414             "location": {
20415               "type": "string"
20416             },
20417             "machine-tag": {
20418               "type": "string"
20419             },
20420             "storage-tag": {
20421               "type": "string"
20422             },
20423             "unit-tag": {
20424               "type": "string"
20425             }
20426           },
20427           "additionalProperties": false,
20428           "required": [
20429             "storage-tag",
20430             "unit-tag",
20431             "machine-tag"
20432           ]
20433         },
20434         "StorageAttachmentId": {
20435           "type": "object",
20436           "properties": {
20437             "storage-tag": {
20438               "type": "string"
20439             },
20440             "unit-tag": {
20441               "type": "string"
20442             }
20443           },
20444           "additionalProperties": false,
20445           "required": [
20446             "storage-tag",
20447             "unit-tag"
20448           ]
20449         },
20450         "StorageAttachmentIds": {
20451           "type": "object",
20452           "properties": {
20453             "ids": {
20454               "type": "array",
20455               "items": {
20456                 "$ref": "#/definitions/StorageAttachmentId"
20457               }
20458             }
20459           },
20460           "additionalProperties": false,
20461           "required": [
20462             "ids"
20463           ]
20464         },
20465         "StorageConstraints": {
20466           "type": "object",
20467           "properties": {
20468             "count": {
20469               "type": "integer"
20470             },
20471             "pool": {
20472               "type": "string"
20473             },
20474             "size": {
20475               "type": "integer"
20476             }
20477           },
20478           "additionalProperties": false
20479         },
20480         "StorageDetails": {
20481           "type": "object",
20482           "properties": {
20483             "attachments": {
20484               "type": "object",
20485               "patternProperties": {
20486                 ".*": {
20487                   "$ref": "#/definitions/StorageAttachmentDetails"
20488                 }
20489               }
20490             },
20491             "kind": {
20492               "type": "integer"
20493             },
20494             "life": {
20495               "type": "string"
20496             },
20497             "owner-tag": {
20498               "type": "string"
20499             },
20500             "persistent": {
20501               "type": "boolean"
20502             },
20503             "status": {
20504               "$ref": "#/definitions/EntityStatus"
20505             },
20506             "storage-tag": {
20507               "type": "string"
20508             }
20509           },
20510           "additionalProperties": false,
20511           "required": [
20512             "storage-tag",
20513             "owner-tag",
20514             "kind",
20515             "status",
20516             "persistent"
20517           ]
20518         },
20519         "StorageDetailsListResult": {
20520           "type": "object",
20521           "properties": {
20522             "error": {
20523               "$ref": "#/definitions/Error"
20524             },
20525             "result": {
20526               "type": "array",
20527               "items": {
20528                 "$ref": "#/definitions/StorageDetails"
20529               }
20530             }
20531           },
20532           "additionalProperties": false
20533         },
20534         "StorageDetailsListResults": {
20535           "type": "object",
20536           "properties": {
20537             "results": {
20538               "type": "array",
20539               "items": {
20540                 "$ref": "#/definitions/StorageDetailsListResult"
20541               }
20542             }
20543           },
20544           "additionalProperties": false
20545         },
20546         "StorageDetailsResult": {
20547           "type": "object",
20548           "properties": {
20549             "error": {
20550               "$ref": "#/definitions/Error"
20551             },
20552             "result": {
20553               "$ref": "#/definitions/StorageDetails"
20554             }
20555           },
20556           "additionalProperties": false
20557         },
20558         "StorageDetailsResults": {
20559           "type": "object",
20560           "properties": {
20561             "results": {
20562               "type": "array",
20563               "items": {
20564                 "$ref": "#/definitions/StorageDetailsResult"
20565               }
20566             }
20567           },
20568           "additionalProperties": false
20569         },
20570         "StorageFilter": {
20571           "type": "object",
20572           "additionalProperties": false
20573         },
20574         "StorageFilters": {
20575           "type": "object",
20576           "properties": {
20577             "filters": {
20578               "type": "array",
20579               "items": {
20580                 "$ref": "#/definitions/StorageFilter"
20581               }
20582             }
20583           },
20584           "additionalProperties": false
20585         },
20586         "StoragePool": {
20587           "type": "object",
20588           "properties": {
20589             "attrs": {
20590               "type": "object",
20591               "patternProperties": {
20592                 ".*": {
20593                   "type": "object",
20594                   "additionalProperties": true
20595                 }
20596               }
20597             },
20598             "name": {
20599               "type": "string"
20600             },
20601             "provider": {
20602               "type": "string"
20603             }
20604           },
20605           "additionalProperties": false,
20606           "required": [
20607             "name",
20608             "provider",
20609             "attrs"
20610           ]
20611         },
20612         "StoragePoolFilter": {
20613           "type": "object",
20614           "properties": {
20615             "names": {
20616               "type": "array",
20617               "items": {
20618                 "type": "string"
20619               }
20620             },
20621             "providers": {
20622               "type": "array",
20623               "items": {
20624                 "type": "string"
20625               }
20626             }
20627           },
20628           "additionalProperties": false
20629         },
20630         "StoragePoolFilters": {
20631           "type": "object",
20632           "properties": {
20633             "filters": {
20634               "type": "array",
20635               "items": {
20636                 "$ref": "#/definitions/StoragePoolFilter"
20637               }
20638             }
20639           },
20640           "additionalProperties": false
20641         },
20642         "StoragePoolsResult": {
20643           "type": "object",
20644           "properties": {
20645             "error": {
20646               "$ref": "#/definitions/Error"
20647             },
20648             "storage-pools": {
20649               "type": "array",
20650               "items": {
20651                 "$ref": "#/definitions/StoragePool"
20652               }
20653             }
20654           },
20655           "additionalProperties": false
20656         },
20657         "StoragePoolsResults": {
20658           "type": "object",
20659           "properties": {
20660             "results": {
20661               "type": "array",
20662               "items": {
20663                 "$ref": "#/definitions/StoragePoolsResult"
20664               }
20665             }
20666           },
20667           "additionalProperties": false
20668         },
20669         "StoragesAddParams": {
20670           "type": "object",
20671           "properties": {
20672             "storages": {
20673               "type": "array",
20674               "items": {
20675                 "$ref": "#/definitions/StorageAddParams"
20676               }
20677             }
20678           },
20679           "additionalProperties": false,
20680           "required": [
20681             "storages"
20682           ]
20683         },
20684         "VolumeAttachmentDetails": {
20685           "type": "object",
20686           "properties": {
20687             "VolumeAttachmentInfo": {
20688               "$ref": "#/definitions/VolumeAttachmentInfo"
20689             },
20690             "life": {
20691               "type": "string"
20692             }
20693           },
20694           "additionalProperties": false,
20695           "required": [
20696             "VolumeAttachmentInfo"
20697           ]
20698         },
20699         "VolumeAttachmentInfo": {
20700           "type": "object",
20701           "properties": {
20702             "bus-address": {
20703               "type": "string"
20704             },
20705             "device-link": {
20706               "type": "string"
20707             },
20708             "device-name": {
20709               "type": "string"
20710             },
20711             "read-only": {
20712               "type": "boolean"
20713             }
20714           },
20715           "additionalProperties": false
20716         },
20717         "VolumeDetails": {
20718           "type": "object",
20719           "properties": {
20720             "info": {
20721               "$ref": "#/definitions/VolumeInfo"
20722             },
20723             "life": {
20724               "type": "string"
20725             },
20726             "machine-attachments": {
20727               "type": "object",
20728               "patternProperties": {
20729                 ".*": {
20730                   "$ref": "#/definitions/VolumeAttachmentDetails"
20731                 }
20732               }
20733             },
20734             "status": {
20735               "$ref": "#/definitions/EntityStatus"
20736             },
20737             "storage": {
20738               "$ref": "#/definitions/StorageDetails"
20739             },
20740             "volume-tag": {
20741               "type": "string"
20742             }
20743           },
20744           "additionalProperties": false,
20745           "required": [
20746             "volume-tag",
20747             "info",
20748             "status"
20749           ]
20750         },
20751         "VolumeDetailsListResult": {
20752           "type": "object",
20753           "properties": {
20754             "error": {
20755               "$ref": "#/definitions/Error"
20756             },
20757             "result": {
20758               "type": "array",
20759               "items": {
20760                 "$ref": "#/definitions/VolumeDetails"
20761               }
20762             }
20763           },
20764           "additionalProperties": false
20765         },
20766         "VolumeDetailsListResults": {
20767           "type": "object",
20768           "properties": {
20769             "results": {
20770               "type": "array",
20771               "items": {
20772                 "$ref": "#/definitions/VolumeDetailsListResult"
20773               }
20774             }
20775           },
20776           "additionalProperties": false
20777         },
20778         "VolumeFilter": {
20779           "type": "object",
20780           "properties": {
20781             "machines": {
20782               "type": "array",
20783               "items": {
20784                 "type": "string"
20785               }
20786             }
20787           },
20788           "additionalProperties": false
20789         },
20790         "VolumeFilters": {
20791           "type": "object",
20792           "properties": {
20793             "filters": {
20794               "type": "array",
20795               "items": {
20796                 "$ref": "#/definitions/VolumeFilter"
20797               }
20798             }
20799           },
20800           "additionalProperties": false
20801         },
20802         "VolumeInfo": {
20803           "type": "object",
20804           "properties": {
20805             "hardware-id": {
20806               "type": "string"
20807             },
20808             "persistent": {
20809               "type": "boolean"
20810             },
20811             "pool": {
20812               "type": "string"
20813             },
20814             "size": {
20815               "type": "integer"
20816             },
20817             "volume-id": {
20818               "type": "string"
20819             }
20820           },
20821           "additionalProperties": false,
20822           "required": [
20823             "volume-id",
20824             "size",
20825             "persistent"
20826           ]
20827         }
20828       }
20829     }
20830   },
20831   {
20832     "Name": "StorageProvisioner",
20833     "Version": 3,
20834     "Schema": {
20835       "type": "object",
20836       "properties": {
20837         "AttachmentLife": {
20838           "type": "object",
20839           "properties": {
20840             "Params": {
20841               "$ref": "#/definitions/MachineStorageIds"
20842             },
20843             "Result": {
20844               "$ref": "#/definitions/LifeResults"
20845             }
20846           }
20847         },
20848         "EnsureDead": {
20849           "type": "object",
20850           "properties": {
20851             "Params": {
20852               "$ref": "#/definitions/Entities"
20853             },
20854             "Result": {
20855               "$ref": "#/definitions/ErrorResults"
20856             }
20857           }
20858         },
20859         "FilesystemAttachmentParams": {
20860           "type": "object",
20861           "properties": {
20862             "Params": {
20863               "$ref": "#/definitions/MachineStorageIds"
20864             },
20865             "Result": {
20866               "$ref": "#/definitions/FilesystemAttachmentParamsResults"
20867             }
20868           }
20869         },
20870         "FilesystemAttachments": {
20871           "type": "object",
20872           "properties": {
20873             "Params": {
20874               "$ref": "#/definitions/MachineStorageIds"
20875             },
20876             "Result": {
20877               "$ref": "#/definitions/FilesystemAttachmentResults"
20878             }
20879           }
20880         },
20881         "FilesystemParams": {
20882           "type": "object",
20883           "properties": {
20884             "Params": {
20885               "$ref": "#/definitions/Entities"
20886             },
20887             "Result": {
20888               "$ref": "#/definitions/FilesystemParamsResults"
20889             }
20890           }
20891         },
20892         "Filesystems": {
20893           "type": "object",
20894           "properties": {
20895             "Params": {
20896               "$ref": "#/definitions/Entities"
20897             },
20898             "Result": {
20899               "$ref": "#/definitions/FilesystemResults"
20900             }
20901           }
20902         },
20903         "InstanceId": {
20904           "type": "object",
20905           "properties": {
20906             "Params": {
20907               "$ref": "#/definitions/Entities"
20908             },
20909             "Result": {
20910               "$ref": "#/definitions/StringResults"
20911             }
20912           }
20913         },
20914         "Life": {
20915           "type": "object",
20916           "properties": {
20917             "Params": {
20918               "$ref": "#/definitions/Entities"
20919             },
20920             "Result": {
20921               "$ref": "#/definitions/LifeResults"
20922             }
20923           }
20924         },
20925         "Remove": {
20926           "type": "object",
20927           "properties": {
20928             "Params": {
20929               "$ref": "#/definitions/Entities"
20930             },
20931             "Result": {
20932               "$ref": "#/definitions/ErrorResults"
20933             }
20934           }
20935         },
20936         "RemoveAttachment": {
20937           "type": "object",
20938           "properties": {
20939             "Params": {
20940               "$ref": "#/definitions/MachineStorageIds"
20941             },
20942             "Result": {
20943               "$ref": "#/definitions/ErrorResults"
20944             }
20945           }
20946         },
20947         "SetFilesystemAttachmentInfo": {
20948           "type": "object",
20949           "properties": {
20950             "Params": {
20951               "$ref": "#/definitions/FilesystemAttachments"
20952             },
20953             "Result": {
20954               "$ref": "#/definitions/ErrorResults"
20955             }
20956           }
20957         },
20958         "SetFilesystemInfo": {
20959           "type": "object",
20960           "properties": {
20961             "Params": {
20962               "$ref": "#/definitions/Filesystems"
20963             },
20964             "Result": {
20965               "$ref": "#/definitions/ErrorResults"
20966             }
20967           }
20968         },
20969         "SetStatus": {
20970           "type": "object",
20971           "properties": {
20972             "Params": {
20973               "$ref": "#/definitions/SetStatus"
20974             },
20975             "Result": {
20976               "$ref": "#/definitions/ErrorResults"
20977             }
20978           }
20979         },
20980         "SetVolumeAttachmentInfo": {
20981           "type": "object",
20982           "properties": {
20983             "Params": {
20984               "$ref": "#/definitions/VolumeAttachments"
20985             },
20986             "Result": {
20987               "$ref": "#/definitions/ErrorResults"
20988             }
20989           }
20990         },
20991         "SetVolumeInfo": {
20992           "type": "object",
20993           "properties": {
20994             "Params": {
20995               "$ref": "#/definitions/Volumes"
20996             },
20997             "Result": {
20998               "$ref": "#/definitions/ErrorResults"
20999             }
21000           }
21001         },
21002         "UpdateStatus": {
21003           "type": "object",
21004           "properties": {
21005             "Params": {
21006               "$ref": "#/definitions/SetStatus"
21007             },
21008             "Result": {
21009               "$ref": "#/definitions/ErrorResults"
21010             }
21011           }
21012         },
21013         "VolumeAttachmentParams": {
21014           "type": "object",
21015           "properties": {
21016             "Params": {
21017               "$ref": "#/definitions/MachineStorageIds"
21018             },
21019             "Result": {
21020               "$ref": "#/definitions/VolumeAttachmentParamsResults"
21021             }
21022           }
21023         },
21024         "VolumeAttachments": {
21025           "type": "object",
21026           "properties": {
21027             "Params": {
21028               "$ref": "#/definitions/MachineStorageIds"
21029             },
21030             "Result": {
21031               "$ref": "#/definitions/VolumeAttachmentResults"
21032             }
21033           }
21034         },
21035         "VolumeBlockDevices": {
21036           "type": "object",
21037           "properties": {
21038             "Params": {
21039               "$ref": "#/definitions/MachineStorageIds"
21040             },
21041             "Result": {
21042               "$ref": "#/definitions/BlockDeviceResults"
21043             }
21044           }
21045         },
21046         "VolumeParams": {
21047           "type": "object",
21048           "properties": {
21049             "Params": {
21050               "$ref": "#/definitions/Entities"
21051             },
21052             "Result": {
21053               "$ref": "#/definitions/VolumeParamsResults"
21054             }
21055           }
21056         },
21057         "Volumes": {
21058           "type": "object",
21059           "properties": {
21060             "Params": {
21061               "$ref": "#/definitions/Entities"
21062             },
21063             "Result": {
21064               "$ref": "#/definitions/VolumeResults"
21065             }
21066           }
21067         },
21068         "WatchBlockDevices": {
21069           "type": "object",
21070           "properties": {
21071             "Params": {
21072               "$ref": "#/definitions/Entities"
21073             },
21074             "Result": {
21075               "$ref": "#/definitions/NotifyWatchResults"
21076             }
21077           }
21078         },
21079         "WatchFilesystemAttachments": {
21080           "type": "object",
21081           "properties": {
21082             "Params": {
21083               "$ref": "#/definitions/Entities"
21084             },
21085             "Result": {
21086               "$ref": "#/definitions/MachineStorageIdsWatchResults"
21087             }
21088           }
21089         },
21090         "WatchFilesystems": {
21091           "type": "object",
21092           "properties": {
21093             "Params": {
21094               "$ref": "#/definitions/Entities"
21095             },
21096             "Result": {
21097               "$ref": "#/definitions/StringsWatchResults"
21098             }
21099           }
21100         },
21101         "WatchMachines": {
21102           "type": "object",
21103           "properties": {
21104             "Params": {
21105               "$ref": "#/definitions/Entities"
21106             },
21107             "Result": {
21108               "$ref": "#/definitions/NotifyWatchResults"
21109             }
21110           }
21111         },
21112         "WatchVolumeAttachments": {
21113           "type": "object",
21114           "properties": {
21115             "Params": {
21116               "$ref": "#/definitions/Entities"
21117             },
21118             "Result": {
21119               "$ref": "#/definitions/MachineStorageIdsWatchResults"
21120             }
21121           }
21122         },
21123         "WatchVolumes": {
21124           "type": "object",
21125           "properties": {
21126             "Params": {
21127               "$ref": "#/definitions/Entities"
21128             },
21129             "Result": {
21130               "$ref": "#/definitions/StringsWatchResults"
21131             }
21132           }
21133         }
21134       },
21135       "definitions": {
21136         "BlockDevice": {
21137           "type": "object",
21138           "properties": {
21139             "BusAddress": {
21140               "type": "string"
21141             },
21142             "DeviceLinks": {
21143               "type": "array",
21144               "items": {
21145                 "type": "string"
21146               }
21147             },
21148             "DeviceName": {
21149               "type": "string"
21150             },
21151             "FilesystemType": {
21152               "type": "string"
21153             },
21154             "HardwareId": {
21155               "type": "string"
21156             },
21157             "InUse": {
21158               "type": "boolean"
21159             },
21160             "Label": {
21161               "type": "string"
21162             },
21163             "MountPoint": {
21164               "type": "string"
21165             },
21166             "Size": {
21167               "type": "integer"
21168             },
21169             "UUID": {
21170               "type": "string"
21171             }
21172           },
21173           "additionalProperties": false,
21174           "required": [
21175             "DeviceName",
21176             "DeviceLinks",
21177             "Label",
21178             "UUID",
21179             "HardwareId",
21180             "BusAddress",
21181             "Size",
21182             "FilesystemType",
21183             "InUse",
21184             "MountPoint"
21185           ]
21186         },
21187         "BlockDeviceResult": {
21188           "type": "object",
21189           "properties": {
21190             "error": {
21191               "$ref": "#/definitions/Error"
21192             },
21193             "result": {
21194               "$ref": "#/definitions/BlockDevice"
21195             }
21196           },
21197           "additionalProperties": false,
21198           "required": [
21199             "result"
21200           ]
21201         },
21202         "BlockDeviceResults": {
21203           "type": "object",
21204           "properties": {
21205             "results": {
21206               "type": "array",
21207               "items": {
21208                 "$ref": "#/definitions/BlockDeviceResult"
21209               }
21210             }
21211           },
21212           "additionalProperties": false
21213         },
21214         "Entities": {
21215           "type": "object",
21216           "properties": {
21217             "entities": {
21218               "type": "array",
21219               "items": {
21220                 "$ref": "#/definitions/Entity"
21221               }
21222             }
21223           },
21224           "additionalProperties": false,
21225           "required": [
21226             "entities"
21227           ]
21228         },
21229         "Entity": {
21230           "type": "object",
21231           "properties": {
21232             "tag": {
21233               "type": "string"
21234             }
21235           },
21236           "additionalProperties": false,
21237           "required": [
21238             "tag"
21239           ]
21240         },
21241         "EntityStatusArgs": {
21242           "type": "object",
21243           "properties": {
21244             "data": {
21245               "type": "object",
21246               "patternProperties": {
21247                 ".*": {
21248                   "type": "object",
21249                   "additionalProperties": true
21250                 }
21251               }
21252             },
21253             "info": {
21254               "type": "string"
21255             },
21256             "status": {
21257               "type": "string"
21258             },
21259             "tag": {
21260               "type": "string"
21261             }
21262           },
21263           "additionalProperties": false,
21264           "required": [
21265             "tag",
21266             "status",
21267             "info",
21268             "data"
21269           ]
21270         },
21271         "Error": {
21272           "type": "object",
21273           "properties": {
21274             "code": {
21275               "type": "string"
21276             },
21277             "info": {
21278               "$ref": "#/definitions/ErrorInfo"
21279             },
21280             "message": {
21281               "type": "string"
21282             }
21283           },
21284           "additionalProperties": false,
21285           "required": [
21286             "message",
21287             "code"
21288           ]
21289         },
21290         "ErrorInfo": {
21291           "type": "object",
21292           "properties": {
21293             "macaroon": {
21294               "$ref": "#/definitions/Macaroon"
21295             },
21296             "macaroon-path": {
21297               "type": "string"
21298             }
21299           },
21300           "additionalProperties": false
21301         },
21302         "ErrorResult": {
21303           "type": "object",
21304           "properties": {
21305             "error": {
21306               "$ref": "#/definitions/Error"
21307             }
21308           },
21309           "additionalProperties": false
21310         },
21311         "ErrorResults": {
21312           "type": "object",
21313           "properties": {
21314             "results": {
21315               "type": "array",
21316               "items": {
21317                 "$ref": "#/definitions/ErrorResult"
21318               }
21319             }
21320           },
21321           "additionalProperties": false,
21322           "required": [
21323             "results"
21324           ]
21325         },
21326         "Filesystem": {
21327           "type": "object",
21328           "properties": {
21329             "filesystem-tag": {
21330               "type": "string"
21331             },
21332             "info": {
21333               "$ref": "#/definitions/FilesystemInfo"
21334             },
21335             "volume-tag": {
21336               "type": "string"
21337             }
21338           },
21339           "additionalProperties": false,
21340           "required": [
21341             "filesystem-tag",
21342             "info"
21343           ]
21344         },
21345         "FilesystemAttachment": {
21346           "type": "object",
21347           "properties": {
21348             "filesystem-tag": {
21349               "type": "string"
21350             },
21351             "info": {
21352               "$ref": "#/definitions/FilesystemAttachmentInfo"
21353             },
21354             "machine-tag": {
21355               "type": "string"
21356             }
21357           },
21358           "additionalProperties": false,
21359           "required": [
21360             "filesystem-tag",
21361             "machine-tag",
21362             "info"
21363           ]
21364         },
21365         "FilesystemAttachmentInfo": {
21366           "type": "object",
21367           "properties": {
21368             "mount-point": {
21369               "type": "string"
21370             },
21371             "read-only": {
21372               "type": "boolean"
21373             }
21374           },
21375           "additionalProperties": false
21376         },
21377         "FilesystemAttachmentParams": {
21378           "type": "object",
21379           "properties": {
21380             "filesystem-id": {
21381               "type": "string"
21382             },
21383             "filesystem-tag": {
21384               "type": "string"
21385             },
21386             "instance-id": {
21387               "type": "string"
21388             },
21389             "machine-tag": {
21390               "type": "string"
21391             },
21392             "mount-point": {
21393               "type": "string"
21394             },
21395             "provider": {
21396               "type": "string"
21397             },
21398             "read-only": {
21399               "type": "boolean"
21400             }
21401           },
21402           "additionalProperties": false,
21403           "required": [
21404             "filesystem-tag",
21405             "machine-tag",
21406             "provider"
21407           ]
21408         },
21409         "FilesystemAttachmentParamsResult": {
21410           "type": "object",
21411           "properties": {
21412             "error": {
21413               "$ref": "#/definitions/Error"
21414             },
21415             "result": {
21416               "$ref": "#/definitions/FilesystemAttachmentParams"
21417             }
21418           },
21419           "additionalProperties": false,
21420           "required": [
21421             "result"
21422           ]
21423         },
21424         "FilesystemAttachmentParamsResults": {
21425           "type": "object",
21426           "properties": {
21427             "results": {
21428               "type": "array",
21429               "items": {
21430                 "$ref": "#/definitions/FilesystemAttachmentParamsResult"
21431               }
21432             }
21433           },
21434           "additionalProperties": false
21435         },
21436         "FilesystemAttachmentResult": {
21437           "type": "object",
21438           "properties": {
21439             "error": {
21440               "$ref": "#/definitions/Error"
21441             },
21442             "result": {
21443               "$ref": "#/definitions/FilesystemAttachment"
21444             }
21445           },
21446           "additionalProperties": false,
21447           "required": [
21448             "result"
21449           ]
21450         },
21451         "FilesystemAttachmentResults": {
21452           "type": "object",
21453           "properties": {
21454             "results": {
21455               "type": "array",
21456               "items": {
21457                 "$ref": "#/definitions/FilesystemAttachmentResult"
21458               }
21459             }
21460           },
21461           "additionalProperties": false
21462         },
21463         "FilesystemAttachments": {
21464           "type": "object",
21465           "properties": {
21466             "filesystem-attachments": {
21467               "type": "array",
21468               "items": {
21469                 "$ref": "#/definitions/FilesystemAttachment"
21470               }
21471             }
21472           },
21473           "additionalProperties": false,
21474           "required": [
21475             "filesystem-attachments"
21476           ]
21477         },
21478         "FilesystemInfo": {
21479           "type": "object",
21480           "properties": {
21481             "filesystem-id": {
21482               "type": "string"
21483             },
21484             "pool": {
21485               "type": "string"
21486             },
21487             "size": {
21488               "type": "integer"
21489             }
21490           },
21491           "additionalProperties": false,
21492           "required": [
21493             "filesystem-id",
21494             "pool",
21495             "size"
21496           ]
21497         },
21498         "FilesystemParams": {
21499           "type": "object",
21500           "properties": {
21501             "attachment": {
21502               "$ref": "#/definitions/FilesystemAttachmentParams"
21503             },
21504             "attributes": {
21505               "type": "object",
21506               "patternProperties": {
21507                 ".*": {
21508                   "type": "object",
21509                   "additionalProperties": true
21510                 }
21511               }
21512             },
21513             "filesystem-tag": {
21514               "type": "string"
21515             },
21516             "provider": {
21517               "type": "string"
21518             },
21519             "size": {
21520               "type": "integer"
21521             },
21522             "tags": {
21523               "type": "object",
21524               "patternProperties": {
21525                 ".*": {
21526                   "type": "string"
21527                 }
21528               }
21529             },
21530             "volume-tag": {
21531               "type": "string"
21532             }
21533           },
21534           "additionalProperties": false,
21535           "required": [
21536             "filesystem-tag",
21537             "size",
21538             "provider"
21539           ]
21540         },
21541         "FilesystemParamsResult": {
21542           "type": "object",
21543           "properties": {
21544             "error": {
21545               "$ref": "#/definitions/Error"
21546             },
21547             "result": {
21548               "$ref": "#/definitions/FilesystemParams"
21549             }
21550           },
21551           "additionalProperties": false,
21552           "required": [
21553             "result"
21554           ]
21555         },
21556         "FilesystemParamsResults": {
21557           "type": "object",
21558           "properties": {
21559             "results": {
21560               "type": "array",
21561               "items": {
21562                 "$ref": "#/definitions/FilesystemParamsResult"
21563               }
21564             }
21565           },
21566           "additionalProperties": false
21567         },
21568         "FilesystemResult": {
21569           "type": "object",
21570           "properties": {
21571             "error": {
21572               "$ref": "#/definitions/Error"
21573             },
21574             "result": {
21575               "$ref": "#/definitions/Filesystem"
21576             }
21577           },
21578           "additionalProperties": false,
21579           "required": [
21580             "result"
21581           ]
21582         },
21583         "FilesystemResults": {
21584           "type": "object",
21585           "properties": {
21586             "results": {
21587               "type": "array",
21588               "items": {
21589                 "$ref": "#/definitions/FilesystemResult"
21590               }
21591             }
21592           },
21593           "additionalProperties": false
21594         },
21595         "Filesystems": {
21596           "type": "object",
21597           "properties": {
21598             "filesystems": {
21599               "type": "array",
21600               "items": {
21601                 "$ref": "#/definitions/Filesystem"
21602               }
21603             }
21604           },
21605           "additionalProperties": false,
21606           "required": [
21607             "filesystems"
21608           ]
21609         },
21610         "LifeResult": {
21611           "type": "object",
21612           "properties": {
21613             "error": {
21614               "$ref": "#/definitions/Error"
21615             },
21616             "life": {
21617               "type": "string"
21618             }
21619           },
21620           "additionalProperties": false,
21621           "required": [
21622             "life"
21623           ]
21624         },
21625         "LifeResults": {
21626           "type": "object",
21627           "properties": {
21628             "results": {
21629               "type": "array",
21630               "items": {
21631                 "$ref": "#/definitions/LifeResult"
21632               }
21633             }
21634           },
21635           "additionalProperties": false,
21636           "required": [
21637             "results"
21638           ]
21639         },
21640         "Macaroon": {
21641           "type": "object",
21642           "additionalProperties": false
21643         },
21644         "MachineStorageId": {
21645           "type": "object",
21646           "properties": {
21647             "attachment-tag": {
21648               "type": "string"
21649             },
21650             "machine-tag": {
21651               "type": "string"
21652             }
21653           },
21654           "additionalProperties": false,
21655           "required": [
21656             "machine-tag",
21657             "attachment-tag"
21658           ]
21659         },
21660         "MachineStorageIds": {
21661           "type": "object",
21662           "properties": {
21663             "ids": {
21664               "type": "array",
21665               "items": {
21666                 "$ref": "#/definitions/MachineStorageId"
21667               }
21668             }
21669           },
21670           "additionalProperties": false,
21671           "required": [
21672             "ids"
21673           ]
21674         },
21675         "MachineStorageIdsWatchResult": {
21676           "type": "object",
21677           "properties": {
21678             "changes": {
21679               "type": "array",
21680               "items": {
21681                 "$ref": "#/definitions/MachineStorageId"
21682               }
21683             },
21684             "error": {
21685               "$ref": "#/definitions/Error"
21686             },
21687             "watcher-id": {
21688               "type": "string"
21689             }
21690           },
21691           "additionalProperties": false,
21692           "required": [
21693             "watcher-id",
21694             "changes"
21695           ]
21696         },
21697         "MachineStorageIdsWatchResults": {
21698           "type": "object",
21699           "properties": {
21700             "results": {
21701               "type": "array",
21702               "items": {
21703                 "$ref": "#/definitions/MachineStorageIdsWatchResult"
21704               }
21705             }
21706           },
21707           "additionalProperties": false,
21708           "required": [
21709             "results"
21710           ]
21711         },
21712         "NotifyWatchResult": {
21713           "type": "object",
21714           "properties": {
21715             "NotifyWatcherId": {
21716               "type": "string"
21717             },
21718             "error": {
21719               "$ref": "#/definitions/Error"
21720             }
21721           },
21722           "additionalProperties": false,
21723           "required": [
21724             "NotifyWatcherId"
21725           ]
21726         },
21727         "NotifyWatchResults": {
21728           "type": "object",
21729           "properties": {
21730             "results": {
21731               "type": "array",
21732               "items": {
21733                 "$ref": "#/definitions/NotifyWatchResult"
21734               }
21735             }
21736           },
21737           "additionalProperties": false,
21738           "required": [
21739             "results"
21740           ]
21741         },
21742         "SetStatus": {
21743           "type": "object",
21744           "properties": {
21745             "entities": {
21746               "type": "array",
21747               "items": {
21748                 "$ref": "#/definitions/EntityStatusArgs"
21749               }
21750             }
21751           },
21752           "additionalProperties": false,
21753           "required": [
21754             "entities"
21755           ]
21756         },
21757         "StringResult": {
21758           "type": "object",
21759           "properties": {
21760             "error": {
21761               "$ref": "#/definitions/Error"
21762             },
21763             "result": {
21764               "type": "string"
21765             }
21766           },
21767           "additionalProperties": false,
21768           "required": [
21769             "result"
21770           ]
21771         },
21772         "StringResults": {
21773           "type": "object",
21774           "properties": {
21775             "results": {
21776               "type": "array",
21777               "items": {
21778                 "$ref": "#/definitions/StringResult"
21779               }
21780             }
21781           },
21782           "additionalProperties": false,
21783           "required": [
21784             "results"
21785           ]
21786         },
21787         "StringsWatchResult": {
21788           "type": "object",
21789           "properties": {
21790             "changes": {
21791               "type": "array",
21792               "items": {
21793                 "type": "string"
21794               }
21795             },
21796             "error": {
21797               "$ref": "#/definitions/Error"
21798             },
21799             "watcher-id": {
21800               "type": "string"
21801             }
21802           },
21803           "additionalProperties": false,
21804           "required": [
21805             "watcher-id"
21806           ]
21807         },
21808         "StringsWatchResults": {
21809           "type": "object",
21810           "properties": {
21811             "results": {
21812               "type": "array",
21813               "items": {
21814                 "$ref": "#/definitions/StringsWatchResult"
21815               }
21816             }
21817           },
21818           "additionalProperties": false,
21819           "required": [
21820             "results"
21821           ]
21822         },
21823         "Volume": {
21824           "type": "object",
21825           "properties": {
21826             "info": {
21827               "$ref": "#/definitions/VolumeInfo"
21828             },
21829             "volume-tag": {
21830               "type": "string"
21831             }
21832           },
21833           "additionalProperties": false,
21834           "required": [
21835             "volume-tag",
21836             "info"
21837           ]
21838         },
21839         "VolumeAttachment": {
21840           "type": "object",
21841           "properties": {
21842             "info": {
21843               "$ref": "#/definitions/VolumeAttachmentInfo"
21844             },
21845             "machine-tag": {
21846               "type": "string"
21847             },
21848             "volume-tag": {
21849               "type": "string"
21850             }
21851           },
21852           "additionalProperties": false,
21853           "required": [
21854             "volume-tag",
21855             "machine-tag",
21856             "info"
21857           ]
21858         },
21859         "VolumeAttachmentInfo": {
21860           "type": "object",
21861           "properties": {
21862             "bus-address": {
21863               "type": "string"
21864             },
21865             "device-link": {
21866               "type": "string"
21867             },
21868             "device-name": {
21869               "type": "string"
21870             },
21871             "read-only": {
21872               "type": "boolean"
21873             }
21874           },
21875           "additionalProperties": false
21876         },
21877         "VolumeAttachmentParams": {
21878           "type": "object",
21879           "properties": {
21880             "instance-id": {
21881               "type": "string"
21882             },
21883             "machine-tag": {
21884               "type": "string"
21885             },
21886             "provider": {
21887               "type": "string"
21888             },
21889             "read-only": {
21890               "type": "boolean"
21891             },
21892             "volume-id": {
21893               "type": "string"
21894             },
21895             "volume-tag": {
21896               "type": "string"
21897             }
21898           },
21899           "additionalProperties": false,
21900           "required": [
21901             "volume-tag",
21902             "machine-tag",
21903             "provider"
21904           ]
21905         },
21906         "VolumeAttachmentParamsResult": {
21907           "type": "object",
21908           "properties": {
21909             "error": {
21910               "$ref": "#/definitions/Error"
21911             },
21912             "result": {
21913               "$ref": "#/definitions/VolumeAttachmentParams"
21914             }
21915           },
21916           "additionalProperties": false,
21917           "required": [
21918             "result"
21919           ]
21920         },
21921         "VolumeAttachmentParamsResults": {
21922           "type": "object",
21923           "properties": {
21924             "results": {
21925               "type": "array",
21926               "items": {
21927                 "$ref": "#/definitions/VolumeAttachmentParamsResult"
21928               }
21929             }
21930           },
21931           "additionalProperties": false
21932         },
21933         "VolumeAttachmentResult": {
21934           "type": "object",
21935           "properties": {
21936             "error": {
21937               "$ref": "#/definitions/Error"
21938             },
21939             "result": {
21940               "$ref": "#/definitions/VolumeAttachment"
21941             }
21942           },
21943           "additionalProperties": false,
21944           "required": [
21945             "result"
21946           ]
21947         },
21948         "VolumeAttachmentResults": {
21949           "type": "object",
21950           "properties": {
21951             "results": {
21952               "type": "array",
21953               "items": {
21954                 "$ref": "#/definitions/VolumeAttachmentResult"
21955               }
21956             }
21957           },
21958           "additionalProperties": false
21959         },
21960         "VolumeAttachments": {
21961           "type": "object",
21962           "properties": {
21963             "volume-attachments": {
21964               "type": "array",
21965               "items": {
21966                 "$ref": "#/definitions/VolumeAttachment"
21967               }
21968             }
21969           },
21970           "additionalProperties": false,
21971           "required": [
21972             "volume-attachments"
21973           ]
21974         },
21975         "VolumeInfo": {
21976           "type": "object",
21977           "properties": {
21978             "hardware-id": {
21979               "type": "string"
21980             },
21981             "persistent": {
21982               "type": "boolean"
21983             },
21984             "pool": {
21985               "type": "string"
21986             },
21987             "size": {
21988               "type": "integer"
21989             },
21990             "volume-id": {
21991               "type": "string"
21992             }
21993           },
21994           "additionalProperties": false,
21995           "required": [
21996             "volume-id",
21997             "size",
21998             "persistent"
21999           ]
22000         },
22001         "VolumeParams": {
22002           "type": "object",
22003           "properties": {
22004             "attachment": {
22005               "$ref": "#/definitions/VolumeAttachmentParams"
22006             },
22007             "attributes": {
22008               "type": "object",
22009               "patternProperties": {
22010                 ".*": {
22011                   "type": "object",
22012                   "additionalProperties": true
22013                 }
22014               }
22015             },
22016             "provider": {
22017               "type": "string"
22018             },
22019             "size": {
22020               "type": "integer"
22021             },
22022             "tags": {
22023               "type": "object",
22024               "patternProperties": {
22025                 ".*": {
22026                   "type": "string"
22027                 }
22028               }
22029             },
22030             "volume-tag": {
22031               "type": "string"
22032             }
22033           },
22034           "additionalProperties": false,
22035           "required": [
22036             "volume-tag",
22037             "size",
22038             "provider"
22039           ]
22040         },
22041         "VolumeParamsResult": {
22042           "type": "object",
22043           "properties": {
22044             "error": {
22045               "$ref": "#/definitions/Error"
22046             },
22047             "result": {
22048               "$ref": "#/definitions/VolumeParams"
22049             }
22050           },
22051           "additionalProperties": false,
22052           "required": [
22053             "result"
22054           ]
22055         },
22056         "VolumeParamsResults": {
22057           "type": "object",
22058           "properties": {
22059             "results": {
22060               "type": "array",
22061               "items": {
22062                 "$ref": "#/definitions/VolumeParamsResult"
22063               }
22064             }
22065           },
22066           "additionalProperties": false
22067         },
22068         "VolumeResult": {
22069           "type": "object",
22070           "properties": {
22071             "error": {
22072               "$ref": "#/definitions/Error"
22073             },
22074             "result": {
22075               "$ref": "#/definitions/Volume"
22076             }
22077           },
22078           "additionalProperties": false,
22079           "required": [
22080             "result"
22081           ]
22082         },
22083         "VolumeResults": {
22084           "type": "object",
22085           "properties": {
22086             "results": {
22087               "type": "array",
22088               "items": {
22089                 "$ref": "#/definitions/VolumeResult"
22090               }
22091             }
22092           },
22093           "additionalProperties": false
22094         },
22095         "Volumes": {
22096           "type": "object",
22097           "properties": {
22098             "volumes": {
22099               "type": "array",
22100               "items": {
22101                 "$ref": "#/definitions/Volume"
22102               }
22103             }
22104           },
22105           "additionalProperties": false,
22106           "required": [
22107             "volumes"
22108           ]
22109         }
22110       }
22111     }
22112   },
22113   {
22114     "Name": "StringsWatcher",
22115     "Version": 1,
22116     "Schema": {
22117       "type": "object",
22118       "properties": {
22119         "Next": {
22120           "type": "object",
22121           "properties": {
22122             "Result": {
22123               "$ref": "#/definitions/StringsWatchResult"
22124             }
22125           }
22126         },
22127         "Stop": {
22128           "type": "object"
22129         }
22130       },
22131       "definitions": {
22132         "Error": {
22133           "type": "object",
22134           "properties": {
22135             "code": {
22136               "type": "string"
22137             },
22138             "info": {
22139               "$ref": "#/definitions/ErrorInfo"
22140             },
22141             "message": {
22142               "type": "string"
22143             }
22144           },
22145           "additionalProperties": false,
22146           "required": [
22147             "message",
22148             "code"
22149           ]
22150         },
22151         "ErrorInfo": {
22152           "type": "object",
22153           "properties": {
22154             "macaroon": {
22155               "$ref": "#/definitions/Macaroon"
22156             },
22157             "macaroon-path": {
22158               "type": "string"
22159             }
22160           },
22161           "additionalProperties": false
22162         },
22163         "Macaroon": {
22164           "type": "object",
22165           "additionalProperties": false
22166         },
22167         "StringsWatchResult": {
22168           "type": "object",
22169           "properties": {
22170             "changes": {
22171               "type": "array",
22172               "items": {
22173                 "type": "string"
22174               }
22175             },
22176             "error": {
22177               "$ref": "#/definitions/Error"
22178             },
22179             "watcher-id": {
22180               "type": "string"
22181             }
22182           },
22183           "additionalProperties": false,
22184           "required": [
22185             "watcher-id"
22186           ]
22187         }
22188       }
22189     }
22190   },
22191   {
22192     "Name": "Subnets",
22193     "Version": 2,
22194     "Schema": {
22195       "type": "object",
22196       "properties": {
22197         "AddSubnets": {
22198           "type": "object",
22199           "properties": {
22200             "Params": {
22201               "$ref": "#/definitions/AddSubnetsParams"
22202             },
22203             "Result": {
22204               "$ref": "#/definitions/ErrorResults"
22205             }
22206           }
22207         },
22208         "AllSpaces": {
22209           "type": "object",
22210           "properties": {
22211             "Result": {
22212               "$ref": "#/definitions/SpaceResults"
22213             }
22214           }
22215         },
22216         "AllZones": {
22217           "type": "object",
22218           "properties": {
22219             "Result": {
22220               "$ref": "#/definitions/ZoneResults"
22221             }
22222           }
22223         },
22224         "ListSubnets": {
22225           "type": "object",
22226           "properties": {
22227             "Params": {
22228               "$ref": "#/definitions/SubnetsFilters"
22229             },
22230             "Result": {
22231               "$ref": "#/definitions/ListSubnetsResults"
22232             }
22233           }
22234         }
22235       },
22236       "definitions": {
22237         "AddSubnetParams": {
22238           "type": "object",
22239           "properties": {
22240             "provider-network-id": {
22241               "type": "string"
22242             },
22243             "space-tag": {
22244               "type": "string"
22245             },
22246             "subnet-provider-id": {
22247               "type": "string"
22248             },
22249             "subnet-tag": {
22250               "type": "string"
22251             },
22252             "vlan-tag": {
22253               "type": "integer"
22254             },
22255             "zones": {
22256               "type": "array",
22257               "items": {
22258                 "type": "string"
22259               }
22260             }
22261           },
22262           "additionalProperties": false,
22263           "required": [
22264             "space-tag"
22265           ]
22266         },
22267         "AddSubnetsParams": {
22268           "type": "object",
22269           "properties": {
22270             "subnets": {
22271               "type": "array",
22272               "items": {
22273                 "$ref": "#/definitions/AddSubnetParams"
22274               }
22275             }
22276           },
22277           "additionalProperties": false,
22278           "required": [
22279             "subnets"
22280           ]
22281         },
22282         "Error": {
22283           "type": "object",
22284           "properties": {
22285             "code": {
22286               "type": "string"
22287             },
22288             "info": {
22289               "$ref": "#/definitions/ErrorInfo"
22290             },
22291             "message": {
22292               "type": "string"
22293             }
22294           },
22295           "additionalProperties": false,
22296           "required": [
22297             "message",
22298             "code"
22299           ]
22300         },
22301         "ErrorInfo": {
22302           "type": "object",
22303           "properties": {
22304             "macaroon": {
22305               "$ref": "#/definitions/Macaroon"
22306             },
22307             "macaroon-path": {
22308               "type": "string"
22309             }
22310           },
22311           "additionalProperties": false
22312         },
22313         "ErrorResult": {
22314           "type": "object",
22315           "properties": {
22316             "error": {
22317               "$ref": "#/definitions/Error"
22318             }
22319           },
22320           "additionalProperties": false
22321         },
22322         "ErrorResults": {
22323           "type": "object",
22324           "properties": {
22325             "results": {
22326               "type": "array",
22327               "items": {
22328                 "$ref": "#/definitions/ErrorResult"
22329               }
22330             }
22331           },
22332           "additionalProperties": false,
22333           "required": [
22334             "results"
22335           ]
22336         },
22337         "ListSubnetsResults": {
22338           "type": "object",
22339           "properties": {
22340             "results": {
22341               "type": "array",
22342               "items": {
22343                 "$ref": "#/definitions/Subnet"
22344               }
22345             }
22346           },
22347           "additionalProperties": false,
22348           "required": [
22349             "results"
22350           ]
22351         },
22352         "Macaroon": {
22353           "type": "object",
22354           "additionalProperties": false
22355         },
22356         "SpaceResult": {
22357           "type": "object",
22358           "properties": {
22359             "error": {
22360               "$ref": "#/definitions/Error"
22361             },
22362             "tag": {
22363               "type": "string"
22364             }
22365           },
22366           "additionalProperties": false,
22367           "required": [
22368             "tag"
22369           ]
22370         },
22371         "SpaceResults": {
22372           "type": "object",
22373           "properties": {
22374             "results": {
22375               "type": "array",
22376               "items": {
22377                 "$ref": "#/definitions/SpaceResult"
22378               }
22379             }
22380           },
22381           "additionalProperties": false,
22382           "required": [
22383             "results"
22384           ]
22385         },
22386         "Subnet": {
22387           "type": "object",
22388           "properties": {
22389             "cidr": {
22390               "type": "string"
22391             },
22392             "life": {
22393               "type": "string"
22394             },
22395             "provider-id": {
22396               "type": "string"
22397             },
22398             "provider-network-id": {
22399               "type": "string"
22400             },
22401             "space-tag": {
22402               "type": "string"
22403             },
22404             "status": {
22405               "type": "string"
22406             },
22407             "vlan-tag": {
22408               "type": "integer"
22409             },
22410             "zones": {
22411               "type": "array",
22412               "items": {
22413                 "type": "string"
22414               }
22415             }
22416           },
22417           "additionalProperties": false,
22418           "required": [
22419             "cidr",
22420             "vlan-tag",
22421             "life",
22422             "space-tag",
22423             "zones"
22424           ]
22425         },
22426         "SubnetsFilters": {
22427           "type": "object",
22428           "properties": {
22429             "space-tag": {
22430               "type": "string"
22431             },
22432             "zone": {
22433               "type": "string"
22434             }
22435           },
22436           "additionalProperties": false
22437         },
22438         "ZoneResult": {
22439           "type": "object",
22440           "properties": {
22441             "available": {
22442               "type": "boolean"
22443             },
22444             "error": {
22445               "$ref": "#/definitions/Error"
22446             },
22447             "name": {
22448               "type": "string"
22449             }
22450           },
22451           "additionalProperties": false,
22452           "required": [
22453             "name",
22454             "available"
22455           ]
22456         },
22457         "ZoneResults": {
22458           "type": "object",
22459           "properties": {
22460             "results": {
22461               "type": "array",
22462               "items": {
22463                 "$ref": "#/definitions/ZoneResult"
22464               }
22465             }
22466           },
22467           "additionalProperties": false,
22468           "required": [
22469             "results"
22470           ]
22471         }
22472       }
22473     }
22474   },
22475   {
22476     "Name": "Undertaker",
22477     "Version": 1,
22478     "Schema": {
22479       "type": "object",
22480       "properties": {
22481         "ModelConfig": {
22482           "type": "object",
22483           "properties": {
22484             "Result": {
22485               "$ref": "#/definitions/ModelConfigResult"
22486             }
22487           }
22488         },
22489         "ModelInfo": {
22490           "type": "object",
22491           "properties": {
22492             "Result": {
22493               "$ref": "#/definitions/UndertakerModelInfoResult"
22494             }
22495           }
22496         },
22497         "ProcessDyingModel": {
22498           "type": "object"
22499         },
22500         "RemoveModel": {
22501           "type": "object"
22502         },
22503         "SetStatus": {
22504           "type": "object",
22505           "properties": {
22506             "Params": {
22507               "$ref": "#/definitions/SetStatus"
22508             },
22509             "Result": {
22510               "$ref": "#/definitions/ErrorResults"
22511             }
22512           }
22513         },
22514         "UpdateStatus": {
22515           "type": "object",
22516           "properties": {
22517             "Params": {
22518               "$ref": "#/definitions/SetStatus"
22519             },
22520             "Result": {
22521               "$ref": "#/definitions/ErrorResults"
22522             }
22523           }
22524         },
22525         "WatchModelResources": {
22526           "type": "object",
22527           "properties": {
22528             "Result": {
22529               "$ref": "#/definitions/NotifyWatchResults"
22530             }
22531           }
22532         }
22533       },
22534       "definitions": {
22535         "EntityStatusArgs": {
22536           "type": "object",
22537           "properties": {
22538             "data": {
22539               "type": "object",
22540               "patternProperties": {
22541                 ".*": {
22542                   "type": "object",
22543                   "additionalProperties": true
22544                 }
22545               }
22546             },
22547             "info": {
22548               "type": "string"
22549             },
22550             "status": {
22551               "type": "string"
22552             },
22553             "tag": {
22554               "type": "string"
22555             }
22556           },
22557           "additionalProperties": false,
22558           "required": [
22559             "tag",
22560             "status",
22561             "info",
22562             "data"
22563           ]
22564         },
22565         "Error": {
22566           "type": "object",
22567           "properties": {
22568             "code": {
22569               "type": "string"
22570             },
22571             "info": {
22572               "$ref": "#/definitions/ErrorInfo"
22573             },
22574             "message": {
22575               "type": "string"
22576             }
22577           },
22578           "additionalProperties": false,
22579           "required": [
22580             "message",
22581             "code"
22582           ]
22583         },
22584         "ErrorInfo": {
22585           "type": "object",
22586           "properties": {
22587             "macaroon": {
22588               "$ref": "#/definitions/Macaroon"
22589             },
22590             "macaroon-path": {
22591               "type": "string"
22592             }
22593           },
22594           "additionalProperties": false
22595         },
22596         "ErrorResult": {
22597           "type": "object",
22598           "properties": {
22599             "error": {
22600               "$ref": "#/definitions/Error"
22601             }
22602           },
22603           "additionalProperties": false
22604         },
22605         "ErrorResults": {
22606           "type": "object",
22607           "properties": {
22608             "results": {
22609               "type": "array",
22610               "items": {
22611                 "$ref": "#/definitions/ErrorResult"
22612               }
22613             }
22614           },
22615           "additionalProperties": false,
22616           "required": [
22617             "results"
22618           ]
22619         },
22620         "Macaroon": {
22621           "type": "object",
22622           "additionalProperties": false
22623         },
22624         "ModelConfigResult": {
22625           "type": "object",
22626           "properties": {
22627             "config": {
22628               "type": "object",
22629               "patternProperties": {
22630                 ".*": {
22631                   "type": "object",
22632                   "additionalProperties": true
22633                 }
22634               }
22635             }
22636           },
22637           "additionalProperties": false,
22638           "required": [
22639             "config"
22640           ]
22641         },
22642         "NotifyWatchResult": {
22643           "type": "object",
22644           "properties": {
22645             "NotifyWatcherId": {
22646               "type": "string"
22647             },
22648             "error": {
22649               "$ref": "#/definitions/Error"
22650             }
22651           },
22652           "additionalProperties": false,
22653           "required": [
22654             "NotifyWatcherId"
22655           ]
22656         },
22657         "NotifyWatchResults": {
22658           "type": "object",
22659           "properties": {
22660             "results": {
22661               "type": "array",
22662               "items": {
22663                 "$ref": "#/definitions/NotifyWatchResult"
22664               }
22665             }
22666           },
22667           "additionalProperties": false,
22668           "required": [
22669             "results"
22670           ]
22671         },
22672         "SetStatus": {
22673           "type": "object",
22674           "properties": {
22675             "entities": {
22676               "type": "array",
22677               "items": {
22678                 "$ref": "#/definitions/EntityStatusArgs"
22679               }
22680             }
22681           },
22682           "additionalProperties": false,
22683           "required": [
22684             "entities"
22685           ]
22686         },
22687         "UndertakerModelInfo": {
22688           "type": "object",
22689           "properties": {
22690             "global-name": {
22691               "type": "string"
22692             },
22693             "is-system": {
22694               "type": "boolean"
22695             },
22696             "life": {
22697               "type": "string"
22698             },
22699             "name": {
22700               "type": "string"
22701             },
22702             "uuid": {
22703               "type": "string"
22704             }
22705           },
22706           "additionalProperties": false,
22707           "required": [
22708             "uuid",
22709             "name",
22710             "global-name",
22711             "is-system",
22712             "life"
22713           ]
22714         },
22715         "UndertakerModelInfoResult": {
22716           "type": "object",
22717           "properties": {
22718             "error": {
22719               "$ref": "#/definitions/Error"
22720             },
22721             "result": {
22722               "$ref": "#/definitions/UndertakerModelInfo"
22723             }
22724           },
22725           "additionalProperties": false,
22726           "required": [
22727             "result"
22728           ]
22729         }
22730       }
22731     }
22732   },
22733   {
22734     "Name": "UnitAssigner",
22735     "Version": 1,
22736     "Schema": {
22737       "type": "object",
22738       "properties": {
22739         "AssignUnits": {
22740           "type": "object",
22741           "properties": {
22742             "Params": {
22743               "$ref": "#/definitions/Entities"
22744             },
22745             "Result": {
22746               "$ref": "#/definitions/ErrorResults"
22747             }
22748           }
22749         },
22750         "SetAgentStatus": {
22751           "type": "object",
22752           "properties": {
22753             "Params": {
22754               "$ref": "#/definitions/SetStatus"
22755             },
22756             "Result": {
22757               "$ref": "#/definitions/ErrorResults"
22758             }
22759           }
22760         },
22761         "WatchUnitAssignments": {
22762           "type": "object",
22763           "properties": {
22764             "Result": {
22765               "$ref": "#/definitions/StringsWatchResult"
22766             }
22767           }
22768         }
22769       },
22770       "definitions": {
22771         "Entities": {
22772           "type": "object",
22773           "properties": {
22774             "entities": {
22775               "type": "array",
22776               "items": {
22777                 "$ref": "#/definitions/Entity"
22778               }
22779             }
22780           },
22781           "additionalProperties": false,
22782           "required": [
22783             "entities"
22784           ]
22785         },
22786         "Entity": {
22787           "type": "object",
22788           "properties": {
22789             "tag": {
22790               "type": "string"
22791             }
22792           },
22793           "additionalProperties": false,
22794           "required": [
22795             "tag"
22796           ]
22797         },
22798         "EntityStatusArgs": {
22799           "type": "object",
22800           "properties": {
22801             "data": {
22802               "type": "object",
22803               "patternProperties": {
22804                 ".*": {
22805                   "type": "object",
22806                   "additionalProperties": true
22807                 }
22808               }
22809             },
22810             "info": {
22811               "type": "string"
22812             },
22813             "status": {
22814               "type": "string"
22815             },
22816             "tag": {
22817               "type": "string"
22818             }
22819           },
22820           "additionalProperties": false,
22821           "required": [
22822             "tag",
22823             "status",
22824             "info",
22825             "data"
22826           ]
22827         },
22828         "Error": {
22829           "type": "object",
22830           "properties": {
22831             "code": {
22832               "type": "string"
22833             },
22834             "info": {
22835               "$ref": "#/definitions/ErrorInfo"
22836             },
22837             "message": {
22838               "type": "string"
22839             }
22840           },
22841           "additionalProperties": false,
22842           "required": [
22843             "message",
22844             "code"
22845           ]
22846         },
22847         "ErrorInfo": {
22848           "type": "object",
22849           "properties": {
22850             "macaroon": {
22851               "$ref": "#/definitions/Macaroon"
22852             },
22853             "macaroon-path": {
22854               "type": "string"
22855             }
22856           },
22857           "additionalProperties": false
22858         },
22859         "ErrorResult": {
22860           "type": "object",
22861           "properties": {
22862             "error": {
22863               "$ref": "#/definitions/Error"
22864             }
22865           },
22866           "additionalProperties": false
22867         },
22868         "ErrorResults": {
22869           "type": "object",
22870           "properties": {
22871             "results": {
22872               "type": "array",
22873               "items": {
22874                 "$ref": "#/definitions/ErrorResult"
22875               }
22876             }
22877           },
22878           "additionalProperties": false,
22879           "required": [
22880             "results"
22881           ]
22882         },
22883         "Macaroon": {
22884           "type": "object",
22885           "additionalProperties": false
22886         },
22887         "SetStatus": {
22888           "type": "object",
22889           "properties": {
22890             "entities": {
22891               "type": "array",
22892               "items": {
22893                 "$ref": "#/definitions/EntityStatusArgs"
22894               }
22895             }
22896           },
22897           "additionalProperties": false,
22898           "required": [
22899             "entities"
22900           ]
22901         },
22902         "StringsWatchResult": {
22903           "type": "object",
22904           "properties": {
22905             "changes": {
22906               "type": "array",
22907               "items": {
22908                 "type": "string"
22909               }
22910             },
22911             "error": {
22912               "$ref": "#/definitions/Error"
22913             },
22914             "watcher-id": {
22915               "type": "string"
22916             }
22917           },
22918           "additionalProperties": false,
22919           "required": [
22920             "watcher-id"
22921           ]
22922         }
22923       }
22924     }
22925   },
22926   {
22927     "Name": "Uniter",
22928     "Version": 5,
22929     "Schema": {
22930       "type": "object",
22931       "properties": {
22932         "APIAddresses": {
22933           "type": "object",
22934           "properties": {
22935             "Result": {
22936               "$ref": "#/definitions/StringsResult"
22937             }
22938           }
22939         },
22940         "APIHostPorts": {
22941           "type": "object",
22942           "properties": {
22943             "Result": {
22944               "$ref": "#/definitions/APIHostPortsResult"
22945             }
22946           }
22947         },
22948         "Actions": {
22949           "type": "object",
22950           "properties": {
22951             "Params": {
22952               "$ref": "#/definitions/Entities"
22953             },
22954             "Result": {
22955               "$ref": "#/definitions/ActionResults"
22956             }
22957           }
22958         },
22959         "AddMetricBatches": {
22960           "type": "object",
22961           "properties": {
22962             "Params": {
22963               "$ref": "#/definitions/MetricBatchParams"
22964             },
22965             "Result": {
22966               "$ref": "#/definitions/ErrorResults"
22967             }
22968           }
22969         },
22970         "AddUnitStorage": {
22971           "type": "object",
22972           "properties": {
22973             "Params": {
22974               "$ref": "#/definitions/StoragesAddParams"
22975             },
22976             "Result": {
22977               "$ref": "#/definitions/ErrorResults"
22978             }
22979           }
22980         },
22981         "AllMachinePorts": {
22982           "type": "object",
22983           "properties": {
22984             "Params": {
22985               "$ref": "#/definitions/Entities"
22986             },
22987             "Result": {
22988               "$ref": "#/definitions/MachinePortsResults"
22989             }
22990           }
22991         },
22992         "ApplicationStatus": {
22993           "type": "object",
22994           "properties": {
22995             "Params": {
22996               "$ref": "#/definitions/Entities"
22997             },
22998             "Result": {
22999               "$ref": "#/definitions/ApplicationStatusResults"
23000             }
23001           }
23002         },
23003         "AssignedMachine": {
23004           "type": "object",
23005           "properties": {
23006             "Params": {
23007               "$ref": "#/definitions/Entities"
23008             },
23009             "Result": {
23010               "$ref": "#/definitions/StringResults"
23011             }
23012           }
23013         },
23014         "AvailabilityZone": {
23015           "type": "object",
23016           "properties": {
23017             "Params": {
23018               "$ref": "#/definitions/Entities"
23019             },
23020             "Result": {
23021               "$ref": "#/definitions/StringResults"
23022             }
23023           }
23024         },
23025         "BeginActions": {
23026           "type": "object",
23027           "properties": {
23028             "Params": {
23029               "$ref": "#/definitions/Entities"
23030             },
23031             "Result": {
23032               "$ref": "#/definitions/ErrorResults"
23033             }
23034           }
23035         },
23036         "CACert": {
23037           "type": "object",
23038           "properties": {
23039             "Result": {
23040               "$ref": "#/definitions/BytesResult"
23041             }
23042           }
23043         },
23044         "CharmArchiveSha256": {
23045           "type": "object",
23046           "properties": {
23047             "Params": {
23048               "$ref": "#/definitions/CharmURLs"
23049             },
23050             "Result": {
23051               "$ref": "#/definitions/StringResults"
23052             }
23053           }
23054         },
23055         "CharmModifiedVersion": {
23056           "type": "object",
23057           "properties": {
23058             "Params": {
23059               "$ref": "#/definitions/Entities"
23060             },
23061             "Result": {
23062               "$ref": "#/definitions/IntResults"
23063             }
23064           }
23065         },
23066         "CharmURL": {
23067           "type": "object",
23068           "properties": {
23069             "Params": {
23070               "$ref": "#/definitions/Entities"
23071             },
23072             "Result": {
23073               "$ref": "#/definitions/StringBoolResults"
23074             }
23075           }
23076         },
23077         "ClearResolved": {
23078           "type": "object",
23079           "properties": {
23080             "Params": {
23081               "$ref": "#/definitions/Entities"
23082             },
23083             "Result": {
23084               "$ref": "#/definitions/ErrorResults"
23085             }
23086           }
23087         },
23088         "ClosePorts": {
23089           "type": "object",
23090           "properties": {
23091             "Params": {
23092               "$ref": "#/definitions/EntitiesPortRanges"
23093             },
23094             "Result": {
23095               "$ref": "#/definitions/ErrorResults"
23096             }
23097           }
23098         },
23099         "ConfigSettings": {
23100           "type": "object",
23101           "properties": {
23102             "Params": {
23103               "$ref": "#/definitions/Entities"
23104             },
23105             "Result": {
23106               "$ref": "#/definitions/ConfigSettingsResults"
23107             }
23108           }
23109         },
23110         "CurrentModel": {
23111           "type": "object",
23112           "properties": {
23113             "Result": {
23114               "$ref": "#/definitions/ModelResult"
23115             }
23116           }
23117         },
23118         "Destroy": {
23119           "type": "object",
23120           "properties": {
23121             "Params": {
23122               "$ref": "#/definitions/Entities"
23123             },
23124             "Result": {
23125               "$ref": "#/definitions/ErrorResults"
23126             }
23127           }
23128         },
23129         "DestroyAllSubordinates": {
23130           "type": "object",
23131           "properties": {
23132             "Params": {
23133               "$ref": "#/definitions/Entities"
23134             },
23135             "Result": {
23136               "$ref": "#/definitions/ErrorResults"
23137             }
23138           }
23139         },
23140         "DestroyUnitStorageAttachments": {
23141           "type": "object",
23142           "properties": {
23143             "Params": {
23144               "$ref": "#/definitions/Entities"
23145             },
23146             "Result": {
23147               "$ref": "#/definitions/ErrorResults"
23148             }
23149           }
23150         },
23151         "EnsureDead": {
23152           "type": "object",
23153           "properties": {
23154             "Params": {
23155               "$ref": "#/definitions/Entities"
23156             },
23157             "Result": {
23158               "$ref": "#/definitions/ErrorResults"
23159             }
23160           }
23161         },
23162         "EnterScope": {
23163           "type": "object",
23164           "properties": {
23165             "Params": {
23166               "$ref": "#/definitions/RelationUnits"
23167             },
23168             "Result": {
23169               "$ref": "#/definitions/ErrorResults"
23170             }
23171           }
23172         },
23173         "FinishActions": {
23174           "type": "object",
23175           "properties": {
23176             "Params": {
23177               "$ref": "#/definitions/ActionExecutionResults"
23178             },
23179             "Result": {
23180               "$ref": "#/definitions/ErrorResults"
23181             }
23182           }
23183         },
23184         "GetMeterStatus": {
23185           "type": "object",
23186           "properties": {
23187             "Params": {
23188               "$ref": "#/definitions/Entities"
23189             },
23190             "Result": {
23191               "$ref": "#/definitions/MeterStatusResults"
23192             }
23193           }
23194         },
23195         "GetPrincipal": {
23196           "type": "object",
23197           "properties": {
23198             "Params": {
23199               "$ref": "#/definitions/Entities"
23200             },
23201             "Result": {
23202               "$ref": "#/definitions/StringBoolResults"
23203             }
23204           }
23205         },
23206         "HasSubordinates": {
23207           "type": "object",
23208           "properties": {
23209             "Params": {
23210               "$ref": "#/definitions/Entities"
23211             },
23212             "Result": {
23213               "$ref": "#/definitions/BoolResults"
23214             }
23215           }
23216         },
23217         "JoinedRelations": {
23218           "type": "object",
23219           "properties": {
23220             "Params": {
23221               "$ref": "#/definitions/Entities"
23222             },
23223             "Result": {
23224               "$ref": "#/definitions/StringsResults"
23225             }
23226           }
23227         },
23228         "LeaveScope": {
23229           "type": "object",
23230           "properties": {
23231             "Params": {
23232               "$ref": "#/definitions/RelationUnits"
23233             },
23234             "Result": {
23235               "$ref": "#/definitions/ErrorResults"
23236             }
23237           }
23238         },
23239         "Life": {
23240           "type": "object",
23241           "properties": {
23242             "Params": {
23243               "$ref": "#/definitions/Entities"
23244             },
23245             "Result": {
23246               "$ref": "#/definitions/LifeResults"
23247             }
23248           }
23249         },
23250         "Merge": {
23251           "type": "object",
23252           "properties": {
23253             "Params": {
23254               "$ref": "#/definitions/MergeLeadershipSettingsBulkParams"
23255             },
23256             "Result": {
23257               "$ref": "#/definitions/ErrorResults"
23258             }
23259           }
23260         },
23261         "ModelConfig": {
23262           "type": "object",
23263           "properties": {
23264             "Result": {
23265               "$ref": "#/definitions/ModelConfigResult"
23266             }
23267           }
23268         },
23269         "ModelUUID": {
23270           "type": "object",
23271           "properties": {
23272             "Result": {
23273               "$ref": "#/definitions/StringResult"
23274             }
23275           }
23276         },
23277         "NetworkConfig": {
23278           "type": "object",
23279           "properties": {
23280             "Params": {
23281               "$ref": "#/definitions/UnitsNetworkConfig"
23282             },
23283             "Result": {
23284               "$ref": "#/definitions/UnitNetworkConfigResults"
23285             }
23286           }
23287         },
23288         "OpenPorts": {
23289           "type": "object",
23290           "properties": {
23291             "Params": {
23292               "$ref": "#/definitions/EntitiesPortRanges"
23293             },
23294             "Result": {
23295               "$ref": "#/definitions/ErrorResults"
23296             }
23297           }
23298         },
23299         "PrivateAddress": {
23300           "type": "object",
23301           "properties": {
23302             "Params": {
23303               "$ref": "#/definitions/Entities"
23304             },
23305             "Result": {
23306               "$ref": "#/definitions/StringResults"
23307             }
23308           }
23309         },
23310         "ProviderType": {
23311           "type": "object",
23312           "properties": {
23313             "Result": {
23314               "$ref": "#/definitions/StringResult"
23315             }
23316           }
23317         },
23318         "PublicAddress": {
23319           "type": "object",
23320           "properties": {
23321             "Params": {
23322               "$ref": "#/definitions/Entities"
23323             },
23324             "Result": {
23325               "$ref": "#/definitions/StringResults"
23326             }
23327           }
23328         },
23329         "Read": {
23330           "type": "object",
23331           "properties": {
23332             "Params": {
23333               "$ref": "#/definitions/Entities"
23334             },
23335             "Result": {
23336               "$ref": "#/definitions/GetLeadershipSettingsBulkResults"
23337             }
23338           }
23339         },
23340         "ReadRemoteSettings": {
23341           "type": "object",
23342           "properties": {
23343             "Params": {
23344               "$ref": "#/definitions/RelationUnitPairs"
23345             },
23346             "Result": {
23347               "$ref": "#/definitions/SettingsResults"
23348             }
23349           }
23350         },
23351         "ReadSettings": {
23352           "type": "object",
23353           "properties": {
23354             "Params": {
23355               "$ref": "#/definitions/RelationUnits"
23356             },
23357             "Result": {
23358               "$ref": "#/definitions/SettingsResults"
23359             }
23360           }
23361         },
23362         "Relation": {
23363           "type": "object",
23364           "properties": {
23365             "Params": {
23366               "$ref": "#/definitions/RelationUnits"
23367             },
23368             "Result": {
23369               "$ref": "#/definitions/RelationResults"
23370             }
23371           }
23372         },
23373         "RelationById": {
23374           "type": "object",
23375           "properties": {
23376             "Params": {
23377               "$ref": "#/definitions/RelationIds"
23378             },
23379             "Result": {
23380               "$ref": "#/definitions/RelationResults"
23381             }
23382           }
23383         },
23384         "RemoveStorageAttachments": {
23385           "type": "object",
23386           "properties": {
23387             "Params": {
23388               "$ref": "#/definitions/StorageAttachmentIds"
23389             },
23390             "Result": {
23391               "$ref": "#/definitions/ErrorResults"
23392             }
23393           }
23394         },
23395         "RequestReboot": {
23396           "type": "object",
23397           "properties": {
23398             "Params": {
23399               "$ref": "#/definitions/Entities"
23400             },
23401             "Result": {
23402               "$ref": "#/definitions/ErrorResults"
23403             }
23404           }
23405         },
23406         "Resolved": {
23407           "type": "object",
23408           "properties": {
23409             "Params": {
23410               "$ref": "#/definitions/Entities"
23411             },
23412             "Result": {
23413               "$ref": "#/definitions/ResolvedModeResults"
23414             }
23415           }
23416         },
23417         "SLALevel": {
23418           "type": "object",
23419           "properties": {
23420             "Result": {
23421               "$ref": "#/definitions/StringResult"
23422             }
23423           }
23424         },
23425         "SetAgentStatus": {
23426           "type": "object",
23427           "properties": {
23428             "Params": {
23429               "$ref": "#/definitions/SetStatus"
23430             },
23431             "Result": {
23432               "$ref": "#/definitions/ErrorResults"
23433             }
23434           }
23435         },
23436         "SetApplicationStatus": {
23437           "type": "object",
23438           "properties": {
23439             "Params": {
23440               "$ref": "#/definitions/SetStatus"
23441             },
23442             "Result": {
23443               "$ref": "#/definitions/ErrorResults"
23444             }
23445           }
23446         },
23447         "SetCharmURL": {
23448           "type": "object",
23449           "properties": {
23450             "Params": {
23451               "$ref": "#/definitions/EntitiesCharmURL"
23452             },
23453             "Result": {
23454               "$ref": "#/definitions/ErrorResults"
23455             }
23456           }
23457         },
23458         "SetStatus": {
23459           "type": "object",
23460           "properties": {
23461             "Params": {
23462               "$ref": "#/definitions/SetStatus"
23463             },
23464             "Result": {
23465               "$ref": "#/definitions/ErrorResults"
23466             }
23467           }
23468         },
23469         "SetUnitStatus": {
23470           "type": "object",
23471           "properties": {
23472             "Params": {
23473               "$ref": "#/definitions/SetStatus"
23474             },
23475             "Result": {
23476               "$ref": "#/definitions/ErrorResults"
23477             }
23478           }
23479         },
23480         "SetWorkloadVersion": {
23481           "type": "object",
23482           "properties": {
23483             "Params": {
23484               "$ref": "#/definitions/EntityWorkloadVersions"
23485             },
23486             "Result": {
23487               "$ref": "#/definitions/ErrorResults"
23488             }
23489           }
23490         },
23491         "StorageAttachmentLife": {
23492           "type": "object",
23493           "properties": {
23494             "Params": {
23495               "$ref": "#/definitions/StorageAttachmentIds"
23496             },
23497             "Result": {
23498               "$ref": "#/definitions/LifeResults"
23499             }
23500           }
23501         },
23502         "StorageAttachments": {
23503           "type": "object",
23504           "properties": {
23505             "Params": {
23506               "$ref": "#/definitions/StorageAttachmentIds"
23507             },
23508             "Result": {
23509               "$ref": "#/definitions/StorageAttachmentResults"
23510             }
23511           }
23512         },
23513         "UnitStatus": {
23514           "type": "object",
23515           "properties": {
23516             "Params": {
23517               "$ref": "#/definitions/Entities"
23518             },
23519             "Result": {
23520               "$ref": "#/definitions/StatusResults"
23521             }
23522           }
23523         },
23524         "UnitStorageAttachments": {
23525           "type": "object",
23526           "properties": {
23527             "Params": {
23528               "$ref": "#/definitions/Entities"
23529             },
23530             "Result": {
23531               "$ref": "#/definitions/StorageAttachmentIdsResults"
23532             }
23533           }
23534         },
23535         "UpdateSettings": {
23536           "type": "object",
23537           "properties": {
23538             "Params": {
23539               "$ref": "#/definitions/RelationUnitsSettings"
23540             },
23541             "Result": {
23542               "$ref": "#/definitions/ErrorResults"
23543             }
23544           }
23545         },
23546         "Watch": {
23547           "type": "object",
23548           "properties": {
23549             "Params": {
23550               "$ref": "#/definitions/Entities"
23551             },
23552             "Result": {
23553               "$ref": "#/definitions/NotifyWatchResults"
23554             }
23555           }
23556         },
23557         "WatchAPIHostPorts": {
23558           "type": "object",
23559           "properties": {
23560             "Result": {
23561               "$ref": "#/definitions/NotifyWatchResult"
23562             }
23563           }
23564         },
23565         "WatchActionNotifications": {
23566           "type": "object",
23567           "properties": {
23568             "Params": {
23569               "$ref": "#/definitions/Entities"
23570             },
23571             "Result": {
23572               "$ref": "#/definitions/StringsWatchResults"
23573             }
23574           }
23575         },
23576         "WatchApplicationRelations": {
23577           "type": "object",
23578           "properties": {
23579             "Params": {
23580               "$ref": "#/definitions/Entities"
23581             },
23582             "Result": {
23583               "$ref": "#/definitions/StringsWatchResults"
23584             }
23585           }
23586         },
23587         "WatchConfigSettings": {
23588           "type": "object",
23589           "properties": {
23590             "Params": {
23591               "$ref": "#/definitions/Entities"
23592             },
23593             "Result": {
23594               "$ref": "#/definitions/NotifyWatchResults"
23595             }
23596           }
23597         },
23598         "WatchForModelConfigChanges": {
23599           "type": "object",
23600           "properties": {
23601             "Result": {
23602               "$ref": "#/definitions/NotifyWatchResult"
23603             }
23604           }
23605         },
23606         "WatchLeadershipSettings": {
23607           "type": "object",
23608           "properties": {
23609             "Params": {
23610               "$ref": "#/definitions/Entities"
23611             },
23612             "Result": {
23613               "$ref": "#/definitions/NotifyWatchResults"
23614             }
23615           }
23616         },
23617         "WatchMeterStatus": {
23618           "type": "object",
23619           "properties": {
23620             "Params": {
23621               "$ref": "#/definitions/Entities"
23622             },
23623             "Result": {
23624               "$ref": "#/definitions/NotifyWatchResults"
23625             }
23626           }
23627         },
23628         "WatchRelationUnits": {
23629           "type": "object",
23630           "properties": {
23631             "Params": {
23632               "$ref": "#/definitions/RelationUnits"
23633             },
23634             "Result": {
23635               "$ref": "#/definitions/RelationUnitsWatchResults"
23636             }
23637           }
23638         },
23639         "WatchStorageAttachments": {
23640           "type": "object",
23641           "properties": {
23642             "Params": {
23643               "$ref": "#/definitions/StorageAttachmentIds"
23644             },
23645             "Result": {
23646               "$ref": "#/definitions/NotifyWatchResults"
23647             }
23648           }
23649         },
23650         "WatchUnitAddresses": {
23651           "type": "object",
23652           "properties": {
23653             "Params": {
23654               "$ref": "#/definitions/Entities"
23655             },
23656             "Result": {
23657               "$ref": "#/definitions/NotifyWatchResults"
23658             }
23659           }
23660         },
23661         "WatchUnitStorageAttachments": {
23662           "type": "object",
23663           "properties": {
23664             "Params": {
23665               "$ref": "#/definitions/Entities"
23666             },
23667             "Result": {
23668               "$ref": "#/definitions/StringsWatchResults"
23669             }
23670           }
23671         },
23672         "WorkloadVersion": {
23673           "type": "object",
23674           "properties": {
23675             "Params": {
23676               "$ref": "#/definitions/Entities"
23677             },
23678             "Result": {
23679               "$ref": "#/definitions/StringResults"
23680             }
23681           }
23682         }
23683       },
23684       "definitions": {
23685         "APIHostPortsResult": {
23686           "type": "object",
23687           "properties": {
23688             "servers": {
23689               "type": "array",
23690               "items": {
23691                 "type": "array",
23692                 "items": {
23693                   "$ref": "#/definitions/HostPort"
23694                 }
23695               }
23696             }
23697           },
23698           "additionalProperties": false,
23699           "required": [
23700             "servers"
23701           ]
23702         },
23703         "Action": {
23704           "type": "object",
23705           "properties": {
23706             "name": {
23707               "type": "string"
23708             },
23709             "parameters": {
23710               "type": "object",
23711               "patternProperties": {
23712                 ".*": {
23713                   "type": "object",
23714                   "additionalProperties": true
23715                 }
23716               }
23717             },
23718             "receiver": {
23719               "type": "string"
23720             },
23721             "tag": {
23722               "type": "string"
23723             }
23724           },
23725           "additionalProperties": false,
23726           "required": [
23727             "tag",
23728             "receiver",
23729             "name"
23730           ]
23731         },
23732         "ActionExecutionResult": {
23733           "type": "object",
23734           "properties": {
23735             "action-tag": {
23736               "type": "string"
23737             },
23738             "message": {
23739               "type": "string"
23740             },
23741             "results": {
23742               "type": "object",
23743               "patternProperties": {
23744                 ".*": {
23745                   "type": "object",
23746                   "additionalProperties": true
23747                 }
23748               }
23749             },
23750             "status": {
23751               "type": "string"
23752             }
23753           },
23754           "additionalProperties": false,
23755           "required": [
23756             "action-tag",
23757             "status"
23758           ]
23759         },
23760         "ActionExecutionResults": {
23761           "type": "object",
23762           "properties": {
23763             "results": {
23764               "type": "array",
23765               "items": {
23766                 "$ref": "#/definitions/ActionExecutionResult"
23767               }
23768             }
23769           },
23770           "additionalProperties": false
23771         },
23772         "ActionResult": {
23773           "type": "object",
23774           "properties": {
23775             "action": {
23776               "$ref": "#/definitions/Action"
23777             },
23778             "completed": {
23779               "type": "string",
23780               "format": "date-time"
23781             },
23782             "enqueued": {
23783               "type": "string",
23784               "format": "date-time"
23785             },
23786             "error": {
23787               "$ref": "#/definitions/Error"
23788             },
23789             "message": {
23790               "type": "string"
23791             },
23792             "output": {
23793               "type": "object",
23794               "patternProperties": {
23795                 ".*": {
23796                   "type": "object",
23797                   "additionalProperties": true
23798                 }
23799               }
23800             },
23801             "started": {
23802               "type": "string",
23803               "format": "date-time"
23804             },
23805             "status": {
23806               "type": "string"
23807             }
23808           },
23809           "additionalProperties": false
23810         },
23811         "ActionResults": {
23812           "type": "object",
23813           "properties": {
23814             "results": {
23815               "type": "array",
23816               "items": {
23817                 "$ref": "#/definitions/ActionResult"
23818               }
23819             }
23820           },
23821           "additionalProperties": false
23822         },
23823         "Address": {
23824           "type": "object",
23825           "properties": {
23826             "scope": {
23827               "type": "string"
23828             },
23829             "space-name": {
23830               "type": "string"
23831             },
23832             "type": {
23833               "type": "string"
23834             },
23835             "value": {
23836               "type": "string"
23837             }
23838           },
23839           "additionalProperties": false,
23840           "required": [
23841             "value",
23842             "type",
23843             "scope"
23844           ]
23845         },
23846         "ApplicationStatusResult": {
23847           "type": "object",
23848           "properties": {
23849             "application": {
23850               "$ref": "#/definitions/StatusResult"
23851             },
23852             "error": {
23853               "$ref": "#/definitions/Error"
23854             },
23855             "units": {
23856               "type": "object",
23857               "patternProperties": {
23858                 ".*": {
23859                   "$ref": "#/definitions/StatusResult"
23860                 }
23861               }
23862             }
23863           },
23864           "additionalProperties": false,
23865           "required": [
23866             "application",
23867             "units"
23868           ]
23869         },
23870         "ApplicationStatusResults": {
23871           "type": "object",
23872           "properties": {
23873             "results": {
23874               "type": "array",
23875               "items": {
23876                 "$ref": "#/definitions/ApplicationStatusResult"
23877               }
23878             }
23879           },
23880           "additionalProperties": false,
23881           "required": [
23882             "results"
23883           ]
23884         },
23885         "BoolResult": {
23886           "type": "object",
23887           "properties": {
23888             "error": {
23889               "$ref": "#/definitions/Error"
23890             },
23891             "result": {
23892               "type": "boolean"
23893             }
23894           },
23895           "additionalProperties": false,
23896           "required": [
23897             "result"
23898           ]
23899         },
23900         "BoolResults": {
23901           "type": "object",
23902           "properties": {
23903             "results": {
23904               "type": "array",
23905               "items": {
23906                 "$ref": "#/definitions/BoolResult"
23907               }
23908             }
23909           },
23910           "additionalProperties": false,
23911           "required": [
23912             "results"
23913           ]
23914         },
23915         "BytesResult": {
23916           "type": "object",
23917           "properties": {
23918             "result": {
23919               "type": "array",
23920               "items": {
23921                 "type": "integer"
23922               }
23923             }
23924           },
23925           "additionalProperties": false,
23926           "required": [
23927             "result"
23928           ]
23929         },
23930         "CharmRelation": {
23931           "type": "object",
23932           "properties": {
23933             "interface": {
23934               "type": "string"
23935             },
23936             "limit": {
23937               "type": "integer"
23938             },
23939             "name": {
23940               "type": "string"
23941             },
23942             "optional": {
23943               "type": "boolean"
23944             },
23945             "role": {
23946               "type": "string"
23947             },
23948             "scope": {
23949               "type": "string"
23950             }
23951           },
23952           "additionalProperties": false,
23953           "required": [
23954             "name",
23955             "role",
23956             "interface",
23957             "optional",
23958             "limit",
23959             "scope"
23960           ]
23961         },
23962         "CharmURL": {
23963           "type": "object",
23964           "properties": {
23965             "url": {
23966               "type": "string"
23967             }
23968           },
23969           "additionalProperties": false,
23970           "required": [
23971             "url"
23972           ]
23973         },
23974         "CharmURLs": {
23975           "type": "object",
23976           "properties": {
23977             "urls": {
23978               "type": "array",
23979               "items": {
23980                 "$ref": "#/definitions/CharmURL"
23981               }
23982             }
23983           },
23984           "additionalProperties": false,
23985           "required": [
23986             "urls"
23987           ]
23988         },
23989         "ConfigSettingsResult": {
23990           "type": "object",
23991           "properties": {
23992             "error": {
23993               "$ref": "#/definitions/Error"
23994             },
23995             "settings": {
23996               "type": "object",
23997               "patternProperties": {
23998                 ".*": {
23999                   "type": "object",
24000                   "additionalProperties": true
24001                 }
24002               }
24003             }
24004           },
24005           "additionalProperties": false,
24006           "required": [
24007             "settings"
24008           ]
24009         },
24010         "ConfigSettingsResults": {
24011           "type": "object",
24012           "properties": {
24013             "results": {
24014               "type": "array",
24015               "items": {
24016                 "$ref": "#/definitions/ConfigSettingsResult"
24017               }
24018             }
24019           },
24020           "additionalProperties": false,
24021           "required": [
24022             "results"
24023           ]
24024         },
24025         "Endpoint": {
24026           "type": "object",
24027           "properties": {
24028             "application-name": {
24029               "type": "string"
24030             },
24031             "relation": {
24032               "$ref": "#/definitions/CharmRelation"
24033             }
24034           },
24035           "additionalProperties": false,
24036           "required": [
24037             "application-name",
24038             "relation"
24039           ]
24040         },
24041         "Entities": {
24042           "type": "object",
24043           "properties": {
24044             "entities": {
24045               "type": "array",
24046               "items": {
24047                 "$ref": "#/definitions/Entity"
24048               }
24049             }
24050           },
24051           "additionalProperties": false,
24052           "required": [
24053             "entities"
24054           ]
24055         },
24056         "EntitiesCharmURL": {
24057           "type": "object",
24058           "properties": {
24059             "entities": {
24060               "type": "array",
24061               "items": {
24062                 "$ref": "#/definitions/EntityCharmURL"
24063               }
24064             }
24065           },
24066           "additionalProperties": false,
24067           "required": [
24068             "entities"
24069           ]
24070         },
24071         "EntitiesPortRanges": {
24072           "type": "object",
24073           "properties": {
24074             "entities": {
24075               "type": "array",
24076               "items": {
24077                 "$ref": "#/definitions/EntityPortRange"
24078               }
24079             }
24080           },
24081           "additionalProperties": false,
24082           "required": [
24083             "entities"
24084           ]
24085         },
24086         "Entity": {
24087           "type": "object",
24088           "properties": {
24089             "tag": {
24090               "type": "string"
24091             }
24092           },
24093           "additionalProperties": false,
24094           "required": [
24095             "tag"
24096           ]
24097         },
24098         "EntityCharmURL": {
24099           "type": "object",
24100           "properties": {
24101             "charm-url": {
24102               "type": "string"
24103             },
24104             "tag": {
24105               "type": "string"
24106             }
24107           },
24108           "additionalProperties": false,
24109           "required": [
24110             "tag",
24111             "charm-url"
24112           ]
24113         },
24114         "EntityPortRange": {
24115           "type": "object",
24116           "properties": {
24117             "from-port": {
24118               "type": "integer"
24119             },
24120             "protocol": {
24121               "type": "string"
24122             },
24123             "tag": {
24124               "type": "string"
24125             },
24126             "to-port": {
24127               "type": "integer"
24128             }
24129           },
24130           "additionalProperties": false,
24131           "required": [
24132             "tag",
24133             "protocol",
24134             "from-port",
24135             "to-port"
24136           ]
24137         },
24138         "EntityStatusArgs": {
24139           "type": "object",
24140           "properties": {
24141             "data": {
24142               "type": "object",
24143               "patternProperties": {
24144                 ".*": {
24145                   "type": "object",
24146                   "additionalProperties": true
24147                 }
24148               }
24149             },
24150             "info": {
24151               "type": "string"
24152             },
24153             "status": {
24154               "type": "string"
24155             },
24156             "tag": {
24157               "type": "string"
24158             }
24159           },
24160           "additionalProperties": false,
24161           "required": [
24162             "tag",
24163             "status",
24164             "info",
24165             "data"
24166           ]
24167         },
24168         "EntityWorkloadVersion": {
24169           "type": "object",
24170           "properties": {
24171             "tag": {
24172               "type": "string"
24173             },
24174             "workload-version": {
24175               "type": "string"
24176             }
24177           },
24178           "additionalProperties": false,
24179           "required": [
24180             "tag",
24181             "workload-version"
24182           ]
24183         },
24184         "EntityWorkloadVersions": {
24185           "type": "object",
24186           "properties": {
24187             "entities": {
24188               "type": "array",
24189               "items": {
24190                 "$ref": "#/definitions/EntityWorkloadVersion"
24191               }
24192             }
24193           },
24194           "additionalProperties": false,
24195           "required": [
24196             "entities"
24197           ]
24198         },
24199         "Error": {
24200           "type": "object",
24201           "properties": {
24202             "code": {
24203               "type": "string"
24204             },
24205             "info": {
24206               "$ref": "#/definitions/ErrorInfo"
24207             },
24208             "message": {
24209               "type": "string"
24210             }
24211           },
24212           "additionalProperties": false,
24213           "required": [
24214             "message",
24215             "code"
24216           ]
24217         },
24218         "ErrorInfo": {
24219           "type": "object",
24220           "properties": {
24221             "macaroon": {
24222               "$ref": "#/definitions/Macaroon"
24223             },
24224             "macaroon-path": {
24225               "type": "string"
24226             }
24227           },
24228           "additionalProperties": false
24229         },
24230         "ErrorResult": {
24231           "type": "object",
24232           "properties": {
24233             "error": {
24234               "$ref": "#/definitions/Error"
24235             }
24236           },
24237           "additionalProperties": false
24238         },
24239         "ErrorResults": {
24240           "type": "object",
24241           "properties": {
24242             "results": {
24243               "type": "array",
24244               "items": {
24245                 "$ref": "#/definitions/ErrorResult"
24246               }
24247             }
24248           },
24249           "additionalProperties": false,
24250           "required": [
24251             "results"
24252           ]
24253         },
24254         "GetLeadershipSettingsBulkResults": {
24255           "type": "object",
24256           "properties": {
24257             "results": {
24258               "type": "array",
24259               "items": {
24260                 "$ref": "#/definitions/GetLeadershipSettingsResult"
24261               }
24262             }
24263           },
24264           "additionalProperties": false,
24265           "required": [
24266             "results"
24267           ]
24268         },
24269         "GetLeadershipSettingsResult": {
24270           "type": "object",
24271           "properties": {
24272             "error": {
24273               "$ref": "#/definitions/Error"
24274             },
24275             "settings": {
24276               "type": "object",
24277               "patternProperties": {
24278                 ".*": {
24279                   "type": "string"
24280                 }
24281               }
24282             }
24283           },
24284           "additionalProperties": false,
24285           "required": [
24286             "settings"
24287           ]
24288         },
24289         "HostPort": {
24290           "type": "object",
24291           "properties": {
24292             "Address": {
24293               "$ref": "#/definitions/Address"
24294             },
24295             "port": {
24296               "type": "integer"
24297             }
24298           },
24299           "additionalProperties": false,
24300           "required": [
24301             "Address",
24302             "port"
24303           ]
24304         },
24305         "IntResult": {
24306           "type": "object",
24307           "properties": {
24308             "error": {
24309               "$ref": "#/definitions/Error"
24310             },
24311             "result": {
24312               "type": "integer"
24313             }
24314           },
24315           "additionalProperties": false,
24316           "required": [
24317             "result"
24318           ]
24319         },
24320         "IntResults": {
24321           "type": "object",
24322           "properties": {
24323             "results": {
24324               "type": "array",
24325               "items": {
24326                 "$ref": "#/definitions/IntResult"
24327               }
24328             }
24329           },
24330           "additionalProperties": false,
24331           "required": [
24332             "results"
24333           ]
24334         },
24335         "LifeResult": {
24336           "type": "object",
24337           "properties": {
24338             "error": {
24339               "$ref": "#/definitions/Error"
24340             },
24341             "life": {
24342               "type": "string"
24343             }
24344           },
24345           "additionalProperties": false,
24346           "required": [
24347             "life"
24348           ]
24349         },
24350         "LifeResults": {
24351           "type": "object",
24352           "properties": {
24353             "results": {
24354               "type": "array",
24355               "items": {
24356                 "$ref": "#/definitions/LifeResult"
24357               }
24358             }
24359           },
24360           "additionalProperties": false,
24361           "required": [
24362             "results"
24363           ]
24364         },
24365         "Macaroon": {
24366           "type": "object",
24367           "additionalProperties": false
24368         },
24369         "MachinePortRange": {
24370           "type": "object",
24371           "properties": {
24372             "port-range": {
24373               "$ref": "#/definitions/PortRange"
24374             },
24375             "relation-tag": {
24376               "type": "string"
24377             },
24378             "unit-tag": {
24379               "type": "string"
24380             }
24381           },
24382           "additionalProperties": false,
24383           "required": [
24384             "unit-tag",
24385             "relation-tag",
24386             "port-range"
24387           ]
24388         },
24389         "MachinePortsResult": {
24390           "type": "object",
24391           "properties": {
24392             "error": {
24393               "$ref": "#/definitions/Error"
24394             },
24395             "ports": {
24396               "type": "array",
24397               "items": {
24398                 "$ref": "#/definitions/MachinePortRange"
24399               }
24400             }
24401           },
24402           "additionalProperties": false,
24403           "required": [
24404             "ports"
24405           ]
24406         },
24407         "MachinePortsResults": {
24408           "type": "object",
24409           "properties": {
24410             "results": {
24411               "type": "array",
24412               "items": {
24413                 "$ref": "#/definitions/MachinePortsResult"
24414               }
24415             }
24416           },
24417           "additionalProperties": false,
24418           "required": [
24419             "results"
24420           ]
24421         },
24422         "MergeLeadershipSettingsBulkParams": {
24423           "type": "object",
24424           "properties": {
24425             "params": {
24426               "type": "array",
24427               "items": {
24428                 "$ref": "#/definitions/MergeLeadershipSettingsParam"
24429               }
24430             }
24431           },
24432           "additionalProperties": false,
24433           "required": [
24434             "params"
24435           ]
24436         },
24437         "MergeLeadershipSettingsParam": {
24438           "type": "object",
24439           "properties": {
24440             "application-tag": {
24441               "type": "string"
24442             },
24443             "settings": {
24444               "type": "object",
24445               "patternProperties": {
24446                 ".*": {
24447                   "type": "string"
24448                 }
24449               }
24450             }
24451           },
24452           "additionalProperties": false,
24453           "required": [
24454             "application-tag",
24455             "settings"
24456           ]
24457         },
24458         "MeterStatusResult": {
24459           "type": "object",
24460           "properties": {
24461             "code": {
24462               "type": "string"
24463             },
24464             "error": {
24465               "$ref": "#/definitions/Error"
24466             },
24467             "info": {
24468               "type": "string"
24469             }
24470           },
24471           "additionalProperties": false,
24472           "required": [
24473             "code",
24474             "info"
24475           ]
24476         },
24477         "MeterStatusResults": {
24478           "type": "object",
24479           "properties": {
24480             "results": {
24481               "type": "array",
24482               "items": {
24483                 "$ref": "#/definitions/MeterStatusResult"
24484               }
24485             }
24486           },
24487           "additionalProperties": false,
24488           "required": [
24489             "results"
24490           ]
24491         },
24492         "Metric": {
24493           "type": "object",
24494           "properties": {
24495             "key": {
24496               "type": "string"
24497             },
24498             "time": {
24499               "type": "string",
24500               "format": "date-time"
24501             },
24502             "value": {
24503               "type": "string"
24504             }
24505           },
24506           "additionalProperties": false,
24507           "required": [
24508             "key",
24509             "value",
24510             "time"
24511           ]
24512         },
24513         "MetricBatch": {
24514           "type": "object",
24515           "properties": {
24516             "charm-url": {
24517               "type": "string"
24518             },
24519             "created": {
24520               "type": "string",
24521               "format": "date-time"
24522             },
24523             "metrics": {
24524               "type": "array",
24525               "items": {
24526                 "$ref": "#/definitions/Metric"
24527               }
24528             },
24529             "uuid": {
24530               "type": "string"
24531             }
24532           },
24533           "additionalProperties": false,
24534           "required": [
24535             "uuid",
24536             "charm-url",
24537             "created",
24538             "metrics"
24539           ]
24540         },
24541         "MetricBatchParam": {
24542           "type": "object",
24543           "properties": {
24544             "batch": {
24545               "$ref": "#/definitions/MetricBatch"
24546             },
24547             "tag": {
24548               "type": "string"
24549             }
24550           },
24551           "additionalProperties": false,
24552           "required": [
24553             "tag",
24554             "batch"
24555           ]
24556         },
24557         "MetricBatchParams": {
24558           "type": "object",
24559           "properties": {
24560             "batches": {
24561               "type": "array",
24562               "items": {
24563                 "$ref": "#/definitions/MetricBatchParam"
24564               }
24565             }
24566           },
24567           "additionalProperties": false,
24568           "required": [
24569             "batches"
24570           ]
24571         },
24572         "ModelConfigResult": {
24573           "type": "object",
24574           "properties": {
24575             "config": {
24576               "type": "object",
24577               "patternProperties": {
24578                 ".*": {
24579                   "type": "object",
24580                   "additionalProperties": true
24581                 }
24582               }
24583             }
24584           },
24585           "additionalProperties": false,
24586           "required": [
24587             "config"
24588           ]
24589         },
24590         "ModelResult": {
24591           "type": "object",
24592           "properties": {
24593             "error": {
24594               "$ref": "#/definitions/Error"
24595             },
24596             "name": {
24597               "type": "string"
24598             },
24599             "uuid": {
24600               "type": "string"
24601             }
24602           },
24603           "additionalProperties": false,
24604           "required": [
24605             "name",
24606             "uuid"
24607           ]
24608         },
24609         "NetworkConfig": {
24610           "type": "object",
24611           "properties": {
24612             "address": {
24613               "type": "string"
24614             },
24615             "cidr": {
24616               "type": "string"
24617             },
24618             "config-type": {
24619               "type": "string"
24620             },
24621             "device-index": {
24622               "type": "integer"
24623             },
24624             "disabled": {
24625               "type": "boolean"
24626             },
24627             "dns-search-domains": {
24628               "type": "array",
24629               "items": {
24630                 "type": "string"
24631               }
24632             },
24633             "dns-servers": {
24634               "type": "array",
24635               "items": {
24636                 "type": "string"
24637               }
24638             },
24639             "gateway-address": {
24640               "type": "string"
24641             },
24642             "interface-name": {
24643               "type": "string"
24644             },
24645             "interface-type": {
24646               "type": "string"
24647             },
24648             "mac-address": {
24649               "type": "string"
24650             },
24651             "mtu": {
24652               "type": "integer"
24653             },
24654             "no-auto-start": {
24655               "type": "boolean"
24656             },
24657             "parent-interface-name": {
24658               "type": "string"
24659             },
24660             "provider-address-id": {
24661               "type": "string"
24662             },
24663             "provider-id": {
24664               "type": "string"
24665             },
24666             "provider-space-id": {
24667               "type": "string"
24668             },
24669             "provider-subnet-id": {
24670               "type": "string"
24671             },
24672             "provider-vlan-id": {
24673               "type": "string"
24674             },
24675             "routes": {
24676               "type": "array",
24677               "items": {
24678                 "$ref": "#/definitions/NetworkRoute"
24679               }
24680             },
24681             "vlan-tag": {
24682               "type": "integer"
24683             }
24684           },
24685           "additionalProperties": false,
24686           "required": [
24687             "device-index",
24688             "mac-address",
24689             "cidr",
24690             "mtu",
24691             "provider-id",
24692             "provider-subnet-id",
24693             "provider-space-id",
24694             "provider-address-id",
24695             "provider-vlan-id",
24696             "vlan-tag",
24697             "interface-name",
24698             "parent-interface-name",
24699             "interface-type",
24700             "disabled"
24701           ]
24702         },
24703         "NetworkRoute": {
24704           "type": "object",
24705           "properties": {
24706             "destination-cidr": {
24707               "type": "string"
24708             },
24709             "gateway-ip": {
24710               "type": "string"
24711             },
24712             "metric": {
24713               "type": "integer"
24714             }
24715           },
24716           "additionalProperties": false,
24717           "required": [
24718             "destination-cidr",
24719             "gateway-ip",
24720             "metric"
24721           ]
24722         },
24723         "NotifyWatchResult": {
24724           "type": "object",
24725           "properties": {
24726             "NotifyWatcherId": {
24727               "type": "string"
24728             },
24729             "error": {
24730               "$ref": "#/definitions/Error"
24731             }
24732           },
24733           "additionalProperties": false,
24734           "required": [
24735             "NotifyWatcherId"
24736           ]
24737         },
24738         "NotifyWatchResults": {
24739           "type": "object",
24740           "properties": {
24741             "results": {
24742               "type": "array",
24743               "items": {
24744                 "$ref": "#/definitions/NotifyWatchResult"
24745               }
24746             }
24747           },
24748           "additionalProperties": false,
24749           "required": [
24750             "results"
24751           ]
24752         },
24753         "PortRange": {
24754           "type": "object",
24755           "properties": {
24756             "from-port": {
24757               "type": "integer"
24758             },
24759             "protocol": {
24760               "type": "string"
24761             },
24762             "to-port": {
24763               "type": "integer"
24764             }
24765           },
24766           "additionalProperties": false,
24767           "required": [
24768             "from-port",
24769             "to-port",
24770             "protocol"
24771           ]
24772         },
24773         "RelationIds": {
24774           "type": "object",
24775           "properties": {
24776             "relation-ids": {
24777               "type": "array",
24778               "items": {
24779                 "type": "integer"
24780               }
24781             }
24782           },
24783           "additionalProperties": false,
24784           "required": [
24785             "relation-ids"
24786           ]
24787         },
24788         "RelationResult": {
24789           "type": "object",
24790           "properties": {
24791             "endpoint": {
24792               "$ref": "#/definitions/Endpoint"
24793             },
24794             "error": {
24795               "$ref": "#/definitions/Error"
24796             },
24797             "id": {
24798               "type": "integer"
24799             },
24800             "key": {
24801               "type": "string"
24802             },
24803             "life": {
24804               "type": "string"
24805             }
24806           },
24807           "additionalProperties": false,
24808           "required": [
24809             "life",
24810             "id",
24811             "key",
24812             "endpoint"
24813           ]
24814         },
24815         "RelationResults": {
24816           "type": "object",
24817           "properties": {
24818             "results": {
24819               "type": "array",
24820               "items": {
24821                 "$ref": "#/definitions/RelationResult"
24822               }
24823             }
24824           },
24825           "additionalProperties": false,
24826           "required": [
24827             "results"
24828           ]
24829         },
24830         "RelationUnit": {
24831           "type": "object",
24832           "properties": {
24833             "relation": {
24834               "type": "string"
24835             },
24836             "unit": {
24837               "type": "string"
24838             }
24839           },
24840           "additionalProperties": false,
24841           "required": [
24842             "relation",
24843             "unit"
24844           ]
24845         },
24846         "RelationUnitPair": {
24847           "type": "object",
24848           "properties": {
24849             "local-unit": {
24850               "type": "string"
24851             },
24852             "relation": {
24853               "type": "string"
24854             },
24855             "remote-unit": {
24856               "type": "string"
24857             }
24858           },
24859           "additionalProperties": false,
24860           "required": [
24861             "relation",
24862             "local-unit",
24863             "remote-unit"
24864           ]
24865         },
24866         "RelationUnitPairs": {
24867           "type": "object",
24868           "properties": {
24869             "relation-unit-pairs": {
24870               "type": "array",
24871               "items": {
24872                 "$ref": "#/definitions/RelationUnitPair"
24873               }
24874             }
24875           },
24876           "additionalProperties": false,
24877           "required": [
24878             "relation-unit-pairs"
24879           ]
24880         },
24881         "RelationUnitSettings": {
24882           "type": "object",
24883           "properties": {
24884             "relation": {
24885               "type": "string"
24886             },
24887             "settings": {
24888               "type": "object",
24889               "patternProperties": {
24890                 ".*": {
24891                   "type": "string"
24892                 }
24893               }
24894             },
24895             "unit": {
24896               "type": "string"
24897             }
24898           },
24899           "additionalProperties": false,
24900           "required": [
24901             "relation",
24902             "unit",
24903             "settings"
24904           ]
24905         },
24906         "RelationUnits": {
24907           "type": "object",
24908           "properties": {
24909             "relation-units": {
24910               "type": "array",
24911               "items": {
24912                 "$ref": "#/definitions/RelationUnit"
24913               }
24914             }
24915           },
24916           "additionalProperties": false,
24917           "required": [
24918             "relation-units"
24919           ]
24920         },
24921         "RelationUnitsChange": {
24922           "type": "object",
24923           "properties": {
24924             "changed": {
24925               "type": "object",
24926               "patternProperties": {
24927                 ".*": {
24928                   "$ref": "#/definitions/UnitSettings"
24929                 }
24930               }
24931             },
24932             "departed": {
24933               "type": "array",
24934               "items": {
24935                 "type": "string"
24936               }
24937             }
24938           },
24939           "additionalProperties": false,
24940           "required": [
24941             "changed"
24942           ]
24943         },
24944         "RelationUnitsSettings": {
24945           "type": "object",
24946           "properties": {
24947             "relation-units": {
24948               "type": "array",
24949               "items": {
24950                 "$ref": "#/definitions/RelationUnitSettings"
24951               }
24952             }
24953           },
24954           "additionalProperties": false,
24955           "required": [
24956             "relation-units"
24957           ]
24958         },
24959         "RelationUnitsWatchResult": {
24960           "type": "object",
24961           "properties": {
24962             "changes": {
24963               "$ref": "#/definitions/RelationUnitsChange"
24964             },
24965             "error": {
24966               "$ref": "#/definitions/Error"
24967             },
24968             "watcher-id": {
24969               "type": "string"
24970             }
24971           },
24972           "additionalProperties": false,
24973           "required": [
24974             "watcher-id",
24975             "changes"
24976           ]
24977         },
24978         "RelationUnitsWatchResults": {
24979           "type": "object",
24980           "properties": {
24981             "results": {
24982               "type": "array",
24983               "items": {
24984                 "$ref": "#/definitions/RelationUnitsWatchResult"
24985               }
24986             }
24987           },
24988           "additionalProperties": false,
24989           "required": [
24990             "results"
24991           ]
24992         },
24993         "ResolvedModeResult": {
24994           "type": "object",
24995           "properties": {
24996             "error": {
24997               "$ref": "#/definitions/Error"
24998             },
24999             "mode": {
25000               "type": "string"
25001             }
25002           },
25003           "additionalProperties": false,
25004           "required": [
25005             "mode"
25006           ]
25007         },
25008         "ResolvedModeResults": {
25009           "type": "object",
25010           "properties": {
25011             "results": {
25012               "type": "array",
25013               "items": {
25014                 "$ref": "#/definitions/ResolvedModeResult"
25015               }
25016             }
25017           },
25018           "additionalProperties": false,
25019           "required": [
25020             "results"
25021           ]
25022         },
25023         "SetStatus": {
25024           "type": "object",
25025           "properties": {
25026             "entities": {
25027               "type": "array",
25028               "items": {
25029                 "$ref": "#/definitions/EntityStatusArgs"
25030               }
25031             }
25032           },
25033           "additionalProperties": false,
25034           "required": [
25035             "entities"
25036           ]
25037         },
25038         "SettingsResult": {
25039           "type": "object",
25040           "properties": {
25041             "error": {
25042               "$ref": "#/definitions/Error"
25043             },
25044             "settings": {
25045               "type": "object",
25046               "patternProperties": {
25047                 ".*": {
25048                   "type": "string"
25049                 }
25050               }
25051             }
25052           },
25053           "additionalProperties": false,
25054           "required": [
25055             "settings"
25056           ]
25057         },
25058         "SettingsResults": {
25059           "type": "object",
25060           "properties": {
25061             "results": {
25062               "type": "array",
25063               "items": {
25064                 "$ref": "#/definitions/SettingsResult"
25065               }
25066             }
25067           },
25068           "additionalProperties": false,
25069           "required": [
25070             "results"
25071           ]
25072         },
25073         "StatusResult": {
25074           "type": "object",
25075           "properties": {
25076             "data": {
25077               "type": "object",
25078               "patternProperties": {
25079                 ".*": {
25080                   "type": "object",
25081                   "additionalProperties": true
25082                 }
25083               }
25084             },
25085             "error": {
25086               "$ref": "#/definitions/Error"
25087             },
25088             "id": {
25089               "type": "string"
25090             },
25091             "info": {
25092               "type": "string"
25093             },
25094             "life": {
25095               "type": "string"
25096             },
25097             "since": {
25098               "type": "string",
25099               "format": "date-time"
25100             },
25101             "status": {
25102               "type": "string"
25103             }
25104           },
25105           "additionalProperties": false,
25106           "required": [
25107             "id",
25108             "life",
25109             "status",
25110             "info",
25111             "data",
25112             "since"
25113           ]
25114         },
25115         "StatusResults": {
25116           "type": "object",
25117           "properties": {
25118             "results": {
25119               "type": "array",
25120               "items": {
25121                 "$ref": "#/definitions/StatusResult"
25122               }
25123             }
25124           },
25125           "additionalProperties": false,
25126           "required": [
25127             "results"
25128           ]
25129         },
25130         "StorageAddParams": {
25131           "type": "object",
25132           "properties": {
25133             "name": {
25134               "type": "string"
25135             },
25136             "storage": {
25137               "$ref": "#/definitions/StorageConstraints"
25138             },
25139             "unit": {
25140               "type": "string"
25141             }
25142           },
25143           "additionalProperties": false,
25144           "required": [
25145             "unit",
25146             "name",
25147             "storage"
25148           ]
25149         },
25150         "StorageAttachment": {
25151           "type": "object",
25152           "properties": {
25153             "kind": {
25154               "type": "integer"
25155             },
25156             "life": {
25157               "type": "string"
25158             },
25159             "location": {
25160               "type": "string"
25161             },
25162             "owner-tag": {
25163               "type": "string"
25164             },
25165             "storage-tag": {
25166               "type": "string"
25167             },
25168             "unit-tag": {
25169               "type": "string"
25170             }
25171           },
25172           "additionalProperties": false,
25173           "required": [
25174             "storage-tag",
25175             "owner-tag",
25176             "unit-tag",
25177             "kind",
25178             "location",
25179             "life"
25180           ]
25181         },
25182         "StorageAttachmentId": {
25183           "type": "object",
25184           "properties": {
25185             "storage-tag": {
25186               "type": "string"
25187             },
25188             "unit-tag": {
25189               "type": "string"
25190             }
25191           },
25192           "additionalProperties": false,
25193           "required": [
25194             "storage-tag",
25195             "unit-tag"
25196           ]
25197         },
25198         "StorageAttachmentIds": {
25199           "type": "object",
25200           "properties": {
25201             "ids": {
25202               "type": "array",
25203               "items": {
25204                 "$ref": "#/definitions/StorageAttachmentId"
25205               }
25206             }
25207           },
25208           "additionalProperties": false,
25209           "required": [
25210             "ids"
25211           ]
25212         },
25213         "StorageAttachmentIdsResult": {
25214           "type": "object",
25215           "properties": {
25216             "error": {
25217               "$ref": "#/definitions/Error"
25218             },
25219             "result": {
25220               "$ref": "#/definitions/StorageAttachmentIds"
25221             }
25222           },
25223           "additionalProperties": false,
25224           "required": [
25225             "result"
25226           ]
25227         },
25228         "StorageAttachmentIdsResults": {
25229           "type": "object",
25230           "properties": {
25231             "results": {
25232               "type": "array",
25233               "items": {
25234                 "$ref": "#/definitions/StorageAttachmentIdsResult"
25235               }
25236             }
25237           },
25238           "additionalProperties": false
25239         },
25240         "StorageAttachmentResult": {
25241           "type": "object",
25242           "properties": {
25243             "error": {
25244               "$ref": "#/definitions/Error"
25245             },
25246             "result": {
25247               "$ref": "#/definitions/StorageAttachment"
25248             }
25249           },
25250           "additionalProperties": false,
25251           "required": [
25252             "result"
25253           ]
25254         },
25255         "StorageAttachmentResults": {
25256           "type": "object",
25257           "properties": {
25258             "results": {
25259               "type": "array",
25260               "items": {
25261                 "$ref": "#/definitions/StorageAttachmentResult"
25262               }
25263             }
25264           },
25265           "additionalProperties": false
25266         },
25267         "StorageConstraints": {
25268           "type": "object",
25269           "properties": {
25270             "count": {
25271               "type": "integer"
25272             },
25273             "pool": {
25274               "type": "string"
25275             },
25276             "size": {
25277               "type": "integer"
25278             }
25279           },
25280           "additionalProperties": false
25281         },
25282         "StoragesAddParams": {
25283           "type": "object",
25284           "properties": {
25285             "storages": {
25286               "type": "array",
25287               "items": {
25288                 "$ref": "#/definitions/StorageAddParams"
25289               }
25290             }
25291           },
25292           "additionalProperties": false,
25293           "required": [
25294             "storages"
25295           ]
25296         },
25297         "StringBoolResult": {
25298           "type": "object",
25299           "properties": {
25300             "error": {
25301               "$ref": "#/definitions/Error"
25302             },
25303             "ok": {
25304               "type": "boolean"
25305             },
25306             "result": {
25307               "type": "string"
25308             }
25309           },
25310           "additionalProperties": false,
25311           "required": [
25312             "result",
25313             "ok"
25314           ]
25315         },
25316         "StringBoolResults": {
25317           "type": "object",
25318           "properties": {
25319             "results": {
25320               "type": "array",
25321               "items": {
25322                 "$ref": "#/definitions/StringBoolResult"
25323               }
25324             }
25325           },
25326           "additionalProperties": false,
25327           "required": [
25328             "results"
25329           ]
25330         },
25331         "StringResult": {
25332           "type": "object",
25333           "properties": {
25334             "error": {
25335               "$ref": "#/definitions/Error"
25336             },
25337             "result": {
25338               "type": "string"
25339             }
25340           },
25341           "additionalProperties": false,
25342           "required": [
25343             "result"
25344           ]
25345         },
25346         "StringResults": {
25347           "type": "object",
25348           "properties": {
25349             "results": {
25350               "type": "array",
25351               "items": {
25352                 "$ref": "#/definitions/StringResult"
25353               }
25354             }
25355           },
25356           "additionalProperties": false,
25357           "required": [
25358             "results"
25359           ]
25360         },
25361         "StringsResult": {
25362           "type": "object",
25363           "properties": {
25364             "error": {
25365               "$ref": "#/definitions/Error"
25366             },
25367             "result": {
25368               "type": "array",
25369               "items": {
25370                 "type": "string"
25371               }
25372             }
25373           },
25374           "additionalProperties": false
25375         },
25376         "StringsResults": {
25377           "type": "object",
25378           "properties": {
25379             "results": {
25380               "type": "array",
25381               "items": {
25382                 "$ref": "#/definitions/StringsResult"
25383               }
25384             }
25385           },
25386           "additionalProperties": false,
25387           "required": [
25388             "results"
25389           ]
25390         },
25391         "StringsWatchResult": {
25392           "type": "object",
25393           "properties": {
25394             "changes": {
25395               "type": "array",
25396               "items": {
25397                 "type": "string"
25398               }
25399             },
25400             "error": {
25401               "$ref": "#/definitions/Error"
25402             },
25403             "watcher-id": {
25404               "type": "string"
25405             }
25406           },
25407           "additionalProperties": false,
25408           "required": [
25409             "watcher-id"
25410           ]
25411         },
25412         "StringsWatchResults": {
25413           "type": "object",
25414           "properties": {
25415             "results": {
25416               "type": "array",
25417               "items": {
25418                 "$ref": "#/definitions/StringsWatchResult"
25419               }
25420             }
25421           },
25422           "additionalProperties": false,
25423           "required": [
25424             "results"
25425           ]
25426         },
25427         "UnitNetworkConfig": {
25428           "type": "object",
25429           "properties": {
25430             "binding-name": {
25431               "type": "string"
25432             },
25433             "unit-tag": {
25434               "type": "string"
25435             }
25436           },
25437           "additionalProperties": false,
25438           "required": [
25439             "unit-tag",
25440             "binding-name"
25441           ]
25442         },
25443         "UnitNetworkConfigResult": {
25444           "type": "object",
25445           "properties": {
25446             "error": {
25447               "$ref": "#/definitions/Error"
25448             },
25449             "info": {
25450               "type": "array",
25451               "items": {
25452                 "$ref": "#/definitions/NetworkConfig"
25453               }
25454             }
25455           },
25456           "additionalProperties": false,
25457           "required": [
25458             "info"
25459           ]
25460         },
25461         "UnitNetworkConfigResults": {
25462           "type": "object",
25463           "properties": {
25464             "results": {
25465               "type": "array",
25466               "items": {
25467                 "$ref": "#/definitions/UnitNetworkConfigResult"
25468               }
25469             }
25470           },
25471           "additionalProperties": false,
25472           "required": [
25473             "results"
25474           ]
25475         },
25476         "UnitSettings": {
25477           "type": "object",
25478           "properties": {
25479             "version": {
25480               "type": "integer"
25481             }
25482           },
25483           "additionalProperties": false,
25484           "required": [
25485             "version"
25486           ]
25487         },
25488         "UnitsNetworkConfig": {
25489           "type": "object",
25490           "properties": {
25491             "args": {
25492               "type": "array",
25493               "items": {
25494                 "$ref": "#/definitions/UnitNetworkConfig"
25495               }
25496             }
25497           },
25498           "additionalProperties": false,
25499           "required": [
25500             "args"
25501           ]
25502         }
25503       }
25504     }
25505   },
25506   {
25507     "Name": "Upgrader",
25508     "Version": 1,
25509     "Schema": {
25510       "type": "object",
25511       "properties": {
25512         "DesiredVersion": {
25513           "type": "object",
25514           "properties": {
25515             "Params": {
25516               "$ref": "#/definitions/Entities"
25517             },
25518             "Result": {
25519               "$ref": "#/definitions/VersionResults"
25520             }
25521           }
25522         },
25523         "SetTools": {
25524           "type": "object",
25525           "properties": {
25526             "Params": {
25527               "$ref": "#/definitions/EntitiesVersion"
25528             },
25529             "Result": {
25530               "$ref": "#/definitions/ErrorResults"
25531             }
25532           }
25533         },
25534         "Tools": {
25535           "type": "object",
25536           "properties": {
25537             "Params": {
25538               "$ref": "#/definitions/Entities"
25539             },
25540             "Result": {
25541               "$ref": "#/definitions/ToolsResults"
25542             }
25543           }
25544         },
25545         "WatchAPIVersion": {
25546           "type": "object",
25547           "properties": {
25548             "Params": {
25549               "$ref": "#/definitions/Entities"
25550             },
25551             "Result": {
25552               "$ref": "#/definitions/NotifyWatchResults"
25553             }
25554           }
25555         }
25556       },
25557       "definitions": {
25558         "Binary": {
25559           "type": "object",
25560           "properties": {
25561             "Arch": {
25562               "type": "string"
25563             },
25564             "Number": {
25565               "$ref": "#/definitions/Number"
25566             },
25567             "Series": {
25568               "type": "string"
25569             }
25570           },
25571           "additionalProperties": false,
25572           "required": [
25573             "Number",
25574             "Series",
25575             "Arch"
25576           ]
25577         },
25578         "Entities": {
25579           "type": "object",
25580           "properties": {
25581             "entities": {
25582               "type": "array",
25583               "items": {
25584                 "$ref": "#/definitions/Entity"
25585               }
25586             }
25587           },
25588           "additionalProperties": false,
25589           "required": [
25590             "entities"
25591           ]
25592         },
25593         "EntitiesVersion": {
25594           "type": "object",
25595           "properties": {
25596             "agent-tools": {
25597               "type": "array",
25598               "items": {
25599                 "$ref": "#/definitions/EntityVersion"
25600               }
25601             }
25602           },
25603           "additionalProperties": false,
25604           "required": [
25605             "agent-tools"
25606           ]
25607         },
25608         "Entity": {
25609           "type": "object",
25610           "properties": {
25611             "tag": {
25612               "type": "string"
25613             }
25614           },
25615           "additionalProperties": false,
25616           "required": [
25617             "tag"
25618           ]
25619         },
25620         "EntityVersion": {
25621           "type": "object",
25622           "properties": {
25623             "tag": {
25624               "type": "string"
25625             },
25626             "tools": {
25627               "$ref": "#/definitions/Version"
25628             }
25629           },
25630           "additionalProperties": false,
25631           "required": [
25632             "tag",
25633             "tools"
25634           ]
25635         },
25636         "Error": {
25637           "type": "object",
25638           "properties": {
25639             "code": {
25640               "type": "string"
25641             },
25642             "info": {
25643               "$ref": "#/definitions/ErrorInfo"
25644             },
25645             "message": {
25646               "type": "string"
25647             }
25648           },
25649           "additionalProperties": false,
25650           "required": [
25651             "message",
25652             "code"
25653           ]
25654         },
25655         "ErrorInfo": {
25656           "type": "object",
25657           "properties": {
25658             "macaroon": {
25659               "$ref": "#/definitions/Macaroon"
25660             },
25661             "macaroon-path": {
25662               "type": "string"
25663             }
25664           },
25665           "additionalProperties": false
25666         },
25667         "ErrorResult": {
25668           "type": "object",
25669           "properties": {
25670             "error": {
25671               "$ref": "#/definitions/Error"
25672             }
25673           },
25674           "additionalProperties": false
25675         },
25676         "ErrorResults": {
25677           "type": "object",
25678           "properties": {
25679             "results": {
25680               "type": "array",
25681               "items": {
25682                 "$ref": "#/definitions/ErrorResult"
25683               }
25684             }
25685           },
25686           "additionalProperties": false,
25687           "required": [
25688             "results"
25689           ]
25690         },
25691         "Macaroon": {
25692           "type": "object",
25693           "additionalProperties": false
25694         },
25695         "NotifyWatchResult": {
25696           "type": "object",
25697           "properties": {
25698             "NotifyWatcherId": {
25699               "type": "string"
25700             },
25701             "error": {
25702               "$ref": "#/definitions/Error"
25703             }
25704           },
25705           "additionalProperties": false,
25706           "required": [
25707             "NotifyWatcherId"
25708           ]
25709         },
25710         "NotifyWatchResults": {
25711           "type": "object",
25712           "properties": {
25713             "results": {
25714               "type": "array",
25715               "items": {
25716                 "$ref": "#/definitions/NotifyWatchResult"
25717               }
25718             }
25719           },
25720           "additionalProperties": false,
25721           "required": [
25722             "results"
25723           ]
25724         },
25725         "Number": {
25726           "type": "object",
25727           "properties": {
25728             "Build": {
25729               "type": "integer"
25730             },
25731             "Major": {
25732               "type": "integer"
25733             },
25734             "Minor": {
25735               "type": "integer"
25736             },
25737             "Patch": {
25738               "type": "integer"
25739             },
25740             "Tag": {
25741               "type": "string"
25742             }
25743           },
25744           "additionalProperties": false,
25745           "required": [
25746             "Major",
25747             "Minor",
25748             "Tag",
25749             "Patch",
25750             "Build"
25751           ]
25752         },
25753         "Tools": {
25754           "type": "object",
25755           "properties": {
25756             "sha256": {
25757               "type": "string"
25758             },
25759             "size": {
25760               "type": "integer"
25761             },
25762             "url": {
25763               "type": "string"
25764             },
25765             "version": {
25766               "$ref": "#/definitions/Binary"
25767             }
25768           },
25769           "additionalProperties": false,
25770           "required": [
25771             "version",
25772             "url",
25773             "size"
25774           ]
25775         },
25776         "ToolsResult": {
25777           "type": "object",
25778           "properties": {
25779             "disable-ssl-hostname-verification": {
25780               "type": "boolean"
25781             },
25782             "error": {
25783               "$ref": "#/definitions/Error"
25784             },
25785             "tools": {
25786               "type": "array",
25787               "items": {
25788                 "$ref": "#/definitions/Tools"
25789               }
25790             }
25791           },
25792           "additionalProperties": false,
25793           "required": [
25794             "tools",
25795             "disable-ssl-hostname-verification"
25796           ]
25797         },
25798         "ToolsResults": {
25799           "type": "object",
25800           "properties": {
25801             "results": {
25802               "type": "array",
25803               "items": {
25804                 "$ref": "#/definitions/ToolsResult"
25805               }
25806             }
25807           },
25808           "additionalProperties": false,
25809           "required": [
25810             "results"
25811           ]
25812         },
25813         "Version": {
25814           "type": "object",
25815           "properties": {
25816             "version": {
25817               "$ref": "#/definitions/Binary"
25818             }
25819           },
25820           "additionalProperties": false,
25821           "required": [
25822             "version"
25823           ]
25824         },
25825         "VersionResult": {
25826           "type": "object",
25827           "properties": {
25828             "error": {
25829               "$ref": "#/definitions/Error"
25830             },
25831             "version": {
25832               "$ref": "#/definitions/Number"
25833             }
25834           },
25835           "additionalProperties": false
25836         },
25837         "VersionResults": {
25838           "type": "object",
25839           "properties": {
25840             "results": {
25841               "type": "array",
25842               "items": {
25843                 "$ref": "#/definitions/VersionResult"
25844               }
25845             }
25846           },
25847           "additionalProperties": false,
25848           "required": [
25849             "results"
25850           ]
25851         }
25852       }
25853     }
25854   },
25855   {
25856     "Name": "UserManager",
25857     "Version": 1,
25858     "Schema": {
25859       "type": "object",
25860       "properties": {
25861         "AddUser": {
25862           "type": "object",
25863           "properties": {
25864             "Params": {
25865               "$ref": "#/definitions/AddUsers"
25866             },
25867             "Result": {
25868               "$ref": "#/definitions/AddUserResults"
25869             }
25870           }
25871         },
25872         "DisableUser": {
25873           "type": "object",
25874           "properties": {
25875             "Params": {
25876               "$ref": "#/definitions/Entities"
25877             },
25878             "Result": {
25879               "$ref": "#/definitions/ErrorResults"
25880             }
25881           }
25882         },
25883         "EnableUser": {
25884           "type": "object",
25885           "properties": {
25886             "Params": {
25887               "$ref": "#/definitions/Entities"
25888             },
25889             "Result": {
25890               "$ref": "#/definitions/ErrorResults"
25891             }
25892           }
25893         },
25894         "RemoveUser": {
25895           "type": "object",
25896           "properties": {
25897             "Params": {
25898               "$ref": "#/definitions/Entities"
25899             },
25900             "Result": {
25901               "$ref": "#/definitions/ErrorResults"
25902             }
25903           }
25904         },
25905         "SetPassword": {
25906           "type": "object",
25907           "properties": {
25908             "Params": {
25909               "$ref": "#/definitions/EntityPasswords"
25910             },
25911             "Result": {
25912               "$ref": "#/definitions/ErrorResults"
25913             }
25914           }
25915         },
25916         "UserInfo": {
25917           "type": "object",
25918           "properties": {
25919             "Params": {
25920               "$ref": "#/definitions/UserInfoRequest"
25921             },
25922             "Result": {
25923               "$ref": "#/definitions/UserInfoResults"
25924             }
25925           }
25926         }
25927       },
25928       "definitions": {
25929         "AddUser": {
25930           "type": "object",
25931           "properties": {
25932             "display-name": {
25933               "type": "string"
25934             },
25935             "password": {
25936               "type": "string"
25937             },
25938             "username": {
25939               "type": "string"
25940             }
25941           },
25942           "additionalProperties": false,
25943           "required": [
25944             "username",
25945             "display-name"
25946           ]
25947         },
25948         "AddUserResult": {
25949           "type": "object",
25950           "properties": {
25951             "error": {
25952               "$ref": "#/definitions/Error"
25953             },
25954             "secret-key": {
25955               "type": "array",
25956               "items": {
25957                 "type": "integer"
25958               }
25959             },
25960             "tag": {
25961               "type": "string"
25962             }
25963           },
25964           "additionalProperties": false
25965         },
25966         "AddUserResults": {
25967           "type": "object",
25968           "properties": {
25969             "results": {
25970               "type": "array",
25971               "items": {
25972                 "$ref": "#/definitions/AddUserResult"
25973               }
25974             }
25975           },
25976           "additionalProperties": false,
25977           "required": [
25978             "results"
25979           ]
25980         },
25981         "AddUsers": {
25982           "type": "object",
25983           "properties": {
25984             "users": {
25985               "type": "array",
25986               "items": {
25987                 "$ref": "#/definitions/AddUser"
25988               }
25989             }
25990           },
25991           "additionalProperties": false,
25992           "required": [
25993             "users"
25994           ]
25995         },
25996         "Entities": {
25997           "type": "object",
25998           "properties": {
25999             "entities": {
26000               "type": "array",
26001               "items": {
26002                 "$ref": "#/definitions/Entity"
26003               }
26004             }
26005           },
26006           "additionalProperties": false,
26007           "required": [
26008             "entities"
26009           ]
26010         },
26011         "Entity": {
26012           "type": "object",
26013           "properties": {
26014             "tag": {
26015               "type": "string"
26016             }
26017           },
26018           "additionalProperties": false,
26019           "required": [
26020             "tag"
26021           ]
26022         },
26023         "EntityPassword": {
26024           "type": "object",
26025           "properties": {
26026             "password": {
26027               "type": "string"
26028             },
26029             "tag": {
26030               "type": "string"
26031             }
26032           },
26033           "additionalProperties": false,
26034           "required": [
26035             "tag",
26036             "password"
26037           ]
26038         },
26039         "EntityPasswords": {
26040           "type": "object",
26041           "properties": {
26042             "changes": {
26043               "type": "array",
26044               "items": {
26045                 "$ref": "#/definitions/EntityPassword"
26046               }
26047             }
26048           },
26049           "additionalProperties": false,
26050           "required": [
26051             "changes"
26052           ]
26053         },
26054         "Error": {
26055           "type": "object",
26056           "properties": {
26057             "code": {
26058               "type": "string"
26059             },
26060             "info": {
26061               "$ref": "#/definitions/ErrorInfo"
26062             },
26063             "message": {
26064               "type": "string"
26065             }
26066           },
26067           "additionalProperties": false,
26068           "required": [
26069             "message",
26070             "code"
26071           ]
26072         },
26073         "ErrorInfo": {
26074           "type": "object",
26075           "properties": {
26076             "macaroon": {
26077               "$ref": "#/definitions/Macaroon"
26078             },
26079             "macaroon-path": {
26080               "type": "string"
26081             }
26082           },
26083           "additionalProperties": false
26084         },
26085         "ErrorResult": {
26086           "type": "object",
26087           "properties": {
26088             "error": {
26089               "$ref": "#/definitions/Error"
26090             }
26091           },
26092           "additionalProperties": false
26093         },
26094         "ErrorResults": {
26095           "type": "object",
26096           "properties": {
26097             "results": {
26098               "type": "array",
26099               "items": {
26100                 "$ref": "#/definitions/ErrorResult"
26101               }
26102             }
26103           },
26104           "additionalProperties": false,
26105           "required": [
26106             "results"
26107           ]
26108         },
26109         "Macaroon": {
26110           "type": "object",
26111           "additionalProperties": false
26112         },
26113         "UserInfo": {
26114           "type": "object",
26115           "properties": {
26116             "access": {
26117               "type": "string"
26118             },
26119             "created-by": {
26120               "type": "string"
26121             },
26122             "date-created": {
26123               "type": "string",
26124               "format": "date-time"
26125             },
26126             "disabled": {
26127               "type": "boolean"
26128             },
26129             "display-name": {
26130               "type": "string"
26131             },
26132             "last-connection": {
26133               "type": "string",
26134               "format": "date-time"
26135             },
26136             "username": {
26137               "type": "string"
26138             }
26139           },
26140           "additionalProperties": false,
26141           "required": [
26142             "username",
26143             "display-name",
26144             "access",
26145             "created-by",
26146             "date-created",
26147             "disabled"
26148           ]
26149         },
26150         "UserInfoRequest": {
26151           "type": "object",
26152           "properties": {
26153             "entities": {
26154               "type": "array",
26155               "items": {
26156                 "$ref": "#/definitions/Entity"
26157               }
26158             },
26159             "include-disabled": {
26160               "type": "boolean"
26161             }
26162           },
26163           "additionalProperties": false,
26164           "required": [
26165             "entities",
26166             "include-disabled"
26167           ]
26168         },
26169         "UserInfoResult": {
26170           "type": "object",
26171           "properties": {
26172             "error": {
26173               "$ref": "#/definitions/Error"
26174             },
26175             "result": {
26176               "$ref": "#/definitions/UserInfo"
26177             }
26178           },
26179           "additionalProperties": false
26180         },
26181         "UserInfoResults": {
26182           "type": "object",
26183           "properties": {
26184             "results": {
26185               "type": "array",
26186               "items": {
26187                 "$ref": "#/definitions/UserInfoResult"
26188               }
26189             }
26190           },
26191           "additionalProperties": false,
26192           "required": [
26193             "results"
26194           ]
26195         }
26196       }
26197     }
26198   },
26199   {
26200     "Name": "VolumeAttachmentsWatcher",
26201     "Version": 2,
26202     "Schema": {
26203       "type": "object",
26204       "properties": {
26205         "Next": {
26206           "type": "object",
26207           "properties": {
26208             "Result": {
26209               "$ref": "#/definitions/MachineStorageIdsWatchResult"
26210             }
26211           }
26212         },
26213         "Stop": {
26214           "type": "object"
26215         }
26216       },
26217       "definitions": {
26218         "Error": {
26219           "type": "object",
26220           "properties": {
26221             "code": {
26222               "type": "string"
26223             },
26224             "info": {
26225               "$ref": "#/definitions/ErrorInfo"
26226             },
26227             "message": {
26228               "type": "string"
26229             }
26230           },
26231           "additionalProperties": false,
26232           "required": [
26233             "message",
26234             "code"
26235           ]
26236         },
26237         "ErrorInfo": {
26238           "type": "object",
26239           "properties": {
26240             "macaroon": {
26241               "$ref": "#/definitions/Macaroon"
26242             },
26243             "macaroon-path": {
26244               "type": "string"
26245             }
26246           },
26247           "additionalProperties": false
26248         },
26249         "Macaroon": {
26250           "type": "object",
26251           "additionalProperties": false
26252         },
26253         "MachineStorageId": {
26254           "type": "object",
26255           "properties": {
26256             "attachment-tag": {
26257               "type": "string"
26258             },
26259             "machine-tag": {
26260               "type": "string"
26261             }
26262           },
26263           "additionalProperties": false,
26264           "required": [
26265             "machine-tag",
26266             "attachment-tag"
26267           ]
26268         },
26269         "MachineStorageIdsWatchResult": {
26270           "type": "object",
26271           "properties": {
26272             "changes": {
26273               "type": "array",
26274               "items": {
26275                 "$ref": "#/definitions/MachineStorageId"
26276               }
26277             },
26278             "error": {
26279               "$ref": "#/definitions/Error"
26280             },
26281             "watcher-id": {
26282               "type": "string"
26283             }
26284           },
26285           "additionalProperties": false,
26286           "required": [
26287             "watcher-id",
26288             "changes"
26289           ]
26290         }
26291       }
26292     }
26293   }
26294 ]