Squashed 'modules/libjuju/' content from commit c50c361
[osm/N2VC.git] / juju / client / schemas-juju-2.2-beta1.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             "status": {
4924               "$ref": "#/definitions/EntityStatus"
4925             },
4926             "users": {
4927               "type": "array",
4928               "items": {
4929                 "$ref": "#/definitions/ModelUserInfo"
4930               }
4931             },
4932             "uuid": {
4933               "type": "string"
4934             }
4935           },
4936           "additionalProperties": false,
4937           "required": [
4938             "name",
4939             "uuid",
4940             "controller-uuid",
4941             "provider-type",
4942             "default-series",
4943             "cloud-tag",
4944             "owner-tag",
4945             "life",
4946             "status",
4947             "users",
4948             "machines"
4949           ]
4950         },
4951         "ModelMachineInfo": {
4952           "type": "object",
4953           "properties": {
4954             "hardware": {
4955               "$ref": "#/definitions/MachineHardware"
4956             },
4957             "has-vote": {
4958               "type": "boolean"
4959             },
4960             "id": {
4961               "type": "string"
4962             },
4963             "instance-id": {
4964               "type": "string"
4965             },
4966             "status": {
4967               "type": "string"
4968             },
4969             "wants-vote": {
4970               "type": "boolean"
4971             }
4972           },
4973           "additionalProperties": false,
4974           "required": [
4975             "id"
4976           ]
4977         },
4978         "ModelMigrationStatus": {
4979           "type": "object",
4980           "properties": {
4981             "end": {
4982               "type": "string",
4983               "format": "date-time"
4984             },
4985             "start": {
4986               "type": "string",
4987               "format": "date-time"
4988             },
4989             "status": {
4990               "type": "string"
4991             }
4992           },
4993           "additionalProperties": false,
4994           "required": [
4995             "status",
4996             "start"
4997           ]
4998         },
4999         "ModelSLA": {
5000           "type": "object",
5001           "properties": {
5002             "creds": {
5003               "type": "array",
5004               "items": {
5005                 "type": "integer"
5006               }
5007             },
5008             "level": {
5009               "type": "string"
5010             }
5011           },
5012           "additionalProperties": false,
5013           "required": [
5014             "level",
5015             "creds"
5016           ]
5017         },
5018         "ModelSet": {
5019           "type": "object",
5020           "properties": {
5021             "config": {
5022               "type": "object",
5023               "patternProperties": {
5024                 ".*": {
5025                   "type": "object",
5026                   "additionalProperties": true
5027                 }
5028               }
5029             }
5030           },
5031           "additionalProperties": false,
5032           "required": [
5033             "config"
5034           ]
5035         },
5036         "ModelStatusInfo": {
5037           "type": "object",
5038           "properties": {
5039             "available-version": {
5040               "type": "string"
5041             },
5042             "cloud-tag": {
5043               "type": "string"
5044             },
5045             "meter-status": {
5046               "$ref": "#/definitions/MeterStatus"
5047             },
5048             "model-status": {
5049               "$ref": "#/definitions/DetailedStatus"
5050             },
5051             "name": {
5052               "type": "string"
5053             },
5054             "region": {
5055               "type": "string"
5056             },
5057             "version": {
5058               "type": "string"
5059             }
5060           },
5061           "additionalProperties": false,
5062           "required": [
5063             "name",
5064             "cloud-tag",
5065             "version",
5066             "available-version",
5067             "model-status",
5068             "meter-status"
5069           ]
5070         },
5071         "ModelUnset": {
5072           "type": "object",
5073           "properties": {
5074             "keys": {
5075               "type": "array",
5076               "items": {
5077                 "type": "string"
5078               }
5079             }
5080           },
5081           "additionalProperties": false,
5082           "required": [
5083             "keys"
5084           ]
5085         },
5086         "ModelUserInfo": {
5087           "type": "object",
5088           "properties": {
5089             "access": {
5090               "type": "string"
5091             },
5092             "display-name": {
5093               "type": "string"
5094             },
5095             "last-connection": {
5096               "type": "string",
5097               "format": "date-time"
5098             },
5099             "user": {
5100               "type": "string"
5101             }
5102           },
5103           "additionalProperties": false,
5104           "required": [
5105             "user",
5106             "display-name",
5107             "last-connection",
5108             "access"
5109           ]
5110         },
5111         "ModelUserInfoResult": {
5112           "type": "object",
5113           "properties": {
5114             "error": {
5115               "$ref": "#/definitions/Error"
5116             },
5117             "result": {
5118               "$ref": "#/definitions/ModelUserInfo"
5119             }
5120           },
5121           "additionalProperties": false
5122         },
5123         "ModelUserInfoResults": {
5124           "type": "object",
5125           "properties": {
5126             "results": {
5127               "type": "array",
5128               "items": {
5129                 "$ref": "#/definitions/ModelUserInfoResult"
5130               }
5131             }
5132           },
5133           "additionalProperties": false,
5134           "required": [
5135             "results"
5136           ]
5137         },
5138         "NetworkInterface": {
5139           "type": "object",
5140           "properties": {
5141             "dns-nameservers": {
5142               "type": "array",
5143               "items": {
5144                 "type": "string"
5145               }
5146             },
5147             "gateway": {
5148               "type": "string"
5149             },
5150             "ip-addresses": {
5151               "type": "array",
5152               "items": {
5153                 "type": "string"
5154               }
5155             },
5156             "is-up": {
5157               "type": "boolean"
5158             },
5159             "mac-address": {
5160               "type": "string"
5161             },
5162             "space": {
5163               "type": "string"
5164             }
5165           },
5166           "additionalProperties": false,
5167           "required": [
5168             "ip-addresses",
5169             "mac-address",
5170             "is-up"
5171           ]
5172         },
5173         "Number": {
5174           "type": "object",
5175           "properties": {
5176             "Build": {
5177               "type": "integer"
5178             },
5179             "Major": {
5180               "type": "integer"
5181             },
5182             "Minor": {
5183               "type": "integer"
5184             },
5185             "Patch": {
5186               "type": "integer"
5187             },
5188             "Tag": {
5189               "type": "string"
5190             }
5191           },
5192           "additionalProperties": false,
5193           "required": [
5194             "Major",
5195             "Minor",
5196             "Tag",
5197             "Patch",
5198             "Build"
5199           ]
5200         },
5201         "Placement": {
5202           "type": "object",
5203           "properties": {
5204             "directive": {
5205               "type": "string"
5206             },
5207             "scope": {
5208               "type": "string"
5209             }
5210           },
5211           "additionalProperties": false,
5212           "required": [
5213             "scope",
5214             "directive"
5215           ]
5216         },
5217         "PrivateAddress": {
5218           "type": "object",
5219           "properties": {
5220             "target": {
5221               "type": "string"
5222             }
5223           },
5224           "additionalProperties": false,
5225           "required": [
5226             "target"
5227           ]
5228         },
5229         "PrivateAddressResults": {
5230           "type": "object",
5231           "properties": {
5232             "private-address": {
5233               "type": "string"
5234             }
5235           },
5236           "additionalProperties": false,
5237           "required": [
5238             "private-address"
5239           ]
5240         },
5241         "ProvisioningScriptParams": {
5242           "type": "object",
5243           "properties": {
5244             "data-dir": {
5245               "type": "string"
5246             },
5247             "disable-package-commands": {
5248               "type": "boolean"
5249             },
5250             "machine-id": {
5251               "type": "string"
5252             },
5253             "nonce": {
5254               "type": "string"
5255             }
5256           },
5257           "additionalProperties": false,
5258           "required": [
5259             "machine-id",
5260             "nonce",
5261             "data-dir",
5262             "disable-package-commands"
5263           ]
5264         },
5265         "ProvisioningScriptResult": {
5266           "type": "object",
5267           "properties": {
5268             "script": {
5269               "type": "string"
5270             }
5271           },
5272           "additionalProperties": false,
5273           "required": [
5274             "script"
5275           ]
5276         },
5277         "PublicAddress": {
5278           "type": "object",
5279           "properties": {
5280             "target": {
5281               "type": "string"
5282             }
5283           },
5284           "additionalProperties": false,
5285           "required": [
5286             "target"
5287           ]
5288         },
5289         "PublicAddressResults": {
5290           "type": "object",
5291           "properties": {
5292             "public-address": {
5293               "type": "string"
5294             }
5295           },
5296           "additionalProperties": false,
5297           "required": [
5298             "public-address"
5299           ]
5300         },
5301         "RelationStatus": {
5302           "type": "object",
5303           "properties": {
5304             "endpoints": {
5305               "type": "array",
5306               "items": {
5307                 "$ref": "#/definitions/EndpointStatus"
5308               }
5309             },
5310             "id": {
5311               "type": "integer"
5312             },
5313             "interface": {
5314               "type": "string"
5315             },
5316             "key": {
5317               "type": "string"
5318             },
5319             "scope": {
5320               "type": "string"
5321             }
5322           },
5323           "additionalProperties": false,
5324           "required": [
5325             "id",
5326             "key",
5327             "interface",
5328             "scope",
5329             "endpoints"
5330           ]
5331         },
5332         "RemoteApplicationStatus": {
5333           "type": "object",
5334           "properties": {
5335             "application-name": {
5336               "type": "string"
5337             },
5338             "application-url": {
5339               "type": "string"
5340             },
5341             "endpoints": {
5342               "type": "array",
5343               "items": {
5344                 "$ref": "#/definitions/RemoteEndpoint"
5345               }
5346             },
5347             "err": {
5348               "type": "object",
5349               "additionalProperties": true
5350             },
5351             "life": {
5352               "type": "string"
5353             },
5354             "relations": {
5355               "type": "object",
5356               "patternProperties": {
5357                 ".*": {
5358                   "type": "array",
5359                   "items": {
5360                     "type": "string"
5361                   }
5362                 }
5363               }
5364             },
5365             "status": {
5366               "$ref": "#/definitions/DetailedStatus"
5367             }
5368           },
5369           "additionalProperties": false,
5370           "required": [
5371             "application-url",
5372             "application-name",
5373             "endpoints",
5374             "life",
5375             "relations",
5376             "status"
5377           ]
5378         },
5379         "RemoteEndpoint": {
5380           "type": "object",
5381           "properties": {
5382             "interface": {
5383               "type": "string"
5384             },
5385             "limit": {
5386               "type": "integer"
5387             },
5388             "name": {
5389               "type": "string"
5390             },
5391             "role": {
5392               "type": "string"
5393             },
5394             "scope": {
5395               "type": "string"
5396             }
5397           },
5398           "additionalProperties": false,
5399           "required": [
5400             "name",
5401             "role",
5402             "interface",
5403             "limit",
5404             "scope"
5405           ]
5406         },
5407         "ResolveCharmResult": {
5408           "type": "object",
5409           "properties": {
5410             "error": {
5411               "type": "string"
5412             },
5413             "url": {
5414               "type": "string"
5415             }
5416           },
5417           "additionalProperties": false
5418         },
5419         "ResolveCharmResults": {
5420           "type": "object",
5421           "properties": {
5422             "urls": {
5423               "type": "array",
5424               "items": {
5425                 "$ref": "#/definitions/ResolveCharmResult"
5426               }
5427             }
5428           },
5429           "additionalProperties": false,
5430           "required": [
5431             "urls"
5432           ]
5433         },
5434         "ResolveCharms": {
5435           "type": "object",
5436           "properties": {
5437             "references": {
5438               "type": "array",
5439               "items": {
5440                 "type": "string"
5441               }
5442             }
5443           },
5444           "additionalProperties": false,
5445           "required": [
5446             "references"
5447           ]
5448         },
5449         "Resolved": {
5450           "type": "object",
5451           "properties": {
5452             "retry": {
5453               "type": "boolean"
5454             },
5455             "unit-name": {
5456               "type": "string"
5457             }
5458           },
5459           "additionalProperties": false,
5460           "required": [
5461             "unit-name",
5462             "retry"
5463           ]
5464         },
5465         "SetConstraints": {
5466           "type": "object",
5467           "properties": {
5468             "application": {
5469               "type": "string"
5470             },
5471             "constraints": {
5472               "$ref": "#/definitions/Value"
5473             }
5474           },
5475           "additionalProperties": false,
5476           "required": [
5477             "application",
5478             "constraints"
5479           ]
5480         },
5481         "SetModelAgentVersion": {
5482           "type": "object",
5483           "properties": {
5484             "version": {
5485               "$ref": "#/definitions/Number"
5486             }
5487           },
5488           "additionalProperties": false,
5489           "required": [
5490             "version"
5491           ]
5492         },
5493         "StatusHistoryFilter": {
5494           "type": "object",
5495           "properties": {
5496             "date": {
5497               "type": "string",
5498               "format": "date-time"
5499             },
5500             "delta": {
5501               "type": "integer"
5502             },
5503             "exclude": {
5504               "type": "array",
5505               "items": {
5506                 "type": "string"
5507               }
5508             },
5509             "size": {
5510               "type": "integer"
5511             }
5512           },
5513           "additionalProperties": false,
5514           "required": [
5515             "size",
5516             "date",
5517             "delta",
5518             "exclude"
5519           ]
5520         },
5521         "StatusHistoryRequest": {
5522           "type": "object",
5523           "properties": {
5524             "filter": {
5525               "$ref": "#/definitions/StatusHistoryFilter"
5526             },
5527             "historyKind": {
5528               "type": "string"
5529             },
5530             "size": {
5531               "type": "integer"
5532             },
5533             "tag": {
5534               "type": "string"
5535             }
5536           },
5537           "additionalProperties": false,
5538           "required": [
5539             "historyKind",
5540             "size",
5541             "filter",
5542             "tag"
5543           ]
5544         },
5545         "StatusHistoryRequests": {
5546           "type": "object",
5547           "properties": {
5548             "requests": {
5549               "type": "array",
5550               "items": {
5551                 "$ref": "#/definitions/StatusHistoryRequest"
5552               }
5553             }
5554           },
5555           "additionalProperties": false,
5556           "required": [
5557             "requests"
5558           ]
5559         },
5560         "StatusHistoryResult": {
5561           "type": "object",
5562           "properties": {
5563             "error": {
5564               "$ref": "#/definitions/Error"
5565             },
5566             "history": {
5567               "$ref": "#/definitions/History"
5568             }
5569           },
5570           "additionalProperties": false,
5571           "required": [
5572             "history"
5573           ]
5574         },
5575         "StatusHistoryResults": {
5576           "type": "object",
5577           "properties": {
5578             "results": {
5579               "type": "array",
5580               "items": {
5581                 "$ref": "#/definitions/StatusHistoryResult"
5582               }
5583             }
5584           },
5585           "additionalProperties": false,
5586           "required": [
5587             "results"
5588           ]
5589         },
5590         "StatusParams": {
5591           "type": "object",
5592           "properties": {
5593             "patterns": {
5594               "type": "array",
5595               "items": {
5596                 "type": "string"
5597               }
5598             }
5599           },
5600           "additionalProperties": false,
5601           "required": [
5602             "patterns"
5603           ]
5604         },
5605         "StringResult": {
5606           "type": "object",
5607           "properties": {
5608             "error": {
5609               "$ref": "#/definitions/Error"
5610             },
5611             "result": {
5612               "type": "string"
5613             }
5614           },
5615           "additionalProperties": false,
5616           "required": [
5617             "result"
5618           ]
5619         },
5620         "Tools": {
5621           "type": "object",
5622           "properties": {
5623             "sha256": {
5624               "type": "string"
5625             },
5626             "size": {
5627               "type": "integer"
5628             },
5629             "url": {
5630               "type": "string"
5631             },
5632             "version": {
5633               "$ref": "#/definitions/Binary"
5634             }
5635           },
5636           "additionalProperties": false,
5637           "required": [
5638             "version",
5639             "url",
5640             "size"
5641           ]
5642         },
5643         "UnitStatus": {
5644           "type": "object",
5645           "properties": {
5646             "agent-status": {
5647               "$ref": "#/definitions/DetailedStatus"
5648             },
5649             "charm": {
5650               "type": "string"
5651             },
5652             "leader": {
5653               "type": "boolean"
5654             },
5655             "machine": {
5656               "type": "string"
5657             },
5658             "opened-ports": {
5659               "type": "array",
5660               "items": {
5661                 "type": "string"
5662               }
5663             },
5664             "public-address": {
5665               "type": "string"
5666             },
5667             "subordinates": {
5668               "type": "object",
5669               "patternProperties": {
5670                 ".*": {
5671                   "$ref": "#/definitions/UnitStatus"
5672                 }
5673               }
5674             },
5675             "workload-status": {
5676               "$ref": "#/definitions/DetailedStatus"
5677             },
5678             "workload-version": {
5679               "type": "string"
5680             }
5681           },
5682           "additionalProperties": false,
5683           "required": [
5684             "agent-status",
5685             "workload-status",
5686             "workload-version",
5687             "machine",
5688             "opened-ports",
5689             "public-address",
5690             "charm",
5691             "subordinates"
5692           ]
5693         },
5694         "Value": {
5695           "type": "object",
5696           "properties": {
5697             "arch": {
5698               "type": "string"
5699             },
5700             "container": {
5701               "type": "string"
5702             },
5703             "cores": {
5704               "type": "integer"
5705             },
5706             "cpu-power": {
5707               "type": "integer"
5708             },
5709             "instance-type": {
5710               "type": "string"
5711             },
5712             "mem": {
5713               "type": "integer"
5714             },
5715             "root-disk": {
5716               "type": "integer"
5717             },
5718             "spaces": {
5719               "type": "array",
5720               "items": {
5721                 "type": "string"
5722               }
5723             },
5724             "tags": {
5725               "type": "array",
5726               "items": {
5727                 "type": "string"
5728               }
5729             },
5730             "virt-type": {
5731               "type": "string"
5732             }
5733           },
5734           "additionalProperties": false
5735         }
5736       }
5737     }
5738   },
5739   {
5740     "Name": "Cloud",
5741     "Version": 1,
5742     "Schema": {
5743       "type": "object",
5744       "properties": {
5745         "Cloud": {
5746           "type": "object",
5747           "properties": {
5748             "Params": {
5749               "$ref": "#/definitions/Entities"
5750             },
5751             "Result": {
5752               "$ref": "#/definitions/CloudResults"
5753             }
5754           }
5755         },
5756         "Clouds": {
5757           "type": "object",
5758           "properties": {
5759             "Result": {
5760               "$ref": "#/definitions/CloudsResult"
5761             }
5762           }
5763         },
5764         "Credential": {
5765           "type": "object",
5766           "properties": {
5767             "Params": {
5768               "$ref": "#/definitions/Entities"
5769             },
5770             "Result": {
5771               "$ref": "#/definitions/CloudCredentialResults"
5772             }
5773           }
5774         },
5775         "DefaultCloud": {
5776           "type": "object",
5777           "properties": {
5778             "Result": {
5779               "$ref": "#/definitions/StringResult"
5780             }
5781           }
5782         },
5783         "InstanceTypes": {
5784           "type": "object",
5785           "properties": {
5786             "Params": {
5787               "$ref": "#/definitions/CloudInstanceTypesConstraints"
5788             },
5789             "Result": {
5790               "$ref": "#/definitions/InstanceTypesResults"
5791             }
5792           }
5793         },
5794         "RevokeCredentials": {
5795           "type": "object",
5796           "properties": {
5797             "Params": {
5798               "$ref": "#/definitions/Entities"
5799             },
5800             "Result": {
5801               "$ref": "#/definitions/ErrorResults"
5802             }
5803           }
5804         },
5805         "UpdateCredentials": {
5806           "type": "object",
5807           "properties": {
5808             "Params": {
5809               "$ref": "#/definitions/UpdateCloudCredentials"
5810             },
5811             "Result": {
5812               "$ref": "#/definitions/ErrorResults"
5813             }
5814           }
5815         },
5816         "UserCredentials": {
5817           "type": "object",
5818           "properties": {
5819             "Params": {
5820               "$ref": "#/definitions/UserClouds"
5821             },
5822             "Result": {
5823               "$ref": "#/definitions/StringsResults"
5824             }
5825           }
5826         }
5827       },
5828       "definitions": {
5829         "Cloud": {
5830           "type": "object",
5831           "properties": {
5832             "auth-types": {
5833               "type": "array",
5834               "items": {
5835                 "type": "string"
5836               }
5837             },
5838             "endpoint": {
5839               "type": "string"
5840             },
5841             "identity-endpoint": {
5842               "type": "string"
5843             },
5844             "regions": {
5845               "type": "array",
5846               "items": {
5847                 "$ref": "#/definitions/CloudRegion"
5848               }
5849             },
5850             "storage-endpoint": {
5851               "type": "string"
5852             },
5853             "type": {
5854               "type": "string"
5855             }
5856           },
5857           "additionalProperties": false,
5858           "required": [
5859             "type"
5860           ]
5861         },
5862         "CloudCredential": {
5863           "type": "object",
5864           "properties": {
5865             "attrs": {
5866               "type": "object",
5867               "patternProperties": {
5868                 ".*": {
5869                   "type": "string"
5870                 }
5871               }
5872             },
5873             "auth-type": {
5874               "type": "string"
5875             },
5876             "redacted": {
5877               "type": "array",
5878               "items": {
5879                 "type": "string"
5880               }
5881             }
5882           },
5883           "additionalProperties": false,
5884           "required": [
5885             "auth-type"
5886           ]
5887         },
5888         "CloudCredentialResult": {
5889           "type": "object",
5890           "properties": {
5891             "error": {
5892               "$ref": "#/definitions/Error"
5893             },
5894             "result": {
5895               "$ref": "#/definitions/CloudCredential"
5896             }
5897           },
5898           "additionalProperties": false
5899         },
5900         "CloudCredentialResults": {
5901           "type": "object",
5902           "properties": {
5903             "results": {
5904               "type": "array",
5905               "items": {
5906                 "$ref": "#/definitions/CloudCredentialResult"
5907               }
5908             }
5909           },
5910           "additionalProperties": false
5911         },
5912         "CloudInstanceTypesConstraint": {
5913           "type": "object",
5914           "properties": {
5915             "cloud-tag": {
5916               "type": "string"
5917             },
5918             "constraints": {
5919               "$ref": "#/definitions/Value"
5920             },
5921             "region": {
5922               "type": "string"
5923             }
5924           },
5925           "additionalProperties": false,
5926           "required": [
5927             "cloud-tag",
5928             "region"
5929           ]
5930         },
5931         "CloudInstanceTypesConstraints": {
5932           "type": "object",
5933           "properties": {
5934             "constraints": {
5935               "type": "array",
5936               "items": {
5937                 "$ref": "#/definitions/CloudInstanceTypesConstraint"
5938               }
5939             }
5940           },
5941           "additionalProperties": false,
5942           "required": [
5943             "constraints"
5944           ]
5945         },
5946         "CloudRegion": {
5947           "type": "object",
5948           "properties": {
5949             "endpoint": {
5950               "type": "string"
5951             },
5952             "identity-endpoint": {
5953               "type": "string"
5954             },
5955             "name": {
5956               "type": "string"
5957             },
5958             "storage-endpoint": {
5959               "type": "string"
5960             }
5961           },
5962           "additionalProperties": false,
5963           "required": [
5964             "name"
5965           ]
5966         },
5967         "CloudResult": {
5968           "type": "object",
5969           "properties": {
5970             "cloud": {
5971               "$ref": "#/definitions/Cloud"
5972             },
5973             "error": {
5974               "$ref": "#/definitions/Error"
5975             }
5976           },
5977           "additionalProperties": false
5978         },
5979         "CloudResults": {
5980           "type": "object",
5981           "properties": {
5982             "results": {
5983               "type": "array",
5984               "items": {
5985                 "$ref": "#/definitions/CloudResult"
5986               }
5987             }
5988           },
5989           "additionalProperties": false
5990         },
5991         "CloudsResult": {
5992           "type": "object",
5993           "properties": {
5994             "clouds": {
5995               "type": "object",
5996               "patternProperties": {
5997                 ".*": {
5998                   "$ref": "#/definitions/Cloud"
5999                 }
6000               }
6001             }
6002           },
6003           "additionalProperties": false
6004         },
6005         "Entities": {
6006           "type": "object",
6007           "properties": {
6008             "entities": {
6009               "type": "array",
6010               "items": {
6011                 "$ref": "#/definitions/Entity"
6012               }
6013             }
6014           },
6015           "additionalProperties": false,
6016           "required": [
6017             "entities"
6018           ]
6019         },
6020         "Entity": {
6021           "type": "object",
6022           "properties": {
6023             "tag": {
6024               "type": "string"
6025             }
6026           },
6027           "additionalProperties": false,
6028           "required": [
6029             "tag"
6030           ]
6031         },
6032         "Error": {
6033           "type": "object",
6034           "properties": {
6035             "code": {
6036               "type": "string"
6037             },
6038             "info": {
6039               "$ref": "#/definitions/ErrorInfo"
6040             },
6041             "message": {
6042               "type": "string"
6043             }
6044           },
6045           "additionalProperties": false,
6046           "required": [
6047             "message",
6048             "code"
6049           ]
6050         },
6051         "ErrorInfo": {
6052           "type": "object",
6053           "properties": {
6054             "macaroon": {
6055               "$ref": "#/definitions/Macaroon"
6056             },
6057             "macaroon-path": {
6058               "type": "string"
6059             }
6060           },
6061           "additionalProperties": false
6062         },
6063         "ErrorResult": {
6064           "type": "object",
6065           "properties": {
6066             "error": {
6067               "$ref": "#/definitions/Error"
6068             }
6069           },
6070           "additionalProperties": false
6071         },
6072         "ErrorResults": {
6073           "type": "object",
6074           "properties": {
6075             "results": {
6076               "type": "array",
6077               "items": {
6078                 "$ref": "#/definitions/ErrorResult"
6079               }
6080             }
6081           },
6082           "additionalProperties": false,
6083           "required": [
6084             "results"
6085           ]
6086         },
6087         "InstanceType": {
6088           "type": "object",
6089           "properties": {
6090             "arches": {
6091               "type": "array",
6092               "items": {
6093                 "type": "string"
6094               }
6095             },
6096             "cost": {
6097               "type": "integer"
6098             },
6099             "cpu-cores": {
6100               "type": "integer"
6101             },
6102             "deprecated": {
6103               "type": "boolean"
6104             },
6105             "memory": {
6106               "type": "integer"
6107             },
6108             "name": {
6109               "type": "string"
6110             },
6111             "root-disk": {
6112               "type": "integer"
6113             },
6114             "virt-type": {
6115               "type": "string"
6116             }
6117           },
6118           "additionalProperties": false,
6119           "required": [
6120             "arches",
6121             "cpu-cores",
6122             "memory"
6123           ]
6124         },
6125         "InstanceTypesResult": {
6126           "type": "object",
6127           "properties": {
6128             "cost-currency": {
6129               "type": "string"
6130             },
6131             "cost-divisor": {
6132               "type": "integer"
6133             },
6134             "cost-unit": {
6135               "type": "string"
6136             },
6137             "error": {
6138               "$ref": "#/definitions/Error"
6139             },
6140             "instance-types": {
6141               "type": "array",
6142               "items": {
6143                 "$ref": "#/definitions/InstanceType"
6144               }
6145             }
6146           },
6147           "additionalProperties": false
6148         },
6149         "InstanceTypesResults": {
6150           "type": "object",
6151           "properties": {
6152             "results": {
6153               "type": "array",
6154               "items": {
6155                 "$ref": "#/definitions/InstanceTypesResult"
6156               }
6157             }
6158           },
6159           "additionalProperties": false,
6160           "required": [
6161             "results"
6162           ]
6163         },
6164         "Macaroon": {
6165           "type": "object",
6166           "additionalProperties": false
6167         },
6168         "StringResult": {
6169           "type": "object",
6170           "properties": {
6171             "error": {
6172               "$ref": "#/definitions/Error"
6173             },
6174             "result": {
6175               "type": "string"
6176             }
6177           },
6178           "additionalProperties": false,
6179           "required": [
6180             "result"
6181           ]
6182         },
6183         "StringsResult": {
6184           "type": "object",
6185           "properties": {
6186             "error": {
6187               "$ref": "#/definitions/Error"
6188             },
6189             "result": {
6190               "type": "array",
6191               "items": {
6192                 "type": "string"
6193               }
6194             }
6195           },
6196           "additionalProperties": false
6197         },
6198         "StringsResults": {
6199           "type": "object",
6200           "properties": {
6201             "results": {
6202               "type": "array",
6203               "items": {
6204                 "$ref": "#/definitions/StringsResult"
6205               }
6206             }
6207           },
6208           "additionalProperties": false,
6209           "required": [
6210             "results"
6211           ]
6212         },
6213         "UpdateCloudCredential": {
6214           "type": "object",
6215           "properties": {
6216             "credential": {
6217               "$ref": "#/definitions/CloudCredential"
6218             },
6219             "tag": {
6220               "type": "string"
6221             }
6222           },
6223           "additionalProperties": false,
6224           "required": [
6225             "tag",
6226             "credential"
6227           ]
6228         },
6229         "UpdateCloudCredentials": {
6230           "type": "object",
6231           "properties": {
6232             "credentials": {
6233               "type": "array",
6234               "items": {
6235                 "$ref": "#/definitions/UpdateCloudCredential"
6236               }
6237             }
6238           },
6239           "additionalProperties": false
6240         },
6241         "UserCloud": {
6242           "type": "object",
6243           "properties": {
6244             "cloud-tag": {
6245               "type": "string"
6246             },
6247             "user-tag": {
6248               "type": "string"
6249             }
6250           },
6251           "additionalProperties": false,
6252           "required": [
6253             "user-tag",
6254             "cloud-tag"
6255           ]
6256         },
6257         "UserClouds": {
6258           "type": "object",
6259           "properties": {
6260             "user-clouds": {
6261               "type": "array",
6262               "items": {
6263                 "$ref": "#/definitions/UserCloud"
6264               }
6265             }
6266           },
6267           "additionalProperties": false
6268         },
6269         "Value": {
6270           "type": "object",
6271           "properties": {
6272             "arch": {
6273               "type": "string"
6274             },
6275             "container": {
6276               "type": "string"
6277             },
6278             "cores": {
6279               "type": "integer"
6280             },
6281             "cpu-power": {
6282               "type": "integer"
6283             },
6284             "instance-type": {
6285               "type": "string"
6286             },
6287             "mem": {
6288               "type": "integer"
6289             },
6290             "root-disk": {
6291               "type": "integer"
6292             },
6293             "spaces": {
6294               "type": "array",
6295               "items": {
6296                 "type": "string"
6297               }
6298             },
6299             "tags": {
6300               "type": "array",
6301               "items": {
6302                 "type": "string"
6303               }
6304             },
6305             "virt-type": {
6306               "type": "string"
6307             }
6308           },
6309           "additionalProperties": false
6310         }
6311       }
6312     }
6313   },
6314   {
6315     "Name": "Controller",
6316     "Version": 3,
6317     "Schema": {
6318       "type": "object",
6319       "properties": {
6320         "AllModels": {
6321           "type": "object",
6322           "properties": {
6323             "Result": {
6324               "$ref": "#/definitions/UserModelList"
6325             }
6326           }
6327         },
6328         "CloudSpec": {
6329           "type": "object",
6330           "properties": {
6331             "Params": {
6332               "$ref": "#/definitions/Entities"
6333             },
6334             "Result": {
6335               "$ref": "#/definitions/CloudSpecResults"
6336             }
6337           }
6338         },
6339         "ControllerConfig": {
6340           "type": "object",
6341           "properties": {
6342             "Result": {
6343               "$ref": "#/definitions/ControllerConfigResult"
6344             }
6345           }
6346         },
6347         "DestroyController": {
6348           "type": "object",
6349           "properties": {
6350             "Params": {
6351               "$ref": "#/definitions/DestroyControllerArgs"
6352             }
6353           }
6354         },
6355         "GetCloudSpec": {
6356           "type": "object",
6357           "properties": {
6358             "Params": {
6359               "$ref": "#/definitions/ModelTag"
6360             },
6361             "Result": {
6362               "$ref": "#/definitions/CloudSpecResult"
6363             }
6364           }
6365         },
6366         "GetControllerAccess": {
6367           "type": "object",
6368           "properties": {
6369             "Params": {
6370               "$ref": "#/definitions/Entities"
6371             },
6372             "Result": {
6373               "$ref": "#/definitions/UserAccessResults"
6374             }
6375           }
6376         },
6377         "HostedModelConfigs": {
6378           "type": "object",
6379           "properties": {
6380             "Result": {
6381               "$ref": "#/definitions/HostedModelConfigsResults"
6382             }
6383           }
6384         },
6385         "InitiateMigration": {
6386           "type": "object",
6387           "properties": {
6388             "Params": {
6389               "$ref": "#/definitions/InitiateMigrationArgs"
6390             },
6391             "Result": {
6392               "$ref": "#/definitions/InitiateMigrationResults"
6393             }
6394           }
6395         },
6396         "ListBlockedModels": {
6397           "type": "object",
6398           "properties": {
6399             "Result": {
6400               "$ref": "#/definitions/ModelBlockInfoList"
6401             }
6402           }
6403         },
6404         "ModelConfig": {
6405           "type": "object",
6406           "properties": {
6407             "Result": {
6408               "$ref": "#/definitions/ModelConfigResults"
6409             }
6410           }
6411         },
6412         "ModelStatus": {
6413           "type": "object",
6414           "properties": {
6415             "Params": {
6416               "$ref": "#/definitions/Entities"
6417             },
6418             "Result": {
6419               "$ref": "#/definitions/ModelStatusResults"
6420             }
6421           }
6422         },
6423         "ModifyControllerAccess": {
6424           "type": "object",
6425           "properties": {
6426             "Params": {
6427               "$ref": "#/definitions/ModifyControllerAccessRequest"
6428             },
6429             "Result": {
6430               "$ref": "#/definitions/ErrorResults"
6431             }
6432           }
6433         },
6434         "RemoveBlocks": {
6435           "type": "object",
6436           "properties": {
6437             "Params": {
6438               "$ref": "#/definitions/RemoveBlocksArgs"
6439             }
6440           }
6441         },
6442         "WatchAllModels": {
6443           "type": "object",
6444           "properties": {
6445             "Result": {
6446               "$ref": "#/definitions/AllWatcherId"
6447             }
6448           }
6449         }
6450       },
6451       "definitions": {
6452         "AllWatcherId": {
6453           "type": "object",
6454           "properties": {
6455             "watcher-id": {
6456               "type": "string"
6457             }
6458           },
6459           "additionalProperties": false,
6460           "required": [
6461             "watcher-id"
6462           ]
6463         },
6464         "CloudCredential": {
6465           "type": "object",
6466           "properties": {
6467             "attrs": {
6468               "type": "object",
6469               "patternProperties": {
6470                 ".*": {
6471                   "type": "string"
6472                 }
6473               }
6474             },
6475             "auth-type": {
6476               "type": "string"
6477             },
6478             "redacted": {
6479               "type": "array",
6480               "items": {
6481                 "type": "string"
6482               }
6483             }
6484           },
6485           "additionalProperties": false,
6486           "required": [
6487             "auth-type"
6488           ]
6489         },
6490         "CloudSpec": {
6491           "type": "object",
6492           "properties": {
6493             "credential": {
6494               "$ref": "#/definitions/CloudCredential"
6495             },
6496             "endpoint": {
6497               "type": "string"
6498             },
6499             "identity-endpoint": {
6500               "type": "string"
6501             },
6502             "name": {
6503               "type": "string"
6504             },
6505             "region": {
6506               "type": "string"
6507             },
6508             "storage-endpoint": {
6509               "type": "string"
6510             },
6511             "type": {
6512               "type": "string"
6513             }
6514           },
6515           "additionalProperties": false,
6516           "required": [
6517             "type",
6518             "name"
6519           ]
6520         },
6521         "CloudSpecResult": {
6522           "type": "object",
6523           "properties": {
6524             "error": {
6525               "$ref": "#/definitions/Error"
6526             },
6527             "result": {
6528               "$ref": "#/definitions/CloudSpec"
6529             }
6530           },
6531           "additionalProperties": false
6532         },
6533         "CloudSpecResults": {
6534           "type": "object",
6535           "properties": {
6536             "results": {
6537               "type": "array",
6538               "items": {
6539                 "$ref": "#/definitions/CloudSpecResult"
6540               }
6541             }
6542           },
6543           "additionalProperties": false
6544         },
6545         "ConfigValue": {
6546           "type": "object",
6547           "properties": {
6548             "source": {
6549               "type": "string"
6550             },
6551             "value": {
6552               "type": "object",
6553               "additionalProperties": true
6554             }
6555           },
6556           "additionalProperties": false,
6557           "required": [
6558             "value",
6559             "source"
6560           ]
6561         },
6562         "ControllerConfigResult": {
6563           "type": "object",
6564           "properties": {
6565             "config": {
6566               "type": "object",
6567               "patternProperties": {
6568                 ".*": {
6569                   "type": "object",
6570                   "additionalProperties": true
6571                 }
6572               }
6573             }
6574           },
6575           "additionalProperties": false,
6576           "required": [
6577             "config"
6578           ]
6579         },
6580         "DestroyControllerArgs": {
6581           "type": "object",
6582           "properties": {
6583             "destroy-models": {
6584               "type": "boolean"
6585             }
6586           },
6587           "additionalProperties": false,
6588           "required": [
6589             "destroy-models"
6590           ]
6591         },
6592         "Entities": {
6593           "type": "object",
6594           "properties": {
6595             "entities": {
6596               "type": "array",
6597               "items": {
6598                 "$ref": "#/definitions/Entity"
6599               }
6600             }
6601           },
6602           "additionalProperties": false,
6603           "required": [
6604             "entities"
6605           ]
6606         },
6607         "Entity": {
6608           "type": "object",
6609           "properties": {
6610             "tag": {
6611               "type": "string"
6612             }
6613           },
6614           "additionalProperties": false,
6615           "required": [
6616             "tag"
6617           ]
6618         },
6619         "Error": {
6620           "type": "object",
6621           "properties": {
6622             "code": {
6623               "type": "string"
6624             },
6625             "info": {
6626               "$ref": "#/definitions/ErrorInfo"
6627             },
6628             "message": {
6629               "type": "string"
6630             }
6631           },
6632           "additionalProperties": false,
6633           "required": [
6634             "message",
6635             "code"
6636           ]
6637         },
6638         "ErrorInfo": {
6639           "type": "object",
6640           "properties": {
6641             "macaroon": {
6642               "$ref": "#/definitions/Macaroon"
6643             },
6644             "macaroon-path": {
6645               "type": "string"
6646             }
6647           },
6648           "additionalProperties": false
6649         },
6650         "ErrorResult": {
6651           "type": "object",
6652           "properties": {
6653             "error": {
6654               "$ref": "#/definitions/Error"
6655             }
6656           },
6657           "additionalProperties": false
6658         },
6659         "ErrorResults": {
6660           "type": "object",
6661           "properties": {
6662             "results": {
6663               "type": "array",
6664               "items": {
6665                 "$ref": "#/definitions/ErrorResult"
6666               }
6667             }
6668           },
6669           "additionalProperties": false,
6670           "required": [
6671             "results"
6672           ]
6673         },
6674         "HostedModelConfig": {
6675           "type": "object",
6676           "properties": {
6677             "cloud-spec": {
6678               "$ref": "#/definitions/CloudSpec"
6679             },
6680             "config": {
6681               "type": "object",
6682               "patternProperties": {
6683                 ".*": {
6684                   "type": "object",
6685                   "additionalProperties": true
6686                 }
6687               }
6688             },
6689             "error": {
6690               "$ref": "#/definitions/Error"
6691             },
6692             "name": {
6693               "type": "string"
6694             },
6695             "owner": {
6696               "type": "string"
6697             }
6698           },
6699           "additionalProperties": false,
6700           "required": [
6701             "name",
6702             "owner"
6703           ]
6704         },
6705         "HostedModelConfigsResults": {
6706           "type": "object",
6707           "properties": {
6708             "models": {
6709               "type": "array",
6710               "items": {
6711                 "$ref": "#/definitions/HostedModelConfig"
6712               }
6713             }
6714           },
6715           "additionalProperties": false,
6716           "required": [
6717             "models"
6718           ]
6719         },
6720         "InitiateMigrationArgs": {
6721           "type": "object",
6722           "properties": {
6723             "specs": {
6724               "type": "array",
6725               "items": {
6726                 "$ref": "#/definitions/MigrationSpec"
6727               }
6728             }
6729           },
6730           "additionalProperties": false,
6731           "required": [
6732             "specs"
6733           ]
6734         },
6735         "InitiateMigrationResult": {
6736           "type": "object",
6737           "properties": {
6738             "error": {
6739               "$ref": "#/definitions/Error"
6740             },
6741             "migration-id": {
6742               "type": "string"
6743             },
6744             "model-tag": {
6745               "type": "string"
6746             }
6747           },
6748           "additionalProperties": false,
6749           "required": [
6750             "model-tag",
6751             "migration-id"
6752           ]
6753         },
6754         "InitiateMigrationResults": {
6755           "type": "object",
6756           "properties": {
6757             "results": {
6758               "type": "array",
6759               "items": {
6760                 "$ref": "#/definitions/InitiateMigrationResult"
6761               }
6762             }
6763           },
6764           "additionalProperties": false,
6765           "required": [
6766             "results"
6767           ]
6768         },
6769         "Macaroon": {
6770           "type": "object",
6771           "additionalProperties": false
6772         },
6773         "MachineHardware": {
6774           "type": "object",
6775           "properties": {
6776             "arch": {
6777               "type": "string"
6778             },
6779             "availability-zone": {
6780               "type": "string"
6781             },
6782             "cores": {
6783               "type": "integer"
6784             },
6785             "cpu-power": {
6786               "type": "integer"
6787             },
6788             "mem": {
6789               "type": "integer"
6790             },
6791             "root-disk": {
6792               "type": "integer"
6793             },
6794             "tags": {
6795               "type": "array",
6796               "items": {
6797                 "type": "string"
6798               }
6799             }
6800           },
6801           "additionalProperties": false
6802         },
6803         "MigrationSpec": {
6804           "type": "object",
6805           "properties": {
6806             "external-control": {
6807               "type": "boolean"
6808             },
6809             "model-tag": {
6810               "type": "string"
6811             },
6812             "skip-initial-prechecks": {
6813               "type": "boolean"
6814             },
6815             "target-info": {
6816               "$ref": "#/definitions/MigrationTargetInfo"
6817             }
6818           },
6819           "additionalProperties": false,
6820           "required": [
6821             "model-tag",
6822             "target-info",
6823             "external-control",
6824             "skip-initial-prechecks"
6825           ]
6826         },
6827         "MigrationTargetInfo": {
6828           "type": "object",
6829           "properties": {
6830             "addrs": {
6831               "type": "array",
6832               "items": {
6833                 "type": "string"
6834               }
6835             },
6836             "auth-tag": {
6837               "type": "string"
6838             },
6839             "ca-cert": {
6840               "type": "string"
6841             },
6842             "controller-tag": {
6843               "type": "string"
6844             },
6845             "macaroons": {
6846               "type": "string"
6847             },
6848             "password": {
6849               "type": "string"
6850             }
6851           },
6852           "additionalProperties": false,
6853           "required": [
6854             "controller-tag",
6855             "addrs",
6856             "ca-cert",
6857             "auth-tag"
6858           ]
6859         },
6860         "Model": {
6861           "type": "object",
6862           "properties": {
6863             "name": {
6864               "type": "string"
6865             },
6866             "owner-tag": {
6867               "type": "string"
6868             },
6869             "uuid": {
6870               "type": "string"
6871             }
6872           },
6873           "additionalProperties": false,
6874           "required": [
6875             "name",
6876             "uuid",
6877             "owner-tag"
6878           ]
6879         },
6880         "ModelBlockInfo": {
6881           "type": "object",
6882           "properties": {
6883             "blocks": {
6884               "type": "array",
6885               "items": {
6886                 "type": "string"
6887               }
6888             },
6889             "model-uuid": {
6890               "type": "string"
6891             },
6892             "name": {
6893               "type": "string"
6894             },
6895             "owner-tag": {
6896               "type": "string"
6897             }
6898           },
6899           "additionalProperties": false,
6900           "required": [
6901             "name",
6902             "model-uuid",
6903             "owner-tag",
6904             "blocks"
6905           ]
6906         },
6907         "ModelBlockInfoList": {
6908           "type": "object",
6909           "properties": {
6910             "models": {
6911               "type": "array",
6912               "items": {
6913                 "$ref": "#/definitions/ModelBlockInfo"
6914               }
6915             }
6916           },
6917           "additionalProperties": false
6918         },
6919         "ModelConfigResults": {
6920           "type": "object",
6921           "properties": {
6922             "config": {
6923               "type": "object",
6924               "patternProperties": {
6925                 ".*": {
6926                   "$ref": "#/definitions/ConfigValue"
6927                 }
6928               }
6929             }
6930           },
6931           "additionalProperties": false,
6932           "required": [
6933             "config"
6934           ]
6935         },
6936         "ModelMachineInfo": {
6937           "type": "object",
6938           "properties": {
6939             "hardware": {
6940               "$ref": "#/definitions/MachineHardware"
6941             },
6942             "has-vote": {
6943               "type": "boolean"
6944             },
6945             "id": {
6946               "type": "string"
6947             },
6948             "instance-id": {
6949               "type": "string"
6950             },
6951             "status": {
6952               "type": "string"
6953             },
6954             "wants-vote": {
6955               "type": "boolean"
6956             }
6957           },
6958           "additionalProperties": false,
6959           "required": [
6960             "id"
6961           ]
6962         },
6963         "ModelStatus": {
6964           "type": "object",
6965           "properties": {
6966             "application-count": {
6967               "type": "integer"
6968             },
6969             "hosted-machine-count": {
6970               "type": "integer"
6971             },
6972             "life": {
6973               "type": "string"
6974             },
6975             "machines": {
6976               "type": "array",
6977               "items": {
6978                 "$ref": "#/definitions/ModelMachineInfo"
6979               }
6980             },
6981             "model-tag": {
6982               "type": "string"
6983             },
6984             "owner-tag": {
6985               "type": "string"
6986             }
6987           },
6988           "additionalProperties": false,
6989           "required": [
6990             "model-tag",
6991             "life",
6992             "hosted-machine-count",
6993             "application-count",
6994             "owner-tag"
6995           ]
6996         },
6997         "ModelStatusResults": {
6998           "type": "object",
6999           "properties": {
7000             "models": {
7001               "type": "array",
7002               "items": {
7003                 "$ref": "#/definitions/ModelStatus"
7004               }
7005             }
7006           },
7007           "additionalProperties": false,
7008           "required": [
7009             "models"
7010           ]
7011         },
7012         "ModelTag": {
7013           "type": "object",
7014           "additionalProperties": false
7015         },
7016         "ModifyControllerAccess": {
7017           "type": "object",
7018           "properties": {
7019             "access": {
7020               "type": "string"
7021             },
7022             "action": {
7023               "type": "string"
7024             },
7025             "user-tag": {
7026               "type": "string"
7027             }
7028           },
7029           "additionalProperties": false,
7030           "required": [
7031             "user-tag",
7032             "action",
7033             "access"
7034           ]
7035         },
7036         "ModifyControllerAccessRequest": {
7037           "type": "object",
7038           "properties": {
7039             "changes": {
7040               "type": "array",
7041               "items": {
7042                 "$ref": "#/definitions/ModifyControllerAccess"
7043               }
7044             }
7045           },
7046           "additionalProperties": false,
7047           "required": [
7048             "changes"
7049           ]
7050         },
7051         "RemoveBlocksArgs": {
7052           "type": "object",
7053           "properties": {
7054             "all": {
7055               "type": "boolean"
7056             }
7057           },
7058           "additionalProperties": false,
7059           "required": [
7060             "all"
7061           ]
7062         },
7063         "UserAccess": {
7064           "type": "object",
7065           "properties": {
7066             "access": {
7067               "type": "string"
7068             },
7069             "user-tag": {
7070               "type": "string"
7071             }
7072           },
7073           "additionalProperties": false,
7074           "required": [
7075             "user-tag",
7076             "access"
7077           ]
7078         },
7079         "UserAccessResult": {
7080           "type": "object",
7081           "properties": {
7082             "error": {
7083               "$ref": "#/definitions/Error"
7084             },
7085             "result": {
7086               "$ref": "#/definitions/UserAccess"
7087             }
7088           },
7089           "additionalProperties": false
7090         },
7091         "UserAccessResults": {
7092           "type": "object",
7093           "properties": {
7094             "results": {
7095               "type": "array",
7096               "items": {
7097                 "$ref": "#/definitions/UserAccessResult"
7098               }
7099             }
7100           },
7101           "additionalProperties": false
7102         },
7103         "UserModel": {
7104           "type": "object",
7105           "properties": {
7106             "last-connection": {
7107               "type": "string",
7108               "format": "date-time"
7109             },
7110             "model": {
7111               "$ref": "#/definitions/Model"
7112             }
7113           },
7114           "additionalProperties": false,
7115           "required": [
7116             "model",
7117             "last-connection"
7118           ]
7119         },
7120         "UserModelList": {
7121           "type": "object",
7122           "properties": {
7123             "user-models": {
7124               "type": "array",
7125               "items": {
7126                 "$ref": "#/definitions/UserModel"
7127               }
7128             }
7129           },
7130           "additionalProperties": false,
7131           "required": [
7132             "user-models"
7133           ]
7134         }
7135       }
7136     }
7137   },
7138   {
7139     "Name": "Deployer",
7140     "Version": 1,
7141     "Schema": {
7142       "type": "object",
7143       "properties": {
7144         "APIAddresses": {
7145           "type": "object",
7146           "properties": {
7147             "Result": {
7148               "$ref": "#/definitions/StringsResult"
7149             }
7150           }
7151         },
7152         "APIHostPorts": {
7153           "type": "object",
7154           "properties": {
7155             "Result": {
7156               "$ref": "#/definitions/APIHostPortsResult"
7157             }
7158           }
7159         },
7160         "CACert": {
7161           "type": "object",
7162           "properties": {
7163             "Result": {
7164               "$ref": "#/definitions/BytesResult"
7165             }
7166           }
7167         },
7168         "ConnectionInfo": {
7169           "type": "object",
7170           "properties": {
7171             "Result": {
7172               "$ref": "#/definitions/DeployerConnectionValues"
7173             }
7174           }
7175         },
7176         "Life": {
7177           "type": "object",
7178           "properties": {
7179             "Params": {
7180               "$ref": "#/definitions/Entities"
7181             },
7182             "Result": {
7183               "$ref": "#/definitions/LifeResults"
7184             }
7185           }
7186         },
7187         "ModelUUID": {
7188           "type": "object",
7189           "properties": {
7190             "Result": {
7191               "$ref": "#/definitions/StringResult"
7192             }
7193           }
7194         },
7195         "Remove": {
7196           "type": "object",
7197           "properties": {
7198             "Params": {
7199               "$ref": "#/definitions/Entities"
7200             },
7201             "Result": {
7202               "$ref": "#/definitions/ErrorResults"
7203             }
7204           }
7205         },
7206         "SetPasswords": {
7207           "type": "object",
7208           "properties": {
7209             "Params": {
7210               "$ref": "#/definitions/EntityPasswords"
7211             },
7212             "Result": {
7213               "$ref": "#/definitions/ErrorResults"
7214             }
7215           }
7216         },
7217         "SetStatus": {
7218           "type": "object",
7219           "properties": {
7220             "Params": {
7221               "$ref": "#/definitions/SetStatus"
7222             },
7223             "Result": {
7224               "$ref": "#/definitions/ErrorResults"
7225             }
7226           }
7227         },
7228         "StateAddresses": {
7229           "type": "object",
7230           "properties": {
7231             "Result": {
7232               "$ref": "#/definitions/StringsResult"
7233             }
7234           }
7235         },
7236         "UpdateStatus": {
7237           "type": "object",
7238           "properties": {
7239             "Params": {
7240               "$ref": "#/definitions/SetStatus"
7241             },
7242             "Result": {
7243               "$ref": "#/definitions/ErrorResults"
7244             }
7245           }
7246         },
7247         "WatchAPIHostPorts": {
7248           "type": "object",
7249           "properties": {
7250             "Result": {
7251               "$ref": "#/definitions/NotifyWatchResult"
7252             }
7253           }
7254         },
7255         "WatchUnits": {
7256           "type": "object",
7257           "properties": {
7258             "Params": {
7259               "$ref": "#/definitions/Entities"
7260             },
7261             "Result": {
7262               "$ref": "#/definitions/StringsWatchResults"
7263             }
7264           }
7265         }
7266       },
7267       "definitions": {
7268         "APIHostPortsResult": {
7269           "type": "object",
7270           "properties": {
7271             "servers": {
7272               "type": "array",
7273               "items": {
7274                 "type": "array",
7275                 "items": {
7276                   "$ref": "#/definitions/HostPort"
7277                 }
7278               }
7279             }
7280           },
7281           "additionalProperties": false,
7282           "required": [
7283             "servers"
7284           ]
7285         },
7286         "Address": {
7287           "type": "object",
7288           "properties": {
7289             "scope": {
7290               "type": "string"
7291             },
7292             "space-name": {
7293               "type": "string"
7294             },
7295             "type": {
7296               "type": "string"
7297             },
7298             "value": {
7299               "type": "string"
7300             }
7301           },
7302           "additionalProperties": false,
7303           "required": [
7304             "value",
7305             "type",
7306             "scope"
7307           ]
7308         },
7309         "BytesResult": {
7310           "type": "object",
7311           "properties": {
7312             "result": {
7313               "type": "array",
7314               "items": {
7315                 "type": "integer"
7316               }
7317             }
7318           },
7319           "additionalProperties": false,
7320           "required": [
7321             "result"
7322           ]
7323         },
7324         "DeployerConnectionValues": {
7325           "type": "object",
7326           "properties": {
7327             "api-addresses": {
7328               "type": "array",
7329               "items": {
7330                 "type": "string"
7331               }
7332             },
7333             "state-addresses": {
7334               "type": "array",
7335               "items": {
7336                 "type": "string"
7337               }
7338             }
7339           },
7340           "additionalProperties": false,
7341           "required": [
7342             "state-addresses",
7343             "api-addresses"
7344           ]
7345         },
7346         "Entities": {
7347           "type": "object",
7348           "properties": {
7349             "entities": {
7350               "type": "array",
7351               "items": {
7352                 "$ref": "#/definitions/Entity"
7353               }
7354             }
7355           },
7356           "additionalProperties": false,
7357           "required": [
7358             "entities"
7359           ]
7360         },
7361         "Entity": {
7362           "type": "object",
7363           "properties": {
7364             "tag": {
7365               "type": "string"
7366             }
7367           },
7368           "additionalProperties": false,
7369           "required": [
7370             "tag"
7371           ]
7372         },
7373         "EntityPassword": {
7374           "type": "object",
7375           "properties": {
7376             "password": {
7377               "type": "string"
7378             },
7379             "tag": {
7380               "type": "string"
7381             }
7382           },
7383           "additionalProperties": false,
7384           "required": [
7385             "tag",
7386             "password"
7387           ]
7388         },
7389         "EntityPasswords": {
7390           "type": "object",
7391           "properties": {
7392             "changes": {
7393               "type": "array",
7394               "items": {
7395                 "$ref": "#/definitions/EntityPassword"
7396               }
7397             }
7398           },
7399           "additionalProperties": false,
7400           "required": [
7401             "changes"
7402           ]
7403         },
7404         "EntityStatusArgs": {
7405           "type": "object",
7406           "properties": {
7407             "data": {
7408               "type": "object",
7409               "patternProperties": {
7410                 ".*": {
7411                   "type": "object",
7412                   "additionalProperties": true
7413                 }
7414               }
7415             },
7416             "info": {
7417               "type": "string"
7418             },
7419             "status": {
7420               "type": "string"
7421             },
7422             "tag": {
7423               "type": "string"
7424             }
7425           },
7426           "additionalProperties": false,
7427           "required": [
7428             "tag",
7429             "status",
7430             "info",
7431             "data"
7432           ]
7433         },
7434         "Error": {
7435           "type": "object",
7436           "properties": {
7437             "code": {
7438               "type": "string"
7439             },
7440             "info": {
7441               "$ref": "#/definitions/ErrorInfo"
7442             },
7443             "message": {
7444               "type": "string"
7445             }
7446           },
7447           "additionalProperties": false,
7448           "required": [
7449             "message",
7450             "code"
7451           ]
7452         },
7453         "ErrorInfo": {
7454           "type": "object",
7455           "properties": {
7456             "macaroon": {
7457               "$ref": "#/definitions/Macaroon"
7458             },
7459             "macaroon-path": {
7460               "type": "string"
7461             }
7462           },
7463           "additionalProperties": false
7464         },
7465         "ErrorResult": {
7466           "type": "object",
7467           "properties": {
7468             "error": {
7469               "$ref": "#/definitions/Error"
7470             }
7471           },
7472           "additionalProperties": false
7473         },
7474         "ErrorResults": {
7475           "type": "object",
7476           "properties": {
7477             "results": {
7478               "type": "array",
7479               "items": {
7480                 "$ref": "#/definitions/ErrorResult"
7481               }
7482             }
7483           },
7484           "additionalProperties": false,
7485           "required": [
7486             "results"
7487           ]
7488         },
7489         "HostPort": {
7490           "type": "object",
7491           "properties": {
7492             "Address": {
7493               "$ref": "#/definitions/Address"
7494             },
7495             "port": {
7496               "type": "integer"
7497             }
7498           },
7499           "additionalProperties": false,
7500           "required": [
7501             "Address",
7502             "port"
7503           ]
7504         },
7505         "LifeResult": {
7506           "type": "object",
7507           "properties": {
7508             "error": {
7509               "$ref": "#/definitions/Error"
7510             },
7511             "life": {
7512               "type": "string"
7513             }
7514           },
7515           "additionalProperties": false,
7516           "required": [
7517             "life"
7518           ]
7519         },
7520         "LifeResults": {
7521           "type": "object",
7522           "properties": {
7523             "results": {
7524               "type": "array",
7525               "items": {
7526                 "$ref": "#/definitions/LifeResult"
7527               }
7528             }
7529           },
7530           "additionalProperties": false,
7531           "required": [
7532             "results"
7533           ]
7534         },
7535         "Macaroon": {
7536           "type": "object",
7537           "additionalProperties": false
7538         },
7539         "NotifyWatchResult": {
7540           "type": "object",
7541           "properties": {
7542             "NotifyWatcherId": {
7543               "type": "string"
7544             },
7545             "error": {
7546               "$ref": "#/definitions/Error"
7547             }
7548           },
7549           "additionalProperties": false,
7550           "required": [
7551             "NotifyWatcherId"
7552           ]
7553         },
7554         "SetStatus": {
7555           "type": "object",
7556           "properties": {
7557             "entities": {
7558               "type": "array",
7559               "items": {
7560                 "$ref": "#/definitions/EntityStatusArgs"
7561               }
7562             }
7563           },
7564           "additionalProperties": false,
7565           "required": [
7566             "entities"
7567           ]
7568         },
7569         "StringResult": {
7570           "type": "object",
7571           "properties": {
7572             "error": {
7573               "$ref": "#/definitions/Error"
7574             },
7575             "result": {
7576               "type": "string"
7577             }
7578           },
7579           "additionalProperties": false,
7580           "required": [
7581             "result"
7582           ]
7583         },
7584         "StringsResult": {
7585           "type": "object",
7586           "properties": {
7587             "error": {
7588               "$ref": "#/definitions/Error"
7589             },
7590             "result": {
7591               "type": "array",
7592               "items": {
7593                 "type": "string"
7594               }
7595             }
7596           },
7597           "additionalProperties": false
7598         },
7599         "StringsWatchResult": {
7600           "type": "object",
7601           "properties": {
7602             "changes": {
7603               "type": "array",
7604               "items": {
7605                 "type": "string"
7606               }
7607             },
7608             "error": {
7609               "$ref": "#/definitions/Error"
7610             },
7611             "watcher-id": {
7612               "type": "string"
7613             }
7614           },
7615           "additionalProperties": false,
7616           "required": [
7617             "watcher-id"
7618           ]
7619         },
7620         "StringsWatchResults": {
7621           "type": "object",
7622           "properties": {
7623             "results": {
7624               "type": "array",
7625               "items": {
7626                 "$ref": "#/definitions/StringsWatchResult"
7627               }
7628             }
7629           },
7630           "additionalProperties": false,
7631           "required": [
7632             "results"
7633           ]
7634         }
7635       }
7636     }
7637   },
7638   {
7639     "Name": "DiscoverSpaces",
7640     "Version": 2,
7641     "Schema": {
7642       "type": "object",
7643       "properties": {
7644         "AddSubnets": {
7645           "type": "object",
7646           "properties": {
7647             "Params": {
7648               "$ref": "#/definitions/AddSubnetsParams"
7649             },
7650             "Result": {
7651               "$ref": "#/definitions/ErrorResults"
7652             }
7653           }
7654         },
7655         "CreateSpaces": {
7656           "type": "object",
7657           "properties": {
7658             "Params": {
7659               "$ref": "#/definitions/CreateSpacesParams"
7660             },
7661             "Result": {
7662               "$ref": "#/definitions/ErrorResults"
7663             }
7664           }
7665         },
7666         "ListSpaces": {
7667           "type": "object",
7668           "properties": {
7669             "Result": {
7670               "$ref": "#/definitions/DiscoverSpacesResults"
7671             }
7672           }
7673         },
7674         "ListSubnets": {
7675           "type": "object",
7676           "properties": {
7677             "Params": {
7678               "$ref": "#/definitions/SubnetsFilters"
7679             },
7680             "Result": {
7681               "$ref": "#/definitions/ListSubnetsResults"
7682             }
7683           }
7684         },
7685         "ModelConfig": {
7686           "type": "object",
7687           "properties": {
7688             "Result": {
7689               "$ref": "#/definitions/ModelConfigResult"
7690             }
7691           }
7692         }
7693       },
7694       "definitions": {
7695         "AddSubnetParams": {
7696           "type": "object",
7697           "properties": {
7698             "space-tag": {
7699               "type": "string"
7700             },
7701             "subnet-provider-id": {
7702               "type": "string"
7703             },
7704             "subnet-tag": {
7705               "type": "string"
7706             },
7707             "vlan-tag": {
7708               "type": "integer"
7709             },
7710             "zones": {
7711               "type": "array",
7712               "items": {
7713                 "type": "string"
7714               }
7715             }
7716           },
7717           "additionalProperties": false,
7718           "required": [
7719             "space-tag"
7720           ]
7721         },
7722         "AddSubnetsParams": {
7723           "type": "object",
7724           "properties": {
7725             "subnets": {
7726               "type": "array",
7727               "items": {
7728                 "$ref": "#/definitions/AddSubnetParams"
7729               }
7730             }
7731           },
7732           "additionalProperties": false,
7733           "required": [
7734             "subnets"
7735           ]
7736         },
7737         "CreateSpaceParams": {
7738           "type": "object",
7739           "properties": {
7740             "provider-id": {
7741               "type": "string"
7742             },
7743             "public": {
7744               "type": "boolean"
7745             },
7746             "space-tag": {
7747               "type": "string"
7748             },
7749             "subnet-tags": {
7750               "type": "array",
7751               "items": {
7752                 "type": "string"
7753               }
7754             }
7755           },
7756           "additionalProperties": false,
7757           "required": [
7758             "subnet-tags",
7759             "space-tag",
7760             "public"
7761           ]
7762         },
7763         "CreateSpacesParams": {
7764           "type": "object",
7765           "properties": {
7766             "spaces": {
7767               "type": "array",
7768               "items": {
7769                 "$ref": "#/definitions/CreateSpaceParams"
7770               }
7771             }
7772           },
7773           "additionalProperties": false,
7774           "required": [
7775             "spaces"
7776           ]
7777         },
7778         "DiscoverSpacesResults": {
7779           "type": "object",
7780           "properties": {
7781             "results": {
7782               "type": "array",
7783               "items": {
7784                 "$ref": "#/definitions/ProviderSpace"
7785               }
7786             }
7787           },
7788           "additionalProperties": false,
7789           "required": [
7790             "results"
7791           ]
7792         },
7793         "Error": {
7794           "type": "object",
7795           "properties": {
7796             "code": {
7797               "type": "string"
7798             },
7799             "info": {
7800               "$ref": "#/definitions/ErrorInfo"
7801             },
7802             "message": {
7803               "type": "string"
7804             }
7805           },
7806           "additionalProperties": false,
7807           "required": [
7808             "message",
7809             "code"
7810           ]
7811         },
7812         "ErrorInfo": {
7813           "type": "object",
7814           "properties": {
7815             "macaroon": {
7816               "$ref": "#/definitions/Macaroon"
7817             },
7818             "macaroon-path": {
7819               "type": "string"
7820             }
7821           },
7822           "additionalProperties": false
7823         },
7824         "ErrorResult": {
7825           "type": "object",
7826           "properties": {
7827             "error": {
7828               "$ref": "#/definitions/Error"
7829             }
7830           },
7831           "additionalProperties": false
7832         },
7833         "ErrorResults": {
7834           "type": "object",
7835           "properties": {
7836             "results": {
7837               "type": "array",
7838               "items": {
7839                 "$ref": "#/definitions/ErrorResult"
7840               }
7841             }
7842           },
7843           "additionalProperties": false,
7844           "required": [
7845             "results"
7846           ]
7847         },
7848         "ListSubnetsResults": {
7849           "type": "object",
7850           "properties": {
7851             "results": {
7852               "type": "array",
7853               "items": {
7854                 "$ref": "#/definitions/Subnet"
7855               }
7856             }
7857           },
7858           "additionalProperties": false,
7859           "required": [
7860             "results"
7861           ]
7862         },
7863         "Macaroon": {
7864           "type": "object",
7865           "additionalProperties": false
7866         },
7867         "ModelConfigResult": {
7868           "type": "object",
7869           "properties": {
7870             "config": {
7871               "type": "object",
7872               "patternProperties": {
7873                 ".*": {
7874                   "type": "object",
7875                   "additionalProperties": true
7876                 }
7877               }
7878             }
7879           },
7880           "additionalProperties": false,
7881           "required": [
7882             "config"
7883           ]
7884         },
7885         "ProviderSpace": {
7886           "type": "object",
7887           "properties": {
7888             "error": {
7889               "$ref": "#/definitions/Error"
7890             },
7891             "name": {
7892               "type": "string"
7893             },
7894             "provider-id": {
7895               "type": "string"
7896             },
7897             "subnets": {
7898               "type": "array",
7899               "items": {
7900                 "$ref": "#/definitions/Subnet"
7901               }
7902             }
7903           },
7904           "additionalProperties": false,
7905           "required": [
7906             "name",
7907             "provider-id",
7908             "subnets"
7909           ]
7910         },
7911         "Subnet": {
7912           "type": "object",
7913           "properties": {
7914             "cidr": {
7915               "type": "string"
7916             },
7917             "life": {
7918               "type": "string"
7919             },
7920             "provider-id": {
7921               "type": "string"
7922             },
7923             "space-tag": {
7924               "type": "string"
7925             },
7926             "status": {
7927               "type": "string"
7928             },
7929             "vlan-tag": {
7930               "type": "integer"
7931             },
7932             "zones": {
7933               "type": "array",
7934               "items": {
7935                 "type": "string"
7936               }
7937             }
7938           },
7939           "additionalProperties": false,
7940           "required": [
7941             "cidr",
7942             "vlan-tag",
7943             "life",
7944             "space-tag",
7945             "zones"
7946           ]
7947         },
7948         "SubnetsFilters": {
7949           "type": "object",
7950           "properties": {
7951             "space-tag": {
7952               "type": "string"
7953             },
7954             "zone": {
7955               "type": "string"
7956             }
7957           },
7958           "additionalProperties": false
7959         }
7960       }
7961     }
7962   },
7963   {
7964     "Name": "DiskManager",
7965     "Version": 2,
7966     "Schema": {
7967       "type": "object",
7968       "properties": {
7969         "SetMachineBlockDevices": {
7970           "type": "object",
7971           "properties": {
7972             "Params": {
7973               "$ref": "#/definitions/SetMachineBlockDevices"
7974             },
7975             "Result": {
7976               "$ref": "#/definitions/ErrorResults"
7977             }
7978           }
7979         }
7980       },
7981       "definitions": {
7982         "BlockDevice": {
7983           "type": "object",
7984           "properties": {
7985             "BusAddress": {
7986               "type": "string"
7987             },
7988             "DeviceLinks": {
7989               "type": "array",
7990               "items": {
7991                 "type": "string"
7992               }
7993             },
7994             "DeviceName": {
7995               "type": "string"
7996             },
7997             "FilesystemType": {
7998               "type": "string"
7999             },
8000             "HardwareId": {
8001               "type": "string"
8002             },
8003             "InUse": {
8004               "type": "boolean"
8005             },
8006             "Label": {
8007               "type": "string"
8008             },
8009             "MountPoint": {
8010               "type": "string"
8011             },
8012             "Size": {
8013               "type": "integer"
8014             },
8015             "UUID": {
8016               "type": "string"
8017             }
8018           },
8019           "additionalProperties": false,
8020           "required": [
8021             "DeviceName",
8022             "DeviceLinks",
8023             "Label",
8024             "UUID",
8025             "HardwareId",
8026             "BusAddress",
8027             "Size",
8028             "FilesystemType",
8029             "InUse",
8030             "MountPoint"
8031           ]
8032         },
8033         "Error": {
8034           "type": "object",
8035           "properties": {
8036             "code": {
8037               "type": "string"
8038             },
8039             "info": {
8040               "$ref": "#/definitions/ErrorInfo"
8041             },
8042             "message": {
8043               "type": "string"
8044             }
8045           },
8046           "additionalProperties": false,
8047           "required": [
8048             "message",
8049             "code"
8050           ]
8051         },
8052         "ErrorInfo": {
8053           "type": "object",
8054           "properties": {
8055             "macaroon": {
8056               "$ref": "#/definitions/Macaroon"
8057             },
8058             "macaroon-path": {
8059               "type": "string"
8060             }
8061           },
8062           "additionalProperties": false
8063         },
8064         "ErrorResult": {
8065           "type": "object",
8066           "properties": {
8067             "error": {
8068               "$ref": "#/definitions/Error"
8069             }
8070           },
8071           "additionalProperties": false
8072         },
8073         "ErrorResults": {
8074           "type": "object",
8075           "properties": {
8076             "results": {
8077               "type": "array",
8078               "items": {
8079                 "$ref": "#/definitions/ErrorResult"
8080               }
8081             }
8082           },
8083           "additionalProperties": false,
8084           "required": [
8085             "results"
8086           ]
8087         },
8088         "Macaroon": {
8089           "type": "object",
8090           "additionalProperties": false
8091         },
8092         "MachineBlockDevices": {
8093           "type": "object",
8094           "properties": {
8095             "block-devices": {
8096               "type": "array",
8097               "items": {
8098                 "$ref": "#/definitions/BlockDevice"
8099               }
8100             },
8101             "machine": {
8102               "type": "string"
8103             }
8104           },
8105           "additionalProperties": false,
8106           "required": [
8107             "machine"
8108           ]
8109         },
8110         "SetMachineBlockDevices": {
8111           "type": "object",
8112           "properties": {
8113             "machine-block-devices": {
8114               "type": "array",
8115               "items": {
8116                 "$ref": "#/definitions/MachineBlockDevices"
8117               }
8118             }
8119           },
8120           "additionalProperties": false,
8121           "required": [
8122             "machine-block-devices"
8123           ]
8124         }
8125       }
8126     }
8127   },
8128   {
8129     "Name": "EntityWatcher",
8130     "Version": 2,
8131     "Schema": {
8132       "type": "object",
8133       "properties": {
8134         "Next": {
8135           "type": "object",
8136           "properties": {
8137             "Result": {
8138               "$ref": "#/definitions/EntitiesWatchResult"
8139             }
8140           }
8141         },
8142         "Stop": {
8143           "type": "object"
8144         }
8145       },
8146       "definitions": {
8147         "EntitiesWatchResult": {
8148           "type": "object",
8149           "properties": {
8150             "changes": {
8151               "type": "array",
8152               "items": {
8153                 "type": "string"
8154               }
8155             },
8156             "error": {
8157               "$ref": "#/definitions/Error"
8158             },
8159             "watcher-id": {
8160               "type": "string"
8161             }
8162           },
8163           "additionalProperties": false,
8164           "required": [
8165             "watcher-id"
8166           ]
8167         },
8168         "Error": {
8169           "type": "object",
8170           "properties": {
8171             "code": {
8172               "type": "string"
8173             },
8174             "info": {
8175               "$ref": "#/definitions/ErrorInfo"
8176             },
8177             "message": {
8178               "type": "string"
8179             }
8180           },
8181           "additionalProperties": false,
8182           "required": [
8183             "message",
8184             "code"
8185           ]
8186         },
8187         "ErrorInfo": {
8188           "type": "object",
8189           "properties": {
8190             "macaroon": {
8191               "$ref": "#/definitions/Macaroon"
8192             },
8193             "macaroon-path": {
8194               "type": "string"
8195             }
8196           },
8197           "additionalProperties": false
8198         },
8199         "Macaroon": {
8200           "type": "object",
8201           "additionalProperties": false
8202         }
8203       }
8204     }
8205   },
8206   {
8207     "Name": "FilesystemAttachmentsWatcher",
8208     "Version": 2,
8209     "Schema": {
8210       "type": "object",
8211       "properties": {
8212         "Next": {
8213           "type": "object",
8214           "properties": {
8215             "Result": {
8216               "$ref": "#/definitions/MachineStorageIdsWatchResult"
8217             }
8218           }
8219         },
8220         "Stop": {
8221           "type": "object"
8222         }
8223       },
8224       "definitions": {
8225         "Error": {
8226           "type": "object",
8227           "properties": {
8228             "code": {
8229               "type": "string"
8230             },
8231             "info": {
8232               "$ref": "#/definitions/ErrorInfo"
8233             },
8234             "message": {
8235               "type": "string"
8236             }
8237           },
8238           "additionalProperties": false,
8239           "required": [
8240             "message",
8241             "code"
8242           ]
8243         },
8244         "ErrorInfo": {
8245           "type": "object",
8246           "properties": {
8247             "macaroon": {
8248               "$ref": "#/definitions/Macaroon"
8249             },
8250             "macaroon-path": {
8251               "type": "string"
8252             }
8253           },
8254           "additionalProperties": false
8255         },
8256         "Macaroon": {
8257           "type": "object",
8258           "additionalProperties": false
8259         },
8260         "MachineStorageId": {
8261           "type": "object",
8262           "properties": {
8263             "attachment-tag": {
8264               "type": "string"
8265             },
8266             "machine-tag": {
8267               "type": "string"
8268             }
8269           },
8270           "additionalProperties": false,
8271           "required": [
8272             "machine-tag",
8273             "attachment-tag"
8274           ]
8275         },
8276         "MachineStorageIdsWatchResult": {
8277           "type": "object",
8278           "properties": {
8279             "changes": {
8280               "type": "array",
8281               "items": {
8282                 "$ref": "#/definitions/MachineStorageId"
8283               }
8284             },
8285             "error": {
8286               "$ref": "#/definitions/Error"
8287             },
8288             "watcher-id": {
8289               "type": "string"
8290             }
8291           },
8292           "additionalProperties": false,
8293           "required": [
8294             "watcher-id",
8295             "changes"
8296           ]
8297         }
8298       }
8299     }
8300   },
8301   {
8302     "Name": "Firewaller",
8303     "Version": 3,
8304     "Schema": {
8305       "type": "object",
8306       "properties": {
8307         "CloudSpec": {
8308           "type": "object",
8309           "properties": {
8310             "Params": {
8311               "$ref": "#/definitions/Entities"
8312             },
8313             "Result": {
8314               "$ref": "#/definitions/CloudSpecResults"
8315             }
8316           }
8317         },
8318         "GetAssignedMachine": {
8319           "type": "object",
8320           "properties": {
8321             "Params": {
8322               "$ref": "#/definitions/Entities"
8323             },
8324             "Result": {
8325               "$ref": "#/definitions/StringResults"
8326             }
8327           }
8328         },
8329         "GetCloudSpec": {
8330           "type": "object",
8331           "properties": {
8332             "Params": {
8333               "$ref": "#/definitions/ModelTag"
8334             },
8335             "Result": {
8336               "$ref": "#/definitions/CloudSpecResult"
8337             }
8338           }
8339         },
8340         "GetExposed": {
8341           "type": "object",
8342           "properties": {
8343             "Params": {
8344               "$ref": "#/definitions/Entities"
8345             },
8346             "Result": {
8347               "$ref": "#/definitions/BoolResults"
8348             }
8349           }
8350         },
8351         "GetMachineActiveSubnets": {
8352           "type": "object",
8353           "properties": {
8354             "Params": {
8355               "$ref": "#/definitions/Entities"
8356             },
8357             "Result": {
8358               "$ref": "#/definitions/StringsResults"
8359             }
8360           }
8361         },
8362         "GetMachinePorts": {
8363           "type": "object",
8364           "properties": {
8365             "Params": {
8366               "$ref": "#/definitions/MachinePortsParams"
8367             },
8368             "Result": {
8369               "$ref": "#/definitions/MachinePortsResults"
8370             }
8371           }
8372         },
8373         "InstanceId": {
8374           "type": "object",
8375           "properties": {
8376             "Params": {
8377               "$ref": "#/definitions/Entities"
8378             },
8379             "Result": {
8380               "$ref": "#/definitions/StringResults"
8381             }
8382           }
8383         },
8384         "Life": {
8385           "type": "object",
8386           "properties": {
8387             "Params": {
8388               "$ref": "#/definitions/Entities"
8389             },
8390             "Result": {
8391               "$ref": "#/definitions/LifeResults"
8392             }
8393           }
8394         },
8395         "ModelConfig": {
8396           "type": "object",
8397           "properties": {
8398             "Result": {
8399               "$ref": "#/definitions/ModelConfigResult"
8400             }
8401           }
8402         },
8403         "Watch": {
8404           "type": "object",
8405           "properties": {
8406             "Params": {
8407               "$ref": "#/definitions/Entities"
8408             },
8409             "Result": {
8410               "$ref": "#/definitions/NotifyWatchResults"
8411             }
8412           }
8413         },
8414         "WatchForModelConfigChanges": {
8415           "type": "object",
8416           "properties": {
8417             "Result": {
8418               "$ref": "#/definitions/NotifyWatchResult"
8419             }
8420           }
8421         },
8422         "WatchModelMachines": {
8423           "type": "object",
8424           "properties": {
8425             "Result": {
8426               "$ref": "#/definitions/StringsWatchResult"
8427             }
8428           }
8429         },
8430         "WatchOpenedPorts": {
8431           "type": "object",
8432           "properties": {
8433             "Params": {
8434               "$ref": "#/definitions/Entities"
8435             },
8436             "Result": {
8437               "$ref": "#/definitions/StringsWatchResults"
8438             }
8439           }
8440         },
8441         "WatchUnits": {
8442           "type": "object",
8443           "properties": {
8444             "Params": {
8445               "$ref": "#/definitions/Entities"
8446             },
8447             "Result": {
8448               "$ref": "#/definitions/StringsWatchResults"
8449             }
8450           }
8451         }
8452       },
8453       "definitions": {
8454         "BoolResult": {
8455           "type": "object",
8456           "properties": {
8457             "error": {
8458               "$ref": "#/definitions/Error"
8459             },
8460             "result": {
8461               "type": "boolean"
8462             }
8463           },
8464           "additionalProperties": false,
8465           "required": [
8466             "result"
8467           ]
8468         },
8469         "BoolResults": {
8470           "type": "object",
8471           "properties": {
8472             "results": {
8473               "type": "array",
8474               "items": {
8475                 "$ref": "#/definitions/BoolResult"
8476               }
8477             }
8478           },
8479           "additionalProperties": false,
8480           "required": [
8481             "results"
8482           ]
8483         },
8484         "CloudCredential": {
8485           "type": "object",
8486           "properties": {
8487             "attrs": {
8488               "type": "object",
8489               "patternProperties": {
8490                 ".*": {
8491                   "type": "string"
8492                 }
8493               }
8494             },
8495             "auth-type": {
8496               "type": "string"
8497             },
8498             "redacted": {
8499               "type": "array",
8500               "items": {
8501                 "type": "string"
8502               }
8503             }
8504           },
8505           "additionalProperties": false,
8506           "required": [
8507             "auth-type"
8508           ]
8509         },
8510         "CloudSpec": {
8511           "type": "object",
8512           "properties": {
8513             "credential": {
8514               "$ref": "#/definitions/CloudCredential"
8515             },
8516             "endpoint": {
8517               "type": "string"
8518             },
8519             "identity-endpoint": {
8520               "type": "string"
8521             },
8522             "name": {
8523               "type": "string"
8524             },
8525             "region": {
8526               "type": "string"
8527             },
8528             "storage-endpoint": {
8529               "type": "string"
8530             },
8531             "type": {
8532               "type": "string"
8533             }
8534           },
8535           "additionalProperties": false,
8536           "required": [
8537             "type",
8538             "name"
8539           ]
8540         },
8541         "CloudSpecResult": {
8542           "type": "object",
8543           "properties": {
8544             "error": {
8545               "$ref": "#/definitions/Error"
8546             },
8547             "result": {
8548               "$ref": "#/definitions/CloudSpec"
8549             }
8550           },
8551           "additionalProperties": false
8552         },
8553         "CloudSpecResults": {
8554           "type": "object",
8555           "properties": {
8556             "results": {
8557               "type": "array",
8558               "items": {
8559                 "$ref": "#/definitions/CloudSpecResult"
8560               }
8561             }
8562           },
8563           "additionalProperties": false
8564         },
8565         "Entities": {
8566           "type": "object",
8567           "properties": {
8568             "entities": {
8569               "type": "array",
8570               "items": {
8571                 "$ref": "#/definitions/Entity"
8572               }
8573             }
8574           },
8575           "additionalProperties": false,
8576           "required": [
8577             "entities"
8578           ]
8579         },
8580         "Entity": {
8581           "type": "object",
8582           "properties": {
8583             "tag": {
8584               "type": "string"
8585             }
8586           },
8587           "additionalProperties": false,
8588           "required": [
8589             "tag"
8590           ]
8591         },
8592         "Error": {
8593           "type": "object",
8594           "properties": {
8595             "code": {
8596               "type": "string"
8597             },
8598             "info": {
8599               "$ref": "#/definitions/ErrorInfo"
8600             },
8601             "message": {
8602               "type": "string"
8603             }
8604           },
8605           "additionalProperties": false,
8606           "required": [
8607             "message",
8608             "code"
8609           ]
8610         },
8611         "ErrorInfo": {
8612           "type": "object",
8613           "properties": {
8614             "macaroon": {
8615               "$ref": "#/definitions/Macaroon"
8616             },
8617             "macaroon-path": {
8618               "type": "string"
8619             }
8620           },
8621           "additionalProperties": false
8622         },
8623         "LifeResult": {
8624           "type": "object",
8625           "properties": {
8626             "error": {
8627               "$ref": "#/definitions/Error"
8628             },
8629             "life": {
8630               "type": "string"
8631             }
8632           },
8633           "additionalProperties": false,
8634           "required": [
8635             "life"
8636           ]
8637         },
8638         "LifeResults": {
8639           "type": "object",
8640           "properties": {
8641             "results": {
8642               "type": "array",
8643               "items": {
8644                 "$ref": "#/definitions/LifeResult"
8645               }
8646             }
8647           },
8648           "additionalProperties": false,
8649           "required": [
8650             "results"
8651           ]
8652         },
8653         "Macaroon": {
8654           "type": "object",
8655           "additionalProperties": false
8656         },
8657         "MachinePortRange": {
8658           "type": "object",
8659           "properties": {
8660             "port-range": {
8661               "$ref": "#/definitions/PortRange"
8662             },
8663             "relation-tag": {
8664               "type": "string"
8665             },
8666             "unit-tag": {
8667               "type": "string"
8668             }
8669           },
8670           "additionalProperties": false,
8671           "required": [
8672             "unit-tag",
8673             "relation-tag",
8674             "port-range"
8675           ]
8676         },
8677         "MachinePorts": {
8678           "type": "object",
8679           "properties": {
8680             "machine-tag": {
8681               "type": "string"
8682             },
8683             "subnet-tag": {
8684               "type": "string"
8685             }
8686           },
8687           "additionalProperties": false,
8688           "required": [
8689             "machine-tag",
8690             "subnet-tag"
8691           ]
8692         },
8693         "MachinePortsParams": {
8694           "type": "object",
8695           "properties": {
8696             "params": {
8697               "type": "array",
8698               "items": {
8699                 "$ref": "#/definitions/MachinePorts"
8700               }
8701             }
8702           },
8703           "additionalProperties": false,
8704           "required": [
8705             "params"
8706           ]
8707         },
8708         "MachinePortsResult": {
8709           "type": "object",
8710           "properties": {
8711             "error": {
8712               "$ref": "#/definitions/Error"
8713             },
8714             "ports": {
8715               "type": "array",
8716               "items": {
8717                 "$ref": "#/definitions/MachinePortRange"
8718               }
8719             }
8720           },
8721           "additionalProperties": false,
8722           "required": [
8723             "ports"
8724           ]
8725         },
8726         "MachinePortsResults": {
8727           "type": "object",
8728           "properties": {
8729             "results": {
8730               "type": "array",
8731               "items": {
8732                 "$ref": "#/definitions/MachinePortsResult"
8733               }
8734             }
8735           },
8736           "additionalProperties": false,
8737           "required": [
8738             "results"
8739           ]
8740         },
8741         "ModelConfigResult": {
8742           "type": "object",
8743           "properties": {
8744             "config": {
8745               "type": "object",
8746               "patternProperties": {
8747                 ".*": {
8748                   "type": "object",
8749                   "additionalProperties": true
8750                 }
8751               }
8752             }
8753           },
8754           "additionalProperties": false,
8755           "required": [
8756             "config"
8757           ]
8758         },
8759         "ModelTag": {
8760           "type": "object",
8761           "additionalProperties": false
8762         },
8763         "NotifyWatchResult": {
8764           "type": "object",
8765           "properties": {
8766             "NotifyWatcherId": {
8767               "type": "string"
8768             },
8769             "error": {
8770               "$ref": "#/definitions/Error"
8771             }
8772           },
8773           "additionalProperties": false,
8774           "required": [
8775             "NotifyWatcherId"
8776           ]
8777         },
8778         "NotifyWatchResults": {
8779           "type": "object",
8780           "properties": {
8781             "results": {
8782               "type": "array",
8783               "items": {
8784                 "$ref": "#/definitions/NotifyWatchResult"
8785               }
8786             }
8787           },
8788           "additionalProperties": false,
8789           "required": [
8790             "results"
8791           ]
8792         },
8793         "PortRange": {
8794           "type": "object",
8795           "properties": {
8796             "from-port": {
8797               "type": "integer"
8798             },
8799             "protocol": {
8800               "type": "string"
8801             },
8802             "to-port": {
8803               "type": "integer"
8804             }
8805           },
8806           "additionalProperties": false,
8807           "required": [
8808             "from-port",
8809             "to-port",
8810             "protocol"
8811           ]
8812         },
8813         "StringResult": {
8814           "type": "object",
8815           "properties": {
8816             "error": {
8817               "$ref": "#/definitions/Error"
8818             },
8819             "result": {
8820               "type": "string"
8821             }
8822           },
8823           "additionalProperties": false,
8824           "required": [
8825             "result"
8826           ]
8827         },
8828         "StringResults": {
8829           "type": "object",
8830           "properties": {
8831             "results": {
8832               "type": "array",
8833               "items": {
8834                 "$ref": "#/definitions/StringResult"
8835               }
8836             }
8837           },
8838           "additionalProperties": false,
8839           "required": [
8840             "results"
8841           ]
8842         },
8843         "StringsResult": {
8844           "type": "object",
8845           "properties": {
8846             "error": {
8847               "$ref": "#/definitions/Error"
8848             },
8849             "result": {
8850               "type": "array",
8851               "items": {
8852                 "type": "string"
8853               }
8854             }
8855           },
8856           "additionalProperties": false
8857         },
8858         "StringsResults": {
8859           "type": "object",
8860           "properties": {
8861             "results": {
8862               "type": "array",
8863               "items": {
8864                 "$ref": "#/definitions/StringsResult"
8865               }
8866             }
8867           },
8868           "additionalProperties": false,
8869           "required": [
8870             "results"
8871           ]
8872         },
8873         "StringsWatchResult": {
8874           "type": "object",
8875           "properties": {
8876             "changes": {
8877               "type": "array",
8878               "items": {
8879                 "type": "string"
8880               }
8881             },
8882             "error": {
8883               "$ref": "#/definitions/Error"
8884             },
8885             "watcher-id": {
8886               "type": "string"
8887             }
8888           },
8889           "additionalProperties": false,
8890           "required": [
8891             "watcher-id"
8892           ]
8893         },
8894         "StringsWatchResults": {
8895           "type": "object",
8896           "properties": {
8897             "results": {
8898               "type": "array",
8899               "items": {
8900                 "$ref": "#/definitions/StringsWatchResult"
8901               }
8902             }
8903           },
8904           "additionalProperties": false,
8905           "required": [
8906             "results"
8907           ]
8908         }
8909       }
8910     }
8911   },
8912   {
8913     "Name": "HighAvailability",
8914     "Version": 2,
8915     "Schema": {
8916       "type": "object",
8917       "properties": {
8918         "EnableHA": {
8919           "type": "object",
8920           "properties": {
8921             "Params": {
8922               "$ref": "#/definitions/ControllersSpecs"
8923             },
8924             "Result": {
8925               "$ref": "#/definitions/ControllersChangeResults"
8926             }
8927           }
8928         },
8929         "ResumeHAReplicationAfterUpgrade": {
8930           "type": "object",
8931           "properties": {
8932             "Params": {
8933               "$ref": "#/definitions/ResumeReplicationParams"
8934             }
8935           }
8936         },
8937         "StopHAReplicationForUpgrade": {
8938           "type": "object",
8939           "properties": {
8940             "Params": {
8941               "$ref": "#/definitions/UpgradeMongoParams"
8942             },
8943             "Result": {
8944               "$ref": "#/definitions/MongoUpgradeResults"
8945             }
8946           }
8947         }
8948       },
8949       "definitions": {
8950         "Address": {
8951           "type": "object",
8952           "properties": {
8953             "Scope": {
8954               "type": "string"
8955             },
8956             "SpaceName": {
8957               "type": "string"
8958             },
8959             "SpaceProviderId": {
8960               "type": "string"
8961             },
8962             "Type": {
8963               "type": "string"
8964             },
8965             "Value": {
8966               "type": "string"
8967             }
8968           },
8969           "additionalProperties": false,
8970           "required": [
8971             "Value",
8972             "Type",
8973             "Scope",
8974             "SpaceName",
8975             "SpaceProviderId"
8976           ]
8977         },
8978         "ControllersChangeResult": {
8979           "type": "object",
8980           "properties": {
8981             "error": {
8982               "$ref": "#/definitions/Error"
8983             },
8984             "result": {
8985               "$ref": "#/definitions/ControllersChanges"
8986             }
8987           },
8988           "additionalProperties": false,
8989           "required": [
8990             "result"
8991           ]
8992         },
8993         "ControllersChangeResults": {
8994           "type": "object",
8995           "properties": {
8996             "results": {
8997               "type": "array",
8998               "items": {
8999                 "$ref": "#/definitions/ControllersChangeResult"
9000               }
9001             }
9002           },
9003           "additionalProperties": false,
9004           "required": [
9005             "results"
9006           ]
9007         },
9008         "ControllersChanges": {
9009           "type": "object",
9010           "properties": {
9011             "added": {
9012               "type": "array",
9013               "items": {
9014                 "type": "string"
9015               }
9016             },
9017             "converted": {
9018               "type": "array",
9019               "items": {
9020                 "type": "string"
9021               }
9022             },
9023             "demoted": {
9024               "type": "array",
9025               "items": {
9026                 "type": "string"
9027               }
9028             },
9029             "maintained": {
9030               "type": "array",
9031               "items": {
9032                 "type": "string"
9033               }
9034             },
9035             "promoted": {
9036               "type": "array",
9037               "items": {
9038                 "type": "string"
9039               }
9040             },
9041             "removed": {
9042               "type": "array",
9043               "items": {
9044                 "type": "string"
9045               }
9046             }
9047           },
9048           "additionalProperties": false
9049         },
9050         "ControllersSpec": {
9051           "type": "object",
9052           "properties": {
9053             "constraints": {
9054               "$ref": "#/definitions/Value"
9055             },
9056             "num-controllers": {
9057               "type": "integer"
9058             },
9059             "placement": {
9060               "type": "array",
9061               "items": {
9062                 "type": "string"
9063               }
9064             },
9065             "series": {
9066               "type": "string"
9067             }
9068           },
9069           "additionalProperties": false,
9070           "required": [
9071             "num-controllers"
9072           ]
9073         },
9074         "ControllersSpecs": {
9075           "type": "object",
9076           "properties": {
9077             "specs": {
9078               "type": "array",
9079               "items": {
9080                 "$ref": "#/definitions/ControllersSpec"
9081               }
9082             }
9083           },
9084           "additionalProperties": false,
9085           "required": [
9086             "specs"
9087           ]
9088         },
9089         "Error": {
9090           "type": "object",
9091           "properties": {
9092             "code": {
9093               "type": "string"
9094             },
9095             "info": {
9096               "$ref": "#/definitions/ErrorInfo"
9097             },
9098             "message": {
9099               "type": "string"
9100             }
9101           },
9102           "additionalProperties": false,
9103           "required": [
9104             "message",
9105             "code"
9106           ]
9107         },
9108         "ErrorInfo": {
9109           "type": "object",
9110           "properties": {
9111             "macaroon": {
9112               "$ref": "#/definitions/Macaroon"
9113             },
9114             "macaroon-path": {
9115               "type": "string"
9116             }
9117           },
9118           "additionalProperties": false
9119         },
9120         "HAMember": {
9121           "type": "object",
9122           "properties": {
9123             "public-address": {
9124               "$ref": "#/definitions/Address"
9125             },
9126             "series": {
9127               "type": "string"
9128             },
9129             "tag": {
9130               "type": "string"
9131             }
9132           },
9133           "additionalProperties": false,
9134           "required": [
9135             "tag",
9136             "public-address",
9137             "series"
9138           ]
9139         },
9140         "Macaroon": {
9141           "type": "object",
9142           "additionalProperties": false
9143         },
9144         "Member": {
9145           "type": "object",
9146           "properties": {
9147             "Address": {
9148               "type": "string"
9149             },
9150             "Arbiter": {
9151               "type": "boolean"
9152             },
9153             "BuildIndexes": {
9154               "type": "boolean"
9155             },
9156             "Hidden": {
9157               "type": "boolean"
9158             },
9159             "Id": {
9160               "type": "integer"
9161             },
9162             "Priority": {
9163               "type": "number"
9164             },
9165             "SlaveDelay": {
9166               "type": "integer"
9167             },
9168             "Tags": {
9169               "type": "object",
9170               "patternProperties": {
9171                 ".*": {
9172                   "type": "string"
9173                 }
9174               }
9175             },
9176             "Votes": {
9177               "type": "integer"
9178             }
9179           },
9180           "additionalProperties": false,
9181           "required": [
9182             "Id",
9183             "Address",
9184             "Arbiter",
9185             "BuildIndexes",
9186             "Hidden",
9187             "Priority",
9188             "Tags",
9189             "SlaveDelay",
9190             "Votes"
9191           ]
9192         },
9193         "MongoUpgradeResults": {
9194           "type": "object",
9195           "properties": {
9196             "ha-members": {
9197               "type": "array",
9198               "items": {
9199                 "$ref": "#/definitions/HAMember"
9200               }
9201             },
9202             "master": {
9203               "$ref": "#/definitions/HAMember"
9204             },
9205             "rs-members": {
9206               "type": "array",
9207               "items": {
9208                 "$ref": "#/definitions/Member"
9209               }
9210             }
9211           },
9212           "additionalProperties": false,
9213           "required": [
9214             "rs-members",
9215             "master",
9216             "ha-members"
9217           ]
9218         },
9219         "MongoVersion": {
9220           "type": "object",
9221           "properties": {
9222             "engine": {
9223               "type": "string"
9224             },
9225             "major": {
9226               "type": "integer"
9227             },
9228             "minor": {
9229               "type": "integer"
9230             },
9231             "patch": {
9232               "type": "string"
9233             }
9234           },
9235           "additionalProperties": false,
9236           "required": [
9237             "major",
9238             "minor",
9239             "patch",
9240             "engine"
9241           ]
9242         },
9243         "ResumeReplicationParams": {
9244           "type": "object",
9245           "properties": {
9246             "members": {
9247               "type": "array",
9248               "items": {
9249                 "$ref": "#/definitions/Member"
9250               }
9251             }
9252           },
9253           "additionalProperties": false,
9254           "required": [
9255             "members"
9256           ]
9257         },
9258         "UpgradeMongoParams": {
9259           "type": "object",
9260           "properties": {
9261             "target": {
9262               "$ref": "#/definitions/MongoVersion"
9263             }
9264           },
9265           "additionalProperties": false,
9266           "required": [
9267             "target"
9268           ]
9269         },
9270         "Value": {
9271           "type": "object",
9272           "properties": {
9273             "arch": {
9274               "type": "string"
9275             },
9276             "container": {
9277               "type": "string"
9278             },
9279             "cores": {
9280               "type": "integer"
9281             },
9282             "cpu-power": {
9283               "type": "integer"
9284             },
9285             "instance-type": {
9286               "type": "string"
9287             },
9288             "mem": {
9289               "type": "integer"
9290             },
9291             "root-disk": {
9292               "type": "integer"
9293             },
9294             "spaces": {
9295               "type": "array",
9296               "items": {
9297                 "type": "string"
9298               }
9299             },
9300             "tags": {
9301               "type": "array",
9302               "items": {
9303                 "type": "string"
9304               }
9305             },
9306             "virt-type": {
9307               "type": "string"
9308             }
9309           },
9310           "additionalProperties": false
9311         }
9312       }
9313     }
9314   },
9315   {
9316     "Name": "HostKeyReporter",
9317     "Version": 1,
9318     "Schema": {
9319       "type": "object",
9320       "properties": {
9321         "ReportKeys": {
9322           "type": "object",
9323           "properties": {
9324             "Params": {
9325               "$ref": "#/definitions/SSHHostKeySet"
9326             },
9327             "Result": {
9328               "$ref": "#/definitions/ErrorResults"
9329             }
9330           }
9331         }
9332       },
9333       "definitions": {
9334         "Error": {
9335           "type": "object",
9336           "properties": {
9337             "code": {
9338               "type": "string"
9339             },
9340             "info": {
9341               "$ref": "#/definitions/ErrorInfo"
9342             },
9343             "message": {
9344               "type": "string"
9345             }
9346           },
9347           "additionalProperties": false,
9348           "required": [
9349             "message",
9350             "code"
9351           ]
9352         },
9353         "ErrorInfo": {
9354           "type": "object",
9355           "properties": {
9356             "macaroon": {
9357               "$ref": "#/definitions/Macaroon"
9358             },
9359             "macaroon-path": {
9360               "type": "string"
9361             }
9362           },
9363           "additionalProperties": false
9364         },
9365         "ErrorResult": {
9366           "type": "object",
9367           "properties": {
9368             "error": {
9369               "$ref": "#/definitions/Error"
9370             }
9371           },
9372           "additionalProperties": false
9373         },
9374         "ErrorResults": {
9375           "type": "object",
9376           "properties": {
9377             "results": {
9378               "type": "array",
9379               "items": {
9380                 "$ref": "#/definitions/ErrorResult"
9381               }
9382             }
9383           },
9384           "additionalProperties": false,
9385           "required": [
9386             "results"
9387           ]
9388         },
9389         "Macaroon": {
9390           "type": "object",
9391           "additionalProperties": false
9392         },
9393         "SSHHostKeySet": {
9394           "type": "object",
9395           "properties": {
9396             "entity-keys": {
9397               "type": "array",
9398               "items": {
9399                 "$ref": "#/definitions/SSHHostKeys"
9400               }
9401             }
9402           },
9403           "additionalProperties": false,
9404           "required": [
9405             "entity-keys"
9406           ]
9407         },
9408         "SSHHostKeys": {
9409           "type": "object",
9410           "properties": {
9411             "public-keys": {
9412               "type": "array",
9413               "items": {
9414                 "type": "string"
9415               }
9416             },
9417             "tag": {
9418               "type": "string"
9419             }
9420           },
9421           "additionalProperties": false,
9422           "required": [
9423             "tag",
9424             "public-keys"
9425           ]
9426         }
9427       }
9428     }
9429   },
9430   {
9431     "Name": "ImageManager",
9432     "Version": 2,
9433     "Schema": {
9434       "type": "object",
9435       "properties": {
9436         "DeleteImages": {
9437           "type": "object",
9438           "properties": {
9439             "Params": {
9440               "$ref": "#/definitions/ImageFilterParams"
9441             },
9442             "Result": {
9443               "$ref": "#/definitions/ErrorResults"
9444             }
9445           }
9446         },
9447         "ListImages": {
9448           "type": "object",
9449           "properties": {
9450             "Params": {
9451               "$ref": "#/definitions/ImageFilterParams"
9452             },
9453             "Result": {
9454               "$ref": "#/definitions/ListImageResult"
9455             }
9456           }
9457         }
9458       },
9459       "definitions": {
9460         "Error": {
9461           "type": "object",
9462           "properties": {
9463             "code": {
9464               "type": "string"
9465             },
9466             "info": {
9467               "$ref": "#/definitions/ErrorInfo"
9468             },
9469             "message": {
9470               "type": "string"
9471             }
9472           },
9473           "additionalProperties": false,
9474           "required": [
9475             "message",
9476             "code"
9477           ]
9478         },
9479         "ErrorInfo": {
9480           "type": "object",
9481           "properties": {
9482             "macaroon": {
9483               "$ref": "#/definitions/Macaroon"
9484             },
9485             "macaroon-path": {
9486               "type": "string"
9487             }
9488           },
9489           "additionalProperties": false
9490         },
9491         "ErrorResult": {
9492           "type": "object",
9493           "properties": {
9494             "error": {
9495               "$ref": "#/definitions/Error"
9496             }
9497           },
9498           "additionalProperties": false
9499         },
9500         "ErrorResults": {
9501           "type": "object",
9502           "properties": {
9503             "results": {
9504               "type": "array",
9505               "items": {
9506                 "$ref": "#/definitions/ErrorResult"
9507               }
9508             }
9509           },
9510           "additionalProperties": false,
9511           "required": [
9512             "results"
9513           ]
9514         },
9515         "ImageFilterParams": {
9516           "type": "object",
9517           "properties": {
9518             "images": {
9519               "type": "array",
9520               "items": {
9521                 "$ref": "#/definitions/ImageSpec"
9522               }
9523             }
9524           },
9525           "additionalProperties": false,
9526           "required": [
9527             "images"
9528           ]
9529         },
9530         "ImageMetadata": {
9531           "type": "object",
9532           "properties": {
9533             "arch": {
9534               "type": "string"
9535             },
9536             "created": {
9537               "type": "string",
9538               "format": "date-time"
9539             },
9540             "kind": {
9541               "type": "string"
9542             },
9543             "series": {
9544               "type": "string"
9545             },
9546             "url": {
9547               "type": "string"
9548             }
9549           },
9550           "additionalProperties": false,
9551           "required": [
9552             "kind",
9553             "arch",
9554             "series",
9555             "url",
9556             "created"
9557           ]
9558         },
9559         "ImageSpec": {
9560           "type": "object",
9561           "properties": {
9562             "arch": {
9563               "type": "string"
9564             },
9565             "kind": {
9566               "type": "string"
9567             },
9568             "series": {
9569               "type": "string"
9570             }
9571           },
9572           "additionalProperties": false,
9573           "required": [
9574             "kind",
9575             "arch",
9576             "series"
9577           ]
9578         },
9579         "ListImageResult": {
9580           "type": "object",
9581           "properties": {
9582             "result": {
9583               "type": "array",
9584               "items": {
9585                 "$ref": "#/definitions/ImageMetadata"
9586               }
9587             }
9588           },
9589           "additionalProperties": false,
9590           "required": [
9591             "result"
9592           ]
9593         },
9594         "Macaroon": {
9595           "type": "object",
9596           "additionalProperties": false
9597         }
9598       }
9599     }
9600   },
9601   {
9602     "Name": "ImageMetadata",
9603     "Version": 2,
9604     "Schema": {
9605       "type": "object",
9606       "properties": {
9607         "Delete": {
9608           "type": "object",
9609           "properties": {
9610             "Params": {
9611               "$ref": "#/definitions/MetadataImageIds"
9612             },
9613             "Result": {
9614               "$ref": "#/definitions/ErrorResults"
9615             }
9616           }
9617         },
9618         "List": {
9619           "type": "object",
9620           "properties": {
9621             "Params": {
9622               "$ref": "#/definitions/ImageMetadataFilter"
9623             },
9624             "Result": {
9625               "$ref": "#/definitions/ListCloudImageMetadataResult"
9626             }
9627           }
9628         },
9629         "Save": {
9630           "type": "object",
9631           "properties": {
9632             "Params": {
9633               "$ref": "#/definitions/MetadataSaveParams"
9634             },
9635             "Result": {
9636               "$ref": "#/definitions/ErrorResults"
9637             }
9638           }
9639         },
9640         "UpdateFromPublishedImages": {
9641           "type": "object"
9642         }
9643       },
9644       "definitions": {
9645         "CloudImageMetadata": {
9646           "type": "object",
9647           "properties": {
9648             "arch": {
9649               "type": "string"
9650             },
9651             "image-id": {
9652               "type": "string"
9653             },
9654             "priority": {
9655               "type": "integer"
9656             },
9657             "region": {
9658               "type": "string"
9659             },
9660             "root-storage-size": {
9661               "type": "integer"
9662             },
9663             "root-storage-type": {
9664               "type": "string"
9665             },
9666             "series": {
9667               "type": "string"
9668             },
9669             "source": {
9670               "type": "string"
9671             },
9672             "stream": {
9673               "type": "string"
9674             },
9675             "version": {
9676               "type": "string"
9677             },
9678             "virt-type": {
9679               "type": "string"
9680             }
9681           },
9682           "additionalProperties": false,
9683           "required": [
9684             "image-id",
9685             "region",
9686             "version",
9687             "series",
9688             "arch",
9689             "source",
9690             "priority"
9691           ]
9692         },
9693         "CloudImageMetadataList": {
9694           "type": "object",
9695           "properties": {
9696             "metadata": {
9697               "type": "array",
9698               "items": {
9699                 "$ref": "#/definitions/CloudImageMetadata"
9700               }
9701             }
9702           },
9703           "additionalProperties": false
9704         },
9705         "Error": {
9706           "type": "object",
9707           "properties": {
9708             "code": {
9709               "type": "string"
9710             },
9711             "info": {
9712               "$ref": "#/definitions/ErrorInfo"
9713             },
9714             "message": {
9715               "type": "string"
9716             }
9717           },
9718           "additionalProperties": false,
9719           "required": [
9720             "message",
9721             "code"
9722           ]
9723         },
9724         "ErrorInfo": {
9725           "type": "object",
9726           "properties": {
9727             "macaroon": {
9728               "$ref": "#/definitions/Macaroon"
9729             },
9730             "macaroon-path": {
9731               "type": "string"
9732             }
9733           },
9734           "additionalProperties": false
9735         },
9736         "ErrorResult": {
9737           "type": "object",
9738           "properties": {
9739             "error": {
9740               "$ref": "#/definitions/Error"
9741             }
9742           },
9743           "additionalProperties": false
9744         },
9745         "ErrorResults": {
9746           "type": "object",
9747           "properties": {
9748             "results": {
9749               "type": "array",
9750               "items": {
9751                 "$ref": "#/definitions/ErrorResult"
9752               }
9753             }
9754           },
9755           "additionalProperties": false,
9756           "required": [
9757             "results"
9758           ]
9759         },
9760         "ImageMetadataFilter": {
9761           "type": "object",
9762           "properties": {
9763             "arches": {
9764               "type": "array",
9765               "items": {
9766                 "type": "string"
9767               }
9768             },
9769             "region": {
9770               "type": "string"
9771             },
9772             "root-storage-type": {
9773               "type": "string"
9774             },
9775             "series": {
9776               "type": "array",
9777               "items": {
9778                 "type": "string"
9779               }
9780             },
9781             "stream": {
9782               "type": "string"
9783             },
9784             "virt-type": {
9785               "type": "string"
9786             }
9787           },
9788           "additionalProperties": false
9789         },
9790         "ListCloudImageMetadataResult": {
9791           "type": "object",
9792           "properties": {
9793             "result": {
9794               "type": "array",
9795               "items": {
9796                 "$ref": "#/definitions/CloudImageMetadata"
9797               }
9798             }
9799           },
9800           "additionalProperties": false,
9801           "required": [
9802             "result"
9803           ]
9804         },
9805         "Macaroon": {
9806           "type": "object",
9807           "additionalProperties": false
9808         },
9809         "MetadataImageIds": {
9810           "type": "object",
9811           "properties": {
9812             "image-ids": {
9813               "type": "array",
9814               "items": {
9815                 "type": "string"
9816               }
9817             }
9818           },
9819           "additionalProperties": false,
9820           "required": [
9821             "image-ids"
9822           ]
9823         },
9824         "MetadataSaveParams": {
9825           "type": "object",
9826           "properties": {
9827             "metadata": {
9828               "type": "array",
9829               "items": {
9830                 "$ref": "#/definitions/CloudImageMetadataList"
9831               }
9832             }
9833           },
9834           "additionalProperties": false
9835         }
9836       }
9837     }
9838   },
9839   {
9840     "Name": "InstancePoller",
9841     "Version": 3,
9842     "Schema": {
9843       "type": "object",
9844       "properties": {
9845         "AreManuallyProvisioned": {
9846           "type": "object",
9847           "properties": {
9848             "Params": {
9849               "$ref": "#/definitions/Entities"
9850             },
9851             "Result": {
9852               "$ref": "#/definitions/BoolResults"
9853             }
9854           }
9855         },
9856         "InstanceId": {
9857           "type": "object",
9858           "properties": {
9859             "Params": {
9860               "$ref": "#/definitions/Entities"
9861             },
9862             "Result": {
9863               "$ref": "#/definitions/StringResults"
9864             }
9865           }
9866         },
9867         "InstanceStatus": {
9868           "type": "object",
9869           "properties": {
9870             "Params": {
9871               "$ref": "#/definitions/Entities"
9872             },
9873             "Result": {
9874               "$ref": "#/definitions/StatusResults"
9875             }
9876           }
9877         },
9878         "Life": {
9879           "type": "object",
9880           "properties": {
9881             "Params": {
9882               "$ref": "#/definitions/Entities"
9883             },
9884             "Result": {
9885               "$ref": "#/definitions/LifeResults"
9886             }
9887           }
9888         },
9889         "ModelConfig": {
9890           "type": "object",
9891           "properties": {
9892             "Result": {
9893               "$ref": "#/definitions/ModelConfigResult"
9894             }
9895           }
9896         },
9897         "ProviderAddresses": {
9898           "type": "object",
9899           "properties": {
9900             "Params": {
9901               "$ref": "#/definitions/Entities"
9902             },
9903             "Result": {
9904               "$ref": "#/definitions/MachineAddressesResults"
9905             }
9906           }
9907         },
9908         "SetInstanceStatus": {
9909           "type": "object",
9910           "properties": {
9911             "Params": {
9912               "$ref": "#/definitions/SetStatus"
9913             },
9914             "Result": {
9915               "$ref": "#/definitions/ErrorResults"
9916             }
9917           }
9918         },
9919         "SetProviderAddresses": {
9920           "type": "object",
9921           "properties": {
9922             "Params": {
9923               "$ref": "#/definitions/SetMachinesAddresses"
9924             },
9925             "Result": {
9926               "$ref": "#/definitions/ErrorResults"
9927             }
9928           }
9929         },
9930         "Status": {
9931           "type": "object",
9932           "properties": {
9933             "Params": {
9934               "$ref": "#/definitions/Entities"
9935             },
9936             "Result": {
9937               "$ref": "#/definitions/StatusResults"
9938             }
9939           }
9940         },
9941         "WatchForModelConfigChanges": {
9942           "type": "object",
9943           "properties": {
9944             "Result": {
9945               "$ref": "#/definitions/NotifyWatchResult"
9946             }
9947           }
9948         },
9949         "WatchModelMachines": {
9950           "type": "object",
9951           "properties": {
9952             "Result": {
9953               "$ref": "#/definitions/StringsWatchResult"
9954             }
9955           }
9956         }
9957       },
9958       "definitions": {
9959         "Address": {
9960           "type": "object",
9961           "properties": {
9962             "scope": {
9963               "type": "string"
9964             },
9965             "space-name": {
9966               "type": "string"
9967             },
9968             "type": {
9969               "type": "string"
9970             },
9971             "value": {
9972               "type": "string"
9973             }
9974           },
9975           "additionalProperties": false,
9976           "required": [
9977             "value",
9978             "type",
9979             "scope"
9980           ]
9981         },
9982         "BoolResult": {
9983           "type": "object",
9984           "properties": {
9985             "error": {
9986               "$ref": "#/definitions/Error"
9987             },
9988             "result": {
9989               "type": "boolean"
9990             }
9991           },
9992           "additionalProperties": false,
9993           "required": [
9994             "result"
9995           ]
9996         },
9997         "BoolResults": {
9998           "type": "object",
9999           "properties": {
10000             "results": {
10001               "type": "array",
10002               "items": {
10003                 "$ref": "#/definitions/BoolResult"
10004               }
10005             }
10006           },
10007           "additionalProperties": false,
10008           "required": [
10009             "results"
10010           ]
10011         },
10012         "Entities": {
10013           "type": "object",
10014           "properties": {
10015             "entities": {
10016               "type": "array",
10017               "items": {
10018                 "$ref": "#/definitions/Entity"
10019               }
10020             }
10021           },
10022           "additionalProperties": false,
10023           "required": [
10024             "entities"
10025           ]
10026         },
10027         "Entity": {
10028           "type": "object",
10029           "properties": {
10030             "tag": {
10031               "type": "string"
10032             }
10033           },
10034           "additionalProperties": false,
10035           "required": [
10036             "tag"
10037           ]
10038         },
10039         "EntityStatusArgs": {
10040           "type": "object",
10041           "properties": {
10042             "data": {
10043               "type": "object",
10044               "patternProperties": {
10045                 ".*": {
10046                   "type": "object",
10047                   "additionalProperties": true
10048                 }
10049               }
10050             },
10051             "info": {
10052               "type": "string"
10053             },
10054             "status": {
10055               "type": "string"
10056             },
10057             "tag": {
10058               "type": "string"
10059             }
10060           },
10061           "additionalProperties": false,
10062           "required": [
10063             "tag",
10064             "status",
10065             "info",
10066             "data"
10067           ]
10068         },
10069         "Error": {
10070           "type": "object",
10071           "properties": {
10072             "code": {
10073               "type": "string"
10074             },
10075             "info": {
10076               "$ref": "#/definitions/ErrorInfo"
10077             },
10078             "message": {
10079               "type": "string"
10080             }
10081           },
10082           "additionalProperties": false,
10083           "required": [
10084             "message",
10085             "code"
10086           ]
10087         },
10088         "ErrorInfo": {
10089           "type": "object",
10090           "properties": {
10091             "macaroon": {
10092               "$ref": "#/definitions/Macaroon"
10093             },
10094             "macaroon-path": {
10095               "type": "string"
10096             }
10097           },
10098           "additionalProperties": false
10099         },
10100         "ErrorResult": {
10101           "type": "object",
10102           "properties": {
10103             "error": {
10104               "$ref": "#/definitions/Error"
10105             }
10106           },
10107           "additionalProperties": false
10108         },
10109         "ErrorResults": {
10110           "type": "object",
10111           "properties": {
10112             "results": {
10113               "type": "array",
10114               "items": {
10115                 "$ref": "#/definitions/ErrorResult"
10116               }
10117             }
10118           },
10119           "additionalProperties": false,
10120           "required": [
10121             "results"
10122           ]
10123         },
10124         "LifeResult": {
10125           "type": "object",
10126           "properties": {
10127             "error": {
10128               "$ref": "#/definitions/Error"
10129             },
10130             "life": {
10131               "type": "string"
10132             }
10133           },
10134           "additionalProperties": false,
10135           "required": [
10136             "life"
10137           ]
10138         },
10139         "LifeResults": {
10140           "type": "object",
10141           "properties": {
10142             "results": {
10143               "type": "array",
10144               "items": {
10145                 "$ref": "#/definitions/LifeResult"
10146               }
10147             }
10148           },
10149           "additionalProperties": false,
10150           "required": [
10151             "results"
10152           ]
10153         },
10154         "Macaroon": {
10155           "type": "object",
10156           "additionalProperties": false
10157         },
10158         "MachineAddresses": {
10159           "type": "object",
10160           "properties": {
10161             "addresses": {
10162               "type": "array",
10163               "items": {
10164                 "$ref": "#/definitions/Address"
10165               }
10166             },
10167             "tag": {
10168               "type": "string"
10169             }
10170           },
10171           "additionalProperties": false,
10172           "required": [
10173             "tag",
10174             "addresses"
10175           ]
10176         },
10177         "MachineAddressesResult": {
10178           "type": "object",
10179           "properties": {
10180             "addresses": {
10181               "type": "array",
10182               "items": {
10183                 "$ref": "#/definitions/Address"
10184               }
10185             },
10186             "error": {
10187               "$ref": "#/definitions/Error"
10188             }
10189           },
10190           "additionalProperties": false,
10191           "required": [
10192             "addresses"
10193           ]
10194         },
10195         "MachineAddressesResults": {
10196           "type": "object",
10197           "properties": {
10198             "results": {
10199               "type": "array",
10200               "items": {
10201                 "$ref": "#/definitions/MachineAddressesResult"
10202               }
10203             }
10204           },
10205           "additionalProperties": false,
10206           "required": [
10207             "results"
10208           ]
10209         },
10210         "ModelConfigResult": {
10211           "type": "object",
10212           "properties": {
10213             "config": {
10214               "type": "object",
10215               "patternProperties": {
10216                 ".*": {
10217                   "type": "object",
10218                   "additionalProperties": true
10219                 }
10220               }
10221             }
10222           },
10223           "additionalProperties": false,
10224           "required": [
10225             "config"
10226           ]
10227         },
10228         "NotifyWatchResult": {
10229           "type": "object",
10230           "properties": {
10231             "NotifyWatcherId": {
10232               "type": "string"
10233             },
10234             "error": {
10235               "$ref": "#/definitions/Error"
10236             }
10237           },
10238           "additionalProperties": false,
10239           "required": [
10240             "NotifyWatcherId"
10241           ]
10242         },
10243         "SetMachinesAddresses": {
10244           "type": "object",
10245           "properties": {
10246             "machine-addresses": {
10247               "type": "array",
10248               "items": {
10249                 "$ref": "#/definitions/MachineAddresses"
10250               }
10251             }
10252           },
10253           "additionalProperties": false,
10254           "required": [
10255             "machine-addresses"
10256           ]
10257         },
10258         "SetStatus": {
10259           "type": "object",
10260           "properties": {
10261             "entities": {
10262               "type": "array",
10263               "items": {
10264                 "$ref": "#/definitions/EntityStatusArgs"
10265               }
10266             }
10267           },
10268           "additionalProperties": false,
10269           "required": [
10270             "entities"
10271           ]
10272         },
10273         "StatusResult": {
10274           "type": "object",
10275           "properties": {
10276             "data": {
10277               "type": "object",
10278               "patternProperties": {
10279                 ".*": {
10280                   "type": "object",
10281                   "additionalProperties": true
10282                 }
10283               }
10284             },
10285             "error": {
10286               "$ref": "#/definitions/Error"
10287             },
10288             "id": {
10289               "type": "string"
10290             },
10291             "info": {
10292               "type": "string"
10293             },
10294             "life": {
10295               "type": "string"
10296             },
10297             "since": {
10298               "type": "string",
10299               "format": "date-time"
10300             },
10301             "status": {
10302               "type": "string"
10303             }
10304           },
10305           "additionalProperties": false,
10306           "required": [
10307             "id",
10308             "life",
10309             "status",
10310             "info",
10311             "data",
10312             "since"
10313           ]
10314         },
10315         "StatusResults": {
10316           "type": "object",
10317           "properties": {
10318             "results": {
10319               "type": "array",
10320               "items": {
10321                 "$ref": "#/definitions/StatusResult"
10322               }
10323             }
10324           },
10325           "additionalProperties": false,
10326           "required": [
10327             "results"
10328           ]
10329         },
10330         "StringResult": {
10331           "type": "object",
10332           "properties": {
10333             "error": {
10334               "$ref": "#/definitions/Error"
10335             },
10336             "result": {
10337               "type": "string"
10338             }
10339           },
10340           "additionalProperties": false,
10341           "required": [
10342             "result"
10343           ]
10344         },
10345         "StringResults": {
10346           "type": "object",
10347           "properties": {
10348             "results": {
10349               "type": "array",
10350               "items": {
10351                 "$ref": "#/definitions/StringResult"
10352               }
10353             }
10354           },
10355           "additionalProperties": false,
10356           "required": [
10357             "results"
10358           ]
10359         },
10360         "StringsWatchResult": {
10361           "type": "object",
10362           "properties": {
10363             "changes": {
10364               "type": "array",
10365               "items": {
10366                 "type": "string"
10367               }
10368             },
10369             "error": {
10370               "$ref": "#/definitions/Error"
10371             },
10372             "watcher-id": {
10373               "type": "string"
10374             }
10375           },
10376           "additionalProperties": false,
10377           "required": [
10378             "watcher-id"
10379           ]
10380         }
10381       }
10382     }
10383   },
10384   {
10385     "Name": "KeyManager",
10386     "Version": 1,
10387     "Schema": {
10388       "type": "object",
10389       "properties": {
10390         "AddKeys": {
10391           "type": "object",
10392           "properties": {
10393             "Params": {
10394               "$ref": "#/definitions/ModifyUserSSHKeys"
10395             },
10396             "Result": {
10397               "$ref": "#/definitions/ErrorResults"
10398             }
10399           }
10400         },
10401         "DeleteKeys": {
10402           "type": "object",
10403           "properties": {
10404             "Params": {
10405               "$ref": "#/definitions/ModifyUserSSHKeys"
10406             },
10407             "Result": {
10408               "$ref": "#/definitions/ErrorResults"
10409             }
10410           }
10411         },
10412         "ImportKeys": {
10413           "type": "object",
10414           "properties": {
10415             "Params": {
10416               "$ref": "#/definitions/ModifyUserSSHKeys"
10417             },
10418             "Result": {
10419               "$ref": "#/definitions/ErrorResults"
10420             }
10421           }
10422         },
10423         "ListKeys": {
10424           "type": "object",
10425           "properties": {
10426             "Params": {
10427               "$ref": "#/definitions/ListSSHKeys"
10428             },
10429             "Result": {
10430               "$ref": "#/definitions/StringsResults"
10431             }
10432           }
10433         }
10434       },
10435       "definitions": {
10436         "Entities": {
10437           "type": "object",
10438           "properties": {
10439             "entities": {
10440               "type": "array",
10441               "items": {
10442                 "$ref": "#/definitions/Entity"
10443               }
10444             }
10445           },
10446           "additionalProperties": false,
10447           "required": [
10448             "entities"
10449           ]
10450         },
10451         "Entity": {
10452           "type": "object",
10453           "properties": {
10454             "tag": {
10455               "type": "string"
10456             }
10457           },
10458           "additionalProperties": false,
10459           "required": [
10460             "tag"
10461           ]
10462         },
10463         "Error": {
10464           "type": "object",
10465           "properties": {
10466             "code": {
10467               "type": "string"
10468             },
10469             "info": {
10470               "$ref": "#/definitions/ErrorInfo"
10471             },
10472             "message": {
10473               "type": "string"
10474             }
10475           },
10476           "additionalProperties": false,
10477           "required": [
10478             "message",
10479             "code"
10480           ]
10481         },
10482         "ErrorInfo": {
10483           "type": "object",
10484           "properties": {
10485             "macaroon": {
10486               "$ref": "#/definitions/Macaroon"
10487             },
10488             "macaroon-path": {
10489               "type": "string"
10490             }
10491           },
10492           "additionalProperties": false
10493         },
10494         "ErrorResult": {
10495           "type": "object",
10496           "properties": {
10497             "error": {
10498               "$ref": "#/definitions/Error"
10499             }
10500           },
10501           "additionalProperties": false
10502         },
10503         "ErrorResults": {
10504           "type": "object",
10505           "properties": {
10506             "results": {
10507               "type": "array",
10508               "items": {
10509                 "$ref": "#/definitions/ErrorResult"
10510               }
10511             }
10512           },
10513           "additionalProperties": false,
10514           "required": [
10515             "results"
10516           ]
10517         },
10518         "ListSSHKeys": {
10519           "type": "object",
10520           "properties": {
10521             "entities": {
10522               "$ref": "#/definitions/Entities"
10523             },
10524             "mode": {
10525               "type": "boolean"
10526             }
10527           },
10528           "additionalProperties": false,
10529           "required": [
10530             "entities",
10531             "mode"
10532           ]
10533         },
10534         "Macaroon": {
10535           "type": "object",
10536           "additionalProperties": false
10537         },
10538         "ModifyUserSSHKeys": {
10539           "type": "object",
10540           "properties": {
10541             "ssh-keys": {
10542               "type": "array",
10543               "items": {
10544                 "type": "string"
10545               }
10546             },
10547             "user": {
10548               "type": "string"
10549             }
10550           },
10551           "additionalProperties": false,
10552           "required": [
10553             "user",
10554             "ssh-keys"
10555           ]
10556         },
10557         "StringsResult": {
10558           "type": "object",
10559           "properties": {
10560             "error": {
10561               "$ref": "#/definitions/Error"
10562             },
10563             "result": {
10564               "type": "array",
10565               "items": {
10566                 "type": "string"
10567               }
10568             }
10569           },
10570           "additionalProperties": false
10571         },
10572         "StringsResults": {
10573           "type": "object",
10574           "properties": {
10575             "results": {
10576               "type": "array",
10577               "items": {
10578                 "$ref": "#/definitions/StringsResult"
10579               }
10580             }
10581           },
10582           "additionalProperties": false,
10583           "required": [
10584             "results"
10585           ]
10586         }
10587       }
10588     }
10589   },
10590   {
10591     "Name": "KeyUpdater",
10592     "Version": 1,
10593     "Schema": {
10594       "type": "object",
10595       "properties": {
10596         "AuthorisedKeys": {
10597           "type": "object",
10598           "properties": {
10599             "Params": {
10600               "$ref": "#/definitions/Entities"
10601             },
10602             "Result": {
10603               "$ref": "#/definitions/StringsResults"
10604             }
10605           }
10606         },
10607         "WatchAuthorisedKeys": {
10608           "type": "object",
10609           "properties": {
10610             "Params": {
10611               "$ref": "#/definitions/Entities"
10612             },
10613             "Result": {
10614               "$ref": "#/definitions/NotifyWatchResults"
10615             }
10616           }
10617         }
10618       },
10619       "definitions": {
10620         "Entities": {
10621           "type": "object",
10622           "properties": {
10623             "entities": {
10624               "type": "array",
10625               "items": {
10626                 "$ref": "#/definitions/Entity"
10627               }
10628             }
10629           },
10630           "additionalProperties": false,
10631           "required": [
10632             "entities"
10633           ]
10634         },
10635         "Entity": {
10636           "type": "object",
10637           "properties": {
10638             "tag": {
10639               "type": "string"
10640             }
10641           },
10642           "additionalProperties": false,
10643           "required": [
10644             "tag"
10645           ]
10646         },
10647         "Error": {
10648           "type": "object",
10649           "properties": {
10650             "code": {
10651               "type": "string"
10652             },
10653             "info": {
10654               "$ref": "#/definitions/ErrorInfo"
10655             },
10656             "message": {
10657               "type": "string"
10658             }
10659           },
10660           "additionalProperties": false,
10661           "required": [
10662             "message",
10663             "code"
10664           ]
10665         },
10666         "ErrorInfo": {
10667           "type": "object",
10668           "properties": {
10669             "macaroon": {
10670               "$ref": "#/definitions/Macaroon"
10671             },
10672             "macaroon-path": {
10673               "type": "string"
10674             }
10675           },
10676           "additionalProperties": false
10677         },
10678         "Macaroon": {
10679           "type": "object",
10680           "additionalProperties": false
10681         },
10682         "NotifyWatchResult": {
10683           "type": "object",
10684           "properties": {
10685             "NotifyWatcherId": {
10686               "type": "string"
10687             },
10688             "error": {
10689               "$ref": "#/definitions/Error"
10690             }
10691           },
10692           "additionalProperties": false,
10693           "required": [
10694             "NotifyWatcherId"
10695           ]
10696         },
10697         "NotifyWatchResults": {
10698           "type": "object",
10699           "properties": {
10700             "results": {
10701               "type": "array",
10702               "items": {
10703                 "$ref": "#/definitions/NotifyWatchResult"
10704               }
10705             }
10706           },
10707           "additionalProperties": false,
10708           "required": [
10709             "results"
10710           ]
10711         },
10712         "StringsResult": {
10713           "type": "object",
10714           "properties": {
10715             "error": {
10716               "$ref": "#/definitions/Error"
10717             },
10718             "result": {
10719               "type": "array",
10720               "items": {
10721                 "type": "string"
10722               }
10723             }
10724           },
10725           "additionalProperties": false
10726         },
10727         "StringsResults": {
10728           "type": "object",
10729           "properties": {
10730             "results": {
10731               "type": "array",
10732               "items": {
10733                 "$ref": "#/definitions/StringsResult"
10734               }
10735             }
10736           },
10737           "additionalProperties": false,
10738           "required": [
10739             "results"
10740           ]
10741         }
10742       }
10743     }
10744   },
10745   {
10746     "Name": "LeadershipService",
10747     "Version": 2,
10748     "Schema": {
10749       "type": "object",
10750       "properties": {
10751         "BlockUntilLeadershipReleased": {
10752           "type": "object",
10753           "properties": {
10754             "Params": {
10755               "$ref": "#/definitions/ApplicationTag"
10756             },
10757             "Result": {
10758               "$ref": "#/definitions/ErrorResult"
10759             }
10760           }
10761         },
10762         "ClaimLeadership": {
10763           "type": "object",
10764           "properties": {
10765             "Params": {
10766               "$ref": "#/definitions/ClaimLeadershipBulkParams"
10767             },
10768             "Result": {
10769               "$ref": "#/definitions/ClaimLeadershipBulkResults"
10770             }
10771           }
10772         }
10773       },
10774       "definitions": {
10775         "ApplicationTag": {
10776           "type": "object",
10777           "properties": {
10778             "Name": {
10779               "type": "string"
10780             }
10781           },
10782           "additionalProperties": false,
10783           "required": [
10784             "Name"
10785           ]
10786         },
10787         "ClaimLeadershipBulkParams": {
10788           "type": "object",
10789           "properties": {
10790             "params": {
10791               "type": "array",
10792               "items": {
10793                 "$ref": "#/definitions/ClaimLeadershipParams"
10794               }
10795             }
10796           },
10797           "additionalProperties": false,
10798           "required": [
10799             "params"
10800           ]
10801         },
10802         "ClaimLeadershipBulkResults": {
10803           "type": "object",
10804           "properties": {
10805             "results": {
10806               "type": "array",
10807               "items": {
10808                 "$ref": "#/definitions/ErrorResult"
10809               }
10810             }
10811           },
10812           "additionalProperties": false,
10813           "required": [
10814             "results"
10815           ]
10816         },
10817         "ClaimLeadershipParams": {
10818           "type": "object",
10819           "properties": {
10820             "application-tag": {
10821               "type": "string"
10822             },
10823             "duration": {
10824               "type": "number"
10825             },
10826             "unit-tag": {
10827               "type": "string"
10828             }
10829           },
10830           "additionalProperties": false,
10831           "required": [
10832             "application-tag",
10833             "unit-tag",
10834             "duration"
10835           ]
10836         },
10837         "Error": {
10838           "type": "object",
10839           "properties": {
10840             "code": {
10841               "type": "string"
10842             },
10843             "info": {
10844               "$ref": "#/definitions/ErrorInfo"
10845             },
10846             "message": {
10847               "type": "string"
10848             }
10849           },
10850           "additionalProperties": false,
10851           "required": [
10852             "message",
10853             "code"
10854           ]
10855         },
10856         "ErrorInfo": {
10857           "type": "object",
10858           "properties": {
10859             "macaroon": {
10860               "$ref": "#/definitions/Macaroon"
10861             },
10862             "macaroon-path": {
10863               "type": "string"
10864             }
10865           },
10866           "additionalProperties": false
10867         },
10868         "ErrorResult": {
10869           "type": "object",
10870           "properties": {
10871             "error": {
10872               "$ref": "#/definitions/Error"
10873             }
10874           },
10875           "additionalProperties": false
10876         },
10877         "Macaroon": {
10878           "type": "object",
10879           "additionalProperties": false
10880         }
10881       }
10882     }
10883   },
10884   {
10885     "Name": "LifeFlag",
10886     "Version": 1,
10887     "Schema": {
10888       "type": "object",
10889       "properties": {
10890         "Life": {
10891           "type": "object",
10892           "properties": {
10893             "Params": {
10894               "$ref": "#/definitions/Entities"
10895             },
10896             "Result": {
10897               "$ref": "#/definitions/LifeResults"
10898             }
10899           }
10900         },
10901         "Watch": {
10902           "type": "object",
10903           "properties": {
10904             "Params": {
10905               "$ref": "#/definitions/Entities"
10906             },
10907             "Result": {
10908               "$ref": "#/definitions/NotifyWatchResults"
10909             }
10910           }
10911         }
10912       },
10913       "definitions": {
10914         "Entities": {
10915           "type": "object",
10916           "properties": {
10917             "entities": {
10918               "type": "array",
10919               "items": {
10920                 "$ref": "#/definitions/Entity"
10921               }
10922             }
10923           },
10924           "additionalProperties": false,
10925           "required": [
10926             "entities"
10927           ]
10928         },
10929         "Entity": {
10930           "type": "object",
10931           "properties": {
10932             "tag": {
10933               "type": "string"
10934             }
10935           },
10936           "additionalProperties": false,
10937           "required": [
10938             "tag"
10939           ]
10940         },
10941         "Error": {
10942           "type": "object",
10943           "properties": {
10944             "code": {
10945               "type": "string"
10946             },
10947             "info": {
10948               "$ref": "#/definitions/ErrorInfo"
10949             },
10950             "message": {
10951               "type": "string"
10952             }
10953           },
10954           "additionalProperties": false,
10955           "required": [
10956             "message",
10957             "code"
10958           ]
10959         },
10960         "ErrorInfo": {
10961           "type": "object",
10962           "properties": {
10963             "macaroon": {
10964               "$ref": "#/definitions/Macaroon"
10965             },
10966             "macaroon-path": {
10967               "type": "string"
10968             }
10969           },
10970           "additionalProperties": false
10971         },
10972         "LifeResult": {
10973           "type": "object",
10974           "properties": {
10975             "error": {
10976               "$ref": "#/definitions/Error"
10977             },
10978             "life": {
10979               "type": "string"
10980             }
10981           },
10982           "additionalProperties": false,
10983           "required": [
10984             "life"
10985           ]
10986         },
10987         "LifeResults": {
10988           "type": "object",
10989           "properties": {
10990             "results": {
10991               "type": "array",
10992               "items": {
10993                 "$ref": "#/definitions/LifeResult"
10994               }
10995             }
10996           },
10997           "additionalProperties": false,
10998           "required": [
10999             "results"
11000           ]
11001         },
11002         "Macaroon": {
11003           "type": "object",
11004           "additionalProperties": false
11005         },
11006         "NotifyWatchResult": {
11007           "type": "object",
11008           "properties": {
11009             "NotifyWatcherId": {
11010               "type": "string"
11011             },
11012             "error": {
11013               "$ref": "#/definitions/Error"
11014             }
11015           },
11016           "additionalProperties": false,
11017           "required": [
11018             "NotifyWatcherId"
11019           ]
11020         },
11021         "NotifyWatchResults": {
11022           "type": "object",
11023           "properties": {
11024             "results": {
11025               "type": "array",
11026               "items": {
11027                 "$ref": "#/definitions/NotifyWatchResult"
11028               }
11029             }
11030           },
11031           "additionalProperties": false,
11032           "required": [
11033             "results"
11034           ]
11035         }
11036       }
11037     }
11038   },
11039   {
11040     "Name": "LogForwarding",
11041     "Version": 1,
11042     "Schema": {
11043       "type": "object",
11044       "properties": {
11045         "GetLastSent": {
11046           "type": "object",
11047           "properties": {
11048             "Params": {
11049               "$ref": "#/definitions/LogForwardingGetLastSentParams"
11050             },
11051             "Result": {
11052               "$ref": "#/definitions/LogForwardingGetLastSentResults"
11053             }
11054           }
11055         },
11056         "SetLastSent": {
11057           "type": "object",
11058           "properties": {
11059             "Params": {
11060               "$ref": "#/definitions/LogForwardingSetLastSentParams"
11061             },
11062             "Result": {
11063               "$ref": "#/definitions/ErrorResults"
11064             }
11065           }
11066         }
11067       },
11068       "definitions": {
11069         "Error": {
11070           "type": "object",
11071           "properties": {
11072             "code": {
11073               "type": "string"
11074             },
11075             "info": {
11076               "$ref": "#/definitions/ErrorInfo"
11077             },
11078             "message": {
11079               "type": "string"
11080             }
11081           },
11082           "additionalProperties": false,
11083           "required": [
11084             "message",
11085             "code"
11086           ]
11087         },
11088         "ErrorInfo": {
11089           "type": "object",
11090           "properties": {
11091             "macaroon": {
11092               "$ref": "#/definitions/Macaroon"
11093             },
11094             "macaroon-path": {
11095               "type": "string"
11096             }
11097           },
11098           "additionalProperties": false
11099         },
11100         "ErrorResult": {
11101           "type": "object",
11102           "properties": {
11103             "error": {
11104               "$ref": "#/definitions/Error"
11105             }
11106           },
11107           "additionalProperties": false
11108         },
11109         "ErrorResults": {
11110           "type": "object",
11111           "properties": {
11112             "results": {
11113               "type": "array",
11114               "items": {
11115                 "$ref": "#/definitions/ErrorResult"
11116               }
11117             }
11118           },
11119           "additionalProperties": false,
11120           "required": [
11121             "results"
11122           ]
11123         },
11124         "LogForwardingGetLastSentParams": {
11125           "type": "object",
11126           "properties": {
11127             "ids": {
11128               "type": "array",
11129               "items": {
11130                 "$ref": "#/definitions/LogForwardingID"
11131               }
11132             }
11133           },
11134           "additionalProperties": false,
11135           "required": [
11136             "ids"
11137           ]
11138         },
11139         "LogForwardingGetLastSentResult": {
11140           "type": "object",
11141           "properties": {
11142             "err": {
11143               "$ref": "#/definitions/Error"
11144             },
11145             "record-id": {
11146               "type": "integer"
11147             },
11148             "record-timestamp": {
11149               "type": "integer"
11150             }
11151           },
11152           "additionalProperties": false,
11153           "required": [
11154             "record-id",
11155             "record-timestamp",
11156             "err"
11157           ]
11158         },
11159         "LogForwardingGetLastSentResults": {
11160           "type": "object",
11161           "properties": {
11162             "results": {
11163               "type": "array",
11164               "items": {
11165                 "$ref": "#/definitions/LogForwardingGetLastSentResult"
11166               }
11167             }
11168           },
11169           "additionalProperties": false,
11170           "required": [
11171             "results"
11172           ]
11173         },
11174         "LogForwardingID": {
11175           "type": "object",
11176           "properties": {
11177             "model": {
11178               "type": "string"
11179             },
11180             "sink": {
11181               "type": "string"
11182             }
11183           },
11184           "additionalProperties": false,
11185           "required": [
11186             "model",
11187             "sink"
11188           ]
11189         },
11190         "LogForwardingSetLastSentParam": {
11191           "type": "object",
11192           "properties": {
11193             "LogForwardingID": {
11194               "$ref": "#/definitions/LogForwardingID"
11195             },
11196             "record-id": {
11197               "type": "integer"
11198             },
11199             "record-timestamp": {
11200               "type": "integer"
11201             }
11202           },
11203           "additionalProperties": false,
11204           "required": [
11205             "LogForwardingID",
11206             "record-id",
11207             "record-timestamp"
11208           ]
11209         },
11210         "LogForwardingSetLastSentParams": {
11211           "type": "object",
11212           "properties": {
11213             "params": {
11214               "type": "array",
11215               "items": {
11216                 "$ref": "#/definitions/LogForwardingSetLastSentParam"
11217               }
11218             }
11219           },
11220           "additionalProperties": false,
11221           "required": [
11222             "params"
11223           ]
11224         },
11225         "Macaroon": {
11226           "type": "object",
11227           "additionalProperties": false
11228         }
11229       }
11230     }
11231   },
11232   {
11233     "Name": "Logger",
11234     "Version": 1,
11235     "Schema": {
11236       "type": "object",
11237       "properties": {
11238         "LoggingConfig": {
11239           "type": "object",
11240           "properties": {
11241             "Params": {
11242               "$ref": "#/definitions/Entities"
11243             },
11244             "Result": {
11245               "$ref": "#/definitions/StringResults"
11246             }
11247           }
11248         },
11249         "WatchLoggingConfig": {
11250           "type": "object",
11251           "properties": {
11252             "Params": {
11253               "$ref": "#/definitions/Entities"
11254             },
11255             "Result": {
11256               "$ref": "#/definitions/NotifyWatchResults"
11257             }
11258           }
11259         }
11260       },
11261       "definitions": {
11262         "Entities": {
11263           "type": "object",
11264           "properties": {
11265             "entities": {
11266               "type": "array",
11267               "items": {
11268                 "$ref": "#/definitions/Entity"
11269               }
11270             }
11271           },
11272           "additionalProperties": false,
11273           "required": [
11274             "entities"
11275           ]
11276         },
11277         "Entity": {
11278           "type": "object",
11279           "properties": {
11280             "tag": {
11281               "type": "string"
11282             }
11283           },
11284           "additionalProperties": false,
11285           "required": [
11286             "tag"
11287           ]
11288         },
11289         "Error": {
11290           "type": "object",
11291           "properties": {
11292             "code": {
11293               "type": "string"
11294             },
11295             "info": {
11296               "$ref": "#/definitions/ErrorInfo"
11297             },
11298             "message": {
11299               "type": "string"
11300             }
11301           },
11302           "additionalProperties": false,
11303           "required": [
11304             "message",
11305             "code"
11306           ]
11307         },
11308         "ErrorInfo": {
11309           "type": "object",
11310           "properties": {
11311             "macaroon": {
11312               "$ref": "#/definitions/Macaroon"
11313             },
11314             "macaroon-path": {
11315               "type": "string"
11316             }
11317           },
11318           "additionalProperties": false
11319         },
11320         "Macaroon": {
11321           "type": "object",
11322           "additionalProperties": false
11323         },
11324         "NotifyWatchResult": {
11325           "type": "object",
11326           "properties": {
11327             "NotifyWatcherId": {
11328               "type": "string"
11329             },
11330             "error": {
11331               "$ref": "#/definitions/Error"
11332             }
11333           },
11334           "additionalProperties": false,
11335           "required": [
11336             "NotifyWatcherId"
11337           ]
11338         },
11339         "NotifyWatchResults": {
11340           "type": "object",
11341           "properties": {
11342             "results": {
11343               "type": "array",
11344               "items": {
11345                 "$ref": "#/definitions/NotifyWatchResult"
11346               }
11347             }
11348           },
11349           "additionalProperties": false,
11350           "required": [
11351             "results"
11352           ]
11353         },
11354         "StringResult": {
11355           "type": "object",
11356           "properties": {
11357             "error": {
11358               "$ref": "#/definitions/Error"
11359             },
11360             "result": {
11361               "type": "string"
11362             }
11363           },
11364           "additionalProperties": false,
11365           "required": [
11366             "result"
11367           ]
11368         },
11369         "StringResults": {
11370           "type": "object",
11371           "properties": {
11372             "results": {
11373               "type": "array",
11374               "items": {
11375                 "$ref": "#/definitions/StringResult"
11376               }
11377             }
11378           },
11379           "additionalProperties": false,
11380           "required": [
11381             "results"
11382           ]
11383         }
11384       }
11385     }
11386   },
11387   {
11388     "Name": "MachineActions",
11389     "Version": 1,
11390     "Schema": {
11391       "type": "object",
11392       "properties": {
11393         "Actions": {
11394           "type": "object",
11395           "properties": {
11396             "Params": {
11397               "$ref": "#/definitions/Entities"
11398             },
11399             "Result": {
11400               "$ref": "#/definitions/ActionResults"
11401             }
11402           }
11403         },
11404         "BeginActions": {
11405           "type": "object",
11406           "properties": {
11407             "Params": {
11408               "$ref": "#/definitions/Entities"
11409             },
11410             "Result": {
11411               "$ref": "#/definitions/ErrorResults"
11412             }
11413           }
11414         },
11415         "FinishActions": {
11416           "type": "object",
11417           "properties": {
11418             "Params": {
11419               "$ref": "#/definitions/ActionExecutionResults"
11420             },
11421             "Result": {
11422               "$ref": "#/definitions/ErrorResults"
11423             }
11424           }
11425         },
11426         "RunningActions": {
11427           "type": "object",
11428           "properties": {
11429             "Params": {
11430               "$ref": "#/definitions/Entities"
11431             },
11432             "Result": {
11433               "$ref": "#/definitions/ActionsByReceivers"
11434             }
11435           }
11436         },
11437         "WatchActionNotifications": {
11438           "type": "object",
11439           "properties": {
11440             "Params": {
11441               "$ref": "#/definitions/Entities"
11442             },
11443             "Result": {
11444               "$ref": "#/definitions/StringsWatchResults"
11445             }
11446           }
11447         }
11448       },
11449       "definitions": {
11450         "Action": {
11451           "type": "object",
11452           "properties": {
11453             "name": {
11454               "type": "string"
11455             },
11456             "parameters": {
11457               "type": "object",
11458               "patternProperties": {
11459                 ".*": {
11460                   "type": "object",
11461                   "additionalProperties": true
11462                 }
11463               }
11464             },
11465             "receiver": {
11466               "type": "string"
11467             },
11468             "tag": {
11469               "type": "string"
11470             }
11471           },
11472           "additionalProperties": false,
11473           "required": [
11474             "tag",
11475             "receiver",
11476             "name"
11477           ]
11478         },
11479         "ActionExecutionResult": {
11480           "type": "object",
11481           "properties": {
11482             "action-tag": {
11483               "type": "string"
11484             },
11485             "message": {
11486               "type": "string"
11487             },
11488             "results": {
11489               "type": "object",
11490               "patternProperties": {
11491                 ".*": {
11492                   "type": "object",
11493                   "additionalProperties": true
11494                 }
11495               }
11496             },
11497             "status": {
11498               "type": "string"
11499             }
11500           },
11501           "additionalProperties": false,
11502           "required": [
11503             "action-tag",
11504             "status"
11505           ]
11506         },
11507         "ActionExecutionResults": {
11508           "type": "object",
11509           "properties": {
11510             "results": {
11511               "type": "array",
11512               "items": {
11513                 "$ref": "#/definitions/ActionExecutionResult"
11514               }
11515             }
11516           },
11517           "additionalProperties": false
11518         },
11519         "ActionResult": {
11520           "type": "object",
11521           "properties": {
11522             "action": {
11523               "$ref": "#/definitions/Action"
11524             },
11525             "completed": {
11526               "type": "string",
11527               "format": "date-time"
11528             },
11529             "enqueued": {
11530               "type": "string",
11531               "format": "date-time"
11532             },
11533             "error": {
11534               "$ref": "#/definitions/Error"
11535             },
11536             "message": {
11537               "type": "string"
11538             },
11539             "output": {
11540               "type": "object",
11541               "patternProperties": {
11542                 ".*": {
11543                   "type": "object",
11544                   "additionalProperties": true
11545                 }
11546               }
11547             },
11548             "started": {
11549               "type": "string",
11550               "format": "date-time"
11551             },
11552             "status": {
11553               "type": "string"
11554             }
11555           },
11556           "additionalProperties": false
11557         },
11558         "ActionResults": {
11559           "type": "object",
11560           "properties": {
11561             "results": {
11562               "type": "array",
11563               "items": {
11564                 "$ref": "#/definitions/ActionResult"
11565               }
11566             }
11567           },
11568           "additionalProperties": false
11569         },
11570         "ActionsByReceiver": {
11571           "type": "object",
11572           "properties": {
11573             "actions": {
11574               "type": "array",
11575               "items": {
11576                 "$ref": "#/definitions/ActionResult"
11577               }
11578             },
11579             "error": {
11580               "$ref": "#/definitions/Error"
11581             },
11582             "receiver": {
11583               "type": "string"
11584             }
11585           },
11586           "additionalProperties": false
11587         },
11588         "ActionsByReceivers": {
11589           "type": "object",
11590           "properties": {
11591             "actions": {
11592               "type": "array",
11593               "items": {
11594                 "$ref": "#/definitions/ActionsByReceiver"
11595               }
11596             }
11597           },
11598           "additionalProperties": false
11599         },
11600         "Entities": {
11601           "type": "object",
11602           "properties": {
11603             "entities": {
11604               "type": "array",
11605               "items": {
11606                 "$ref": "#/definitions/Entity"
11607               }
11608             }
11609           },
11610           "additionalProperties": false,
11611           "required": [
11612             "entities"
11613           ]
11614         },
11615         "Entity": {
11616           "type": "object",
11617           "properties": {
11618             "tag": {
11619               "type": "string"
11620             }
11621           },
11622           "additionalProperties": false,
11623           "required": [
11624             "tag"
11625           ]
11626         },
11627         "Error": {
11628           "type": "object",
11629           "properties": {
11630             "code": {
11631               "type": "string"
11632             },
11633             "info": {
11634               "$ref": "#/definitions/ErrorInfo"
11635             },
11636             "message": {
11637               "type": "string"
11638             }
11639           },
11640           "additionalProperties": false,
11641           "required": [
11642             "message",
11643             "code"
11644           ]
11645         },
11646         "ErrorInfo": {
11647           "type": "object",
11648           "properties": {
11649             "macaroon": {
11650               "$ref": "#/definitions/Macaroon"
11651             },
11652             "macaroon-path": {
11653               "type": "string"
11654             }
11655           },
11656           "additionalProperties": false
11657         },
11658         "ErrorResult": {
11659           "type": "object",
11660           "properties": {
11661             "error": {
11662               "$ref": "#/definitions/Error"
11663             }
11664           },
11665           "additionalProperties": false
11666         },
11667         "ErrorResults": {
11668           "type": "object",
11669           "properties": {
11670             "results": {
11671               "type": "array",
11672               "items": {
11673                 "$ref": "#/definitions/ErrorResult"
11674               }
11675             }
11676           },
11677           "additionalProperties": false,
11678           "required": [
11679             "results"
11680           ]
11681         },
11682         "Macaroon": {
11683           "type": "object",
11684           "additionalProperties": false
11685         },
11686         "StringsWatchResult": {
11687           "type": "object",
11688           "properties": {
11689             "changes": {
11690               "type": "array",
11691               "items": {
11692                 "type": "string"
11693               }
11694             },
11695             "error": {
11696               "$ref": "#/definitions/Error"
11697             },
11698             "watcher-id": {
11699               "type": "string"
11700             }
11701           },
11702           "additionalProperties": false,
11703           "required": [
11704             "watcher-id"
11705           ]
11706         },
11707         "StringsWatchResults": {
11708           "type": "object",
11709           "properties": {
11710             "results": {
11711               "type": "array",
11712               "items": {
11713                 "$ref": "#/definitions/StringsWatchResult"
11714               }
11715             }
11716           },
11717           "additionalProperties": false,
11718           "required": [
11719             "results"
11720           ]
11721         }
11722       }
11723     }
11724   },
11725   {
11726     "Name": "MachineManager",
11727     "Version": 3,
11728     "Schema": {
11729       "type": "object",
11730       "properties": {
11731         "AddMachines": {
11732           "type": "object",
11733           "properties": {
11734             "Params": {
11735               "$ref": "#/definitions/AddMachines"
11736             },
11737             "Result": {
11738               "$ref": "#/definitions/AddMachinesResults"
11739             }
11740           }
11741         },
11742         "DestroyMachine": {
11743           "type": "object",
11744           "properties": {
11745             "Params": {
11746               "$ref": "#/definitions/Entities"
11747             },
11748             "Result": {
11749               "$ref": "#/definitions/DestroyMachineResults"
11750             }
11751           }
11752         },
11753         "ForceDestroyMachine": {
11754           "type": "object",
11755           "properties": {
11756             "Params": {
11757               "$ref": "#/definitions/Entities"
11758             },
11759             "Result": {
11760               "$ref": "#/definitions/DestroyMachineResults"
11761             }
11762           }
11763         },
11764         "InstanceTypes": {
11765           "type": "object",
11766           "properties": {
11767             "Params": {
11768               "$ref": "#/definitions/ModelInstanceTypesConstraints"
11769             },
11770             "Result": {
11771               "$ref": "#/definitions/InstanceTypesResults"
11772             }
11773           }
11774         }
11775       },
11776       "definitions": {
11777         "AddMachineParams": {
11778           "type": "object",
11779           "properties": {
11780             "addresses": {
11781               "type": "array",
11782               "items": {
11783                 "$ref": "#/definitions/Address"
11784               }
11785             },
11786             "constraints": {
11787               "$ref": "#/definitions/Value"
11788             },
11789             "container-type": {
11790               "type": "string"
11791             },
11792             "disks": {
11793               "type": "array",
11794               "items": {
11795                 "$ref": "#/definitions/Constraints"
11796               }
11797             },
11798             "hardware-characteristics": {
11799               "$ref": "#/definitions/HardwareCharacteristics"
11800             },
11801             "instance-id": {
11802               "type": "string"
11803             },
11804             "jobs": {
11805               "type": "array",
11806               "items": {
11807                 "type": "string"
11808               }
11809             },
11810             "nonce": {
11811               "type": "string"
11812             },
11813             "parent-id": {
11814               "type": "string"
11815             },
11816             "placement": {
11817               "$ref": "#/definitions/Placement"
11818             },
11819             "series": {
11820               "type": "string"
11821             }
11822           },
11823           "additionalProperties": false,
11824           "required": [
11825             "series",
11826             "constraints",
11827             "jobs",
11828             "parent-id",
11829             "container-type",
11830             "instance-id",
11831             "nonce",
11832             "hardware-characteristics",
11833             "addresses"
11834           ]
11835         },
11836         "AddMachines": {
11837           "type": "object",
11838           "properties": {
11839             "params": {
11840               "type": "array",
11841               "items": {
11842                 "$ref": "#/definitions/AddMachineParams"
11843               }
11844             }
11845           },
11846           "additionalProperties": false,
11847           "required": [
11848             "params"
11849           ]
11850         },
11851         "AddMachinesResult": {
11852           "type": "object",
11853           "properties": {
11854             "error": {
11855               "$ref": "#/definitions/Error"
11856             },
11857             "machine": {
11858               "type": "string"
11859             }
11860           },
11861           "additionalProperties": false,
11862           "required": [
11863             "machine"
11864           ]
11865         },
11866         "AddMachinesResults": {
11867           "type": "object",
11868           "properties": {
11869             "machines": {
11870               "type": "array",
11871               "items": {
11872                 "$ref": "#/definitions/AddMachinesResult"
11873               }
11874             }
11875           },
11876           "additionalProperties": false,
11877           "required": [
11878             "machines"
11879           ]
11880         },
11881         "Address": {
11882           "type": "object",
11883           "properties": {
11884             "scope": {
11885               "type": "string"
11886             },
11887             "space-name": {
11888               "type": "string"
11889             },
11890             "type": {
11891               "type": "string"
11892             },
11893             "value": {
11894               "type": "string"
11895             }
11896           },
11897           "additionalProperties": false,
11898           "required": [
11899             "value",
11900             "type",
11901             "scope"
11902           ]
11903         },
11904         "Constraints": {
11905           "type": "object",
11906           "properties": {
11907             "Count": {
11908               "type": "integer"
11909             },
11910             "Pool": {
11911               "type": "string"
11912             },
11913             "Size": {
11914               "type": "integer"
11915             }
11916           },
11917           "additionalProperties": false,
11918           "required": [
11919             "Pool",
11920             "Size",
11921             "Count"
11922           ]
11923         },
11924         "DestroyMachineInfo": {
11925           "type": "object",
11926           "properties": {
11927             "destroyed-storage": {
11928               "type": "array",
11929               "items": {
11930                 "$ref": "#/definitions/Entity"
11931               }
11932             },
11933             "destroyed-units": {
11934               "type": "array",
11935               "items": {
11936                 "$ref": "#/definitions/Entity"
11937               }
11938             },
11939             "detached-storage": {
11940               "type": "array",
11941               "items": {
11942                 "$ref": "#/definitions/Entity"
11943               }
11944             }
11945           },
11946           "additionalProperties": false
11947         },
11948         "DestroyMachineResult": {
11949           "type": "object",
11950           "properties": {
11951             "error": {
11952               "$ref": "#/definitions/Error"
11953             },
11954             "info": {
11955               "$ref": "#/definitions/DestroyMachineInfo"
11956             }
11957           },
11958           "additionalProperties": false
11959         },
11960         "DestroyMachineResults": {
11961           "type": "object",
11962           "properties": {
11963             "results": {
11964               "type": "array",
11965               "items": {
11966                 "$ref": "#/definitions/DestroyMachineResult"
11967               }
11968             }
11969           },
11970           "additionalProperties": false
11971         },
11972         "Entities": {
11973           "type": "object",
11974           "properties": {
11975             "entities": {
11976               "type": "array",
11977               "items": {
11978                 "$ref": "#/definitions/Entity"
11979               }
11980             }
11981           },
11982           "additionalProperties": false,
11983           "required": [
11984             "entities"
11985           ]
11986         },
11987         "Entity": {
11988           "type": "object",
11989           "properties": {
11990             "tag": {
11991               "type": "string"
11992             }
11993           },
11994           "additionalProperties": false,
11995           "required": [
11996             "tag"
11997           ]
11998         },
11999         "Error": {
12000           "type": "object",
12001           "properties": {
12002             "code": {
12003               "type": "string"
12004             },
12005             "info": {
12006               "$ref": "#/definitions/ErrorInfo"
12007             },
12008             "message": {
12009               "type": "string"
12010             }
12011           },
12012           "additionalProperties": false,
12013           "required": [
12014             "message",
12015             "code"
12016           ]
12017         },
12018         "ErrorInfo": {
12019           "type": "object",
12020           "properties": {
12021             "macaroon": {
12022               "$ref": "#/definitions/Macaroon"
12023             },
12024             "macaroon-path": {
12025               "type": "string"
12026             }
12027           },
12028           "additionalProperties": false
12029         },
12030         "HardwareCharacteristics": {
12031           "type": "object",
12032           "properties": {
12033             "arch": {
12034               "type": "string"
12035             },
12036             "availability-zone": {
12037               "type": "string"
12038             },
12039             "cpu-cores": {
12040               "type": "integer"
12041             },
12042             "cpu-power": {
12043               "type": "integer"
12044             },
12045             "mem": {
12046               "type": "integer"
12047             },
12048             "root-disk": {
12049               "type": "integer"
12050             },
12051             "tags": {
12052               "type": "array",
12053               "items": {
12054                 "type": "string"
12055               }
12056             }
12057           },
12058           "additionalProperties": false
12059         },
12060         "InstanceType": {
12061           "type": "object",
12062           "properties": {
12063             "arches": {
12064               "type": "array",
12065               "items": {
12066                 "type": "string"
12067               }
12068             },
12069             "cost": {
12070               "type": "integer"
12071             },
12072             "cpu-cores": {
12073               "type": "integer"
12074             },
12075             "deprecated": {
12076               "type": "boolean"
12077             },
12078             "memory": {
12079               "type": "integer"
12080             },
12081             "name": {
12082               "type": "string"
12083             },
12084             "root-disk": {
12085               "type": "integer"
12086             },
12087             "virt-type": {
12088               "type": "string"
12089             }
12090           },
12091           "additionalProperties": false,
12092           "required": [
12093             "arches",
12094             "cpu-cores",
12095             "memory"
12096           ]
12097         },
12098         "InstanceTypesResult": {
12099           "type": "object",
12100           "properties": {
12101             "cost-currency": {
12102               "type": "string"
12103             },
12104             "cost-divisor": {
12105               "type": "integer"
12106             },
12107             "cost-unit": {
12108               "type": "string"
12109             },
12110             "error": {
12111               "$ref": "#/definitions/Error"
12112             },
12113             "instance-types": {
12114               "type": "array",
12115               "items": {
12116                 "$ref": "#/definitions/InstanceType"
12117               }
12118             }
12119           },
12120           "additionalProperties": false
12121         },
12122         "InstanceTypesResults": {
12123           "type": "object",
12124           "properties": {
12125             "results": {
12126               "type": "array",
12127               "items": {
12128                 "$ref": "#/definitions/InstanceTypesResult"
12129               }
12130             }
12131           },
12132           "additionalProperties": false,
12133           "required": [
12134             "results"
12135           ]
12136         },
12137         "Macaroon": {
12138           "type": "object",
12139           "additionalProperties": false
12140         },
12141         "ModelInstanceTypesConstraint": {
12142           "type": "object",
12143           "properties": {
12144             "value": {
12145               "$ref": "#/definitions/Value"
12146             }
12147           },
12148           "additionalProperties": false
12149         },
12150         "ModelInstanceTypesConstraints": {
12151           "type": "object",
12152           "properties": {
12153             "constraints": {
12154               "type": "array",
12155               "items": {
12156                 "$ref": "#/definitions/ModelInstanceTypesConstraint"
12157               }
12158             }
12159           },
12160           "additionalProperties": false,
12161           "required": [
12162             "constraints"
12163           ]
12164         },
12165         "Placement": {
12166           "type": "object",
12167           "properties": {
12168             "directive": {
12169               "type": "string"
12170             },
12171             "scope": {
12172               "type": "string"
12173             }
12174           },
12175           "additionalProperties": false,
12176           "required": [
12177             "scope",
12178             "directive"
12179           ]
12180         },
12181         "Value": {
12182           "type": "object",
12183           "properties": {
12184             "arch": {
12185               "type": "string"
12186             },
12187             "container": {
12188               "type": "string"
12189             },
12190             "cores": {
12191               "type": "integer"
12192             },
12193             "cpu-power": {
12194               "type": "integer"
12195             },
12196             "instance-type": {
12197               "type": "string"
12198             },
12199             "mem": {
12200               "type": "integer"
12201             },
12202             "root-disk": {
12203               "type": "integer"
12204             },
12205             "spaces": {
12206               "type": "array",
12207               "items": {
12208                 "type": "string"
12209               }
12210             },
12211             "tags": {
12212               "type": "array",
12213               "items": {
12214                 "type": "string"
12215               }
12216             },
12217             "virt-type": {
12218               "type": "string"
12219             }
12220           },
12221           "additionalProperties": false
12222         }
12223       }
12224     }
12225   },
12226   {
12227     "Name": "MachineUndertaker",
12228     "Version": 1,
12229     "Schema": {
12230       "type": "object",
12231       "properties": {
12232         "AllMachineRemovals": {
12233           "type": "object",
12234           "properties": {
12235             "Params": {
12236               "$ref": "#/definitions/Entities"
12237             },
12238             "Result": {
12239               "$ref": "#/definitions/EntitiesResults"
12240             }
12241           }
12242         },
12243         "CompleteMachineRemovals": {
12244           "type": "object",
12245           "properties": {
12246             "Params": {
12247               "$ref": "#/definitions/Entities"
12248             }
12249           }
12250         },
12251         "GetMachineProviderInterfaceInfo": {
12252           "type": "object",
12253           "properties": {
12254             "Params": {
12255               "$ref": "#/definitions/Entities"
12256             },
12257             "Result": {
12258               "$ref": "#/definitions/ProviderInterfaceInfoResults"
12259             }
12260           }
12261         },
12262         "WatchMachineRemovals": {
12263           "type": "object",
12264           "properties": {
12265             "Params": {
12266               "$ref": "#/definitions/Entities"
12267             },
12268             "Result": {
12269               "$ref": "#/definitions/NotifyWatchResults"
12270             }
12271           }
12272         }
12273       },
12274       "definitions": {
12275         "Entities": {
12276           "type": "object",
12277           "properties": {
12278             "entities": {
12279               "type": "array",
12280               "items": {
12281                 "$ref": "#/definitions/Entity"
12282               }
12283             }
12284           },
12285           "additionalProperties": false,
12286           "required": [
12287             "entities"
12288           ]
12289         },
12290         "EntitiesResult": {
12291           "type": "object",
12292           "properties": {
12293             "entities": {
12294               "type": "array",
12295               "items": {
12296                 "$ref": "#/definitions/Entity"
12297               }
12298             },
12299             "error": {
12300               "$ref": "#/definitions/Error"
12301             }
12302           },
12303           "additionalProperties": false,
12304           "required": [
12305             "entities"
12306           ]
12307         },
12308         "EntitiesResults": {
12309           "type": "object",
12310           "properties": {
12311             "results": {
12312               "type": "array",
12313               "items": {
12314                 "$ref": "#/definitions/EntitiesResult"
12315               }
12316             }
12317           },
12318           "additionalProperties": false,
12319           "required": [
12320             "results"
12321           ]
12322         },
12323         "Entity": {
12324           "type": "object",
12325           "properties": {
12326             "tag": {
12327               "type": "string"
12328             }
12329           },
12330           "additionalProperties": false,
12331           "required": [
12332             "tag"
12333           ]
12334         },
12335         "Error": {
12336           "type": "object",
12337           "properties": {
12338             "code": {
12339               "type": "string"
12340             },
12341             "info": {
12342               "$ref": "#/definitions/ErrorInfo"
12343             },
12344             "message": {
12345               "type": "string"
12346             }
12347           },
12348           "additionalProperties": false,
12349           "required": [
12350             "message",
12351             "code"
12352           ]
12353         },
12354         "ErrorInfo": {
12355           "type": "object",
12356           "properties": {
12357             "macaroon": {
12358               "$ref": "#/definitions/Macaroon"
12359             },
12360             "macaroon-path": {
12361               "type": "string"
12362             }
12363           },
12364           "additionalProperties": false
12365         },
12366         "Macaroon": {
12367           "type": "object",
12368           "additionalProperties": false
12369         },
12370         "NotifyWatchResult": {
12371           "type": "object",
12372           "properties": {
12373             "NotifyWatcherId": {
12374               "type": "string"
12375             },
12376             "error": {
12377               "$ref": "#/definitions/Error"
12378             }
12379           },
12380           "additionalProperties": false,
12381           "required": [
12382             "NotifyWatcherId"
12383           ]
12384         },
12385         "NotifyWatchResults": {
12386           "type": "object",
12387           "properties": {
12388             "results": {
12389               "type": "array",
12390               "items": {
12391                 "$ref": "#/definitions/NotifyWatchResult"
12392               }
12393             }
12394           },
12395           "additionalProperties": false,
12396           "required": [
12397             "results"
12398           ]
12399         },
12400         "ProviderInterfaceInfo": {
12401           "type": "object",
12402           "properties": {
12403             "interface-name": {
12404               "type": "string"
12405             },
12406             "mac-address": {
12407               "type": "string"
12408             },
12409             "provider-id": {
12410               "type": "string"
12411             }
12412           },
12413           "additionalProperties": false,
12414           "required": [
12415             "interface-name",
12416             "mac-address",
12417             "provider-id"
12418           ]
12419         },
12420         "ProviderInterfaceInfoResult": {
12421           "type": "object",
12422           "properties": {
12423             "error": {
12424               "$ref": "#/definitions/Error"
12425             },
12426             "interfaces": {
12427               "type": "array",
12428               "items": {
12429                 "$ref": "#/definitions/ProviderInterfaceInfo"
12430               }
12431             },
12432             "machine-tag": {
12433               "type": "string"
12434             }
12435           },
12436           "additionalProperties": false,
12437           "required": [
12438             "machine-tag",
12439             "interfaces"
12440           ]
12441         },
12442         "ProviderInterfaceInfoResults": {
12443           "type": "object",
12444           "properties": {
12445             "results": {
12446               "type": "array",
12447               "items": {
12448                 "$ref": "#/definitions/ProviderInterfaceInfoResult"
12449               }
12450             }
12451           },
12452           "additionalProperties": false,
12453           "required": [
12454             "results"
12455           ]
12456         }
12457       }
12458     }
12459   },
12460   {
12461     "Name": "Machiner",
12462     "Version": 1,
12463     "Schema": {
12464       "type": "object",
12465       "properties": {
12466         "APIAddresses": {
12467           "type": "object",
12468           "properties": {
12469             "Result": {
12470               "$ref": "#/definitions/StringsResult"
12471             }
12472           }
12473         },
12474         "APIHostPorts": {
12475           "type": "object",
12476           "properties": {
12477             "Result": {
12478               "$ref": "#/definitions/APIHostPortsResult"
12479             }
12480           }
12481         },
12482         "CACert": {
12483           "type": "object",
12484           "properties": {
12485             "Result": {
12486               "$ref": "#/definitions/BytesResult"
12487             }
12488           }
12489         },
12490         "EnsureDead": {
12491           "type": "object",
12492           "properties": {
12493             "Params": {
12494               "$ref": "#/definitions/Entities"
12495             },
12496             "Result": {
12497               "$ref": "#/definitions/ErrorResults"
12498             }
12499           }
12500         },
12501         "Jobs": {
12502           "type": "object",
12503           "properties": {
12504             "Params": {
12505               "$ref": "#/definitions/Entities"
12506             },
12507             "Result": {
12508               "$ref": "#/definitions/JobsResults"
12509             }
12510           }
12511         },
12512         "Life": {
12513           "type": "object",
12514           "properties": {
12515             "Params": {
12516               "$ref": "#/definitions/Entities"
12517             },
12518             "Result": {
12519               "$ref": "#/definitions/LifeResults"
12520             }
12521           }
12522         },
12523         "ModelUUID": {
12524           "type": "object",
12525           "properties": {
12526             "Result": {
12527               "$ref": "#/definitions/StringResult"
12528             }
12529           }
12530         },
12531         "SetMachineAddresses": {
12532           "type": "object",
12533           "properties": {
12534             "Params": {
12535               "$ref": "#/definitions/SetMachinesAddresses"
12536             },
12537             "Result": {
12538               "$ref": "#/definitions/ErrorResults"
12539             }
12540           }
12541         },
12542         "SetObservedNetworkConfig": {
12543           "type": "object",
12544           "properties": {
12545             "Params": {
12546               "$ref": "#/definitions/SetMachineNetworkConfig"
12547             }
12548           }
12549         },
12550         "SetProviderNetworkConfig": {
12551           "type": "object",
12552           "properties": {
12553             "Params": {
12554               "$ref": "#/definitions/Entities"
12555             },
12556             "Result": {
12557               "$ref": "#/definitions/ErrorResults"
12558             }
12559           }
12560         },
12561         "SetStatus": {
12562           "type": "object",
12563           "properties": {
12564             "Params": {
12565               "$ref": "#/definitions/SetStatus"
12566             },
12567             "Result": {
12568               "$ref": "#/definitions/ErrorResults"
12569             }
12570           }
12571         },
12572         "UpdateStatus": {
12573           "type": "object",
12574           "properties": {
12575             "Params": {
12576               "$ref": "#/definitions/SetStatus"
12577             },
12578             "Result": {
12579               "$ref": "#/definitions/ErrorResults"
12580             }
12581           }
12582         },
12583         "Watch": {
12584           "type": "object",
12585           "properties": {
12586             "Params": {
12587               "$ref": "#/definitions/Entities"
12588             },
12589             "Result": {
12590               "$ref": "#/definitions/NotifyWatchResults"
12591             }
12592           }
12593         },
12594         "WatchAPIHostPorts": {
12595           "type": "object",
12596           "properties": {
12597             "Result": {
12598               "$ref": "#/definitions/NotifyWatchResult"
12599             }
12600           }
12601         }
12602       },
12603       "definitions": {
12604         "APIHostPortsResult": {
12605           "type": "object",
12606           "properties": {
12607             "servers": {
12608               "type": "array",
12609               "items": {
12610                 "type": "array",
12611                 "items": {
12612                   "$ref": "#/definitions/HostPort"
12613                 }
12614               }
12615             }
12616           },
12617           "additionalProperties": false,
12618           "required": [
12619             "servers"
12620           ]
12621         },
12622         "Address": {
12623           "type": "object",
12624           "properties": {
12625             "scope": {
12626               "type": "string"
12627             },
12628             "space-name": {
12629               "type": "string"
12630             },
12631             "type": {
12632               "type": "string"
12633             },
12634             "value": {
12635               "type": "string"
12636             }
12637           },
12638           "additionalProperties": false,
12639           "required": [
12640             "value",
12641             "type",
12642             "scope"
12643           ]
12644         },
12645         "BytesResult": {
12646           "type": "object",
12647           "properties": {
12648             "result": {
12649               "type": "array",
12650               "items": {
12651                 "type": "integer"
12652               }
12653             }
12654           },
12655           "additionalProperties": false,
12656           "required": [
12657             "result"
12658           ]
12659         },
12660         "Entities": {
12661           "type": "object",
12662           "properties": {
12663             "entities": {
12664               "type": "array",
12665               "items": {
12666                 "$ref": "#/definitions/Entity"
12667               }
12668             }
12669           },
12670           "additionalProperties": false,
12671           "required": [
12672             "entities"
12673           ]
12674         },
12675         "Entity": {
12676           "type": "object",
12677           "properties": {
12678             "tag": {
12679               "type": "string"
12680             }
12681           },
12682           "additionalProperties": false,
12683           "required": [
12684             "tag"
12685           ]
12686         },
12687         "EntityStatusArgs": {
12688           "type": "object",
12689           "properties": {
12690             "data": {
12691               "type": "object",
12692               "patternProperties": {
12693                 ".*": {
12694                   "type": "object",
12695                   "additionalProperties": true
12696                 }
12697               }
12698             },
12699             "info": {
12700               "type": "string"
12701             },
12702             "status": {
12703               "type": "string"
12704             },
12705             "tag": {
12706               "type": "string"
12707             }
12708           },
12709           "additionalProperties": false,
12710           "required": [
12711             "tag",
12712             "status",
12713             "info",
12714             "data"
12715           ]
12716         },
12717         "Error": {
12718           "type": "object",
12719           "properties": {
12720             "code": {
12721               "type": "string"
12722             },
12723             "info": {
12724               "$ref": "#/definitions/ErrorInfo"
12725             },
12726             "message": {
12727               "type": "string"
12728             }
12729           },
12730           "additionalProperties": false,
12731           "required": [
12732             "message",
12733             "code"
12734           ]
12735         },
12736         "ErrorInfo": {
12737           "type": "object",
12738           "properties": {
12739             "macaroon": {
12740               "$ref": "#/definitions/Macaroon"
12741             },
12742             "macaroon-path": {
12743               "type": "string"
12744             }
12745           },
12746           "additionalProperties": false
12747         },
12748         "ErrorResult": {
12749           "type": "object",
12750           "properties": {
12751             "error": {
12752               "$ref": "#/definitions/Error"
12753             }
12754           },
12755           "additionalProperties": false
12756         },
12757         "ErrorResults": {
12758           "type": "object",
12759           "properties": {
12760             "results": {
12761               "type": "array",
12762               "items": {
12763                 "$ref": "#/definitions/ErrorResult"
12764               }
12765             }
12766           },
12767           "additionalProperties": false,
12768           "required": [
12769             "results"
12770           ]
12771         },
12772         "HostPort": {
12773           "type": "object",
12774           "properties": {
12775             "Address": {
12776               "$ref": "#/definitions/Address"
12777             },
12778             "port": {
12779               "type": "integer"
12780             }
12781           },
12782           "additionalProperties": false,
12783           "required": [
12784             "Address",
12785             "port"
12786           ]
12787         },
12788         "JobsResult": {
12789           "type": "object",
12790           "properties": {
12791             "error": {
12792               "$ref": "#/definitions/Error"
12793             },
12794             "jobs": {
12795               "type": "array",
12796               "items": {
12797                 "type": "string"
12798               }
12799             }
12800           },
12801           "additionalProperties": false,
12802           "required": [
12803             "jobs"
12804           ]
12805         },
12806         "JobsResults": {
12807           "type": "object",
12808           "properties": {
12809             "results": {
12810               "type": "array",
12811               "items": {
12812                 "$ref": "#/definitions/JobsResult"
12813               }
12814             }
12815           },
12816           "additionalProperties": false,
12817           "required": [
12818             "results"
12819           ]
12820         },
12821         "LifeResult": {
12822           "type": "object",
12823           "properties": {
12824             "error": {
12825               "$ref": "#/definitions/Error"
12826             },
12827             "life": {
12828               "type": "string"
12829             }
12830           },
12831           "additionalProperties": false,
12832           "required": [
12833             "life"
12834           ]
12835         },
12836         "LifeResults": {
12837           "type": "object",
12838           "properties": {
12839             "results": {
12840               "type": "array",
12841               "items": {
12842                 "$ref": "#/definitions/LifeResult"
12843               }
12844             }
12845           },
12846           "additionalProperties": false,
12847           "required": [
12848             "results"
12849           ]
12850         },
12851         "Macaroon": {
12852           "type": "object",
12853           "additionalProperties": false
12854         },
12855         "MachineAddresses": {
12856           "type": "object",
12857           "properties": {
12858             "addresses": {
12859               "type": "array",
12860               "items": {
12861                 "$ref": "#/definitions/Address"
12862               }
12863             },
12864             "tag": {
12865               "type": "string"
12866             }
12867           },
12868           "additionalProperties": false,
12869           "required": [
12870             "tag",
12871             "addresses"
12872           ]
12873         },
12874         "NetworkConfig": {
12875           "type": "object",
12876           "properties": {
12877             "address": {
12878               "type": "string"
12879             },
12880             "cidr": {
12881               "type": "string"
12882             },
12883             "config-type": {
12884               "type": "string"
12885             },
12886             "device-index": {
12887               "type": "integer"
12888             },
12889             "disabled": {
12890               "type": "boolean"
12891             },
12892             "dns-search-domains": {
12893               "type": "array",
12894               "items": {
12895                 "type": "string"
12896               }
12897             },
12898             "dns-servers": {
12899               "type": "array",
12900               "items": {
12901                 "type": "string"
12902               }
12903             },
12904             "gateway-address": {
12905               "type": "string"
12906             },
12907             "interface-name": {
12908               "type": "string"
12909             },
12910             "interface-type": {
12911               "type": "string"
12912             },
12913             "mac-address": {
12914               "type": "string"
12915             },
12916             "mtu": {
12917               "type": "integer"
12918             },
12919             "no-auto-start": {
12920               "type": "boolean"
12921             },
12922             "parent-interface-name": {
12923               "type": "string"
12924             },
12925             "provider-address-id": {
12926               "type": "string"
12927             },
12928             "provider-id": {
12929               "type": "string"
12930             },
12931             "provider-space-id": {
12932               "type": "string"
12933             },
12934             "provider-subnet-id": {
12935               "type": "string"
12936             },
12937             "provider-vlan-id": {
12938               "type": "string"
12939             },
12940             "routes": {
12941               "type": "array",
12942               "items": {
12943                 "$ref": "#/definitions/NetworkRoute"
12944               }
12945             },
12946             "vlan-tag": {
12947               "type": "integer"
12948             }
12949           },
12950           "additionalProperties": false,
12951           "required": [
12952             "device-index",
12953             "mac-address",
12954             "cidr",
12955             "mtu",
12956             "provider-id",
12957             "provider-subnet-id",
12958             "provider-space-id",
12959             "provider-address-id",
12960             "provider-vlan-id",
12961             "vlan-tag",
12962             "interface-name",
12963             "parent-interface-name",
12964             "interface-type",
12965             "disabled"
12966           ]
12967         },
12968         "NetworkRoute": {
12969           "type": "object",
12970           "properties": {
12971             "destination-cidr": {
12972               "type": "string"
12973             },
12974             "gateway-ip": {
12975               "type": "string"
12976             },
12977             "metric": {
12978               "type": "integer"
12979             }
12980           },
12981           "additionalProperties": false,
12982           "required": [
12983             "destination-cidr",
12984             "gateway-ip",
12985             "metric"
12986           ]
12987         },
12988         "NotifyWatchResult": {
12989           "type": "object",
12990           "properties": {
12991             "NotifyWatcherId": {
12992               "type": "string"
12993             },
12994             "error": {
12995               "$ref": "#/definitions/Error"
12996             }
12997           },
12998           "additionalProperties": false,
12999           "required": [
13000             "NotifyWatcherId"
13001           ]
13002         },
13003         "NotifyWatchResults": {
13004           "type": "object",
13005           "properties": {
13006             "results": {
13007               "type": "array",
13008               "items": {
13009                 "$ref": "#/definitions/NotifyWatchResult"
13010               }
13011             }
13012           },
13013           "additionalProperties": false,
13014           "required": [
13015             "results"
13016           ]
13017         },
13018         "SetMachineNetworkConfig": {
13019           "type": "object",
13020           "properties": {
13021             "config": {
13022               "type": "array",
13023               "items": {
13024                 "$ref": "#/definitions/NetworkConfig"
13025               }
13026             },
13027             "tag": {
13028               "type": "string"
13029             }
13030           },
13031           "additionalProperties": false,
13032           "required": [
13033             "tag",
13034             "config"
13035           ]
13036         },
13037         "SetMachinesAddresses": {
13038           "type": "object",
13039           "properties": {
13040             "machine-addresses": {
13041               "type": "array",
13042               "items": {
13043                 "$ref": "#/definitions/MachineAddresses"
13044               }
13045             }
13046           },
13047           "additionalProperties": false,
13048           "required": [
13049             "machine-addresses"
13050           ]
13051         },
13052         "SetStatus": {
13053           "type": "object",
13054           "properties": {
13055             "entities": {
13056               "type": "array",
13057               "items": {
13058                 "$ref": "#/definitions/EntityStatusArgs"
13059               }
13060             }
13061           },
13062           "additionalProperties": false,
13063           "required": [
13064             "entities"
13065           ]
13066         },
13067         "StringResult": {
13068           "type": "object",
13069           "properties": {
13070             "error": {
13071               "$ref": "#/definitions/Error"
13072             },
13073             "result": {
13074               "type": "string"
13075             }
13076           },
13077           "additionalProperties": false,
13078           "required": [
13079             "result"
13080           ]
13081         },
13082         "StringsResult": {
13083           "type": "object",
13084           "properties": {
13085             "error": {
13086               "$ref": "#/definitions/Error"
13087             },
13088             "result": {
13089               "type": "array",
13090               "items": {
13091                 "type": "string"
13092               }
13093             }
13094           },
13095           "additionalProperties": false
13096         }
13097       }
13098     }
13099   },
13100   {
13101     "Name": "MeterStatus",
13102     "Version": 1,
13103     "Schema": {
13104       "type": "object",
13105       "properties": {
13106         "GetMeterStatus": {
13107           "type": "object",
13108           "properties": {
13109             "Params": {
13110               "$ref": "#/definitions/Entities"
13111             },
13112             "Result": {
13113               "$ref": "#/definitions/MeterStatusResults"
13114             }
13115           }
13116         },
13117         "WatchMeterStatus": {
13118           "type": "object",
13119           "properties": {
13120             "Params": {
13121               "$ref": "#/definitions/Entities"
13122             },
13123             "Result": {
13124               "$ref": "#/definitions/NotifyWatchResults"
13125             }
13126           }
13127         }
13128       },
13129       "definitions": {
13130         "Entities": {
13131           "type": "object",
13132           "properties": {
13133             "entities": {
13134               "type": "array",
13135               "items": {
13136                 "$ref": "#/definitions/Entity"
13137               }
13138             }
13139           },
13140           "additionalProperties": false,
13141           "required": [
13142             "entities"
13143           ]
13144         },
13145         "Entity": {
13146           "type": "object",
13147           "properties": {
13148             "tag": {
13149               "type": "string"
13150             }
13151           },
13152           "additionalProperties": false,
13153           "required": [
13154             "tag"
13155           ]
13156         },
13157         "Error": {
13158           "type": "object",
13159           "properties": {
13160             "code": {
13161               "type": "string"
13162             },
13163             "info": {
13164               "$ref": "#/definitions/ErrorInfo"
13165             },
13166             "message": {
13167               "type": "string"
13168             }
13169           },
13170           "additionalProperties": false,
13171           "required": [
13172             "message",
13173             "code"
13174           ]
13175         },
13176         "ErrorInfo": {
13177           "type": "object",
13178           "properties": {
13179             "macaroon": {
13180               "$ref": "#/definitions/Macaroon"
13181             },
13182             "macaroon-path": {
13183               "type": "string"
13184             }
13185           },
13186           "additionalProperties": false
13187         },
13188         "Macaroon": {
13189           "type": "object",
13190           "additionalProperties": false
13191         },
13192         "MeterStatusResult": {
13193           "type": "object",
13194           "properties": {
13195             "code": {
13196               "type": "string"
13197             },
13198             "error": {
13199               "$ref": "#/definitions/Error"
13200             },
13201             "info": {
13202               "type": "string"
13203             }
13204           },
13205           "additionalProperties": false,
13206           "required": [
13207             "code",
13208             "info"
13209           ]
13210         },
13211         "MeterStatusResults": {
13212           "type": "object",
13213           "properties": {
13214             "results": {
13215               "type": "array",
13216               "items": {
13217                 "$ref": "#/definitions/MeterStatusResult"
13218               }
13219             }
13220           },
13221           "additionalProperties": false,
13222           "required": [
13223             "results"
13224           ]
13225         },
13226         "NotifyWatchResult": {
13227           "type": "object",
13228           "properties": {
13229             "NotifyWatcherId": {
13230               "type": "string"
13231             },
13232             "error": {
13233               "$ref": "#/definitions/Error"
13234             }
13235           },
13236           "additionalProperties": false,
13237           "required": [
13238             "NotifyWatcherId"
13239           ]
13240         },
13241         "NotifyWatchResults": {
13242           "type": "object",
13243           "properties": {
13244             "results": {
13245               "type": "array",
13246               "items": {
13247                 "$ref": "#/definitions/NotifyWatchResult"
13248               }
13249             }
13250           },
13251           "additionalProperties": false,
13252           "required": [
13253             "results"
13254           ]
13255         }
13256       }
13257     }
13258   },
13259   {
13260     "Name": "MetricsAdder",
13261     "Version": 2,
13262     "Schema": {
13263       "type": "object",
13264       "properties": {
13265         "AddMetricBatches": {
13266           "type": "object",
13267           "properties": {
13268             "Params": {
13269               "$ref": "#/definitions/MetricBatchParams"
13270             },
13271             "Result": {
13272               "$ref": "#/definitions/ErrorResults"
13273             }
13274           }
13275         }
13276       },
13277       "definitions": {
13278         "Error": {
13279           "type": "object",
13280           "properties": {
13281             "code": {
13282               "type": "string"
13283             },
13284             "info": {
13285               "$ref": "#/definitions/ErrorInfo"
13286             },
13287             "message": {
13288               "type": "string"
13289             }
13290           },
13291           "additionalProperties": false,
13292           "required": [
13293             "message",
13294             "code"
13295           ]
13296         },
13297         "ErrorInfo": {
13298           "type": "object",
13299           "properties": {
13300             "macaroon": {
13301               "$ref": "#/definitions/Macaroon"
13302             },
13303             "macaroon-path": {
13304               "type": "string"
13305             }
13306           },
13307           "additionalProperties": false
13308         },
13309         "ErrorResult": {
13310           "type": "object",
13311           "properties": {
13312             "error": {
13313               "$ref": "#/definitions/Error"
13314             }
13315           },
13316           "additionalProperties": false
13317         },
13318         "ErrorResults": {
13319           "type": "object",
13320           "properties": {
13321             "results": {
13322               "type": "array",
13323               "items": {
13324                 "$ref": "#/definitions/ErrorResult"
13325               }
13326             }
13327           },
13328           "additionalProperties": false,
13329           "required": [
13330             "results"
13331           ]
13332         },
13333         "Macaroon": {
13334           "type": "object",
13335           "additionalProperties": false
13336         },
13337         "Metric": {
13338           "type": "object",
13339           "properties": {
13340             "key": {
13341               "type": "string"
13342             },
13343             "time": {
13344               "type": "string",
13345               "format": "date-time"
13346             },
13347             "value": {
13348               "type": "string"
13349             }
13350           },
13351           "additionalProperties": false,
13352           "required": [
13353             "key",
13354             "value",
13355             "time"
13356           ]
13357         },
13358         "MetricBatch": {
13359           "type": "object",
13360           "properties": {
13361             "charm-url": {
13362               "type": "string"
13363             },
13364             "created": {
13365               "type": "string",
13366               "format": "date-time"
13367             },
13368             "metrics": {
13369               "type": "array",
13370               "items": {
13371                 "$ref": "#/definitions/Metric"
13372               }
13373             },
13374             "uuid": {
13375               "type": "string"
13376             }
13377           },
13378           "additionalProperties": false,
13379           "required": [
13380             "uuid",
13381             "charm-url",
13382             "created",
13383             "metrics"
13384           ]
13385         },
13386         "MetricBatchParam": {
13387           "type": "object",
13388           "properties": {
13389             "batch": {
13390               "$ref": "#/definitions/MetricBatch"
13391             },
13392             "tag": {
13393               "type": "string"
13394             }
13395           },
13396           "additionalProperties": false,
13397           "required": [
13398             "tag",
13399             "batch"
13400           ]
13401         },
13402         "MetricBatchParams": {
13403           "type": "object",
13404           "properties": {
13405             "batches": {
13406               "type": "array",
13407               "items": {
13408                 "$ref": "#/definitions/MetricBatchParam"
13409               }
13410             }
13411           },
13412           "additionalProperties": false,
13413           "required": [
13414             "batches"
13415           ]
13416         }
13417       }
13418     }
13419   },
13420   {
13421     "Name": "MetricsDebug",
13422     "Version": 2,
13423     "Schema": {
13424       "type": "object",
13425       "properties": {
13426         "GetMetrics": {
13427           "type": "object",
13428           "properties": {
13429             "Params": {
13430               "$ref": "#/definitions/Entities"
13431             },
13432             "Result": {
13433               "$ref": "#/definitions/MetricResults"
13434             }
13435           }
13436         },
13437         "SetMeterStatus": {
13438           "type": "object",
13439           "properties": {
13440             "Params": {
13441               "$ref": "#/definitions/MeterStatusParams"
13442             },
13443             "Result": {
13444               "$ref": "#/definitions/ErrorResults"
13445             }
13446           }
13447         }
13448       },
13449       "definitions": {
13450         "Entities": {
13451           "type": "object",
13452           "properties": {
13453             "entities": {
13454               "type": "array",
13455               "items": {
13456                 "$ref": "#/definitions/Entity"
13457               }
13458             }
13459           },
13460           "additionalProperties": false,
13461           "required": [
13462             "entities"
13463           ]
13464         },
13465         "Entity": {
13466           "type": "object",
13467           "properties": {
13468             "tag": {
13469               "type": "string"
13470             }
13471           },
13472           "additionalProperties": false,
13473           "required": [
13474             "tag"
13475           ]
13476         },
13477         "EntityMetrics": {
13478           "type": "object",
13479           "properties": {
13480             "error": {
13481               "$ref": "#/definitions/Error"
13482             },
13483             "metrics": {
13484               "type": "array",
13485               "items": {
13486                 "$ref": "#/definitions/MetricResult"
13487               }
13488             }
13489           },
13490           "additionalProperties": false
13491         },
13492         "Error": {
13493           "type": "object",
13494           "properties": {
13495             "code": {
13496               "type": "string"
13497             },
13498             "info": {
13499               "$ref": "#/definitions/ErrorInfo"
13500             },
13501             "message": {
13502               "type": "string"
13503             }
13504           },
13505           "additionalProperties": false,
13506           "required": [
13507             "message",
13508             "code"
13509           ]
13510         },
13511         "ErrorInfo": {
13512           "type": "object",
13513           "properties": {
13514             "macaroon": {
13515               "$ref": "#/definitions/Macaroon"
13516             },
13517             "macaroon-path": {
13518               "type": "string"
13519             }
13520           },
13521           "additionalProperties": false
13522         },
13523         "ErrorResult": {
13524           "type": "object",
13525           "properties": {
13526             "error": {
13527               "$ref": "#/definitions/Error"
13528             }
13529           },
13530           "additionalProperties": false
13531         },
13532         "ErrorResults": {
13533           "type": "object",
13534           "properties": {
13535             "results": {
13536               "type": "array",
13537               "items": {
13538                 "$ref": "#/definitions/ErrorResult"
13539               }
13540             }
13541           },
13542           "additionalProperties": false,
13543           "required": [
13544             "results"
13545           ]
13546         },
13547         "Macaroon": {
13548           "type": "object",
13549           "additionalProperties": false
13550         },
13551         "MeterStatusParam": {
13552           "type": "object",
13553           "properties": {
13554             "code": {
13555               "type": "string"
13556             },
13557             "info": {
13558               "type": "string"
13559             },
13560             "tag": {
13561               "type": "string"
13562             }
13563           },
13564           "additionalProperties": false,
13565           "required": [
13566             "tag",
13567             "code",
13568             "info"
13569           ]
13570         },
13571         "MeterStatusParams": {
13572           "type": "object",
13573           "properties": {
13574             "statues": {
13575               "type": "array",
13576               "items": {
13577                 "$ref": "#/definitions/MeterStatusParam"
13578               }
13579             }
13580           },
13581           "additionalProperties": false,
13582           "required": [
13583             "statues"
13584           ]
13585         },
13586         "MetricResult": {
13587           "type": "object",
13588           "properties": {
13589             "key": {
13590               "type": "string"
13591             },
13592             "time": {
13593               "type": "string",
13594               "format": "date-time"
13595             },
13596             "unit": {
13597               "type": "string"
13598             },
13599             "value": {
13600               "type": "string"
13601             }
13602           },
13603           "additionalProperties": false,
13604           "required": [
13605             "time",
13606             "key",
13607             "value",
13608             "unit"
13609           ]
13610         },
13611         "MetricResults": {
13612           "type": "object",
13613           "properties": {
13614             "results": {
13615               "type": "array",
13616               "items": {
13617                 "$ref": "#/definitions/EntityMetrics"
13618               }
13619             }
13620           },
13621           "additionalProperties": false,
13622           "required": [
13623             "results"
13624           ]
13625         }
13626       }
13627     }
13628   },
13629   {
13630     "Name": "MetricsManager",
13631     "Version": 1,
13632     "Schema": {
13633       "type": "object",
13634       "properties": {
13635         "AddJujuMachineMetrics": {
13636           "type": "object"
13637         },
13638         "CleanupOldMetrics": {
13639           "type": "object",
13640           "properties": {
13641             "Params": {
13642               "$ref": "#/definitions/Entities"
13643             },
13644             "Result": {
13645               "$ref": "#/definitions/ErrorResults"
13646             }
13647           }
13648         },
13649         "SendMetrics": {
13650           "type": "object",
13651           "properties": {
13652             "Params": {
13653               "$ref": "#/definitions/Entities"
13654             },
13655             "Result": {
13656               "$ref": "#/definitions/ErrorResults"
13657             }
13658           }
13659         }
13660       },
13661       "definitions": {
13662         "Entities": {
13663           "type": "object",
13664           "properties": {
13665             "entities": {
13666               "type": "array",
13667               "items": {
13668                 "$ref": "#/definitions/Entity"
13669               }
13670             }
13671           },
13672           "additionalProperties": false,
13673           "required": [
13674             "entities"
13675           ]
13676         },
13677         "Entity": {
13678           "type": "object",
13679           "properties": {
13680             "tag": {
13681               "type": "string"
13682             }
13683           },
13684           "additionalProperties": false,
13685           "required": [
13686             "tag"
13687           ]
13688         },
13689         "Error": {
13690           "type": "object",
13691           "properties": {
13692             "code": {
13693               "type": "string"
13694             },
13695             "info": {
13696               "$ref": "#/definitions/ErrorInfo"
13697             },
13698             "message": {
13699               "type": "string"
13700             }
13701           },
13702           "additionalProperties": false,
13703           "required": [
13704             "message",
13705             "code"
13706           ]
13707         },
13708         "ErrorInfo": {
13709           "type": "object",
13710           "properties": {
13711             "macaroon": {
13712               "$ref": "#/definitions/Macaroon"
13713             },
13714             "macaroon-path": {
13715               "type": "string"
13716             }
13717           },
13718           "additionalProperties": false
13719         },
13720         "ErrorResult": {
13721           "type": "object",
13722           "properties": {
13723             "error": {
13724               "$ref": "#/definitions/Error"
13725             }
13726           },
13727           "additionalProperties": false
13728         },
13729         "ErrorResults": {
13730           "type": "object",
13731           "properties": {
13732             "results": {
13733               "type": "array",
13734               "items": {
13735                 "$ref": "#/definitions/ErrorResult"
13736               }
13737             }
13738           },
13739           "additionalProperties": false,
13740           "required": [
13741             "results"
13742           ]
13743         },
13744         "Macaroon": {
13745           "type": "object",
13746           "additionalProperties": false
13747         }
13748       }
13749     }
13750   },
13751   {
13752     "Name": "MigrationFlag",
13753     "Version": 1,
13754     "Schema": {
13755       "type": "object",
13756       "properties": {
13757         "Phase": {
13758           "type": "object",
13759           "properties": {
13760             "Params": {
13761               "$ref": "#/definitions/Entities"
13762             },
13763             "Result": {
13764               "$ref": "#/definitions/PhaseResults"
13765             }
13766           }
13767         },
13768         "Watch": {
13769           "type": "object",
13770           "properties": {
13771             "Params": {
13772               "$ref": "#/definitions/Entities"
13773             },
13774             "Result": {
13775               "$ref": "#/definitions/NotifyWatchResults"
13776             }
13777           }
13778         }
13779       },
13780       "definitions": {
13781         "Entities": {
13782           "type": "object",
13783           "properties": {
13784             "entities": {
13785               "type": "array",
13786               "items": {
13787                 "$ref": "#/definitions/Entity"
13788               }
13789             }
13790           },
13791           "additionalProperties": false,
13792           "required": [
13793             "entities"
13794           ]
13795         },
13796         "Entity": {
13797           "type": "object",
13798           "properties": {
13799             "tag": {
13800               "type": "string"
13801             }
13802           },
13803           "additionalProperties": false,
13804           "required": [
13805             "tag"
13806           ]
13807         },
13808         "Error": {
13809           "type": "object",
13810           "properties": {
13811             "code": {
13812               "type": "string"
13813             },
13814             "info": {
13815               "$ref": "#/definitions/ErrorInfo"
13816             },
13817             "message": {
13818               "type": "string"
13819             }
13820           },
13821           "additionalProperties": false,
13822           "required": [
13823             "message",
13824             "code"
13825           ]
13826         },
13827         "ErrorInfo": {
13828           "type": "object",
13829           "properties": {
13830             "macaroon": {
13831               "$ref": "#/definitions/Macaroon"
13832             },
13833             "macaroon-path": {
13834               "type": "string"
13835             }
13836           },
13837           "additionalProperties": false
13838         },
13839         "Macaroon": {
13840           "type": "object",
13841           "additionalProperties": false
13842         },
13843         "NotifyWatchResult": {
13844           "type": "object",
13845           "properties": {
13846             "NotifyWatcherId": {
13847               "type": "string"
13848             },
13849             "error": {
13850               "$ref": "#/definitions/Error"
13851             }
13852           },
13853           "additionalProperties": false,
13854           "required": [
13855             "NotifyWatcherId"
13856           ]
13857         },
13858         "NotifyWatchResults": {
13859           "type": "object",
13860           "properties": {
13861             "results": {
13862               "type": "array",
13863               "items": {
13864                 "$ref": "#/definitions/NotifyWatchResult"
13865               }
13866             }
13867           },
13868           "additionalProperties": false,
13869           "required": [
13870             "results"
13871           ]
13872         },
13873         "PhaseResult": {
13874           "type": "object",
13875           "properties": {
13876             "error": {
13877               "$ref": "#/definitions/Error"
13878             },
13879             "phase": {
13880               "type": "string"
13881             }
13882           },
13883           "additionalProperties": false
13884         },
13885         "PhaseResults": {
13886           "type": "object",
13887           "properties": {
13888             "results": {
13889               "type": "array",
13890               "items": {
13891                 "$ref": "#/definitions/PhaseResult"
13892               }
13893             }
13894           },
13895           "additionalProperties": false,
13896           "required": [
13897             "results"
13898           ]
13899         }
13900       }
13901     }
13902   },
13903   {
13904     "Name": "MigrationMaster",
13905     "Version": 1,
13906     "Schema": {
13907       "type": "object",
13908       "properties": {
13909         "Export": {
13910           "type": "object",
13911           "properties": {
13912             "Result": {
13913               "$ref": "#/definitions/SerializedModel"
13914             }
13915           }
13916         },
13917         "MigrationStatus": {
13918           "type": "object",
13919           "properties": {
13920             "Result": {
13921               "$ref": "#/definitions/MasterMigrationStatus"
13922             }
13923           }
13924         },
13925         "MinionReports": {
13926           "type": "object",
13927           "properties": {
13928             "Result": {
13929               "$ref": "#/definitions/MinionReports"
13930             }
13931           }
13932         },
13933         "ModelInfo": {
13934           "type": "object",
13935           "properties": {
13936             "Result": {
13937               "$ref": "#/definitions/MigrationModelInfo"
13938             }
13939           }
13940         },
13941         "Prechecks": {
13942           "type": "object"
13943         },
13944         "Reap": {
13945           "type": "object"
13946         },
13947         "SetPhase": {
13948           "type": "object",
13949           "properties": {
13950             "Params": {
13951               "$ref": "#/definitions/SetMigrationPhaseArgs"
13952             }
13953           }
13954         },
13955         "SetStatusMessage": {
13956           "type": "object",
13957           "properties": {
13958             "Params": {
13959               "$ref": "#/definitions/SetMigrationStatusMessageArgs"
13960             }
13961           }
13962         },
13963         "Watch": {
13964           "type": "object",
13965           "properties": {
13966             "Result": {
13967               "$ref": "#/definitions/NotifyWatchResult"
13968             }
13969           }
13970         },
13971         "WatchMinionReports": {
13972           "type": "object",
13973           "properties": {
13974             "Result": {
13975               "$ref": "#/definitions/NotifyWatchResult"
13976             }
13977           }
13978         }
13979       },
13980       "definitions": {
13981         "Error": {
13982           "type": "object",
13983           "properties": {
13984             "code": {
13985               "type": "string"
13986             },
13987             "info": {
13988               "$ref": "#/definitions/ErrorInfo"
13989             },
13990             "message": {
13991               "type": "string"
13992             }
13993           },
13994           "additionalProperties": false,
13995           "required": [
13996             "message",
13997             "code"
13998           ]
13999         },
14000         "ErrorInfo": {
14001           "type": "object",
14002           "properties": {
14003             "macaroon": {
14004               "$ref": "#/definitions/Macaroon"
14005             },
14006             "macaroon-path": {
14007               "type": "string"
14008             }
14009           },
14010           "additionalProperties": false
14011         },
14012         "Macaroon": {
14013           "type": "object",
14014           "additionalProperties": false
14015         },
14016         "MasterMigrationStatus": {
14017           "type": "object",
14018           "properties": {
14019             "migration-id": {
14020               "type": "string"
14021             },
14022             "phase": {
14023               "type": "string"
14024             },
14025             "phase-changed-time": {
14026               "type": "string",
14027               "format": "date-time"
14028             },
14029             "spec": {
14030               "$ref": "#/definitions/MigrationSpec"
14031             }
14032           },
14033           "additionalProperties": false,
14034           "required": [
14035             "spec",
14036             "migration-id",
14037             "phase",
14038             "phase-changed-time"
14039           ]
14040         },
14041         "MigrationModelInfo": {
14042           "type": "object",
14043           "properties": {
14044             "agent-version": {
14045               "$ref": "#/definitions/Number"
14046             },
14047             "controller-agent-version": {
14048               "$ref": "#/definitions/Number"
14049             },
14050             "name": {
14051               "type": "string"
14052             },
14053             "owner-tag": {
14054               "type": "string"
14055             },
14056             "uuid": {
14057               "type": "string"
14058             }
14059           },
14060           "additionalProperties": false,
14061           "required": [
14062             "uuid",
14063             "name",
14064             "owner-tag",
14065             "agent-version",
14066             "controller-agent-version"
14067           ]
14068         },
14069         "MigrationSpec": {
14070           "type": "object",
14071           "properties": {
14072             "external-control": {
14073               "type": "boolean"
14074             },
14075             "model-tag": {
14076               "type": "string"
14077             },
14078             "skip-initial-prechecks": {
14079               "type": "boolean"
14080             },
14081             "target-info": {
14082               "$ref": "#/definitions/MigrationTargetInfo"
14083             }
14084           },
14085           "additionalProperties": false,
14086           "required": [
14087             "model-tag",
14088             "target-info",
14089             "external-control",
14090             "skip-initial-prechecks"
14091           ]
14092         },
14093         "MigrationTargetInfo": {
14094           "type": "object",
14095           "properties": {
14096             "addrs": {
14097               "type": "array",
14098               "items": {
14099                 "type": "string"
14100               }
14101             },
14102             "auth-tag": {
14103               "type": "string"
14104             },
14105             "ca-cert": {
14106               "type": "string"
14107             },
14108             "controller-tag": {
14109               "type": "string"
14110             },
14111             "macaroons": {
14112               "type": "string"
14113             },
14114             "password": {
14115               "type": "string"
14116             }
14117           },
14118           "additionalProperties": false,
14119           "required": [
14120             "controller-tag",
14121             "addrs",
14122             "ca-cert",
14123             "auth-tag"
14124           ]
14125         },
14126         "MinionReports": {
14127           "type": "object",
14128           "properties": {
14129             "failed": {
14130               "type": "array",
14131               "items": {
14132                 "type": "string"
14133               }
14134             },
14135             "migration-id": {
14136               "type": "string"
14137             },
14138             "phase": {
14139               "type": "string"
14140             },
14141             "success-count": {
14142               "type": "integer"
14143             },
14144             "unknown-count": {
14145               "type": "integer"
14146             },
14147             "unknown-sample": {
14148               "type": "array",
14149               "items": {
14150                 "type": "string"
14151               }
14152             }
14153           },
14154           "additionalProperties": false,
14155           "required": [
14156             "migration-id",
14157             "phase",
14158             "success-count",
14159             "unknown-count",
14160             "unknown-sample",
14161             "failed"
14162           ]
14163         },
14164         "NotifyWatchResult": {
14165           "type": "object",
14166           "properties": {
14167             "NotifyWatcherId": {
14168               "type": "string"
14169             },
14170             "error": {
14171               "$ref": "#/definitions/Error"
14172             }
14173           },
14174           "additionalProperties": false,
14175           "required": [
14176             "NotifyWatcherId"
14177           ]
14178         },
14179         "Number": {
14180           "type": "object",
14181           "properties": {
14182             "Build": {
14183               "type": "integer"
14184             },
14185             "Major": {
14186               "type": "integer"
14187             },
14188             "Minor": {
14189               "type": "integer"
14190             },
14191             "Patch": {
14192               "type": "integer"
14193             },
14194             "Tag": {
14195               "type": "string"
14196             }
14197           },
14198           "additionalProperties": false,
14199           "required": [
14200             "Major",
14201             "Minor",
14202             "Tag",
14203             "Patch",
14204             "Build"
14205           ]
14206         },
14207         "SerializedModel": {
14208           "type": "object",
14209           "properties": {
14210             "bytes": {
14211               "type": "array",
14212               "items": {
14213                 "type": "integer"
14214               }
14215             },
14216             "charms": {
14217               "type": "array",
14218               "items": {
14219                 "type": "string"
14220               }
14221             },
14222             "resources": {
14223               "type": "array",
14224               "items": {
14225                 "$ref": "#/definitions/SerializedModelResource"
14226               }
14227             },
14228             "tools": {
14229               "type": "array",
14230               "items": {
14231                 "$ref": "#/definitions/SerializedModelTools"
14232               }
14233             }
14234           },
14235           "additionalProperties": false,
14236           "required": [
14237             "bytes",
14238             "charms",
14239             "tools",
14240             "resources"
14241           ]
14242         },
14243         "SerializedModelResource": {
14244           "type": "object",
14245           "properties": {
14246             "application": {
14247               "type": "string"
14248             },
14249             "application-revision": {
14250               "$ref": "#/definitions/SerializedModelResourceRevision"
14251             },
14252             "charmstore-revision": {
14253               "$ref": "#/definitions/SerializedModelResourceRevision"
14254             },
14255             "name": {
14256               "type": "string"
14257             },
14258             "unit-revisions": {
14259               "type": "object",
14260               "patternProperties": {
14261                 ".*": {
14262                   "$ref": "#/definitions/SerializedModelResourceRevision"
14263                 }
14264               }
14265             }
14266           },
14267           "additionalProperties": false,
14268           "required": [
14269             "application",
14270             "name",
14271             "application-revision",
14272             "charmstore-revision",
14273             "unit-revisions"
14274           ]
14275         },
14276         "SerializedModelResourceRevision": {
14277           "type": "object",
14278           "properties": {
14279             "description": {
14280               "type": "string"
14281             },
14282             "fingerprint": {
14283               "type": "string"
14284             },
14285             "origin": {
14286               "type": "string"
14287             },
14288             "path": {
14289               "type": "string"
14290             },
14291             "revision": {
14292               "type": "integer"
14293             },
14294             "size": {
14295               "type": "integer"
14296             },
14297             "timestamp": {
14298               "type": "string",
14299               "format": "date-time"
14300             },
14301             "type": {
14302               "type": "string"
14303             },
14304             "username": {
14305               "type": "string"
14306             }
14307           },
14308           "additionalProperties": false,
14309           "required": [
14310             "revision",
14311             "type",
14312             "path",
14313             "description",
14314             "origin",
14315             "fingerprint",
14316             "size",
14317             "timestamp"
14318           ]
14319         },
14320         "SerializedModelTools": {
14321           "type": "object",
14322           "properties": {
14323             "uri": {
14324               "type": "string"
14325             },
14326             "version": {
14327               "type": "string"
14328             }
14329           },
14330           "additionalProperties": false,
14331           "required": [
14332             "version",
14333             "uri"
14334           ]
14335         },
14336         "SetMigrationPhaseArgs": {
14337           "type": "object",
14338           "properties": {
14339             "phase": {
14340               "type": "string"
14341             }
14342           },
14343           "additionalProperties": false,
14344           "required": [
14345             "phase"
14346           ]
14347         },
14348         "SetMigrationStatusMessageArgs": {
14349           "type": "object",
14350           "properties": {
14351             "message": {
14352               "type": "string"
14353             }
14354           },
14355           "additionalProperties": false,
14356           "required": [
14357             "message"
14358           ]
14359         }
14360       }
14361     }
14362   },
14363   {
14364     "Name": "MigrationMinion",
14365     "Version": 1,
14366     "Schema": {
14367       "type": "object",
14368       "properties": {
14369         "Report": {
14370           "type": "object",
14371           "properties": {
14372             "Params": {
14373               "$ref": "#/definitions/MinionReport"
14374             }
14375           }
14376         },
14377         "Watch": {
14378           "type": "object",
14379           "properties": {
14380             "Result": {
14381               "$ref": "#/definitions/NotifyWatchResult"
14382             }
14383           }
14384         }
14385       },
14386       "definitions": {
14387         "Error": {
14388           "type": "object",
14389           "properties": {
14390             "code": {
14391               "type": "string"
14392             },
14393             "info": {
14394               "$ref": "#/definitions/ErrorInfo"
14395             },
14396             "message": {
14397               "type": "string"
14398             }
14399           },
14400           "additionalProperties": false,
14401           "required": [
14402             "message",
14403             "code"
14404           ]
14405         },
14406         "ErrorInfo": {
14407           "type": "object",
14408           "properties": {
14409             "macaroon": {
14410               "$ref": "#/definitions/Macaroon"
14411             },
14412             "macaroon-path": {
14413               "type": "string"
14414             }
14415           },
14416           "additionalProperties": false
14417         },
14418         "Macaroon": {
14419           "type": "object",
14420           "additionalProperties": false
14421         },
14422         "MinionReport": {
14423           "type": "object",
14424           "properties": {
14425             "migration-id": {
14426               "type": "string"
14427             },
14428             "phase": {
14429               "type": "string"
14430             },
14431             "success": {
14432               "type": "boolean"
14433             }
14434           },
14435           "additionalProperties": false,
14436           "required": [
14437             "migration-id",
14438             "phase",
14439             "success"
14440           ]
14441         },
14442         "NotifyWatchResult": {
14443           "type": "object",
14444           "properties": {
14445             "NotifyWatcherId": {
14446               "type": "string"
14447             },
14448             "error": {
14449               "$ref": "#/definitions/Error"
14450             }
14451           },
14452           "additionalProperties": false,
14453           "required": [
14454             "NotifyWatcherId"
14455           ]
14456         }
14457       }
14458     }
14459   },
14460   {
14461     "Name": "MigrationStatusWatcher",
14462     "Version": 1,
14463     "Schema": {
14464       "type": "object",
14465       "properties": {
14466         "Next": {
14467           "type": "object",
14468           "properties": {
14469             "Result": {
14470               "$ref": "#/definitions/MigrationStatus"
14471             }
14472           }
14473         },
14474         "Stop": {
14475           "type": "object"
14476         }
14477       },
14478       "definitions": {
14479         "MigrationStatus": {
14480           "type": "object",
14481           "properties": {
14482             "attempt": {
14483               "type": "integer"
14484             },
14485             "external-control": {
14486               "type": "boolean"
14487             },
14488             "migration-id": {
14489               "type": "string"
14490             },
14491             "phase": {
14492               "type": "string"
14493             },
14494             "source-api-addrs": {
14495               "type": "array",
14496               "items": {
14497                 "type": "string"
14498               }
14499             },
14500             "source-ca-cert": {
14501               "type": "string"
14502             },
14503             "target-api-addrs": {
14504               "type": "array",
14505               "items": {
14506                 "type": "string"
14507               }
14508             },
14509             "target-ca-cert": {
14510               "type": "string"
14511             }
14512           },
14513           "additionalProperties": false,
14514           "required": [
14515             "migration-id",
14516             "attempt",
14517             "phase",
14518             "external-control",
14519             "source-api-addrs",
14520             "source-ca-cert",
14521             "target-api-addrs",
14522             "target-ca-cert"
14523           ]
14524         }
14525       }
14526     }
14527   },
14528   {
14529     "Name": "MigrationTarget",
14530     "Version": 1,
14531     "Schema": {
14532       "type": "object",
14533       "properties": {
14534         "Abort": {
14535           "type": "object",
14536           "properties": {
14537             "Params": {
14538               "$ref": "#/definitions/ModelArgs"
14539             }
14540           }
14541         },
14542         "Activate": {
14543           "type": "object",
14544           "properties": {
14545             "Params": {
14546               "$ref": "#/definitions/ModelArgs"
14547             }
14548           }
14549         },
14550         "AdoptResources": {
14551           "type": "object",
14552           "properties": {
14553             "Params": {
14554               "$ref": "#/definitions/AdoptResourcesArgs"
14555             }
14556           }
14557         },
14558         "Import": {
14559           "type": "object",
14560           "properties": {
14561             "Params": {
14562               "$ref": "#/definitions/SerializedModel"
14563             }
14564           }
14565         },
14566         "LatestLogTime": {
14567           "type": "object",
14568           "properties": {
14569             "Params": {
14570               "$ref": "#/definitions/ModelArgs"
14571             },
14572             "Result": {
14573               "type": "string",
14574               "format": "date-time"
14575             }
14576           }
14577         },
14578         "Prechecks": {
14579           "type": "object",
14580           "properties": {
14581             "Params": {
14582               "$ref": "#/definitions/MigrationModelInfo"
14583             }
14584           }
14585         }
14586       },
14587       "definitions": {
14588         "AdoptResourcesArgs": {
14589           "type": "object",
14590           "properties": {
14591             "model-tag": {
14592               "type": "string"
14593             },
14594             "source-controller-version": {
14595               "$ref": "#/definitions/Number"
14596             }
14597           },
14598           "additionalProperties": false,
14599           "required": [
14600             "model-tag",
14601             "source-controller-version"
14602           ]
14603         },
14604         "MigrationModelInfo": {
14605           "type": "object",
14606           "properties": {
14607             "agent-version": {
14608               "$ref": "#/definitions/Number"
14609             },
14610             "controller-agent-version": {
14611               "$ref": "#/definitions/Number"
14612             },
14613             "name": {
14614               "type": "string"
14615             },
14616             "owner-tag": {
14617               "type": "string"
14618             },
14619             "uuid": {
14620               "type": "string"
14621             }
14622           },
14623           "additionalProperties": false,
14624           "required": [
14625             "uuid",
14626             "name",
14627             "owner-tag",
14628             "agent-version",
14629             "controller-agent-version"
14630           ]
14631         },
14632         "ModelArgs": {
14633           "type": "object",
14634           "properties": {
14635             "model-tag": {
14636               "type": "string"
14637             }
14638           },
14639           "additionalProperties": false,
14640           "required": [
14641             "model-tag"
14642           ]
14643         },
14644         "Number": {
14645           "type": "object",
14646           "properties": {
14647             "Build": {
14648               "type": "integer"
14649             },
14650             "Major": {
14651               "type": "integer"
14652             },
14653             "Minor": {
14654               "type": "integer"
14655             },
14656             "Patch": {
14657               "type": "integer"
14658             },
14659             "Tag": {
14660               "type": "string"
14661             }
14662           },
14663           "additionalProperties": false,
14664           "required": [
14665             "Major",
14666             "Minor",
14667             "Tag",
14668             "Patch",
14669             "Build"
14670           ]
14671         },
14672         "SerializedModel": {
14673           "type": "object",
14674           "properties": {
14675             "bytes": {
14676               "type": "array",
14677               "items": {
14678                 "type": "integer"
14679               }
14680             },
14681             "charms": {
14682               "type": "array",
14683               "items": {
14684                 "type": "string"
14685               }
14686             },
14687             "resources": {
14688               "type": "array",
14689               "items": {
14690                 "$ref": "#/definitions/SerializedModelResource"
14691               }
14692             },
14693             "tools": {
14694               "type": "array",
14695               "items": {
14696                 "$ref": "#/definitions/SerializedModelTools"
14697               }
14698             }
14699           },
14700           "additionalProperties": false,
14701           "required": [
14702             "bytes",
14703             "charms",
14704             "tools",
14705             "resources"
14706           ]
14707         },
14708         "SerializedModelResource": {
14709           "type": "object",
14710           "properties": {
14711             "application": {
14712               "type": "string"
14713             },
14714             "application-revision": {
14715               "$ref": "#/definitions/SerializedModelResourceRevision"
14716             },
14717             "charmstore-revision": {
14718               "$ref": "#/definitions/SerializedModelResourceRevision"
14719             },
14720             "name": {
14721               "type": "string"
14722             },
14723             "unit-revisions": {
14724               "type": "object",
14725               "patternProperties": {
14726                 ".*": {
14727                   "$ref": "#/definitions/SerializedModelResourceRevision"
14728                 }
14729               }
14730             }
14731           },
14732           "additionalProperties": false,
14733           "required": [
14734             "application",
14735             "name",
14736             "application-revision",
14737             "charmstore-revision",
14738             "unit-revisions"
14739           ]
14740         },
14741         "SerializedModelResourceRevision": {
14742           "type": "object",
14743           "properties": {
14744             "description": {
14745               "type": "string"
14746             },
14747             "fingerprint": {
14748               "type": "string"
14749             },
14750             "origin": {
14751               "type": "string"
14752             },
14753             "path": {
14754               "type": "string"
14755             },
14756             "revision": {
14757               "type": "integer"
14758             },
14759             "size": {
14760               "type": "integer"
14761             },
14762             "timestamp": {
14763               "type": "string",
14764               "format": "date-time"
14765             },
14766             "type": {
14767               "type": "string"
14768             },
14769             "username": {
14770               "type": "string"
14771             }
14772           },
14773           "additionalProperties": false,
14774           "required": [
14775             "revision",
14776             "type",
14777             "path",
14778             "description",
14779             "origin",
14780             "fingerprint",
14781             "size",
14782             "timestamp"
14783           ]
14784         },
14785         "SerializedModelTools": {
14786           "type": "object",
14787           "properties": {
14788             "uri": {
14789               "type": "string"
14790             },
14791             "version": {
14792               "type": "string"
14793             }
14794           },
14795           "additionalProperties": false,
14796           "required": [
14797             "version",
14798             "uri"
14799           ]
14800         }
14801       }
14802     }
14803   },
14804   {
14805     "Name": "ModelConfig",
14806     "Version": 1,
14807     "Schema": {
14808       "type": "object",
14809       "properties": {
14810         "ModelGet": {
14811           "type": "object",
14812           "properties": {
14813             "Result": {
14814               "$ref": "#/definitions/ModelConfigResults"
14815             }
14816           }
14817         },
14818         "ModelSet": {
14819           "type": "object",
14820           "properties": {
14821             "Params": {
14822               "$ref": "#/definitions/ModelSet"
14823             }
14824           }
14825         },
14826         "ModelUnset": {
14827           "type": "object",
14828           "properties": {
14829             "Params": {
14830               "$ref": "#/definitions/ModelUnset"
14831             }
14832           }
14833         },
14834         "SLALevel": {
14835           "type": "object",
14836           "properties": {
14837             "Result": {
14838               "$ref": "#/definitions/StringResult"
14839             }
14840           }
14841         },
14842         "SetSLALevel": {
14843           "type": "object",
14844           "properties": {
14845             "Params": {
14846               "$ref": "#/definitions/ModelSLA"
14847             }
14848           }
14849         }
14850       },
14851       "definitions": {
14852         "ConfigValue": {
14853           "type": "object",
14854           "properties": {
14855             "source": {
14856               "type": "string"
14857             },
14858             "value": {
14859               "type": "object",
14860               "additionalProperties": true
14861             }
14862           },
14863           "additionalProperties": false,
14864           "required": [
14865             "value",
14866             "source"
14867           ]
14868         },
14869         "Error": {
14870           "type": "object",
14871           "properties": {
14872             "code": {
14873               "type": "string"
14874             },
14875             "info": {
14876               "$ref": "#/definitions/ErrorInfo"
14877             },
14878             "message": {
14879               "type": "string"
14880             }
14881           },
14882           "additionalProperties": false,
14883           "required": [
14884             "message",
14885             "code"
14886           ]
14887         },
14888         "ErrorInfo": {
14889           "type": "object",
14890           "properties": {
14891             "macaroon": {
14892               "$ref": "#/definitions/Macaroon"
14893             },
14894             "macaroon-path": {
14895               "type": "string"
14896             }
14897           },
14898           "additionalProperties": false
14899         },
14900         "Macaroon": {
14901           "type": "object",
14902           "additionalProperties": false
14903         },
14904         "ModelConfigResults": {
14905           "type": "object",
14906           "properties": {
14907             "config": {
14908               "type": "object",
14909               "patternProperties": {
14910                 ".*": {
14911                   "$ref": "#/definitions/ConfigValue"
14912                 }
14913               }
14914             }
14915           },
14916           "additionalProperties": false,
14917           "required": [
14918             "config"
14919           ]
14920         },
14921         "ModelSLA": {
14922           "type": "object",
14923           "properties": {
14924             "creds": {
14925               "type": "array",
14926               "items": {
14927                 "type": "integer"
14928               }
14929             },
14930             "level": {
14931               "type": "string"
14932             }
14933           },
14934           "additionalProperties": false,
14935           "required": [
14936             "level",
14937             "creds"
14938           ]
14939         },
14940         "ModelSet": {
14941           "type": "object",
14942           "properties": {
14943             "config": {
14944               "type": "object",
14945               "patternProperties": {
14946                 ".*": {
14947                   "type": "object",
14948                   "additionalProperties": true
14949                 }
14950               }
14951             }
14952           },
14953           "additionalProperties": false,
14954           "required": [
14955             "config"
14956           ]
14957         },
14958         "ModelUnset": {
14959           "type": "object",
14960           "properties": {
14961             "keys": {
14962               "type": "array",
14963               "items": {
14964                 "type": "string"
14965               }
14966             }
14967           },
14968           "additionalProperties": false,
14969           "required": [
14970             "keys"
14971           ]
14972         },
14973         "StringResult": {
14974           "type": "object",
14975           "properties": {
14976             "error": {
14977               "$ref": "#/definitions/Error"
14978             },
14979             "result": {
14980               "type": "string"
14981             }
14982           },
14983           "additionalProperties": false,
14984           "required": [
14985             "result"
14986           ]
14987         }
14988       }
14989     }
14990   },
14991   {
14992     "Name": "ModelManager",
14993     "Version": 2,
14994     "Schema": {
14995       "type": "object",
14996       "properties": {
14997         "CreateModel": {
14998           "type": "object",
14999           "properties": {
15000             "Params": {
15001               "$ref": "#/definitions/ModelCreateArgs"
15002             },
15003             "Result": {
15004               "$ref": "#/definitions/ModelInfo"
15005             }
15006           }
15007         },
15008         "DestroyModels": {
15009           "type": "object",
15010           "properties": {
15011             "Params": {
15012               "$ref": "#/definitions/Entities"
15013             },
15014             "Result": {
15015               "$ref": "#/definitions/ErrorResults"
15016             }
15017           }
15018         },
15019         "DumpModels": {
15020           "type": "object",
15021           "properties": {
15022             "Params": {
15023               "$ref": "#/definitions/Entities"
15024             },
15025             "Result": {
15026               "$ref": "#/definitions/MapResults"
15027             }
15028           }
15029         },
15030         "DumpModelsDB": {
15031           "type": "object",
15032           "properties": {
15033             "Params": {
15034               "$ref": "#/definitions/Entities"
15035             },
15036             "Result": {
15037               "$ref": "#/definitions/MapResults"
15038             }
15039           }
15040         },
15041         "ListModels": {
15042           "type": "object",
15043           "properties": {
15044             "Params": {
15045               "$ref": "#/definitions/Entity"
15046             },
15047             "Result": {
15048               "$ref": "#/definitions/UserModelList"
15049             }
15050           }
15051         },
15052         "ModelDefaults": {
15053           "type": "object",
15054           "properties": {
15055             "Result": {
15056               "$ref": "#/definitions/ModelDefaultsResult"
15057             }
15058           }
15059         },
15060         "ModelInfo": {
15061           "type": "object",
15062           "properties": {
15063             "Params": {
15064               "$ref": "#/definitions/Entities"
15065             },
15066             "Result": {
15067               "$ref": "#/definitions/ModelInfoResults"
15068             }
15069           }
15070         },
15071         "ModelStatus": {
15072           "type": "object",
15073           "properties": {
15074             "Params": {
15075               "$ref": "#/definitions/Entities"
15076             },
15077             "Result": {
15078               "$ref": "#/definitions/ModelStatusResults"
15079             }
15080           }
15081         },
15082         "ModifyModelAccess": {
15083           "type": "object",
15084           "properties": {
15085             "Params": {
15086               "$ref": "#/definitions/ModifyModelAccessRequest"
15087             },
15088             "Result": {
15089               "$ref": "#/definitions/ErrorResults"
15090             }
15091           }
15092         },
15093         "SetModelDefaults": {
15094           "type": "object",
15095           "properties": {
15096             "Params": {
15097               "$ref": "#/definitions/SetModelDefaults"
15098             },
15099             "Result": {
15100               "$ref": "#/definitions/ErrorResults"
15101             }
15102           }
15103         },
15104         "UnsetModelDefaults": {
15105           "type": "object",
15106           "properties": {
15107             "Params": {
15108               "$ref": "#/definitions/UnsetModelDefaults"
15109             },
15110             "Result": {
15111               "$ref": "#/definitions/ErrorResults"
15112             }
15113           }
15114         }
15115       },
15116       "definitions": {
15117         "Entities": {
15118           "type": "object",
15119           "properties": {
15120             "entities": {
15121               "type": "array",
15122               "items": {
15123                 "$ref": "#/definitions/Entity"
15124               }
15125             }
15126           },
15127           "additionalProperties": false,
15128           "required": [
15129             "entities"
15130           ]
15131         },
15132         "Entity": {
15133           "type": "object",
15134           "properties": {
15135             "tag": {
15136               "type": "string"
15137             }
15138           },
15139           "additionalProperties": false,
15140           "required": [
15141             "tag"
15142           ]
15143         },
15144         "EntityStatus": {
15145           "type": "object",
15146           "properties": {
15147             "data": {
15148               "type": "object",
15149               "patternProperties": {
15150                 ".*": {
15151                   "type": "object",
15152                   "additionalProperties": true
15153                 }
15154               }
15155             },
15156             "info": {
15157               "type": "string"
15158             },
15159             "since": {
15160               "type": "string",
15161               "format": "date-time"
15162             },
15163             "status": {
15164               "type": "string"
15165             }
15166           },
15167           "additionalProperties": false,
15168           "required": [
15169             "status",
15170             "info",
15171             "since"
15172           ]
15173         },
15174         "Error": {
15175           "type": "object",
15176           "properties": {
15177             "code": {
15178               "type": "string"
15179             },
15180             "info": {
15181               "$ref": "#/definitions/ErrorInfo"
15182             },
15183             "message": {
15184               "type": "string"
15185             }
15186           },
15187           "additionalProperties": false,
15188           "required": [
15189             "message",
15190             "code"
15191           ]
15192         },
15193         "ErrorInfo": {
15194           "type": "object",
15195           "properties": {
15196             "macaroon": {
15197               "$ref": "#/definitions/Macaroon"
15198             },
15199             "macaroon-path": {
15200               "type": "string"
15201             }
15202           },
15203           "additionalProperties": false
15204         },
15205         "ErrorResult": {
15206           "type": "object",
15207           "properties": {
15208             "error": {
15209               "$ref": "#/definitions/Error"
15210             }
15211           },
15212           "additionalProperties": false
15213         },
15214         "ErrorResults": {
15215           "type": "object",
15216           "properties": {
15217             "results": {
15218               "type": "array",
15219               "items": {
15220                 "$ref": "#/definitions/ErrorResult"
15221               }
15222             }
15223           },
15224           "additionalProperties": false,
15225           "required": [
15226             "results"
15227           ]
15228         },
15229         "Macaroon": {
15230           "type": "object",
15231           "additionalProperties": false
15232         },
15233         "MachineHardware": {
15234           "type": "object",
15235           "properties": {
15236             "arch": {
15237               "type": "string"
15238             },
15239             "availability-zone": {
15240               "type": "string"
15241             },
15242             "cores": {
15243               "type": "integer"
15244             },
15245             "cpu-power": {
15246               "type": "integer"
15247             },
15248             "mem": {
15249               "type": "integer"
15250             },
15251             "root-disk": {
15252               "type": "integer"
15253             },
15254             "tags": {
15255               "type": "array",
15256               "items": {
15257                 "type": "string"
15258               }
15259             }
15260           },
15261           "additionalProperties": false
15262         },
15263         "MapResult": {
15264           "type": "object",
15265           "properties": {
15266             "error": {
15267               "$ref": "#/definitions/Error"
15268             },
15269             "result": {
15270               "type": "object",
15271               "patternProperties": {
15272                 ".*": {
15273                   "type": "object",
15274                   "additionalProperties": true
15275                 }
15276               }
15277             }
15278           },
15279           "additionalProperties": false,
15280           "required": [
15281             "result"
15282           ]
15283         },
15284         "MapResults": {
15285           "type": "object",
15286           "properties": {
15287             "results": {
15288               "type": "array",
15289               "items": {
15290                 "$ref": "#/definitions/MapResult"
15291               }
15292             }
15293           },
15294           "additionalProperties": false,
15295           "required": [
15296             "results"
15297           ]
15298         },
15299         "Model": {
15300           "type": "object",
15301           "properties": {
15302             "name": {
15303               "type": "string"
15304             },
15305             "owner-tag": {
15306               "type": "string"
15307             },
15308             "uuid": {
15309               "type": "string"
15310             }
15311           },
15312           "additionalProperties": false,
15313           "required": [
15314             "name",
15315             "uuid",
15316             "owner-tag"
15317           ]
15318         },
15319         "ModelCreateArgs": {
15320           "type": "object",
15321           "properties": {
15322             "cloud-tag": {
15323               "type": "string"
15324             },
15325             "config": {
15326               "type": "object",
15327               "patternProperties": {
15328                 ".*": {
15329                   "type": "object",
15330                   "additionalProperties": true
15331                 }
15332               }
15333             },
15334             "credential": {
15335               "type": "string"
15336             },
15337             "name": {
15338               "type": "string"
15339             },
15340             "owner-tag": {
15341               "type": "string"
15342             },
15343             "region": {
15344               "type": "string"
15345             }
15346           },
15347           "additionalProperties": false,
15348           "required": [
15349             "name",
15350             "owner-tag"
15351           ]
15352         },
15353         "ModelDefaultValues": {
15354           "type": "object",
15355           "properties": {
15356             "cloud-region": {
15357               "type": "string"
15358             },
15359             "cloud-tag": {
15360               "type": "string"
15361             },
15362             "config": {
15363               "type": "object",
15364               "patternProperties": {
15365                 ".*": {
15366                   "type": "object",
15367                   "additionalProperties": true
15368                 }
15369               }
15370             }
15371           },
15372           "additionalProperties": false,
15373           "required": [
15374             "config"
15375           ]
15376         },
15377         "ModelDefaults": {
15378           "type": "object",
15379           "properties": {
15380             "controller": {
15381               "type": "object",
15382               "additionalProperties": true
15383             },
15384             "default": {
15385               "type": "object",
15386               "additionalProperties": true
15387             },
15388             "regions": {
15389               "type": "array",
15390               "items": {
15391                 "$ref": "#/definitions/RegionDefaults"
15392               }
15393             }
15394           },
15395           "additionalProperties": false
15396         },
15397         "ModelDefaultsResult": {
15398           "type": "object",
15399           "properties": {
15400             "config": {
15401               "type": "object",
15402               "patternProperties": {
15403                 ".*": {
15404                   "$ref": "#/definitions/ModelDefaults"
15405                 }
15406               }
15407             }
15408           },
15409           "additionalProperties": false,
15410           "required": [
15411             "config"
15412           ]
15413         },
15414         "ModelInfo": {
15415           "type": "object",
15416           "properties": {
15417             "cloud-credential-tag": {
15418               "type": "string"
15419             },
15420             "cloud-region": {
15421               "type": "string"
15422             },
15423             "cloud-tag": {
15424               "type": "string"
15425             },
15426             "controller-uuid": {
15427               "type": "string"
15428             },
15429             "default-series": {
15430               "type": "string"
15431             },
15432             "life": {
15433               "type": "string"
15434             },
15435             "machines": {
15436               "type": "array",
15437               "items": {
15438                 "$ref": "#/definitions/ModelMachineInfo"
15439               }
15440             },
15441             "migration": {
15442               "$ref": "#/definitions/ModelMigrationStatus"
15443             },
15444             "name": {
15445               "type": "string"
15446             },
15447             "owner-tag": {
15448               "type": "string"
15449             },
15450             "provider-type": {
15451               "type": "string"
15452             },
15453             "status": {
15454               "$ref": "#/definitions/EntityStatus"
15455             },
15456             "users": {
15457               "type": "array",
15458               "items": {
15459                 "$ref": "#/definitions/ModelUserInfo"
15460               }
15461             },
15462             "uuid": {
15463               "type": "string"
15464             }
15465           },
15466           "additionalProperties": false,
15467           "required": [
15468             "name",
15469             "uuid",
15470             "controller-uuid",
15471             "provider-type",
15472             "default-series",
15473             "cloud-tag",
15474             "owner-tag",
15475             "life",
15476             "status",
15477             "users",
15478             "machines"
15479           ]
15480         },
15481         "ModelInfoResult": {
15482           "type": "object",
15483           "properties": {
15484             "error": {
15485               "$ref": "#/definitions/Error"
15486             },
15487             "result": {
15488               "$ref": "#/definitions/ModelInfo"
15489             }
15490           },
15491           "additionalProperties": false
15492         },
15493         "ModelInfoResults": {
15494           "type": "object",
15495           "properties": {
15496             "results": {
15497               "type": "array",
15498               "items": {
15499                 "$ref": "#/definitions/ModelInfoResult"
15500               }
15501             }
15502           },
15503           "additionalProperties": false,
15504           "required": [
15505             "results"
15506           ]
15507         },
15508         "ModelMachineInfo": {
15509           "type": "object",
15510           "properties": {
15511             "hardware": {
15512               "$ref": "#/definitions/MachineHardware"
15513             },
15514             "has-vote": {
15515               "type": "boolean"
15516             },
15517             "id": {
15518               "type": "string"
15519             },
15520             "instance-id": {
15521               "type": "string"
15522             },
15523             "status": {
15524               "type": "string"
15525             },
15526             "wants-vote": {
15527               "type": "boolean"
15528             }
15529           },
15530           "additionalProperties": false,
15531           "required": [
15532             "id"
15533           ]
15534         },
15535         "ModelMigrationStatus": {
15536           "type": "object",
15537           "properties": {
15538             "end": {
15539               "type": "string",
15540               "format": "date-time"
15541             },
15542             "start": {
15543               "type": "string",
15544               "format": "date-time"
15545             },
15546             "status": {
15547               "type": "string"
15548             }
15549           },
15550           "additionalProperties": false,
15551           "required": [
15552             "status",
15553             "start"
15554           ]
15555         },
15556         "ModelStatus": {
15557           "type": "object",
15558           "properties": {
15559             "application-count": {
15560               "type": "integer"
15561             },
15562             "hosted-machine-count": {
15563               "type": "integer"
15564             },
15565             "life": {
15566               "type": "string"
15567             },
15568             "machines": {
15569               "type": "array",
15570               "items": {
15571                 "$ref": "#/definitions/ModelMachineInfo"
15572               }
15573             },
15574             "model-tag": {
15575               "type": "string"
15576             },
15577             "owner-tag": {
15578               "type": "string"
15579             }
15580           },
15581           "additionalProperties": false,
15582           "required": [
15583             "model-tag",
15584             "life",
15585             "hosted-machine-count",
15586             "application-count",
15587             "owner-tag"
15588           ]
15589         },
15590         "ModelStatusResults": {
15591           "type": "object",
15592           "properties": {
15593             "models": {
15594               "type": "array",
15595               "items": {
15596                 "$ref": "#/definitions/ModelStatus"
15597               }
15598             }
15599           },
15600           "additionalProperties": false,
15601           "required": [
15602             "models"
15603           ]
15604         },
15605         "ModelUnsetKeys": {
15606           "type": "object",
15607           "properties": {
15608             "cloud-region": {
15609               "type": "string"
15610             },
15611             "cloud-tag": {
15612               "type": "string"
15613             },
15614             "keys": {
15615               "type": "array",
15616               "items": {
15617                 "type": "string"
15618               }
15619             }
15620           },
15621           "additionalProperties": false,
15622           "required": [
15623             "keys"
15624           ]
15625         },
15626         "ModelUserInfo": {
15627           "type": "object",
15628           "properties": {
15629             "access": {
15630               "type": "string"
15631             },
15632             "display-name": {
15633               "type": "string"
15634             },
15635             "last-connection": {
15636               "type": "string",
15637               "format": "date-time"
15638             },
15639             "user": {
15640               "type": "string"
15641             }
15642           },
15643           "additionalProperties": false,
15644           "required": [
15645             "user",
15646             "display-name",
15647             "last-connection",
15648             "access"
15649           ]
15650         },
15651         "ModifyModelAccess": {
15652           "type": "object",
15653           "properties": {
15654             "access": {
15655               "type": "string"
15656             },
15657             "action": {
15658               "type": "string"
15659             },
15660             "model-tag": {
15661               "type": "string"
15662             },
15663             "user-tag": {
15664               "type": "string"
15665             }
15666           },
15667           "additionalProperties": false,
15668           "required": [
15669             "user-tag",
15670             "action",
15671             "access",
15672             "model-tag"
15673           ]
15674         },
15675         "ModifyModelAccessRequest": {
15676           "type": "object",
15677           "properties": {
15678             "changes": {
15679               "type": "array",
15680               "items": {
15681                 "$ref": "#/definitions/ModifyModelAccess"
15682               }
15683             }
15684           },
15685           "additionalProperties": false,
15686           "required": [
15687             "changes"
15688           ]
15689         },
15690         "RegionDefaults": {
15691           "type": "object",
15692           "properties": {
15693             "region-name": {
15694               "type": "string"
15695             },
15696             "value": {
15697               "type": "object",
15698               "additionalProperties": true
15699             }
15700           },
15701           "additionalProperties": false,
15702           "required": [
15703             "region-name",
15704             "value"
15705           ]
15706         },
15707         "SetModelDefaults": {
15708           "type": "object",
15709           "properties": {
15710             "config": {
15711               "type": "array",
15712               "items": {
15713                 "$ref": "#/definitions/ModelDefaultValues"
15714               }
15715             }
15716           },
15717           "additionalProperties": false,
15718           "required": [
15719             "config"
15720           ]
15721         },
15722         "UnsetModelDefaults": {
15723           "type": "object",
15724           "properties": {
15725             "keys": {
15726               "type": "array",
15727               "items": {
15728                 "$ref": "#/definitions/ModelUnsetKeys"
15729               }
15730             }
15731           },
15732           "additionalProperties": false,
15733           "required": [
15734             "keys"
15735           ]
15736         },
15737         "UserModel": {
15738           "type": "object",
15739           "properties": {
15740             "last-connection": {
15741               "type": "string",
15742               "format": "date-time"
15743             },
15744             "model": {
15745               "$ref": "#/definitions/Model"
15746             }
15747           },
15748           "additionalProperties": false,
15749           "required": [
15750             "model",
15751             "last-connection"
15752           ]
15753         },
15754         "UserModelList": {
15755           "type": "object",
15756           "properties": {
15757             "user-models": {
15758               "type": "array",
15759               "items": {
15760                 "$ref": "#/definitions/UserModel"
15761               }
15762             }
15763           },
15764           "additionalProperties": false,
15765           "required": [
15766             "user-models"
15767           ]
15768         }
15769       }
15770     }
15771   },
15772   {
15773     "Name": "NotifyWatcher",
15774     "Version": 1,
15775     "Schema": {
15776       "type": "object",
15777       "properties": {
15778         "Next": {
15779           "type": "object"
15780         },
15781         "Stop": {
15782           "type": "object"
15783         }
15784       }
15785     }
15786   },
15787   {
15788     "Name": "Payloads",
15789     "Version": 1,
15790     "Schema": {
15791       "type": "object",
15792       "properties": {
15793         "List": {
15794           "type": "object",
15795           "properties": {
15796             "Params": {
15797               "$ref": "#/definitions/PayloadListArgs"
15798             },
15799             "Result": {
15800               "$ref": "#/definitions/PayloadListResults"
15801             }
15802           }
15803         }
15804       },
15805       "definitions": {
15806         "Payload": {
15807           "type": "object",
15808           "properties": {
15809             "class": {
15810               "type": "string"
15811             },
15812             "id": {
15813               "type": "string"
15814             },
15815             "labels": {
15816               "type": "array",
15817               "items": {
15818                 "type": "string"
15819               }
15820             },
15821             "machine": {
15822               "type": "string"
15823             },
15824             "status": {
15825               "type": "string"
15826             },
15827             "type": {
15828               "type": "string"
15829             },
15830             "unit": {
15831               "type": "string"
15832             }
15833           },
15834           "additionalProperties": false,
15835           "required": [
15836             "class",
15837             "type",
15838             "id",
15839             "status",
15840             "labels",
15841             "unit",
15842             "machine"
15843           ]
15844         },
15845         "PayloadListArgs": {
15846           "type": "object",
15847           "properties": {
15848             "patterns": {
15849               "type": "array",
15850               "items": {
15851                 "type": "string"
15852               }
15853             }
15854           },
15855           "additionalProperties": false,
15856           "required": [
15857             "patterns"
15858           ]
15859         },
15860         "PayloadListResults": {
15861           "type": "object",
15862           "properties": {
15863             "results": {
15864               "type": "array",
15865               "items": {
15866                 "$ref": "#/definitions/Payload"
15867               }
15868             }
15869           },
15870           "additionalProperties": false,
15871           "required": [
15872             "results"
15873           ]
15874         }
15875       }
15876     }
15877   },
15878   {
15879     "Name": "PayloadsHookContext",
15880     "Version": 1,
15881     "Schema": {
15882       "type": "object",
15883       "properties": {
15884         "List": {
15885           "type": "object",
15886           "properties": {
15887             "Params": {
15888               "$ref": "#/definitions/Entities"
15889             },
15890             "Result": {
15891               "$ref": "#/definitions/PayloadResults"
15892             }
15893           }
15894         },
15895         "LookUp": {
15896           "type": "object",
15897           "properties": {
15898             "Params": {
15899               "$ref": "#/definitions/LookUpPayloadArgs"
15900             },
15901             "Result": {
15902               "$ref": "#/definitions/PayloadResults"
15903             }
15904           }
15905         },
15906         "SetStatus": {
15907           "type": "object",
15908           "properties": {
15909             "Params": {
15910               "$ref": "#/definitions/SetPayloadStatusArgs"
15911             },
15912             "Result": {
15913               "$ref": "#/definitions/PayloadResults"
15914             }
15915           }
15916         },
15917         "Track": {
15918           "type": "object",
15919           "properties": {
15920             "Params": {
15921               "$ref": "#/definitions/TrackPayloadArgs"
15922             },
15923             "Result": {
15924               "$ref": "#/definitions/PayloadResults"
15925             }
15926           }
15927         },
15928         "Untrack": {
15929           "type": "object",
15930           "properties": {
15931             "Params": {
15932               "$ref": "#/definitions/Entities"
15933             },
15934             "Result": {
15935               "$ref": "#/definitions/PayloadResults"
15936             }
15937           }
15938         }
15939       },
15940       "definitions": {
15941         "Entities": {
15942           "type": "object",
15943           "properties": {
15944             "entities": {
15945               "type": "array",
15946               "items": {
15947                 "$ref": "#/definitions/Entity"
15948               }
15949             }
15950           },
15951           "additionalProperties": false,
15952           "required": [
15953             "entities"
15954           ]
15955         },
15956         "Entity": {
15957           "type": "object",
15958           "properties": {
15959             "tag": {
15960               "type": "string"
15961             }
15962           },
15963           "additionalProperties": false,
15964           "required": [
15965             "tag"
15966           ]
15967         },
15968         "Error": {
15969           "type": "object",
15970           "properties": {
15971             "code": {
15972               "type": "string"
15973             },
15974             "info": {
15975               "$ref": "#/definitions/ErrorInfo"
15976             },
15977             "message": {
15978               "type": "string"
15979             }
15980           },
15981           "additionalProperties": false,
15982           "required": [
15983             "message",
15984             "code"
15985           ]
15986         },
15987         "ErrorInfo": {
15988           "type": "object",
15989           "properties": {
15990             "macaroon": {
15991               "$ref": "#/definitions/Macaroon"
15992             },
15993             "macaroon-path": {
15994               "type": "string"
15995             }
15996           },
15997           "additionalProperties": false
15998         },
15999         "LookUpPayloadArg": {
16000           "type": "object",
16001           "properties": {
16002             "id": {
16003               "type": "string"
16004             },
16005             "name": {
16006               "type": "string"
16007             }
16008           },
16009           "additionalProperties": false,
16010           "required": [
16011             "name",
16012             "id"
16013           ]
16014         },
16015         "LookUpPayloadArgs": {
16016           "type": "object",
16017           "properties": {
16018             "args": {
16019               "type": "array",
16020               "items": {
16021                 "$ref": "#/definitions/LookUpPayloadArg"
16022               }
16023             }
16024           },
16025           "additionalProperties": false,
16026           "required": [
16027             "args"
16028           ]
16029         },
16030         "Macaroon": {
16031           "type": "object",
16032           "additionalProperties": false
16033         },
16034         "Payload": {
16035           "type": "object",
16036           "properties": {
16037             "class": {
16038               "type": "string"
16039             },
16040             "id": {
16041               "type": "string"
16042             },
16043             "labels": {
16044               "type": "array",
16045               "items": {
16046                 "type": "string"
16047               }
16048             },
16049             "machine": {
16050               "type": "string"
16051             },
16052             "status": {
16053               "type": "string"
16054             },
16055             "type": {
16056               "type": "string"
16057             },
16058             "unit": {
16059               "type": "string"
16060             }
16061           },
16062           "additionalProperties": false,
16063           "required": [
16064             "class",
16065             "type",
16066             "id",
16067             "status",
16068             "labels",
16069             "unit",
16070             "machine"
16071           ]
16072         },
16073         "PayloadResult": {
16074           "type": "object",
16075           "properties": {
16076             "Entity": {
16077               "$ref": "#/definitions/Entity"
16078             },
16079             "error": {
16080               "$ref": "#/definitions/Error"
16081             },
16082             "not-found": {
16083               "type": "boolean"
16084             },
16085             "payload": {
16086               "$ref": "#/definitions/Payload"
16087             }
16088           },
16089           "additionalProperties": false,
16090           "required": [
16091             "Entity",
16092             "payload",
16093             "not-found"
16094           ]
16095         },
16096         "PayloadResults": {
16097           "type": "object",
16098           "properties": {
16099             "results": {
16100               "type": "array",
16101               "items": {
16102                 "$ref": "#/definitions/PayloadResult"
16103               }
16104             }
16105           },
16106           "additionalProperties": false,
16107           "required": [
16108             "results"
16109           ]
16110         },
16111         "SetPayloadStatusArg": {
16112           "type": "object",
16113           "properties": {
16114             "Entity": {
16115               "$ref": "#/definitions/Entity"
16116             },
16117             "status": {
16118               "type": "string"
16119             }
16120           },
16121           "additionalProperties": false,
16122           "required": [
16123             "Entity",
16124             "status"
16125           ]
16126         },
16127         "SetPayloadStatusArgs": {
16128           "type": "object",
16129           "properties": {
16130             "args": {
16131               "type": "array",
16132               "items": {
16133                 "$ref": "#/definitions/SetPayloadStatusArg"
16134               }
16135             }
16136           },
16137           "additionalProperties": false,
16138           "required": [
16139             "args"
16140           ]
16141         },
16142         "TrackPayloadArgs": {
16143           "type": "object",
16144           "properties": {
16145             "payloads": {
16146               "type": "array",
16147               "items": {
16148                 "$ref": "#/definitions/Payload"
16149               }
16150             }
16151           },
16152           "additionalProperties": false,
16153           "required": [
16154             "payloads"
16155           ]
16156         }
16157       }
16158     }
16159   },
16160   {
16161     "Name": "Pinger",
16162     "Version": 1,
16163     "Schema": {
16164       "type": "object",
16165       "properties": {
16166         "Ping": {
16167           "type": "object"
16168         },
16169         "Stop": {
16170           "type": "object"
16171         }
16172       }
16173     }
16174   },
16175   {
16176     "Name": "Provisioner",
16177     "Version": 3,
16178     "Schema": {
16179       "type": "object",
16180       "properties": {
16181         "APIAddresses": {
16182           "type": "object",
16183           "properties": {
16184             "Result": {
16185               "$ref": "#/definitions/StringsResult"
16186             }
16187           }
16188         },
16189         "APIHostPorts": {
16190           "type": "object",
16191           "properties": {
16192             "Result": {
16193               "$ref": "#/definitions/APIHostPortsResult"
16194             }
16195           }
16196         },
16197         "CACert": {
16198           "type": "object",
16199           "properties": {
16200             "Result": {
16201               "$ref": "#/definitions/BytesResult"
16202             }
16203           }
16204         },
16205         "Constraints": {
16206           "type": "object",
16207           "properties": {
16208             "Params": {
16209               "$ref": "#/definitions/Entities"
16210             },
16211             "Result": {
16212               "$ref": "#/definitions/ConstraintsResults"
16213             }
16214           }
16215         },
16216         "ContainerConfig": {
16217           "type": "object",
16218           "properties": {
16219             "Result": {
16220               "$ref": "#/definitions/ContainerConfig"
16221             }
16222           }
16223         },
16224         "ContainerManagerConfig": {
16225           "type": "object",
16226           "properties": {
16227             "Params": {
16228               "$ref": "#/definitions/ContainerManagerConfigParams"
16229             },
16230             "Result": {
16231               "$ref": "#/definitions/ContainerManagerConfig"
16232             }
16233           }
16234         },
16235         "ControllerConfig": {
16236           "type": "object",
16237           "properties": {
16238             "Result": {
16239               "$ref": "#/definitions/ControllerConfigResult"
16240             }
16241           }
16242         },
16243         "DistributionGroup": {
16244           "type": "object",
16245           "properties": {
16246             "Params": {
16247               "$ref": "#/definitions/Entities"
16248             },
16249             "Result": {
16250               "$ref": "#/definitions/DistributionGroupResults"
16251             }
16252           }
16253         },
16254         "EnsureDead": {
16255           "type": "object",
16256           "properties": {
16257             "Params": {
16258               "$ref": "#/definitions/Entities"
16259             },
16260             "Result": {
16261               "$ref": "#/definitions/ErrorResults"
16262             }
16263           }
16264         },
16265         "FindTools": {
16266           "type": "object",
16267           "properties": {
16268             "Params": {
16269               "$ref": "#/definitions/FindToolsParams"
16270             },
16271             "Result": {
16272               "$ref": "#/definitions/FindToolsResult"
16273             }
16274           }
16275         },
16276         "GetContainerInterfaceInfo": {
16277           "type": "object",
16278           "properties": {
16279             "Params": {
16280               "$ref": "#/definitions/Entities"
16281             },
16282             "Result": {
16283               "$ref": "#/definitions/MachineNetworkConfigResults"
16284             }
16285           }
16286         },
16287         "HostChangesForContainers": {
16288           "type": "object",
16289           "properties": {
16290             "Params": {
16291               "$ref": "#/definitions/Entities"
16292             },
16293             "Result": {
16294               "$ref": "#/definitions/HostNetworkChangeResults"
16295             }
16296           }
16297         },
16298         "InstanceId": {
16299           "type": "object",
16300           "properties": {
16301             "Params": {
16302               "$ref": "#/definitions/Entities"
16303             },
16304             "Result": {
16305               "$ref": "#/definitions/StringResults"
16306             }
16307           }
16308         },
16309         "InstanceStatus": {
16310           "type": "object",
16311           "properties": {
16312             "Params": {
16313               "$ref": "#/definitions/Entities"
16314             },
16315             "Result": {
16316               "$ref": "#/definitions/StatusResults"
16317             }
16318           }
16319         },
16320         "Life": {
16321           "type": "object",
16322           "properties": {
16323             "Params": {
16324               "$ref": "#/definitions/Entities"
16325             },
16326             "Result": {
16327               "$ref": "#/definitions/LifeResults"
16328             }
16329           }
16330         },
16331         "MachinesWithTransientErrors": {
16332           "type": "object",
16333           "properties": {
16334             "Result": {
16335               "$ref": "#/definitions/StatusResults"
16336             }
16337           }
16338         },
16339         "MarkMachinesForRemoval": {
16340           "type": "object",
16341           "properties": {
16342             "Params": {
16343               "$ref": "#/definitions/Entities"
16344             },
16345             "Result": {
16346               "$ref": "#/definitions/ErrorResults"
16347             }
16348           }
16349         },
16350         "ModelConfig": {
16351           "type": "object",
16352           "properties": {
16353             "Result": {
16354               "$ref": "#/definitions/ModelConfigResult"
16355             }
16356           }
16357         },
16358         "ModelUUID": {
16359           "type": "object",
16360           "properties": {
16361             "Result": {
16362               "$ref": "#/definitions/StringResult"
16363             }
16364           }
16365         },
16366         "PrepareContainerInterfaceInfo": {
16367           "type": "object",
16368           "properties": {
16369             "Params": {
16370               "$ref": "#/definitions/Entities"
16371             },
16372             "Result": {
16373               "$ref": "#/definitions/MachineNetworkConfigResults"
16374             }
16375           }
16376         },
16377         "ProvisioningInfo": {
16378           "type": "object",
16379           "properties": {
16380             "Params": {
16381               "$ref": "#/definitions/Entities"
16382             },
16383             "Result": {
16384               "$ref": "#/definitions/ProvisioningInfoResults"
16385             }
16386           }
16387         },
16388         "ReleaseContainerAddresses": {
16389           "type": "object",
16390           "properties": {
16391             "Params": {
16392               "$ref": "#/definitions/Entities"
16393             },
16394             "Result": {
16395               "$ref": "#/definitions/ErrorResults"
16396             }
16397           }
16398         },
16399         "Remove": {
16400           "type": "object",
16401           "properties": {
16402             "Params": {
16403               "$ref": "#/definitions/Entities"
16404             },
16405             "Result": {
16406               "$ref": "#/definitions/ErrorResults"
16407             }
16408           }
16409         },
16410         "Series": {
16411           "type": "object",
16412           "properties": {
16413             "Params": {
16414               "$ref": "#/definitions/Entities"
16415             },
16416             "Result": {
16417               "$ref": "#/definitions/StringResults"
16418             }
16419           }
16420         },
16421         "SetHostMachineNetworkConfig": {
16422           "type": "object",
16423           "properties": {
16424             "Params": {
16425               "$ref": "#/definitions/SetMachineNetworkConfig"
16426             }
16427           }
16428         },
16429         "SetInstanceInfo": {
16430           "type": "object",
16431           "properties": {
16432             "Params": {
16433               "$ref": "#/definitions/InstancesInfo"
16434             },
16435             "Result": {
16436               "$ref": "#/definitions/ErrorResults"
16437             }
16438           }
16439         },
16440         "SetInstanceStatus": {
16441           "type": "object",
16442           "properties": {
16443             "Params": {
16444               "$ref": "#/definitions/SetStatus"
16445             },
16446             "Result": {
16447               "$ref": "#/definitions/ErrorResults"
16448             }
16449           }
16450         },
16451         "SetObservedNetworkConfig": {
16452           "type": "object",
16453           "properties": {
16454             "Params": {
16455               "$ref": "#/definitions/SetMachineNetworkConfig"
16456             }
16457           }
16458         },
16459         "SetPasswords": {
16460           "type": "object",
16461           "properties": {
16462             "Params": {
16463               "$ref": "#/definitions/EntityPasswords"
16464             },
16465             "Result": {
16466               "$ref": "#/definitions/ErrorResults"
16467             }
16468           }
16469         },
16470         "SetProviderNetworkConfig": {
16471           "type": "object",
16472           "properties": {
16473             "Params": {
16474               "$ref": "#/definitions/Entities"
16475             },
16476             "Result": {
16477               "$ref": "#/definitions/ErrorResults"
16478             }
16479           }
16480         },
16481         "SetStatus": {
16482           "type": "object",
16483           "properties": {
16484             "Params": {
16485               "$ref": "#/definitions/SetStatus"
16486             },
16487             "Result": {
16488               "$ref": "#/definitions/ErrorResults"
16489             }
16490           }
16491         },
16492         "SetSupportedContainers": {
16493           "type": "object",
16494           "properties": {
16495             "Params": {
16496               "$ref": "#/definitions/MachineContainersParams"
16497             },
16498             "Result": {
16499               "$ref": "#/definitions/ErrorResults"
16500             }
16501           }
16502         },
16503         "StateAddresses": {
16504           "type": "object",
16505           "properties": {
16506             "Result": {
16507               "$ref": "#/definitions/StringsResult"
16508             }
16509           }
16510         },
16511         "Status": {
16512           "type": "object",
16513           "properties": {
16514             "Params": {
16515               "$ref": "#/definitions/Entities"
16516             },
16517             "Result": {
16518               "$ref": "#/definitions/StatusResults"
16519             }
16520           }
16521         },
16522         "Tools": {
16523           "type": "object",
16524           "properties": {
16525             "Params": {
16526               "$ref": "#/definitions/Entities"
16527             },
16528             "Result": {
16529               "$ref": "#/definitions/ToolsResults"
16530             }
16531           }
16532         },
16533         "UpdateStatus": {
16534           "type": "object",
16535           "properties": {
16536             "Params": {
16537               "$ref": "#/definitions/SetStatus"
16538             },
16539             "Result": {
16540               "$ref": "#/definitions/ErrorResults"
16541             }
16542           }
16543         },
16544         "WatchAPIHostPorts": {
16545           "type": "object",
16546           "properties": {
16547             "Result": {
16548               "$ref": "#/definitions/NotifyWatchResult"
16549             }
16550           }
16551         },
16552         "WatchAllContainers": {
16553           "type": "object",
16554           "properties": {
16555             "Params": {
16556               "$ref": "#/definitions/WatchContainers"
16557             },
16558             "Result": {
16559               "$ref": "#/definitions/StringsWatchResults"
16560             }
16561           }
16562         },
16563         "WatchContainers": {
16564           "type": "object",
16565           "properties": {
16566             "Params": {
16567               "$ref": "#/definitions/WatchContainers"
16568             },
16569             "Result": {
16570               "$ref": "#/definitions/StringsWatchResults"
16571             }
16572           }
16573         },
16574         "WatchForModelConfigChanges": {
16575           "type": "object",
16576           "properties": {
16577             "Result": {
16578               "$ref": "#/definitions/NotifyWatchResult"
16579             }
16580           }
16581         },
16582         "WatchMachineErrorRetry": {
16583           "type": "object",
16584           "properties": {
16585             "Result": {
16586               "$ref": "#/definitions/NotifyWatchResult"
16587             }
16588           }
16589         },
16590         "WatchModelMachines": {
16591           "type": "object",
16592           "properties": {
16593             "Result": {
16594               "$ref": "#/definitions/StringsWatchResult"
16595             }
16596           }
16597         }
16598       },
16599       "definitions": {
16600         "APIHostPortsResult": {
16601           "type": "object",
16602           "properties": {
16603             "servers": {
16604               "type": "array",
16605               "items": {
16606                 "type": "array",
16607                 "items": {
16608                   "$ref": "#/definitions/HostPort"
16609                 }
16610               }
16611             }
16612           },
16613           "additionalProperties": false,
16614           "required": [
16615             "servers"
16616           ]
16617         },
16618         "Address": {
16619           "type": "object",
16620           "properties": {
16621             "scope": {
16622               "type": "string"
16623             },
16624             "space-name": {
16625               "type": "string"
16626             },
16627             "type": {
16628               "type": "string"
16629             },
16630             "value": {
16631               "type": "string"
16632             }
16633           },
16634           "additionalProperties": false,
16635           "required": [
16636             "value",
16637             "type",
16638             "scope"
16639           ]
16640         },
16641         "Binary": {
16642           "type": "object",
16643           "properties": {
16644             "Arch": {
16645               "type": "string"
16646             },
16647             "Number": {
16648               "$ref": "#/definitions/Number"
16649             },
16650             "Series": {
16651               "type": "string"
16652             }
16653           },
16654           "additionalProperties": false,
16655           "required": [
16656             "Number",
16657             "Series",
16658             "Arch"
16659           ]
16660         },
16661         "BytesResult": {
16662           "type": "object",
16663           "properties": {
16664             "result": {
16665               "type": "array",
16666               "items": {
16667                 "type": "integer"
16668               }
16669             }
16670           },
16671           "additionalProperties": false,
16672           "required": [
16673             "result"
16674           ]
16675         },
16676         "CloudImageMetadata": {
16677           "type": "object",
16678           "properties": {
16679             "arch": {
16680               "type": "string"
16681             },
16682             "image-id": {
16683               "type": "string"
16684             },
16685             "priority": {
16686               "type": "integer"
16687             },
16688             "region": {
16689               "type": "string"
16690             },
16691             "root-storage-size": {
16692               "type": "integer"
16693             },
16694             "root-storage-type": {
16695               "type": "string"
16696             },
16697             "series": {
16698               "type": "string"
16699             },
16700             "source": {
16701               "type": "string"
16702             },
16703             "stream": {
16704               "type": "string"
16705             },
16706             "version": {
16707               "type": "string"
16708             },
16709             "virt-type": {
16710               "type": "string"
16711             }
16712           },
16713           "additionalProperties": false,
16714           "required": [
16715             "image-id",
16716             "region",
16717             "version",
16718             "series",
16719             "arch",
16720             "source",
16721             "priority"
16722           ]
16723         },
16724         "ConstraintsResult": {
16725           "type": "object",
16726           "properties": {
16727             "constraints": {
16728               "$ref": "#/definitions/Value"
16729             },
16730             "error": {
16731               "$ref": "#/definitions/Error"
16732             }
16733           },
16734           "additionalProperties": false,
16735           "required": [
16736             "constraints"
16737           ]
16738         },
16739         "ConstraintsResults": {
16740           "type": "object",
16741           "properties": {
16742             "results": {
16743               "type": "array",
16744               "items": {
16745                 "$ref": "#/definitions/ConstraintsResult"
16746               }
16747             }
16748           },
16749           "additionalProperties": false,
16750           "required": [
16751             "results"
16752           ]
16753         },
16754         "ContainerConfig": {
16755           "type": "object",
16756           "properties": {
16757             "UpdateBehavior": {
16758               "$ref": "#/definitions/UpdateBehavior"
16759             },
16760             "apt-mirror": {
16761               "type": "string"
16762             },
16763             "apt-proxy": {
16764               "$ref": "#/definitions/Settings"
16765             },
16766             "authorized-keys": {
16767               "type": "string"
16768             },
16769             "provider-type": {
16770               "type": "string"
16771             },
16772             "proxy": {
16773               "$ref": "#/definitions/Settings"
16774             },
16775             "ssl-hostname-verification": {
16776               "type": "boolean"
16777             }
16778           },
16779           "additionalProperties": false,
16780           "required": [
16781             "provider-type",
16782             "authorized-keys",
16783             "ssl-hostname-verification",
16784             "proxy",
16785             "apt-proxy",
16786             "apt-mirror",
16787             "UpdateBehavior"
16788           ]
16789         },
16790         "ContainerManagerConfig": {
16791           "type": "object",
16792           "properties": {
16793             "config": {
16794               "type": "object",
16795               "patternProperties": {
16796                 ".*": {
16797                   "type": "string"
16798                 }
16799               }
16800             }
16801           },
16802           "additionalProperties": false,
16803           "required": [
16804             "config"
16805           ]
16806         },
16807         "ContainerManagerConfigParams": {
16808           "type": "object",
16809           "properties": {
16810             "type": {
16811               "type": "string"
16812             }
16813           },
16814           "additionalProperties": false,
16815           "required": [
16816             "type"
16817           ]
16818         },
16819         "ControllerConfigResult": {
16820           "type": "object",
16821           "properties": {
16822             "config": {
16823               "type": "object",
16824               "patternProperties": {
16825                 ".*": {
16826                   "type": "object",
16827                   "additionalProperties": true
16828                 }
16829               }
16830             }
16831           },
16832           "additionalProperties": false,
16833           "required": [
16834             "config"
16835           ]
16836         },
16837         "DeviceBridgeInfo": {
16838           "type": "object",
16839           "properties": {
16840             "bridge-name": {
16841               "type": "string"
16842             },
16843             "host-device-name": {
16844               "type": "string"
16845             }
16846           },
16847           "additionalProperties": false,
16848           "required": [
16849             "host-device-name",
16850             "bridge-name"
16851           ]
16852         },
16853         "DistributionGroupResult": {
16854           "type": "object",
16855           "properties": {
16856             "error": {
16857               "$ref": "#/definitions/Error"
16858             },
16859             "result": {
16860               "type": "array",
16861               "items": {
16862                 "type": "string"
16863               }
16864             }
16865           },
16866           "additionalProperties": false,
16867           "required": [
16868             "result"
16869           ]
16870         },
16871         "DistributionGroupResults": {
16872           "type": "object",
16873           "properties": {
16874             "results": {
16875               "type": "array",
16876               "items": {
16877                 "$ref": "#/definitions/DistributionGroupResult"
16878               }
16879             }
16880           },
16881           "additionalProperties": false,
16882           "required": [
16883             "results"
16884           ]
16885         },
16886         "Entities": {
16887           "type": "object",
16888           "properties": {
16889             "entities": {
16890               "type": "array",
16891               "items": {
16892                 "$ref": "#/definitions/Entity"
16893               }
16894             }
16895           },
16896           "additionalProperties": false,
16897           "required": [
16898             "entities"
16899           ]
16900         },
16901         "Entity": {
16902           "type": "object",
16903           "properties": {
16904             "tag": {
16905               "type": "string"
16906             }
16907           },
16908           "additionalProperties": false,
16909           "required": [
16910             "tag"
16911           ]
16912         },
16913         "EntityPassword": {
16914           "type": "object",
16915           "properties": {
16916             "password": {
16917               "type": "string"
16918             },
16919             "tag": {
16920               "type": "string"
16921             }
16922           },
16923           "additionalProperties": false,
16924           "required": [
16925             "tag",
16926             "password"
16927           ]
16928         },
16929         "EntityPasswords": {
16930           "type": "object",
16931           "properties": {
16932             "changes": {
16933               "type": "array",
16934               "items": {
16935                 "$ref": "#/definitions/EntityPassword"
16936               }
16937             }
16938           },
16939           "additionalProperties": false,
16940           "required": [
16941             "changes"
16942           ]
16943         },
16944         "EntityStatusArgs": {
16945           "type": "object",
16946           "properties": {
16947             "data": {
16948               "type": "object",
16949               "patternProperties": {
16950                 ".*": {
16951                   "type": "object",
16952                   "additionalProperties": true
16953                 }
16954               }
16955             },
16956             "info": {
16957               "type": "string"
16958             },
16959             "status": {
16960               "type": "string"
16961             },
16962             "tag": {
16963               "type": "string"
16964             }
16965           },
16966           "additionalProperties": false,
16967           "required": [
16968             "tag",
16969             "status",
16970             "info",
16971             "data"
16972           ]
16973         },
16974         "Error": {
16975           "type": "object",
16976           "properties": {
16977             "code": {
16978               "type": "string"
16979             },
16980             "info": {
16981               "$ref": "#/definitions/ErrorInfo"
16982             },
16983             "message": {
16984               "type": "string"
16985             }
16986           },
16987           "additionalProperties": false,
16988           "required": [
16989             "message",
16990             "code"
16991           ]
16992         },
16993         "ErrorInfo": {
16994           "type": "object",
16995           "properties": {
16996             "macaroon": {
16997               "$ref": "#/definitions/Macaroon"
16998             },
16999             "macaroon-path": {
17000               "type": "string"
17001             }
17002           },
17003           "additionalProperties": false
17004         },
17005         "ErrorResult": {
17006           "type": "object",
17007           "properties": {
17008             "error": {
17009               "$ref": "#/definitions/Error"
17010             }
17011           },
17012           "additionalProperties": false
17013         },
17014         "ErrorResults": {
17015           "type": "object",
17016           "properties": {
17017             "results": {
17018               "type": "array",
17019               "items": {
17020                 "$ref": "#/definitions/ErrorResult"
17021               }
17022             }
17023           },
17024           "additionalProperties": false,
17025           "required": [
17026             "results"
17027           ]
17028         },
17029         "FindToolsParams": {
17030           "type": "object",
17031           "properties": {
17032             "arch": {
17033               "type": "string"
17034             },
17035             "major": {
17036               "type": "integer"
17037             },
17038             "minor": {
17039               "type": "integer"
17040             },
17041             "number": {
17042               "$ref": "#/definitions/Number"
17043             },
17044             "series": {
17045               "type": "string"
17046             }
17047           },
17048           "additionalProperties": false,
17049           "required": [
17050             "number",
17051             "major",
17052             "minor",
17053             "arch",
17054             "series"
17055           ]
17056         },
17057         "FindToolsResult": {
17058           "type": "object",
17059           "properties": {
17060             "error": {
17061               "$ref": "#/definitions/Error"
17062             },
17063             "list": {
17064               "type": "array",
17065               "items": {
17066                 "$ref": "#/definitions/Tools"
17067               }
17068             }
17069           },
17070           "additionalProperties": false,
17071           "required": [
17072             "list"
17073           ]
17074         },
17075         "HardwareCharacteristics": {
17076           "type": "object",
17077           "properties": {
17078             "arch": {
17079               "type": "string"
17080             },
17081             "availability-zone": {
17082               "type": "string"
17083             },
17084             "cpu-cores": {
17085               "type": "integer"
17086             },
17087             "cpu-power": {
17088               "type": "integer"
17089             },
17090             "mem": {
17091               "type": "integer"
17092             },
17093             "root-disk": {
17094               "type": "integer"
17095             },
17096             "tags": {
17097               "type": "array",
17098               "items": {
17099                 "type": "string"
17100               }
17101             }
17102           },
17103           "additionalProperties": false
17104         },
17105         "HostNetworkChange": {
17106           "type": "object",
17107           "properties": {
17108             "error": {
17109               "$ref": "#/definitions/Error"
17110             },
17111             "new-bridges": {
17112               "type": "array",
17113               "items": {
17114                 "$ref": "#/definitions/DeviceBridgeInfo"
17115               }
17116             },
17117             "reconfigure-delay": {
17118               "type": "integer"
17119             }
17120           },
17121           "additionalProperties": false,
17122           "required": [
17123             "new-bridges",
17124             "reconfigure-delay"
17125           ]
17126         },
17127         "HostNetworkChangeResults": {
17128           "type": "object",
17129           "properties": {
17130             "results": {
17131               "type": "array",
17132               "items": {
17133                 "$ref": "#/definitions/HostNetworkChange"
17134               }
17135             }
17136           },
17137           "additionalProperties": false,
17138           "required": [
17139             "results"
17140           ]
17141         },
17142         "HostPort": {
17143           "type": "object",
17144           "properties": {
17145             "Address": {
17146               "$ref": "#/definitions/Address"
17147             },
17148             "port": {
17149               "type": "integer"
17150             }
17151           },
17152           "additionalProperties": false,
17153           "required": [
17154             "Address",
17155             "port"
17156           ]
17157         },
17158         "InstanceInfo": {
17159           "type": "object",
17160           "properties": {
17161             "characteristics": {
17162               "$ref": "#/definitions/HardwareCharacteristics"
17163             },
17164             "instance-id": {
17165               "type": "string"
17166             },
17167             "network-config": {
17168               "type": "array",
17169               "items": {
17170                 "$ref": "#/definitions/NetworkConfig"
17171               }
17172             },
17173             "nonce": {
17174               "type": "string"
17175             },
17176             "tag": {
17177               "type": "string"
17178             },
17179             "volume-attachments": {
17180               "type": "object",
17181               "patternProperties": {
17182                 ".*": {
17183                   "$ref": "#/definitions/VolumeAttachmentInfo"
17184                 }
17185               }
17186             },
17187             "volumes": {
17188               "type": "array",
17189               "items": {
17190                 "$ref": "#/definitions/Volume"
17191               }
17192             }
17193           },
17194           "additionalProperties": false,
17195           "required": [
17196             "tag",
17197             "instance-id",
17198             "nonce",
17199             "characteristics",
17200             "volumes",
17201             "volume-attachments",
17202             "network-config"
17203           ]
17204         },
17205         "InstancesInfo": {
17206           "type": "object",
17207           "properties": {
17208             "machines": {
17209               "type": "array",
17210               "items": {
17211                 "$ref": "#/definitions/InstanceInfo"
17212               }
17213             }
17214           },
17215           "additionalProperties": false,
17216           "required": [
17217             "machines"
17218           ]
17219         },
17220         "LifeResult": {
17221           "type": "object",
17222           "properties": {
17223             "error": {
17224               "$ref": "#/definitions/Error"
17225             },
17226             "life": {
17227               "type": "string"
17228             }
17229           },
17230           "additionalProperties": false,
17231           "required": [
17232             "life"
17233           ]
17234         },
17235         "LifeResults": {
17236           "type": "object",
17237           "properties": {
17238             "results": {
17239               "type": "array",
17240               "items": {
17241                 "$ref": "#/definitions/LifeResult"
17242               }
17243             }
17244           },
17245           "additionalProperties": false,
17246           "required": [
17247             "results"
17248           ]
17249         },
17250         "Macaroon": {
17251           "type": "object",
17252           "additionalProperties": false
17253         },
17254         "MachineContainers": {
17255           "type": "object",
17256           "properties": {
17257             "container-types": {
17258               "type": "array",
17259               "items": {
17260                 "type": "string"
17261               }
17262             },
17263             "machine-tag": {
17264               "type": "string"
17265             }
17266           },
17267           "additionalProperties": false,
17268           "required": [
17269             "machine-tag",
17270             "container-types"
17271           ]
17272         },
17273         "MachineContainersParams": {
17274           "type": "object",
17275           "properties": {
17276             "params": {
17277               "type": "array",
17278               "items": {
17279                 "$ref": "#/definitions/MachineContainers"
17280               }
17281             }
17282           },
17283           "additionalProperties": false,
17284           "required": [
17285             "params"
17286           ]
17287         },
17288         "MachineNetworkConfigResult": {
17289           "type": "object",
17290           "properties": {
17291             "error": {
17292               "$ref": "#/definitions/Error"
17293             },
17294             "info": {
17295               "type": "array",
17296               "items": {
17297                 "$ref": "#/definitions/NetworkConfig"
17298               }
17299             }
17300           },
17301           "additionalProperties": false,
17302           "required": [
17303             "info"
17304           ]
17305         },
17306         "MachineNetworkConfigResults": {
17307           "type": "object",
17308           "properties": {
17309             "results": {
17310               "type": "array",
17311               "items": {
17312                 "$ref": "#/definitions/MachineNetworkConfigResult"
17313               }
17314             }
17315           },
17316           "additionalProperties": false,
17317           "required": [
17318             "results"
17319           ]
17320         },
17321         "ModelConfigResult": {
17322           "type": "object",
17323           "properties": {
17324             "config": {
17325               "type": "object",
17326               "patternProperties": {
17327                 ".*": {
17328                   "type": "object",
17329                   "additionalProperties": true
17330                 }
17331               }
17332             }
17333           },
17334           "additionalProperties": false,
17335           "required": [
17336             "config"
17337           ]
17338         },
17339         "NetworkConfig": {
17340           "type": "object",
17341           "properties": {
17342             "address": {
17343               "type": "string"
17344             },
17345             "cidr": {
17346               "type": "string"
17347             },
17348             "config-type": {
17349               "type": "string"
17350             },
17351             "device-index": {
17352               "type": "integer"
17353             },
17354             "disabled": {
17355               "type": "boolean"
17356             },
17357             "dns-search-domains": {
17358               "type": "array",
17359               "items": {
17360                 "type": "string"
17361               }
17362             },
17363             "dns-servers": {
17364               "type": "array",
17365               "items": {
17366                 "type": "string"
17367               }
17368             },
17369             "gateway-address": {
17370               "type": "string"
17371             },
17372             "interface-name": {
17373               "type": "string"
17374             },
17375             "interface-type": {
17376               "type": "string"
17377             },
17378             "mac-address": {
17379               "type": "string"
17380             },
17381             "mtu": {
17382               "type": "integer"
17383             },
17384             "no-auto-start": {
17385               "type": "boolean"
17386             },
17387             "parent-interface-name": {
17388               "type": "string"
17389             },
17390             "provider-address-id": {
17391               "type": "string"
17392             },
17393             "provider-id": {
17394               "type": "string"
17395             },
17396             "provider-space-id": {
17397               "type": "string"
17398             },
17399             "provider-subnet-id": {
17400               "type": "string"
17401             },
17402             "provider-vlan-id": {
17403               "type": "string"
17404             },
17405             "routes": {
17406               "type": "array",
17407               "items": {
17408                 "$ref": "#/definitions/NetworkRoute"
17409               }
17410             },
17411             "vlan-tag": {
17412               "type": "integer"
17413             }
17414           },
17415           "additionalProperties": false,
17416           "required": [
17417             "device-index",
17418             "mac-address",
17419             "cidr",
17420             "mtu",
17421             "provider-id",
17422             "provider-subnet-id",
17423             "provider-space-id",
17424             "provider-address-id",
17425             "provider-vlan-id",
17426             "vlan-tag",
17427             "interface-name",
17428             "parent-interface-name",
17429             "interface-type",
17430             "disabled"
17431           ]
17432         },
17433         "NetworkRoute": {
17434           "type": "object",
17435           "properties": {
17436             "destination-cidr": {
17437               "type": "string"
17438             },
17439             "gateway-ip": {
17440               "type": "string"
17441             },
17442             "metric": {
17443               "type": "integer"
17444             }
17445           },
17446           "additionalProperties": false,
17447           "required": [
17448             "destination-cidr",
17449             "gateway-ip",
17450             "metric"
17451           ]
17452         },
17453         "NotifyWatchResult": {
17454           "type": "object",
17455           "properties": {
17456             "NotifyWatcherId": {
17457               "type": "string"
17458             },
17459             "error": {
17460               "$ref": "#/definitions/Error"
17461             }
17462           },
17463           "additionalProperties": false,
17464           "required": [
17465             "NotifyWatcherId"
17466           ]
17467         },
17468         "Number": {
17469           "type": "object",
17470           "properties": {
17471             "Build": {
17472               "type": "integer"
17473             },
17474             "Major": {
17475               "type": "integer"
17476             },
17477             "Minor": {
17478               "type": "integer"
17479             },
17480             "Patch": {
17481               "type": "integer"
17482             },
17483             "Tag": {
17484               "type": "string"
17485             }
17486           },
17487           "additionalProperties": false,
17488           "required": [
17489             "Major",
17490             "Minor",
17491             "Tag",
17492             "Patch",
17493             "Build"
17494           ]
17495         },
17496         "ProvisioningInfo": {
17497           "type": "object",
17498           "properties": {
17499             "constraints": {
17500               "$ref": "#/definitions/Value"
17501             },
17502             "controller-config": {
17503               "type": "object",
17504               "patternProperties": {
17505                 ".*": {
17506                   "type": "object",
17507                   "additionalProperties": true
17508                 }
17509               }
17510             },
17511             "endpoint-bindings": {
17512               "type": "object",
17513               "patternProperties": {
17514                 ".*": {
17515                   "type": "string"
17516                 }
17517               }
17518             },
17519             "image-metadata": {
17520               "type": "array",
17521               "items": {
17522                 "$ref": "#/definitions/CloudImageMetadata"
17523               }
17524             },
17525             "jobs": {
17526               "type": "array",
17527               "items": {
17528                 "type": "string"
17529               }
17530             },
17531             "placement": {
17532               "type": "string"
17533             },
17534             "series": {
17535               "type": "string"
17536             },
17537             "subnets-to-zones": {
17538               "type": "object",
17539               "patternProperties": {
17540                 ".*": {
17541                   "type": "array",
17542                   "items": {
17543                     "type": "string"
17544                   }
17545                 }
17546               }
17547             },
17548             "tags": {
17549               "type": "object",
17550               "patternProperties": {
17551                 ".*": {
17552                   "type": "string"
17553                 }
17554               }
17555             },
17556             "volumes": {
17557               "type": "array",
17558               "items": {
17559                 "$ref": "#/definitions/VolumeParams"
17560               }
17561             }
17562           },
17563           "additionalProperties": false,
17564           "required": [
17565             "constraints",
17566             "series",
17567             "placement",
17568             "jobs"
17569           ]
17570         },
17571         "ProvisioningInfoResult": {
17572           "type": "object",
17573           "properties": {
17574             "error": {
17575               "$ref": "#/definitions/Error"
17576             },
17577             "result": {
17578               "$ref": "#/definitions/ProvisioningInfo"
17579             }
17580           },
17581           "additionalProperties": false,
17582           "required": [
17583             "result"
17584           ]
17585         },
17586         "ProvisioningInfoResults": {
17587           "type": "object",
17588           "properties": {
17589             "results": {
17590               "type": "array",
17591               "items": {
17592                 "$ref": "#/definitions/ProvisioningInfoResult"
17593               }
17594             }
17595           },
17596           "additionalProperties": false,
17597           "required": [
17598             "results"
17599           ]
17600         },
17601         "SetMachineNetworkConfig": {
17602           "type": "object",
17603           "properties": {
17604             "config": {
17605               "type": "array",
17606               "items": {
17607                 "$ref": "#/definitions/NetworkConfig"
17608               }
17609             },
17610             "tag": {
17611               "type": "string"
17612             }
17613           },
17614           "additionalProperties": false,
17615           "required": [
17616             "tag",
17617             "config"
17618           ]
17619         },
17620         "SetStatus": {
17621           "type": "object",
17622           "properties": {
17623             "entities": {
17624               "type": "array",
17625               "items": {
17626                 "$ref": "#/definitions/EntityStatusArgs"
17627               }
17628             }
17629           },
17630           "additionalProperties": false,
17631           "required": [
17632             "entities"
17633           ]
17634         },
17635         "Settings": {
17636           "type": "object",
17637           "properties": {
17638             "Ftp": {
17639               "type": "string"
17640             },
17641             "Http": {
17642               "type": "string"
17643             },
17644             "Https": {
17645               "type": "string"
17646             },
17647             "NoProxy": {
17648               "type": "string"
17649             }
17650           },
17651           "additionalProperties": false,
17652           "required": [
17653             "Http",
17654             "Https",
17655             "Ftp",
17656             "NoProxy"
17657           ]
17658         },
17659         "StatusResult": {
17660           "type": "object",
17661           "properties": {
17662             "data": {
17663               "type": "object",
17664               "patternProperties": {
17665                 ".*": {
17666                   "type": "object",
17667                   "additionalProperties": true
17668                 }
17669               }
17670             },
17671             "error": {
17672               "$ref": "#/definitions/Error"
17673             },
17674             "id": {
17675               "type": "string"
17676             },
17677             "info": {
17678               "type": "string"
17679             },
17680             "life": {
17681               "type": "string"
17682             },
17683             "since": {
17684               "type": "string",
17685               "format": "date-time"
17686             },
17687             "status": {
17688               "type": "string"
17689             }
17690           },
17691           "additionalProperties": false,
17692           "required": [
17693             "id",
17694             "life",
17695             "status",
17696             "info",
17697             "data",
17698             "since"
17699           ]
17700         },
17701         "StatusResults": {
17702           "type": "object",
17703           "properties": {
17704             "results": {
17705               "type": "array",
17706               "items": {
17707                 "$ref": "#/definitions/StatusResult"
17708               }
17709             }
17710           },
17711           "additionalProperties": false,
17712           "required": [
17713             "results"
17714           ]
17715         },
17716         "StringResult": {
17717           "type": "object",
17718           "properties": {
17719             "error": {
17720               "$ref": "#/definitions/Error"
17721             },
17722             "result": {
17723               "type": "string"
17724             }
17725           },
17726           "additionalProperties": false,
17727           "required": [
17728             "result"
17729           ]
17730         },
17731         "StringResults": {
17732           "type": "object",
17733           "properties": {
17734             "results": {
17735               "type": "array",
17736               "items": {
17737                 "$ref": "#/definitions/StringResult"
17738               }
17739             }
17740           },
17741           "additionalProperties": false,
17742           "required": [
17743             "results"
17744           ]
17745         },
17746         "StringsResult": {
17747           "type": "object",
17748           "properties": {
17749             "error": {
17750               "$ref": "#/definitions/Error"
17751             },
17752             "result": {
17753               "type": "array",
17754               "items": {
17755                 "type": "string"
17756               }
17757             }
17758           },
17759           "additionalProperties": false
17760         },
17761         "StringsWatchResult": {
17762           "type": "object",
17763           "properties": {
17764             "changes": {
17765               "type": "array",
17766               "items": {
17767                 "type": "string"
17768               }
17769             },
17770             "error": {
17771               "$ref": "#/definitions/Error"
17772             },
17773             "watcher-id": {
17774               "type": "string"
17775             }
17776           },
17777           "additionalProperties": false,
17778           "required": [
17779             "watcher-id"
17780           ]
17781         },
17782         "StringsWatchResults": {
17783           "type": "object",
17784           "properties": {
17785             "results": {
17786               "type": "array",
17787               "items": {
17788                 "$ref": "#/definitions/StringsWatchResult"
17789               }
17790             }
17791           },
17792           "additionalProperties": false,
17793           "required": [
17794             "results"
17795           ]
17796         },
17797         "Tools": {
17798           "type": "object",
17799           "properties": {
17800             "sha256": {
17801               "type": "string"
17802             },
17803             "size": {
17804               "type": "integer"
17805             },
17806             "url": {
17807               "type": "string"
17808             },
17809             "version": {
17810               "$ref": "#/definitions/Binary"
17811             }
17812           },
17813           "additionalProperties": false,
17814           "required": [
17815             "version",
17816             "url",
17817             "size"
17818           ]
17819         },
17820         "ToolsResult": {
17821           "type": "object",
17822           "properties": {
17823             "disable-ssl-hostname-verification": {
17824               "type": "boolean"
17825             },
17826             "error": {
17827               "$ref": "#/definitions/Error"
17828             },
17829             "tools": {
17830               "type": "array",
17831               "items": {
17832                 "$ref": "#/definitions/Tools"
17833               }
17834             }
17835           },
17836           "additionalProperties": false,
17837           "required": [
17838             "tools",
17839             "disable-ssl-hostname-verification"
17840           ]
17841         },
17842         "ToolsResults": {
17843           "type": "object",
17844           "properties": {
17845             "results": {
17846               "type": "array",
17847               "items": {
17848                 "$ref": "#/definitions/ToolsResult"
17849               }
17850             }
17851           },
17852           "additionalProperties": false,
17853           "required": [
17854             "results"
17855           ]
17856         },
17857         "UpdateBehavior": {
17858           "type": "object",
17859           "properties": {
17860             "enable-os-refresh-update": {
17861               "type": "boolean"
17862             },
17863             "enable-os-upgrade": {
17864               "type": "boolean"
17865             }
17866           },
17867           "additionalProperties": false,
17868           "required": [
17869             "enable-os-refresh-update",
17870             "enable-os-upgrade"
17871           ]
17872         },
17873         "Value": {
17874           "type": "object",
17875           "properties": {
17876             "arch": {
17877               "type": "string"
17878             },
17879             "container": {
17880               "type": "string"
17881             },
17882             "cores": {
17883               "type": "integer"
17884             },
17885             "cpu-power": {
17886               "type": "integer"
17887             },
17888             "instance-type": {
17889               "type": "string"
17890             },
17891             "mem": {
17892               "type": "integer"
17893             },
17894             "root-disk": {
17895               "type": "integer"
17896             },
17897             "spaces": {
17898               "type": "array",
17899               "items": {
17900                 "type": "string"
17901               }
17902             },
17903             "tags": {
17904               "type": "array",
17905               "items": {
17906                 "type": "string"
17907               }
17908             },
17909             "virt-type": {
17910               "type": "string"
17911             }
17912           },
17913           "additionalProperties": false
17914         },
17915         "Volume": {
17916           "type": "object",
17917           "properties": {
17918             "info": {
17919               "$ref": "#/definitions/VolumeInfo"
17920             },
17921             "volume-tag": {
17922               "type": "string"
17923             }
17924           },
17925           "additionalProperties": false,
17926           "required": [
17927             "volume-tag",
17928             "info"
17929           ]
17930         },
17931         "VolumeAttachmentInfo": {
17932           "type": "object",
17933           "properties": {
17934             "bus-address": {
17935               "type": "string"
17936             },
17937             "device-link": {
17938               "type": "string"
17939             },
17940             "device-name": {
17941               "type": "string"
17942             },
17943             "read-only": {
17944               "type": "boolean"
17945             }
17946           },
17947           "additionalProperties": false
17948         },
17949         "VolumeAttachmentParams": {
17950           "type": "object",
17951           "properties": {
17952             "instance-id": {
17953               "type": "string"
17954             },
17955             "machine-tag": {
17956               "type": "string"
17957             },
17958             "provider": {
17959               "type": "string"
17960             },
17961             "read-only": {
17962               "type": "boolean"
17963             },
17964             "volume-id": {
17965               "type": "string"
17966             },
17967             "volume-tag": {
17968               "type": "string"
17969             }
17970           },
17971           "additionalProperties": false,
17972           "required": [
17973             "volume-tag",
17974             "machine-tag",
17975             "provider"
17976           ]
17977         },
17978         "VolumeInfo": {
17979           "type": "object",
17980           "properties": {
17981             "hardware-id": {
17982               "type": "string"
17983             },
17984             "persistent": {
17985               "type": "boolean"
17986             },
17987             "pool": {
17988               "type": "string"
17989             },
17990             "size": {
17991               "type": "integer"
17992             },
17993             "volume-id": {
17994               "type": "string"
17995             }
17996           },
17997           "additionalProperties": false,
17998           "required": [
17999             "volume-id",
18000             "size",
18001             "persistent"
18002           ]
18003         },
18004         "VolumeParams": {
18005           "type": "object",
18006           "properties": {
18007             "attachment": {
18008               "$ref": "#/definitions/VolumeAttachmentParams"
18009             },
18010             "attributes": {
18011               "type": "object",
18012               "patternProperties": {
18013                 ".*": {
18014                   "type": "object",
18015                   "additionalProperties": true
18016                 }
18017               }
18018             },
18019             "provider": {
18020               "type": "string"
18021             },
18022             "size": {
18023               "type": "integer"
18024             },
18025             "tags": {
18026               "type": "object",
18027               "patternProperties": {
18028                 ".*": {
18029                   "type": "string"
18030                 }
18031               }
18032             },
18033             "volume-tag": {
18034               "type": "string"
18035             }
18036           },
18037           "additionalProperties": false,
18038           "required": [
18039             "volume-tag",
18040             "size",
18041             "provider"
18042           ]
18043         },
18044         "WatchContainer": {
18045           "type": "object",
18046           "properties": {
18047             "container-type": {
18048               "type": "string"
18049             },
18050             "machine-tag": {
18051               "type": "string"
18052             }
18053           },
18054           "additionalProperties": false,
18055           "required": [
18056             "machine-tag",
18057             "container-type"
18058           ]
18059         },
18060         "WatchContainers": {
18061           "type": "object",
18062           "properties": {
18063             "params": {
18064               "type": "array",
18065               "items": {
18066                 "$ref": "#/definitions/WatchContainer"
18067               }
18068             }
18069           },
18070           "additionalProperties": false,
18071           "required": [
18072             "params"
18073           ]
18074         }
18075       }
18076     }
18077   },
18078   {
18079     "Name": "ProxyUpdater",
18080     "Version": 1,
18081     "Schema": {
18082       "type": "object",
18083       "properties": {
18084         "ProxyConfig": {
18085           "type": "object",
18086           "properties": {
18087             "Params": {
18088               "$ref": "#/definitions/Entities"
18089             },
18090             "Result": {
18091               "$ref": "#/definitions/ProxyConfigResults"
18092             }
18093           }
18094         },
18095         "WatchForProxyConfigAndAPIHostPortChanges": {
18096           "type": "object",
18097           "properties": {
18098             "Params": {
18099               "$ref": "#/definitions/Entities"
18100             },
18101             "Result": {
18102               "$ref": "#/definitions/NotifyWatchResults"
18103             }
18104           }
18105         }
18106       },
18107       "definitions": {
18108         "Entities": {
18109           "type": "object",
18110           "properties": {
18111             "entities": {
18112               "type": "array",
18113               "items": {
18114                 "$ref": "#/definitions/Entity"
18115               }
18116             }
18117           },
18118           "additionalProperties": false,
18119           "required": [
18120             "entities"
18121           ]
18122         },
18123         "Entity": {
18124           "type": "object",
18125           "properties": {
18126             "tag": {
18127               "type": "string"
18128             }
18129           },
18130           "additionalProperties": false,
18131           "required": [
18132             "tag"
18133           ]
18134         },
18135         "Error": {
18136           "type": "object",
18137           "properties": {
18138             "code": {
18139               "type": "string"
18140             },
18141             "info": {
18142               "$ref": "#/definitions/ErrorInfo"
18143             },
18144             "message": {
18145               "type": "string"
18146             }
18147           },
18148           "additionalProperties": false,
18149           "required": [
18150             "message",
18151             "code"
18152           ]
18153         },
18154         "ErrorInfo": {
18155           "type": "object",
18156           "properties": {
18157             "macaroon": {
18158               "$ref": "#/definitions/Macaroon"
18159             },
18160             "macaroon-path": {
18161               "type": "string"
18162             }
18163           },
18164           "additionalProperties": false
18165         },
18166         "Macaroon": {
18167           "type": "object",
18168           "additionalProperties": false
18169         },
18170         "NotifyWatchResult": {
18171           "type": "object",
18172           "properties": {
18173             "NotifyWatcherId": {
18174               "type": "string"
18175             },
18176             "error": {
18177               "$ref": "#/definitions/Error"
18178             }
18179           },
18180           "additionalProperties": false,
18181           "required": [
18182             "NotifyWatcherId"
18183           ]
18184         },
18185         "NotifyWatchResults": {
18186           "type": "object",
18187           "properties": {
18188             "results": {
18189               "type": "array",
18190               "items": {
18191                 "$ref": "#/definitions/NotifyWatchResult"
18192               }
18193             }
18194           },
18195           "additionalProperties": false,
18196           "required": [
18197             "results"
18198           ]
18199         },
18200         "ProxyConfig": {
18201           "type": "object",
18202           "properties": {
18203             "ftp": {
18204               "type": "string"
18205             },
18206             "http": {
18207               "type": "string"
18208             },
18209             "https": {
18210               "type": "string"
18211             },
18212             "no-proxy": {
18213               "type": "string"
18214             }
18215           },
18216           "additionalProperties": false,
18217           "required": [
18218             "http",
18219             "https",
18220             "ftp",
18221             "no-proxy"
18222           ]
18223         },
18224         "ProxyConfigResult": {
18225           "type": "object",
18226           "properties": {
18227             "apt-proxy-settings": {
18228               "$ref": "#/definitions/ProxyConfig"
18229             },
18230             "error": {
18231               "$ref": "#/definitions/Error"
18232             },
18233             "proxy-settings": {
18234               "$ref": "#/definitions/ProxyConfig"
18235             }
18236           },
18237           "additionalProperties": false,
18238           "required": [
18239             "proxy-settings",
18240             "apt-proxy-settings"
18241           ]
18242         },
18243         "ProxyConfigResults": {
18244           "type": "object",
18245           "properties": {
18246             "results": {
18247               "type": "array",
18248               "items": {
18249                 "$ref": "#/definitions/ProxyConfigResult"
18250               }
18251             }
18252           },
18253           "additionalProperties": false,
18254           "required": [
18255             "results"
18256           ]
18257         }
18258       }
18259     }
18260   },
18261   {
18262     "Name": "Reboot",
18263     "Version": 2,
18264     "Schema": {
18265       "type": "object",
18266       "properties": {
18267         "ClearReboot": {
18268           "type": "object",
18269           "properties": {
18270             "Params": {
18271               "$ref": "#/definitions/Entities"
18272             },
18273             "Result": {
18274               "$ref": "#/definitions/ErrorResults"
18275             }
18276           }
18277         },
18278         "GetRebootAction": {
18279           "type": "object",
18280           "properties": {
18281             "Params": {
18282               "$ref": "#/definitions/Entities"
18283             },
18284             "Result": {
18285               "$ref": "#/definitions/RebootActionResults"
18286             }
18287           }
18288         },
18289         "RequestReboot": {
18290           "type": "object",
18291           "properties": {
18292             "Params": {
18293               "$ref": "#/definitions/Entities"
18294             },
18295             "Result": {
18296               "$ref": "#/definitions/ErrorResults"
18297             }
18298           }
18299         },
18300         "WatchForRebootEvent": {
18301           "type": "object",
18302           "properties": {
18303             "Result": {
18304               "$ref": "#/definitions/NotifyWatchResult"
18305             }
18306           }
18307         }
18308       },
18309       "definitions": {
18310         "Entities": {
18311           "type": "object",
18312           "properties": {
18313             "entities": {
18314               "type": "array",
18315               "items": {
18316                 "$ref": "#/definitions/Entity"
18317               }
18318             }
18319           },
18320           "additionalProperties": false,
18321           "required": [
18322             "entities"
18323           ]
18324         },
18325         "Entity": {
18326           "type": "object",
18327           "properties": {
18328             "tag": {
18329               "type": "string"
18330             }
18331           },
18332           "additionalProperties": false,
18333           "required": [
18334             "tag"
18335           ]
18336         },
18337         "Error": {
18338           "type": "object",
18339           "properties": {
18340             "code": {
18341               "type": "string"
18342             },
18343             "info": {
18344               "$ref": "#/definitions/ErrorInfo"
18345             },
18346             "message": {
18347               "type": "string"
18348             }
18349           },
18350           "additionalProperties": false,
18351           "required": [
18352             "message",
18353             "code"
18354           ]
18355         },
18356         "ErrorInfo": {
18357           "type": "object",
18358           "properties": {
18359             "macaroon": {
18360               "$ref": "#/definitions/Macaroon"
18361             },
18362             "macaroon-path": {
18363               "type": "string"
18364             }
18365           },
18366           "additionalProperties": false
18367         },
18368         "ErrorResult": {
18369           "type": "object",
18370           "properties": {
18371             "error": {
18372               "$ref": "#/definitions/Error"
18373             }
18374           },
18375           "additionalProperties": false
18376         },
18377         "ErrorResults": {
18378           "type": "object",
18379           "properties": {
18380             "results": {
18381               "type": "array",
18382               "items": {
18383                 "$ref": "#/definitions/ErrorResult"
18384               }
18385             }
18386           },
18387           "additionalProperties": false,
18388           "required": [
18389             "results"
18390           ]
18391         },
18392         "Macaroon": {
18393           "type": "object",
18394           "additionalProperties": false
18395         },
18396         "NotifyWatchResult": {
18397           "type": "object",
18398           "properties": {
18399             "NotifyWatcherId": {
18400               "type": "string"
18401             },
18402             "error": {
18403               "$ref": "#/definitions/Error"
18404             }
18405           },
18406           "additionalProperties": false,
18407           "required": [
18408             "NotifyWatcherId"
18409           ]
18410         },
18411         "RebootActionResult": {
18412           "type": "object",
18413           "properties": {
18414             "error": {
18415               "$ref": "#/definitions/Error"
18416             },
18417             "result": {
18418               "type": "string"
18419             }
18420           },
18421           "additionalProperties": false
18422         },
18423         "RebootActionResults": {
18424           "type": "object",
18425           "properties": {
18426             "results": {
18427               "type": "array",
18428               "items": {
18429                 "$ref": "#/definitions/RebootActionResult"
18430               }
18431             }
18432           },
18433           "additionalProperties": false
18434         }
18435       }
18436     }
18437   },
18438   {
18439     "Name": "RelationUnitsWatcher",
18440     "Version": 1,
18441     "Schema": {
18442       "type": "object",
18443       "properties": {
18444         "Next": {
18445           "type": "object",
18446           "properties": {
18447             "Result": {
18448               "$ref": "#/definitions/RelationUnitsWatchResult"
18449             }
18450           }
18451         },
18452         "Stop": {
18453           "type": "object"
18454         }
18455       },
18456       "definitions": {
18457         "Error": {
18458           "type": "object",
18459           "properties": {
18460             "code": {
18461               "type": "string"
18462             },
18463             "info": {
18464               "$ref": "#/definitions/ErrorInfo"
18465             },
18466             "message": {
18467               "type": "string"
18468             }
18469           },
18470           "additionalProperties": false,
18471           "required": [
18472             "message",
18473             "code"
18474           ]
18475         },
18476         "ErrorInfo": {
18477           "type": "object",
18478           "properties": {
18479             "macaroon": {
18480               "$ref": "#/definitions/Macaroon"
18481             },
18482             "macaroon-path": {
18483               "type": "string"
18484             }
18485           },
18486           "additionalProperties": false
18487         },
18488         "Macaroon": {
18489           "type": "object",
18490           "additionalProperties": false
18491         },
18492         "RelationUnitsChange": {
18493           "type": "object",
18494           "properties": {
18495             "changed": {
18496               "type": "object",
18497               "patternProperties": {
18498                 ".*": {
18499                   "$ref": "#/definitions/UnitSettings"
18500                 }
18501               }
18502             },
18503             "departed": {
18504               "type": "array",
18505               "items": {
18506                 "type": "string"
18507               }
18508             }
18509           },
18510           "additionalProperties": false,
18511           "required": [
18512             "changed"
18513           ]
18514         },
18515         "RelationUnitsWatchResult": {
18516           "type": "object",
18517           "properties": {
18518             "changes": {
18519               "$ref": "#/definitions/RelationUnitsChange"
18520             },
18521             "error": {
18522               "$ref": "#/definitions/Error"
18523             },
18524             "watcher-id": {
18525               "type": "string"
18526             }
18527           },
18528           "additionalProperties": false,
18529           "required": [
18530             "watcher-id",
18531             "changes"
18532           ]
18533         },
18534         "UnitSettings": {
18535           "type": "object",
18536           "properties": {
18537             "version": {
18538               "type": "integer"
18539             }
18540           },
18541           "additionalProperties": false,
18542           "required": [
18543             "version"
18544           ]
18545         }
18546       }
18547     }
18548   },
18549   {
18550     "Name": "Resources",
18551     "Version": 1,
18552     "Schema": {
18553       "type": "object",
18554       "properties": {
18555         "AddPendingResources": {
18556           "type": "object",
18557           "properties": {
18558             "Params": {
18559               "$ref": "#/definitions/AddPendingResourcesArgs"
18560             },
18561             "Result": {
18562               "$ref": "#/definitions/AddPendingResourcesResult"
18563             }
18564           }
18565         },
18566         "ListResources": {
18567           "type": "object",
18568           "properties": {
18569             "Params": {
18570               "$ref": "#/definitions/ListResourcesArgs"
18571             },
18572             "Result": {
18573               "$ref": "#/definitions/ResourcesResults"
18574             }
18575           }
18576         }
18577       },
18578       "definitions": {
18579         "AddCharmWithAuthorization": {
18580           "type": "object",
18581           "properties": {
18582             "channel": {
18583               "type": "string"
18584             },
18585             "macaroon": {
18586               "$ref": "#/definitions/Macaroon"
18587             },
18588             "url": {
18589               "type": "string"
18590             }
18591           },
18592           "additionalProperties": false,
18593           "required": [
18594             "url",
18595             "channel",
18596             "macaroon"
18597           ]
18598         },
18599         "AddPendingResourcesArgs": {
18600           "type": "object",
18601           "properties": {
18602             "AddCharmWithAuthorization": {
18603               "$ref": "#/definitions/AddCharmWithAuthorization"
18604             },
18605             "Entity": {
18606               "$ref": "#/definitions/Entity"
18607             },
18608             "resources": {
18609               "type": "array",
18610               "items": {
18611                 "$ref": "#/definitions/CharmResource"
18612               }
18613             }
18614           },
18615           "additionalProperties": false,
18616           "required": [
18617             "Entity",
18618             "AddCharmWithAuthorization",
18619             "resources"
18620           ]
18621         },
18622         "AddPendingResourcesResult": {
18623           "type": "object",
18624           "properties": {
18625             "ErrorResult": {
18626               "$ref": "#/definitions/ErrorResult"
18627             },
18628             "pending-ids": {
18629               "type": "array",
18630               "items": {
18631                 "type": "string"
18632               }
18633             }
18634           },
18635           "additionalProperties": false,
18636           "required": [
18637             "ErrorResult",
18638             "pending-ids"
18639           ]
18640         },
18641         "CharmResource": {
18642           "type": "object",
18643           "properties": {
18644             "description": {
18645               "type": "string"
18646             },
18647             "fingerprint": {
18648               "type": "array",
18649               "items": {
18650                 "type": "integer"
18651               }
18652             },
18653             "name": {
18654               "type": "string"
18655             },
18656             "origin": {
18657               "type": "string"
18658             },
18659             "path": {
18660               "type": "string"
18661             },
18662             "revision": {
18663               "type": "integer"
18664             },
18665             "size": {
18666               "type": "integer"
18667             },
18668             "type": {
18669               "type": "string"
18670             }
18671           },
18672           "additionalProperties": false,
18673           "required": [
18674             "name",
18675             "type",
18676             "path",
18677             "origin",
18678             "revision",
18679             "fingerprint",
18680             "size"
18681           ]
18682         },
18683         "Entity": {
18684           "type": "object",
18685           "properties": {
18686             "tag": {
18687               "type": "string"
18688             }
18689           },
18690           "additionalProperties": false,
18691           "required": [
18692             "tag"
18693           ]
18694         },
18695         "Error": {
18696           "type": "object",
18697           "properties": {
18698             "code": {
18699               "type": "string"
18700             },
18701             "info": {
18702               "$ref": "#/definitions/ErrorInfo"
18703             },
18704             "message": {
18705               "type": "string"
18706             }
18707           },
18708           "additionalProperties": false,
18709           "required": [
18710             "message",
18711             "code"
18712           ]
18713         },
18714         "ErrorInfo": {
18715           "type": "object",
18716           "properties": {
18717             "macaroon": {
18718               "$ref": "#/definitions/Macaroon"
18719             },
18720             "macaroon-path": {
18721               "type": "string"
18722             }
18723           },
18724           "additionalProperties": false
18725         },
18726         "ErrorResult": {
18727           "type": "object",
18728           "properties": {
18729             "error": {
18730               "$ref": "#/definitions/Error"
18731             }
18732           },
18733           "additionalProperties": false
18734         },
18735         "ListResourcesArgs": {
18736           "type": "object",
18737           "properties": {
18738             "entities": {
18739               "type": "array",
18740               "items": {
18741                 "$ref": "#/definitions/Entity"
18742               }
18743             }
18744           },
18745           "additionalProperties": false,
18746           "required": [
18747             "entities"
18748           ]
18749         },
18750         "Macaroon": {
18751           "type": "object",
18752           "additionalProperties": false
18753         },
18754         "Resource": {
18755           "type": "object",
18756           "properties": {
18757             "CharmResource": {
18758               "$ref": "#/definitions/CharmResource"
18759             },
18760             "application": {
18761               "type": "string"
18762             },
18763             "id": {
18764               "type": "string"
18765             },
18766             "pending-id": {
18767               "type": "string"
18768             },
18769             "timestamp": {
18770               "type": "string",
18771               "format": "date-time"
18772             },
18773             "username": {
18774               "type": "string"
18775             }
18776           },
18777           "additionalProperties": false,
18778           "required": [
18779             "CharmResource",
18780             "id",
18781             "pending-id",
18782             "application",
18783             "username",
18784             "timestamp"
18785           ]
18786         },
18787         "ResourcesResult": {
18788           "type": "object",
18789           "properties": {
18790             "ErrorResult": {
18791               "$ref": "#/definitions/ErrorResult"
18792             },
18793             "charm-store-resources": {
18794               "type": "array",
18795               "items": {
18796                 "$ref": "#/definitions/CharmResource"
18797               }
18798             },
18799             "resources": {
18800               "type": "array",
18801               "items": {
18802                 "$ref": "#/definitions/Resource"
18803               }
18804             },
18805             "unit-resources": {
18806               "type": "array",
18807               "items": {
18808                 "$ref": "#/definitions/UnitResources"
18809               }
18810             }
18811           },
18812           "additionalProperties": false,
18813           "required": [
18814             "ErrorResult",
18815             "resources",
18816             "charm-store-resources",
18817             "unit-resources"
18818           ]
18819         },
18820         "ResourcesResults": {
18821           "type": "object",
18822           "properties": {
18823             "results": {
18824               "type": "array",
18825               "items": {
18826                 "$ref": "#/definitions/ResourcesResult"
18827               }
18828             }
18829           },
18830           "additionalProperties": false,
18831           "required": [
18832             "results"
18833           ]
18834         },
18835         "UnitResources": {
18836           "type": "object",
18837           "properties": {
18838             "Entity": {
18839               "$ref": "#/definitions/Entity"
18840             },
18841             "download-progress": {
18842               "type": "object",
18843               "patternProperties": {
18844                 ".*": {
18845                   "type": "integer"
18846                 }
18847               }
18848             },
18849             "resources": {
18850               "type": "array",
18851               "items": {
18852                 "$ref": "#/definitions/Resource"
18853               }
18854             }
18855           },
18856           "additionalProperties": false,
18857           "required": [
18858             "Entity",
18859             "resources",
18860             "download-progress"
18861           ]
18862         }
18863       }
18864     }
18865   },
18866   {
18867     "Name": "ResourcesHookContext",
18868     "Version": 1,
18869     "Schema": {
18870       "type": "object",
18871       "properties": {
18872         "GetResourceInfo": {
18873           "type": "object",
18874           "properties": {
18875             "Params": {
18876               "$ref": "#/definitions/ListUnitResourcesArgs"
18877             },
18878             "Result": {
18879               "$ref": "#/definitions/UnitResourcesResult"
18880             }
18881           }
18882         }
18883       },
18884       "definitions": {
18885         "CharmResource": {
18886           "type": "object",
18887           "properties": {
18888             "description": {
18889               "type": "string"
18890             },
18891             "fingerprint": {
18892               "type": "array",
18893               "items": {
18894                 "type": "integer"
18895               }
18896             },
18897             "name": {
18898               "type": "string"
18899             },
18900             "origin": {
18901               "type": "string"
18902             },
18903             "path": {
18904               "type": "string"
18905             },
18906             "revision": {
18907               "type": "integer"
18908             },
18909             "size": {
18910               "type": "integer"
18911             },
18912             "type": {
18913               "type": "string"
18914             }
18915           },
18916           "additionalProperties": false,
18917           "required": [
18918             "name",
18919             "type",
18920             "path",
18921             "origin",
18922             "revision",
18923             "fingerprint",
18924             "size"
18925           ]
18926         },
18927         "Error": {
18928           "type": "object",
18929           "properties": {
18930             "code": {
18931               "type": "string"
18932             },
18933             "info": {
18934               "$ref": "#/definitions/ErrorInfo"
18935             },
18936             "message": {
18937               "type": "string"
18938             }
18939           },
18940           "additionalProperties": false,
18941           "required": [
18942             "message",
18943             "code"
18944           ]
18945         },
18946         "ErrorInfo": {
18947           "type": "object",
18948           "properties": {
18949             "macaroon": {
18950               "$ref": "#/definitions/Macaroon"
18951             },
18952             "macaroon-path": {
18953               "type": "string"
18954             }
18955           },
18956           "additionalProperties": false
18957         },
18958         "ErrorResult": {
18959           "type": "object",
18960           "properties": {
18961             "error": {
18962               "$ref": "#/definitions/Error"
18963             }
18964           },
18965           "additionalProperties": false
18966         },
18967         "ListUnitResourcesArgs": {
18968           "type": "object",
18969           "properties": {
18970             "resource-names": {
18971               "type": "array",
18972               "items": {
18973                 "type": "string"
18974               }
18975             }
18976           },
18977           "additionalProperties": false,
18978           "required": [
18979             "resource-names"
18980           ]
18981         },
18982         "Macaroon": {
18983           "type": "object",
18984           "additionalProperties": false
18985         },
18986         "Resource": {
18987           "type": "object",
18988           "properties": {
18989             "CharmResource": {
18990               "$ref": "#/definitions/CharmResource"
18991             },
18992             "application": {
18993               "type": "string"
18994             },
18995             "id": {
18996               "type": "string"
18997             },
18998             "pending-id": {
18999               "type": "string"
19000             },
19001             "timestamp": {
19002               "type": "string",
19003               "format": "date-time"
19004             },
19005             "username": {
19006               "type": "string"
19007             }
19008           },
19009           "additionalProperties": false,
19010           "required": [
19011             "CharmResource",
19012             "id",
19013             "pending-id",
19014             "application",
19015             "username",
19016             "timestamp"
19017           ]
19018         },
19019         "UnitResourceResult": {
19020           "type": "object",
19021           "properties": {
19022             "ErrorResult": {
19023               "$ref": "#/definitions/ErrorResult"
19024             },
19025             "resource": {
19026               "$ref": "#/definitions/Resource"
19027             }
19028           },
19029           "additionalProperties": false,
19030           "required": [
19031             "ErrorResult",
19032             "resource"
19033           ]
19034         },
19035         "UnitResourcesResult": {
19036           "type": "object",
19037           "properties": {
19038             "ErrorResult": {
19039               "$ref": "#/definitions/ErrorResult"
19040             },
19041             "resources": {
19042               "type": "array",
19043               "items": {
19044                 "$ref": "#/definitions/UnitResourceResult"
19045               }
19046             }
19047           },
19048           "additionalProperties": false,
19049           "required": [
19050             "ErrorResult",
19051             "resources"
19052           ]
19053         }
19054       }
19055     }
19056   },
19057   {
19058     "Name": "Resumer",
19059     "Version": 2,
19060     "Schema": {
19061       "type": "object",
19062       "properties": {
19063         "ResumeTransactions": {
19064           "type": "object"
19065         }
19066       }
19067     }
19068   },
19069   {
19070     "Name": "RetryStrategy",
19071     "Version": 1,
19072     "Schema": {
19073       "type": "object",
19074       "properties": {
19075         "RetryStrategy": {
19076           "type": "object",
19077           "properties": {
19078             "Params": {
19079               "$ref": "#/definitions/Entities"
19080             },
19081             "Result": {
19082               "$ref": "#/definitions/RetryStrategyResults"
19083             }
19084           }
19085         },
19086         "WatchRetryStrategy": {
19087           "type": "object",
19088           "properties": {
19089             "Params": {
19090               "$ref": "#/definitions/Entities"
19091             },
19092             "Result": {
19093               "$ref": "#/definitions/NotifyWatchResults"
19094             }
19095           }
19096         }
19097       },
19098       "definitions": {
19099         "Entities": {
19100           "type": "object",
19101           "properties": {
19102             "entities": {
19103               "type": "array",
19104               "items": {
19105                 "$ref": "#/definitions/Entity"
19106               }
19107             }
19108           },
19109           "additionalProperties": false,
19110           "required": [
19111             "entities"
19112           ]
19113         },
19114         "Entity": {
19115           "type": "object",
19116           "properties": {
19117             "tag": {
19118               "type": "string"
19119             }
19120           },
19121           "additionalProperties": false,
19122           "required": [
19123             "tag"
19124           ]
19125         },
19126         "Error": {
19127           "type": "object",
19128           "properties": {
19129             "code": {
19130               "type": "string"
19131             },
19132             "info": {
19133               "$ref": "#/definitions/ErrorInfo"
19134             },
19135             "message": {
19136               "type": "string"
19137             }
19138           },
19139           "additionalProperties": false,
19140           "required": [
19141             "message",
19142             "code"
19143           ]
19144         },
19145         "ErrorInfo": {
19146           "type": "object",
19147           "properties": {
19148             "macaroon": {
19149               "$ref": "#/definitions/Macaroon"
19150             },
19151             "macaroon-path": {
19152               "type": "string"
19153             }
19154           },
19155           "additionalProperties": false
19156         },
19157         "Macaroon": {
19158           "type": "object",
19159           "additionalProperties": false
19160         },
19161         "NotifyWatchResult": {
19162           "type": "object",
19163           "properties": {
19164             "NotifyWatcherId": {
19165               "type": "string"
19166             },
19167             "error": {
19168               "$ref": "#/definitions/Error"
19169             }
19170           },
19171           "additionalProperties": false,
19172           "required": [
19173             "NotifyWatcherId"
19174           ]
19175         },
19176         "NotifyWatchResults": {
19177           "type": "object",
19178           "properties": {
19179             "results": {
19180               "type": "array",
19181               "items": {
19182                 "$ref": "#/definitions/NotifyWatchResult"
19183               }
19184             }
19185           },
19186           "additionalProperties": false,
19187           "required": [
19188             "results"
19189           ]
19190         },
19191         "RetryStrategy": {
19192           "type": "object",
19193           "properties": {
19194             "jitter-retry-time": {
19195               "type": "boolean"
19196             },
19197             "max-retry-time": {
19198               "type": "integer"
19199             },
19200             "min-retry-time": {
19201               "type": "integer"
19202             },
19203             "retry-time-factor": {
19204               "type": "integer"
19205             },
19206             "should-retry": {
19207               "type": "boolean"
19208             }
19209           },
19210           "additionalProperties": false,
19211           "required": [
19212             "should-retry",
19213             "min-retry-time",
19214             "max-retry-time",
19215             "jitter-retry-time",
19216             "retry-time-factor"
19217           ]
19218         },
19219         "RetryStrategyResult": {
19220           "type": "object",
19221           "properties": {
19222             "error": {
19223               "$ref": "#/definitions/Error"
19224             },
19225             "result": {
19226               "$ref": "#/definitions/RetryStrategy"
19227             }
19228           },
19229           "additionalProperties": false
19230         },
19231         "RetryStrategyResults": {
19232           "type": "object",
19233           "properties": {
19234             "results": {
19235               "type": "array",
19236               "items": {
19237                 "$ref": "#/definitions/RetryStrategyResult"
19238               }
19239             }
19240           },
19241           "additionalProperties": false,
19242           "required": [
19243             "results"
19244           ]
19245         }
19246       }
19247     }
19248   },
19249   {
19250     "Name": "SSHClient",
19251     "Version": 2,
19252     "Schema": {
19253       "type": "object",
19254       "properties": {
19255         "AllAddresses": {
19256           "type": "object",
19257           "properties": {
19258             "Params": {
19259               "$ref": "#/definitions/Entities"
19260             },
19261             "Result": {
19262               "$ref": "#/definitions/SSHAddressesResults"
19263             }
19264           }
19265         },
19266         "PrivateAddress": {
19267           "type": "object",
19268           "properties": {
19269             "Params": {
19270               "$ref": "#/definitions/Entities"
19271             },
19272             "Result": {
19273               "$ref": "#/definitions/SSHAddressResults"
19274             }
19275           }
19276         },
19277         "Proxy": {
19278           "type": "object",
19279           "properties": {
19280             "Result": {
19281               "$ref": "#/definitions/SSHProxyResult"
19282             }
19283           }
19284         },
19285         "PublicAddress": {
19286           "type": "object",
19287           "properties": {
19288             "Params": {
19289               "$ref": "#/definitions/Entities"
19290             },
19291             "Result": {
19292               "$ref": "#/definitions/SSHAddressResults"
19293             }
19294           }
19295         },
19296         "PublicKeys": {
19297           "type": "object",
19298           "properties": {
19299             "Params": {
19300               "$ref": "#/definitions/Entities"
19301             },
19302             "Result": {
19303               "$ref": "#/definitions/SSHPublicKeysResults"
19304             }
19305           }
19306         }
19307       },
19308       "definitions": {
19309         "Entities": {
19310           "type": "object",
19311           "properties": {
19312             "entities": {
19313               "type": "array",
19314               "items": {
19315                 "$ref": "#/definitions/Entity"
19316               }
19317             }
19318           },
19319           "additionalProperties": false,
19320           "required": [
19321             "entities"
19322           ]
19323         },
19324         "Entity": {
19325           "type": "object",
19326           "properties": {
19327             "tag": {
19328               "type": "string"
19329             }
19330           },
19331           "additionalProperties": false,
19332           "required": [
19333             "tag"
19334           ]
19335         },
19336         "Error": {
19337           "type": "object",
19338           "properties": {
19339             "code": {
19340               "type": "string"
19341             },
19342             "info": {
19343               "$ref": "#/definitions/ErrorInfo"
19344             },
19345             "message": {
19346               "type": "string"
19347             }
19348           },
19349           "additionalProperties": false,
19350           "required": [
19351             "message",
19352             "code"
19353           ]
19354         },
19355         "ErrorInfo": {
19356           "type": "object",
19357           "properties": {
19358             "macaroon": {
19359               "$ref": "#/definitions/Macaroon"
19360             },
19361             "macaroon-path": {
19362               "type": "string"
19363             }
19364           },
19365           "additionalProperties": false
19366         },
19367         "Macaroon": {
19368           "type": "object",
19369           "additionalProperties": false
19370         },
19371         "SSHAddressResult": {
19372           "type": "object",
19373           "properties": {
19374             "address": {
19375               "type": "string"
19376             },
19377             "error": {
19378               "$ref": "#/definitions/Error"
19379             }
19380           },
19381           "additionalProperties": false
19382         },
19383         "SSHAddressResults": {
19384           "type": "object",
19385           "properties": {
19386             "results": {
19387               "type": "array",
19388               "items": {
19389                 "$ref": "#/definitions/SSHAddressResult"
19390               }
19391             }
19392           },
19393           "additionalProperties": false,
19394           "required": [
19395             "results"
19396           ]
19397         },
19398         "SSHAddressesResult": {
19399           "type": "object",
19400           "properties": {
19401             "addresses": {
19402               "type": "array",
19403               "items": {
19404                 "type": "string"
19405               }
19406             },
19407             "error": {
19408               "$ref": "#/definitions/Error"
19409             }
19410           },
19411           "additionalProperties": false,
19412           "required": [
19413             "addresses"
19414           ]
19415         },
19416         "SSHAddressesResults": {
19417           "type": "object",
19418           "properties": {
19419             "results": {
19420               "type": "array",
19421               "items": {
19422                 "$ref": "#/definitions/SSHAddressesResult"
19423               }
19424             }
19425           },
19426           "additionalProperties": false,
19427           "required": [
19428             "results"
19429           ]
19430         },
19431         "SSHProxyResult": {
19432           "type": "object",
19433           "properties": {
19434             "use-proxy": {
19435               "type": "boolean"
19436             }
19437           },
19438           "additionalProperties": false,
19439           "required": [
19440             "use-proxy"
19441           ]
19442         },
19443         "SSHPublicKeysResult": {
19444           "type": "object",
19445           "properties": {
19446             "error": {
19447               "$ref": "#/definitions/Error"
19448             },
19449             "public-keys": {
19450               "type": "array",
19451               "items": {
19452                 "type": "string"
19453               }
19454             }
19455           },
19456           "additionalProperties": false
19457         },
19458         "SSHPublicKeysResults": {
19459           "type": "object",
19460           "properties": {
19461             "results": {
19462               "type": "array",
19463               "items": {
19464                 "$ref": "#/definitions/SSHPublicKeysResult"
19465               }
19466             }
19467           },
19468           "additionalProperties": false,
19469           "required": [
19470             "results"
19471           ]
19472         }
19473       }
19474     }
19475   },
19476   {
19477     "Name": "Singular",
19478     "Version": 1,
19479     "Schema": {
19480       "type": "object",
19481       "properties": {
19482         "Claim": {
19483           "type": "object",
19484           "properties": {
19485             "Params": {
19486               "$ref": "#/definitions/SingularClaims"
19487             },
19488             "Result": {
19489               "$ref": "#/definitions/ErrorResults"
19490             }
19491           }
19492         },
19493         "Wait": {
19494           "type": "object",
19495           "properties": {
19496             "Params": {
19497               "$ref": "#/definitions/Entities"
19498             },
19499             "Result": {
19500               "$ref": "#/definitions/ErrorResults"
19501             }
19502           }
19503         }
19504       },
19505       "definitions": {
19506         "Entities": {
19507           "type": "object",
19508           "properties": {
19509             "entities": {
19510               "type": "array",
19511               "items": {
19512                 "$ref": "#/definitions/Entity"
19513               }
19514             }
19515           },
19516           "additionalProperties": false,
19517           "required": [
19518             "entities"
19519           ]
19520         },
19521         "Entity": {
19522           "type": "object",
19523           "properties": {
19524             "tag": {
19525               "type": "string"
19526             }
19527           },
19528           "additionalProperties": false,
19529           "required": [
19530             "tag"
19531           ]
19532         },
19533         "Error": {
19534           "type": "object",
19535           "properties": {
19536             "code": {
19537               "type": "string"
19538             },
19539             "info": {
19540               "$ref": "#/definitions/ErrorInfo"
19541             },
19542             "message": {
19543               "type": "string"
19544             }
19545           },
19546           "additionalProperties": false,
19547           "required": [
19548             "message",
19549             "code"
19550           ]
19551         },
19552         "ErrorInfo": {
19553           "type": "object",
19554           "properties": {
19555             "macaroon": {
19556               "$ref": "#/definitions/Macaroon"
19557             },
19558             "macaroon-path": {
19559               "type": "string"
19560             }
19561           },
19562           "additionalProperties": false
19563         },
19564         "ErrorResult": {
19565           "type": "object",
19566           "properties": {
19567             "error": {
19568               "$ref": "#/definitions/Error"
19569             }
19570           },
19571           "additionalProperties": false
19572         },
19573         "ErrorResults": {
19574           "type": "object",
19575           "properties": {
19576             "results": {
19577               "type": "array",
19578               "items": {
19579                 "$ref": "#/definitions/ErrorResult"
19580               }
19581             }
19582           },
19583           "additionalProperties": false,
19584           "required": [
19585             "results"
19586           ]
19587         },
19588         "Macaroon": {
19589           "type": "object",
19590           "additionalProperties": false
19591         },
19592         "SingularClaim": {
19593           "type": "object",
19594           "properties": {
19595             "controller-tag": {
19596               "type": "string"
19597             },
19598             "duration": {
19599               "type": "integer"
19600             },
19601             "model-tag": {
19602               "type": "string"
19603             }
19604           },
19605           "additionalProperties": false,
19606           "required": [
19607             "model-tag",
19608             "controller-tag",
19609             "duration"
19610           ]
19611         },
19612         "SingularClaims": {
19613           "type": "object",
19614           "properties": {
19615             "claims": {
19616               "type": "array",
19617               "items": {
19618                 "$ref": "#/definitions/SingularClaim"
19619               }
19620             }
19621           },
19622           "additionalProperties": false,
19623           "required": [
19624             "claims"
19625           ]
19626         }
19627       }
19628     }
19629   },
19630   {
19631     "Name": "Spaces",
19632     "Version": 2,
19633     "Schema": {
19634       "type": "object",
19635       "properties": {
19636         "CreateSpaces": {
19637           "type": "object",
19638           "properties": {
19639             "Params": {
19640               "$ref": "#/definitions/CreateSpacesParams"
19641             },
19642             "Result": {
19643               "$ref": "#/definitions/ErrorResults"
19644             }
19645           }
19646         },
19647         "ListSpaces": {
19648           "type": "object",
19649           "properties": {
19650             "Result": {
19651               "$ref": "#/definitions/ListSpacesResults"
19652             }
19653           }
19654         }
19655       },
19656       "definitions": {
19657         "CreateSpaceParams": {
19658           "type": "object",
19659           "properties": {
19660             "provider-id": {
19661               "type": "string"
19662             },
19663             "public": {
19664               "type": "boolean"
19665             },
19666             "space-tag": {
19667               "type": "string"
19668             },
19669             "subnet-tags": {
19670               "type": "array",
19671               "items": {
19672                 "type": "string"
19673               }
19674             }
19675           },
19676           "additionalProperties": false,
19677           "required": [
19678             "subnet-tags",
19679             "space-tag",
19680             "public"
19681           ]
19682         },
19683         "CreateSpacesParams": {
19684           "type": "object",
19685           "properties": {
19686             "spaces": {
19687               "type": "array",
19688               "items": {
19689                 "$ref": "#/definitions/CreateSpaceParams"
19690               }
19691             }
19692           },
19693           "additionalProperties": false,
19694           "required": [
19695             "spaces"
19696           ]
19697         },
19698         "Error": {
19699           "type": "object",
19700           "properties": {
19701             "code": {
19702               "type": "string"
19703             },
19704             "info": {
19705               "$ref": "#/definitions/ErrorInfo"
19706             },
19707             "message": {
19708               "type": "string"
19709             }
19710           },
19711           "additionalProperties": false,
19712           "required": [
19713             "message",
19714             "code"
19715           ]
19716         },
19717         "ErrorInfo": {
19718           "type": "object",
19719           "properties": {
19720             "macaroon": {
19721               "$ref": "#/definitions/Macaroon"
19722             },
19723             "macaroon-path": {
19724               "type": "string"
19725             }
19726           },
19727           "additionalProperties": false
19728         },
19729         "ErrorResult": {
19730           "type": "object",
19731           "properties": {
19732             "error": {
19733               "$ref": "#/definitions/Error"
19734             }
19735           },
19736           "additionalProperties": false
19737         },
19738         "ErrorResults": {
19739           "type": "object",
19740           "properties": {
19741             "results": {
19742               "type": "array",
19743               "items": {
19744                 "$ref": "#/definitions/ErrorResult"
19745               }
19746             }
19747           },
19748           "additionalProperties": false,
19749           "required": [
19750             "results"
19751           ]
19752         },
19753         "ListSpacesResults": {
19754           "type": "object",
19755           "properties": {
19756             "results": {
19757               "type": "array",
19758               "items": {
19759                 "$ref": "#/definitions/Space"
19760               }
19761             }
19762           },
19763           "additionalProperties": false,
19764           "required": [
19765             "results"
19766           ]
19767         },
19768         "Macaroon": {
19769           "type": "object",
19770           "additionalProperties": false
19771         },
19772         "Space": {
19773           "type": "object",
19774           "properties": {
19775             "error": {
19776               "$ref": "#/definitions/Error"
19777             },
19778             "name": {
19779               "type": "string"
19780             },
19781             "subnets": {
19782               "type": "array",
19783               "items": {
19784                 "$ref": "#/definitions/Subnet"
19785               }
19786             }
19787           },
19788           "additionalProperties": false,
19789           "required": [
19790             "name",
19791             "subnets"
19792           ]
19793         },
19794         "Subnet": {
19795           "type": "object",
19796           "properties": {
19797             "cidr": {
19798               "type": "string"
19799             },
19800             "life": {
19801               "type": "string"
19802             },
19803             "provider-id": {
19804               "type": "string"
19805             },
19806             "space-tag": {
19807               "type": "string"
19808             },
19809             "status": {
19810               "type": "string"
19811             },
19812             "vlan-tag": {
19813               "type": "integer"
19814             },
19815             "zones": {
19816               "type": "array",
19817               "items": {
19818                 "type": "string"
19819               }
19820             }
19821           },
19822           "additionalProperties": false,
19823           "required": [
19824             "cidr",
19825             "vlan-tag",
19826             "life",
19827             "space-tag",
19828             "zones"
19829           ]
19830         }
19831       }
19832     }
19833   },
19834   {
19835     "Name": "StatusHistory",
19836     "Version": 2,
19837     "Schema": {
19838       "type": "object",
19839       "properties": {
19840         "Prune": {
19841           "type": "object",
19842           "properties": {
19843             "Params": {
19844               "$ref": "#/definitions/StatusHistoryPruneArgs"
19845             }
19846           }
19847         }
19848       },
19849       "definitions": {
19850         "StatusHistoryPruneArgs": {
19851           "type": "object",
19852           "properties": {
19853             "max-history-mb": {
19854               "type": "integer"
19855             },
19856             "max-history-time": {
19857               "type": "integer"
19858             }
19859           },
19860           "additionalProperties": false,
19861           "required": [
19862             "max-history-time",
19863             "max-history-mb"
19864           ]
19865         }
19866       }
19867     }
19868   },
19869   {
19870     "Name": "Storage",
19871     "Version": 3,
19872     "Schema": {
19873       "type": "object",
19874       "properties": {
19875         "AddToUnit": {
19876           "type": "object",
19877           "properties": {
19878             "Params": {
19879               "$ref": "#/definitions/StoragesAddParams"
19880             },
19881             "Result": {
19882               "$ref": "#/definitions/ErrorResults"
19883             }
19884           }
19885         },
19886         "Attach": {
19887           "type": "object",
19888           "properties": {
19889             "Params": {
19890               "$ref": "#/definitions/StorageAttachmentIds"
19891             },
19892             "Result": {
19893               "$ref": "#/definitions/ErrorResults"
19894             }
19895           }
19896         },
19897         "CreatePool": {
19898           "type": "object",
19899           "properties": {
19900             "Params": {
19901               "$ref": "#/definitions/StoragePool"
19902             }
19903           }
19904         },
19905         "Destroy": {
19906           "type": "object",
19907           "properties": {
19908             "Params": {
19909               "$ref": "#/definitions/Entities"
19910             },
19911             "Result": {
19912               "$ref": "#/definitions/ErrorResults"
19913             }
19914           }
19915         },
19916         "Detach": {
19917           "type": "object",
19918           "properties": {
19919             "Params": {
19920               "$ref": "#/definitions/StorageAttachmentIds"
19921             },
19922             "Result": {
19923               "$ref": "#/definitions/ErrorResults"
19924             }
19925           }
19926         },
19927         "ListFilesystems": {
19928           "type": "object",
19929           "properties": {
19930             "Params": {
19931               "$ref": "#/definitions/FilesystemFilters"
19932             },
19933             "Result": {
19934               "$ref": "#/definitions/FilesystemDetailsListResults"
19935             }
19936           }
19937         },
19938         "ListPools": {
19939           "type": "object",
19940           "properties": {
19941             "Params": {
19942               "$ref": "#/definitions/StoragePoolFilters"
19943             },
19944             "Result": {
19945               "$ref": "#/definitions/StoragePoolsResults"
19946             }
19947           }
19948         },
19949         "ListStorageDetails": {
19950           "type": "object",
19951           "properties": {
19952             "Params": {
19953               "$ref": "#/definitions/StorageFilters"
19954             },
19955             "Result": {
19956               "$ref": "#/definitions/StorageDetailsListResults"
19957             }
19958           }
19959         },
19960         "ListVolumes": {
19961           "type": "object",
19962           "properties": {
19963             "Params": {
19964               "$ref": "#/definitions/VolumeFilters"
19965             },
19966             "Result": {
19967               "$ref": "#/definitions/VolumeDetailsListResults"
19968             }
19969           }
19970         },
19971         "StorageDetails": {
19972           "type": "object",
19973           "properties": {
19974             "Params": {
19975               "$ref": "#/definitions/Entities"
19976             },
19977             "Result": {
19978               "$ref": "#/definitions/StorageDetailsResults"
19979             }
19980           }
19981         }
19982       },
19983       "definitions": {
19984         "Entities": {
19985           "type": "object",
19986           "properties": {
19987             "entities": {
19988               "type": "array",
19989               "items": {
19990                 "$ref": "#/definitions/Entity"
19991               }
19992             }
19993           },
19994           "additionalProperties": false,
19995           "required": [
19996             "entities"
19997           ]
19998         },
19999         "Entity": {
20000           "type": "object",
20001           "properties": {
20002             "tag": {
20003               "type": "string"
20004             }
20005           },
20006           "additionalProperties": false,
20007           "required": [
20008             "tag"
20009           ]
20010         },
20011         "EntityStatus": {
20012           "type": "object",
20013           "properties": {
20014             "data": {
20015               "type": "object",
20016               "patternProperties": {
20017                 ".*": {
20018                   "type": "object",
20019                   "additionalProperties": true
20020                 }
20021               }
20022             },
20023             "info": {
20024               "type": "string"
20025             },
20026             "since": {
20027               "type": "string",
20028               "format": "date-time"
20029             },
20030             "status": {
20031               "type": "string"
20032             }
20033           },
20034           "additionalProperties": false,
20035           "required": [
20036             "status",
20037             "info",
20038             "since"
20039           ]
20040         },
20041         "Error": {
20042           "type": "object",
20043           "properties": {
20044             "code": {
20045               "type": "string"
20046             },
20047             "info": {
20048               "$ref": "#/definitions/ErrorInfo"
20049             },
20050             "message": {
20051               "type": "string"
20052             }
20053           },
20054           "additionalProperties": false,
20055           "required": [
20056             "message",
20057             "code"
20058           ]
20059         },
20060         "ErrorInfo": {
20061           "type": "object",
20062           "properties": {
20063             "macaroon": {
20064               "$ref": "#/definitions/Macaroon"
20065             },
20066             "macaroon-path": {
20067               "type": "string"
20068             }
20069           },
20070           "additionalProperties": false
20071         },
20072         "ErrorResult": {
20073           "type": "object",
20074           "properties": {
20075             "error": {
20076               "$ref": "#/definitions/Error"
20077             }
20078           },
20079           "additionalProperties": false
20080         },
20081         "ErrorResults": {
20082           "type": "object",
20083           "properties": {
20084             "results": {
20085               "type": "array",
20086               "items": {
20087                 "$ref": "#/definitions/ErrorResult"
20088               }
20089             }
20090           },
20091           "additionalProperties": false,
20092           "required": [
20093             "results"
20094           ]
20095         },
20096         "FilesystemAttachmentDetails": {
20097           "type": "object",
20098           "properties": {
20099             "FilesystemAttachmentInfo": {
20100               "$ref": "#/definitions/FilesystemAttachmentInfo"
20101             },
20102             "life": {
20103               "type": "string"
20104             }
20105           },
20106           "additionalProperties": false,
20107           "required": [
20108             "FilesystemAttachmentInfo"
20109           ]
20110         },
20111         "FilesystemAttachmentInfo": {
20112           "type": "object",
20113           "properties": {
20114             "mount-point": {
20115               "type": "string"
20116             },
20117             "read-only": {
20118               "type": "boolean"
20119             }
20120           },
20121           "additionalProperties": false
20122         },
20123         "FilesystemDetails": {
20124           "type": "object",
20125           "properties": {
20126             "filesystem-tag": {
20127               "type": "string"
20128             },
20129             "info": {
20130               "$ref": "#/definitions/FilesystemInfo"
20131             },
20132             "life": {
20133               "type": "string"
20134             },
20135             "machine-attachments": {
20136               "type": "object",
20137               "patternProperties": {
20138                 ".*": {
20139                   "$ref": "#/definitions/FilesystemAttachmentDetails"
20140                 }
20141               }
20142             },
20143             "status": {
20144               "$ref": "#/definitions/EntityStatus"
20145             },
20146             "storage": {
20147               "$ref": "#/definitions/StorageDetails"
20148             },
20149             "volume-tag": {
20150               "type": "string"
20151             }
20152           },
20153           "additionalProperties": false,
20154           "required": [
20155             "filesystem-tag",
20156             "info",
20157             "status"
20158           ]
20159         },
20160         "FilesystemDetailsListResult": {
20161           "type": "object",
20162           "properties": {
20163             "error": {
20164               "$ref": "#/definitions/Error"
20165             },
20166             "result": {
20167               "type": "array",
20168               "items": {
20169                 "$ref": "#/definitions/FilesystemDetails"
20170               }
20171             }
20172           },
20173           "additionalProperties": false
20174         },
20175         "FilesystemDetailsListResults": {
20176           "type": "object",
20177           "properties": {
20178             "results": {
20179               "type": "array",
20180               "items": {
20181                 "$ref": "#/definitions/FilesystemDetailsListResult"
20182               }
20183             }
20184           },
20185           "additionalProperties": false
20186         },
20187         "FilesystemFilter": {
20188           "type": "object",
20189           "properties": {
20190             "machines": {
20191               "type": "array",
20192               "items": {
20193                 "type": "string"
20194               }
20195             }
20196           },
20197           "additionalProperties": false
20198         },
20199         "FilesystemFilters": {
20200           "type": "object",
20201           "properties": {
20202             "filters": {
20203               "type": "array",
20204               "items": {
20205                 "$ref": "#/definitions/FilesystemFilter"
20206               }
20207             }
20208           },
20209           "additionalProperties": false
20210         },
20211         "FilesystemInfo": {
20212           "type": "object",
20213           "properties": {
20214             "filesystem-id": {
20215               "type": "string"
20216             },
20217             "pool": {
20218               "type": "string"
20219             },
20220             "size": {
20221               "type": "integer"
20222             }
20223           },
20224           "additionalProperties": false,
20225           "required": [
20226             "filesystem-id",
20227             "pool",
20228             "size"
20229           ]
20230         },
20231         "Macaroon": {
20232           "type": "object",
20233           "additionalProperties": false
20234         },
20235         "StorageAddParams": {
20236           "type": "object",
20237           "properties": {
20238             "name": {
20239               "type": "string"
20240             },
20241             "storage": {
20242               "$ref": "#/definitions/StorageConstraints"
20243             },
20244             "unit": {
20245               "type": "string"
20246             }
20247           },
20248           "additionalProperties": false,
20249           "required": [
20250             "unit",
20251             "name",
20252             "storage"
20253           ]
20254         },
20255         "StorageAttachmentDetails": {
20256           "type": "object",
20257           "properties": {
20258             "life": {
20259               "type": "string"
20260             },
20261             "location": {
20262               "type": "string"
20263             },
20264             "machine-tag": {
20265               "type": "string"
20266             },
20267             "storage-tag": {
20268               "type": "string"
20269             },
20270             "unit-tag": {
20271               "type": "string"
20272             }
20273           },
20274           "additionalProperties": false,
20275           "required": [
20276             "storage-tag",
20277             "unit-tag",
20278             "machine-tag"
20279           ]
20280         },
20281         "StorageAttachmentId": {
20282           "type": "object",
20283           "properties": {
20284             "storage-tag": {
20285               "type": "string"
20286             },
20287             "unit-tag": {
20288               "type": "string"
20289             }
20290           },
20291           "additionalProperties": false,
20292           "required": [
20293             "storage-tag",
20294             "unit-tag"
20295           ]
20296         },
20297         "StorageAttachmentIds": {
20298           "type": "object",
20299           "properties": {
20300             "ids": {
20301               "type": "array",
20302               "items": {
20303                 "$ref": "#/definitions/StorageAttachmentId"
20304               }
20305             }
20306           },
20307           "additionalProperties": false,
20308           "required": [
20309             "ids"
20310           ]
20311         },
20312         "StorageConstraints": {
20313           "type": "object",
20314           "properties": {
20315             "count": {
20316               "type": "integer"
20317             },
20318             "pool": {
20319               "type": "string"
20320             },
20321             "size": {
20322               "type": "integer"
20323             }
20324           },
20325           "additionalProperties": false
20326         },
20327         "StorageDetails": {
20328           "type": "object",
20329           "properties": {
20330             "attachments": {
20331               "type": "object",
20332               "patternProperties": {
20333                 ".*": {
20334                   "$ref": "#/definitions/StorageAttachmentDetails"
20335                 }
20336               }
20337             },
20338             "kind": {
20339               "type": "integer"
20340             },
20341             "life": {
20342               "type": "string"
20343             },
20344             "owner-tag": {
20345               "type": "string"
20346             },
20347             "persistent": {
20348               "type": "boolean"
20349             },
20350             "status": {
20351               "$ref": "#/definitions/EntityStatus"
20352             },
20353             "storage-tag": {
20354               "type": "string"
20355             }
20356           },
20357           "additionalProperties": false,
20358           "required": [
20359             "storage-tag",
20360             "owner-tag",
20361             "kind",
20362             "status",
20363             "persistent"
20364           ]
20365         },
20366         "StorageDetailsListResult": {
20367           "type": "object",
20368           "properties": {
20369             "error": {
20370               "$ref": "#/definitions/Error"
20371             },
20372             "result": {
20373               "type": "array",
20374               "items": {
20375                 "$ref": "#/definitions/StorageDetails"
20376               }
20377             }
20378           },
20379           "additionalProperties": false
20380         },
20381         "StorageDetailsListResults": {
20382           "type": "object",
20383           "properties": {
20384             "results": {
20385               "type": "array",
20386               "items": {
20387                 "$ref": "#/definitions/StorageDetailsListResult"
20388               }
20389             }
20390           },
20391           "additionalProperties": false
20392         },
20393         "StorageDetailsResult": {
20394           "type": "object",
20395           "properties": {
20396             "error": {
20397               "$ref": "#/definitions/Error"
20398             },
20399             "result": {
20400               "$ref": "#/definitions/StorageDetails"
20401             }
20402           },
20403           "additionalProperties": false
20404         },
20405         "StorageDetailsResults": {
20406           "type": "object",
20407           "properties": {
20408             "results": {
20409               "type": "array",
20410               "items": {
20411                 "$ref": "#/definitions/StorageDetailsResult"
20412               }
20413             }
20414           },
20415           "additionalProperties": false
20416         },
20417         "StorageFilter": {
20418           "type": "object",
20419           "additionalProperties": false
20420         },
20421         "StorageFilters": {
20422           "type": "object",
20423           "properties": {
20424             "filters": {
20425               "type": "array",
20426               "items": {
20427                 "$ref": "#/definitions/StorageFilter"
20428               }
20429             }
20430           },
20431           "additionalProperties": false
20432         },
20433         "StoragePool": {
20434           "type": "object",
20435           "properties": {
20436             "attrs": {
20437               "type": "object",
20438               "patternProperties": {
20439                 ".*": {
20440                   "type": "object",
20441                   "additionalProperties": true
20442                 }
20443               }
20444             },
20445             "name": {
20446               "type": "string"
20447             },
20448             "provider": {
20449               "type": "string"
20450             }
20451           },
20452           "additionalProperties": false,
20453           "required": [
20454             "name",
20455             "provider",
20456             "attrs"
20457           ]
20458         },
20459         "StoragePoolFilter": {
20460           "type": "object",
20461           "properties": {
20462             "names": {
20463               "type": "array",
20464               "items": {
20465                 "type": "string"
20466               }
20467             },
20468             "providers": {
20469               "type": "array",
20470               "items": {
20471                 "type": "string"
20472               }
20473             }
20474           },
20475           "additionalProperties": false
20476         },
20477         "StoragePoolFilters": {
20478           "type": "object",
20479           "properties": {
20480             "filters": {
20481               "type": "array",
20482               "items": {
20483                 "$ref": "#/definitions/StoragePoolFilter"
20484               }
20485             }
20486           },
20487           "additionalProperties": false
20488         },
20489         "StoragePoolsResult": {
20490           "type": "object",
20491           "properties": {
20492             "error": {
20493               "$ref": "#/definitions/Error"
20494             },
20495             "storage-pools": {
20496               "type": "array",
20497               "items": {
20498                 "$ref": "#/definitions/StoragePool"
20499               }
20500             }
20501           },
20502           "additionalProperties": false
20503         },
20504         "StoragePoolsResults": {
20505           "type": "object",
20506           "properties": {
20507             "results": {
20508               "type": "array",
20509               "items": {
20510                 "$ref": "#/definitions/StoragePoolsResult"
20511               }
20512             }
20513           },
20514           "additionalProperties": false
20515         },
20516         "StoragesAddParams": {
20517           "type": "object",
20518           "properties": {
20519             "storages": {
20520               "type": "array",
20521               "items": {
20522                 "$ref": "#/definitions/StorageAddParams"
20523               }
20524             }
20525           },
20526           "additionalProperties": false,
20527           "required": [
20528             "storages"
20529           ]
20530         },
20531         "VolumeAttachmentDetails": {
20532           "type": "object",
20533           "properties": {
20534             "VolumeAttachmentInfo": {
20535               "$ref": "#/definitions/VolumeAttachmentInfo"
20536             },
20537             "life": {
20538               "type": "string"
20539             }
20540           },
20541           "additionalProperties": false,
20542           "required": [
20543             "VolumeAttachmentInfo"
20544           ]
20545         },
20546         "VolumeAttachmentInfo": {
20547           "type": "object",
20548           "properties": {
20549             "bus-address": {
20550               "type": "string"
20551             },
20552             "device-link": {
20553               "type": "string"
20554             },
20555             "device-name": {
20556               "type": "string"
20557             },
20558             "read-only": {
20559               "type": "boolean"
20560             }
20561           },
20562           "additionalProperties": false
20563         },
20564         "VolumeDetails": {
20565           "type": "object",
20566           "properties": {
20567             "info": {
20568               "$ref": "#/definitions/VolumeInfo"
20569             },
20570             "life": {
20571               "type": "string"
20572             },
20573             "machine-attachments": {
20574               "type": "object",
20575               "patternProperties": {
20576                 ".*": {
20577                   "$ref": "#/definitions/VolumeAttachmentDetails"
20578                 }
20579               }
20580             },
20581             "status": {
20582               "$ref": "#/definitions/EntityStatus"
20583             },
20584             "storage": {
20585               "$ref": "#/definitions/StorageDetails"
20586             },
20587             "volume-tag": {
20588               "type": "string"
20589             }
20590           },
20591           "additionalProperties": false,
20592           "required": [
20593             "volume-tag",
20594             "info",
20595             "status"
20596           ]
20597         },
20598         "VolumeDetailsListResult": {
20599           "type": "object",
20600           "properties": {
20601             "error": {
20602               "$ref": "#/definitions/Error"
20603             },
20604             "result": {
20605               "type": "array",
20606               "items": {
20607                 "$ref": "#/definitions/VolumeDetails"
20608               }
20609             }
20610           },
20611           "additionalProperties": false
20612         },
20613         "VolumeDetailsListResults": {
20614           "type": "object",
20615           "properties": {
20616             "results": {
20617               "type": "array",
20618               "items": {
20619                 "$ref": "#/definitions/VolumeDetailsListResult"
20620               }
20621             }
20622           },
20623           "additionalProperties": false
20624         },
20625         "VolumeFilter": {
20626           "type": "object",
20627           "properties": {
20628             "machines": {
20629               "type": "array",
20630               "items": {
20631                 "type": "string"
20632               }
20633             }
20634           },
20635           "additionalProperties": false
20636         },
20637         "VolumeFilters": {
20638           "type": "object",
20639           "properties": {
20640             "filters": {
20641               "type": "array",
20642               "items": {
20643                 "$ref": "#/definitions/VolumeFilter"
20644               }
20645             }
20646           },
20647           "additionalProperties": false
20648         },
20649         "VolumeInfo": {
20650           "type": "object",
20651           "properties": {
20652             "hardware-id": {
20653               "type": "string"
20654             },
20655             "persistent": {
20656               "type": "boolean"
20657             },
20658             "pool": {
20659               "type": "string"
20660             },
20661             "size": {
20662               "type": "integer"
20663             },
20664             "volume-id": {
20665               "type": "string"
20666             }
20667           },
20668           "additionalProperties": false,
20669           "required": [
20670             "volume-id",
20671             "size",
20672             "persistent"
20673           ]
20674         }
20675       }
20676     }
20677   },
20678   {
20679     "Name": "StorageProvisioner",
20680     "Version": 3,
20681     "Schema": {
20682       "type": "object",
20683       "properties": {
20684         "AttachmentLife": {
20685           "type": "object",
20686           "properties": {
20687             "Params": {
20688               "$ref": "#/definitions/MachineStorageIds"
20689             },
20690             "Result": {
20691               "$ref": "#/definitions/LifeResults"
20692             }
20693           }
20694         },
20695         "EnsureDead": {
20696           "type": "object",
20697           "properties": {
20698             "Params": {
20699               "$ref": "#/definitions/Entities"
20700             },
20701             "Result": {
20702               "$ref": "#/definitions/ErrorResults"
20703             }
20704           }
20705         },
20706         "FilesystemAttachmentParams": {
20707           "type": "object",
20708           "properties": {
20709             "Params": {
20710               "$ref": "#/definitions/MachineStorageIds"
20711             },
20712             "Result": {
20713               "$ref": "#/definitions/FilesystemAttachmentParamsResults"
20714             }
20715           }
20716         },
20717         "FilesystemAttachments": {
20718           "type": "object",
20719           "properties": {
20720             "Params": {
20721               "$ref": "#/definitions/MachineStorageIds"
20722             },
20723             "Result": {
20724               "$ref": "#/definitions/FilesystemAttachmentResults"
20725             }
20726           }
20727         },
20728         "FilesystemParams": {
20729           "type": "object",
20730           "properties": {
20731             "Params": {
20732               "$ref": "#/definitions/Entities"
20733             },
20734             "Result": {
20735               "$ref": "#/definitions/FilesystemParamsResults"
20736             }
20737           }
20738         },
20739         "Filesystems": {
20740           "type": "object",
20741           "properties": {
20742             "Params": {
20743               "$ref": "#/definitions/Entities"
20744             },
20745             "Result": {
20746               "$ref": "#/definitions/FilesystemResults"
20747             }
20748           }
20749         },
20750         "InstanceId": {
20751           "type": "object",
20752           "properties": {
20753             "Params": {
20754               "$ref": "#/definitions/Entities"
20755             },
20756             "Result": {
20757               "$ref": "#/definitions/StringResults"
20758             }
20759           }
20760         },
20761         "Life": {
20762           "type": "object",
20763           "properties": {
20764             "Params": {
20765               "$ref": "#/definitions/Entities"
20766             },
20767             "Result": {
20768               "$ref": "#/definitions/LifeResults"
20769             }
20770           }
20771         },
20772         "Remove": {
20773           "type": "object",
20774           "properties": {
20775             "Params": {
20776               "$ref": "#/definitions/Entities"
20777             },
20778             "Result": {
20779               "$ref": "#/definitions/ErrorResults"
20780             }
20781           }
20782         },
20783         "RemoveAttachment": {
20784           "type": "object",
20785           "properties": {
20786             "Params": {
20787               "$ref": "#/definitions/MachineStorageIds"
20788             },
20789             "Result": {
20790               "$ref": "#/definitions/ErrorResults"
20791             }
20792           }
20793         },
20794         "SetFilesystemAttachmentInfo": {
20795           "type": "object",
20796           "properties": {
20797             "Params": {
20798               "$ref": "#/definitions/FilesystemAttachments"
20799             },
20800             "Result": {
20801               "$ref": "#/definitions/ErrorResults"
20802             }
20803           }
20804         },
20805         "SetFilesystemInfo": {
20806           "type": "object",
20807           "properties": {
20808             "Params": {
20809               "$ref": "#/definitions/Filesystems"
20810             },
20811             "Result": {
20812               "$ref": "#/definitions/ErrorResults"
20813             }
20814           }
20815         },
20816         "SetStatus": {
20817           "type": "object",
20818           "properties": {
20819             "Params": {
20820               "$ref": "#/definitions/SetStatus"
20821             },
20822             "Result": {
20823               "$ref": "#/definitions/ErrorResults"
20824             }
20825           }
20826         },
20827         "SetVolumeAttachmentInfo": {
20828           "type": "object",
20829           "properties": {
20830             "Params": {
20831               "$ref": "#/definitions/VolumeAttachments"
20832             },
20833             "Result": {
20834               "$ref": "#/definitions/ErrorResults"
20835             }
20836           }
20837         },
20838         "SetVolumeInfo": {
20839           "type": "object",
20840           "properties": {
20841             "Params": {
20842               "$ref": "#/definitions/Volumes"
20843             },
20844             "Result": {
20845               "$ref": "#/definitions/ErrorResults"
20846             }
20847           }
20848         },
20849         "UpdateStatus": {
20850           "type": "object",
20851           "properties": {
20852             "Params": {
20853               "$ref": "#/definitions/SetStatus"
20854             },
20855             "Result": {
20856               "$ref": "#/definitions/ErrorResults"
20857             }
20858           }
20859         },
20860         "VolumeAttachmentParams": {
20861           "type": "object",
20862           "properties": {
20863             "Params": {
20864               "$ref": "#/definitions/MachineStorageIds"
20865             },
20866             "Result": {
20867               "$ref": "#/definitions/VolumeAttachmentParamsResults"
20868             }
20869           }
20870         },
20871         "VolumeAttachments": {
20872           "type": "object",
20873           "properties": {
20874             "Params": {
20875               "$ref": "#/definitions/MachineStorageIds"
20876             },
20877             "Result": {
20878               "$ref": "#/definitions/VolumeAttachmentResults"
20879             }
20880           }
20881         },
20882         "VolumeBlockDevices": {
20883           "type": "object",
20884           "properties": {
20885             "Params": {
20886               "$ref": "#/definitions/MachineStorageIds"
20887             },
20888             "Result": {
20889               "$ref": "#/definitions/BlockDeviceResults"
20890             }
20891           }
20892         },
20893         "VolumeParams": {
20894           "type": "object",
20895           "properties": {
20896             "Params": {
20897               "$ref": "#/definitions/Entities"
20898             },
20899             "Result": {
20900               "$ref": "#/definitions/VolumeParamsResults"
20901             }
20902           }
20903         },
20904         "Volumes": {
20905           "type": "object",
20906           "properties": {
20907             "Params": {
20908               "$ref": "#/definitions/Entities"
20909             },
20910             "Result": {
20911               "$ref": "#/definitions/VolumeResults"
20912             }
20913           }
20914         },
20915         "WatchBlockDevices": {
20916           "type": "object",
20917           "properties": {
20918             "Params": {
20919               "$ref": "#/definitions/Entities"
20920             },
20921             "Result": {
20922               "$ref": "#/definitions/NotifyWatchResults"
20923             }
20924           }
20925         },
20926         "WatchFilesystemAttachments": {
20927           "type": "object",
20928           "properties": {
20929             "Params": {
20930               "$ref": "#/definitions/Entities"
20931             },
20932             "Result": {
20933               "$ref": "#/definitions/MachineStorageIdsWatchResults"
20934             }
20935           }
20936         },
20937         "WatchFilesystems": {
20938           "type": "object",
20939           "properties": {
20940             "Params": {
20941               "$ref": "#/definitions/Entities"
20942             },
20943             "Result": {
20944               "$ref": "#/definitions/StringsWatchResults"
20945             }
20946           }
20947         },
20948         "WatchMachines": {
20949           "type": "object",
20950           "properties": {
20951             "Params": {
20952               "$ref": "#/definitions/Entities"
20953             },
20954             "Result": {
20955               "$ref": "#/definitions/NotifyWatchResults"
20956             }
20957           }
20958         },
20959         "WatchVolumeAttachments": {
20960           "type": "object",
20961           "properties": {
20962             "Params": {
20963               "$ref": "#/definitions/Entities"
20964             },
20965             "Result": {
20966               "$ref": "#/definitions/MachineStorageIdsWatchResults"
20967             }
20968           }
20969         },
20970         "WatchVolumes": {
20971           "type": "object",
20972           "properties": {
20973             "Params": {
20974               "$ref": "#/definitions/Entities"
20975             },
20976             "Result": {
20977               "$ref": "#/definitions/StringsWatchResults"
20978             }
20979           }
20980         }
20981       },
20982       "definitions": {
20983         "BlockDevice": {
20984           "type": "object",
20985           "properties": {
20986             "BusAddress": {
20987               "type": "string"
20988             },
20989             "DeviceLinks": {
20990               "type": "array",
20991               "items": {
20992                 "type": "string"
20993               }
20994             },
20995             "DeviceName": {
20996               "type": "string"
20997             },
20998             "FilesystemType": {
20999               "type": "string"
21000             },
21001             "HardwareId": {
21002               "type": "string"
21003             },
21004             "InUse": {
21005               "type": "boolean"
21006             },
21007             "Label": {
21008               "type": "string"
21009             },
21010             "MountPoint": {
21011               "type": "string"
21012             },
21013             "Size": {
21014               "type": "integer"
21015             },
21016             "UUID": {
21017               "type": "string"
21018             }
21019           },
21020           "additionalProperties": false,
21021           "required": [
21022             "DeviceName",
21023             "DeviceLinks",
21024             "Label",
21025             "UUID",
21026             "HardwareId",
21027             "BusAddress",
21028             "Size",
21029             "FilesystemType",
21030             "InUse",
21031             "MountPoint"
21032           ]
21033         },
21034         "BlockDeviceResult": {
21035           "type": "object",
21036           "properties": {
21037             "error": {
21038               "$ref": "#/definitions/Error"
21039             },
21040             "result": {
21041               "$ref": "#/definitions/BlockDevice"
21042             }
21043           },
21044           "additionalProperties": false,
21045           "required": [
21046             "result"
21047           ]
21048         },
21049         "BlockDeviceResults": {
21050           "type": "object",
21051           "properties": {
21052             "results": {
21053               "type": "array",
21054               "items": {
21055                 "$ref": "#/definitions/BlockDeviceResult"
21056               }
21057             }
21058           },
21059           "additionalProperties": false
21060         },
21061         "Entities": {
21062           "type": "object",
21063           "properties": {
21064             "entities": {
21065               "type": "array",
21066               "items": {
21067                 "$ref": "#/definitions/Entity"
21068               }
21069             }
21070           },
21071           "additionalProperties": false,
21072           "required": [
21073             "entities"
21074           ]
21075         },
21076         "Entity": {
21077           "type": "object",
21078           "properties": {
21079             "tag": {
21080               "type": "string"
21081             }
21082           },
21083           "additionalProperties": false,
21084           "required": [
21085             "tag"
21086           ]
21087         },
21088         "EntityStatusArgs": {
21089           "type": "object",
21090           "properties": {
21091             "data": {
21092               "type": "object",
21093               "patternProperties": {
21094                 ".*": {
21095                   "type": "object",
21096                   "additionalProperties": true
21097                 }
21098               }
21099             },
21100             "info": {
21101               "type": "string"
21102             },
21103             "status": {
21104               "type": "string"
21105             },
21106             "tag": {
21107               "type": "string"
21108             }
21109           },
21110           "additionalProperties": false,
21111           "required": [
21112             "tag",
21113             "status",
21114             "info",
21115             "data"
21116           ]
21117         },
21118         "Error": {
21119           "type": "object",
21120           "properties": {
21121             "code": {
21122               "type": "string"
21123             },
21124             "info": {
21125               "$ref": "#/definitions/ErrorInfo"
21126             },
21127             "message": {
21128               "type": "string"
21129             }
21130           },
21131           "additionalProperties": false,
21132           "required": [
21133             "message",
21134             "code"
21135           ]
21136         },
21137         "ErrorInfo": {
21138           "type": "object",
21139           "properties": {
21140             "macaroon": {
21141               "$ref": "#/definitions/Macaroon"
21142             },
21143             "macaroon-path": {
21144               "type": "string"
21145             }
21146           },
21147           "additionalProperties": false
21148         },
21149         "ErrorResult": {
21150           "type": "object",
21151           "properties": {
21152             "error": {
21153               "$ref": "#/definitions/Error"
21154             }
21155           },
21156           "additionalProperties": false
21157         },
21158         "ErrorResults": {
21159           "type": "object",
21160           "properties": {
21161             "results": {
21162               "type": "array",
21163               "items": {
21164                 "$ref": "#/definitions/ErrorResult"
21165               }
21166             }
21167           },
21168           "additionalProperties": false,
21169           "required": [
21170             "results"
21171           ]
21172         },
21173         "Filesystem": {
21174           "type": "object",
21175           "properties": {
21176             "filesystem-tag": {
21177               "type": "string"
21178             },
21179             "info": {
21180               "$ref": "#/definitions/FilesystemInfo"
21181             },
21182             "volume-tag": {
21183               "type": "string"
21184             }
21185           },
21186           "additionalProperties": false,
21187           "required": [
21188             "filesystem-tag",
21189             "info"
21190           ]
21191         },
21192         "FilesystemAttachment": {
21193           "type": "object",
21194           "properties": {
21195             "filesystem-tag": {
21196               "type": "string"
21197             },
21198             "info": {
21199               "$ref": "#/definitions/FilesystemAttachmentInfo"
21200             },
21201             "machine-tag": {
21202               "type": "string"
21203             }
21204           },
21205           "additionalProperties": false,
21206           "required": [
21207             "filesystem-tag",
21208             "machine-tag",
21209             "info"
21210           ]
21211         },
21212         "FilesystemAttachmentInfo": {
21213           "type": "object",
21214           "properties": {
21215             "mount-point": {
21216               "type": "string"
21217             },
21218             "read-only": {
21219               "type": "boolean"
21220             }
21221           },
21222           "additionalProperties": false
21223         },
21224         "FilesystemAttachmentParams": {
21225           "type": "object",
21226           "properties": {
21227             "filesystem-id": {
21228               "type": "string"
21229             },
21230             "filesystem-tag": {
21231               "type": "string"
21232             },
21233             "instance-id": {
21234               "type": "string"
21235             },
21236             "machine-tag": {
21237               "type": "string"
21238             },
21239             "mount-point": {
21240               "type": "string"
21241             },
21242             "provider": {
21243               "type": "string"
21244             },
21245             "read-only": {
21246               "type": "boolean"
21247             }
21248           },
21249           "additionalProperties": false,
21250           "required": [
21251             "filesystem-tag",
21252             "machine-tag",
21253             "provider"
21254           ]
21255         },
21256         "FilesystemAttachmentParamsResult": {
21257           "type": "object",
21258           "properties": {
21259             "error": {
21260               "$ref": "#/definitions/Error"
21261             },
21262             "result": {
21263               "$ref": "#/definitions/FilesystemAttachmentParams"
21264             }
21265           },
21266           "additionalProperties": false,
21267           "required": [
21268             "result"
21269           ]
21270         },
21271         "FilesystemAttachmentParamsResults": {
21272           "type": "object",
21273           "properties": {
21274             "results": {
21275               "type": "array",
21276               "items": {
21277                 "$ref": "#/definitions/FilesystemAttachmentParamsResult"
21278               }
21279             }
21280           },
21281           "additionalProperties": false
21282         },
21283         "FilesystemAttachmentResult": {
21284           "type": "object",
21285           "properties": {
21286             "error": {
21287               "$ref": "#/definitions/Error"
21288             },
21289             "result": {
21290               "$ref": "#/definitions/FilesystemAttachment"
21291             }
21292           },
21293           "additionalProperties": false,
21294           "required": [
21295             "result"
21296           ]
21297         },
21298         "FilesystemAttachmentResults": {
21299           "type": "object",
21300           "properties": {
21301             "results": {
21302               "type": "array",
21303               "items": {
21304                 "$ref": "#/definitions/FilesystemAttachmentResult"
21305               }
21306             }
21307           },
21308           "additionalProperties": false
21309         },
21310         "FilesystemAttachments": {
21311           "type": "object",
21312           "properties": {
21313             "filesystem-attachments": {
21314               "type": "array",
21315               "items": {
21316                 "$ref": "#/definitions/FilesystemAttachment"
21317               }
21318             }
21319           },
21320           "additionalProperties": false,
21321           "required": [
21322             "filesystem-attachments"
21323           ]
21324         },
21325         "FilesystemInfo": {
21326           "type": "object",
21327           "properties": {
21328             "filesystem-id": {
21329               "type": "string"
21330             },
21331             "pool": {
21332               "type": "string"
21333             },
21334             "size": {
21335               "type": "integer"
21336             }
21337           },
21338           "additionalProperties": false,
21339           "required": [
21340             "filesystem-id",
21341             "pool",
21342             "size"
21343           ]
21344         },
21345         "FilesystemParams": {
21346           "type": "object",
21347           "properties": {
21348             "attachment": {
21349               "$ref": "#/definitions/FilesystemAttachmentParams"
21350             },
21351             "attributes": {
21352               "type": "object",
21353               "patternProperties": {
21354                 ".*": {
21355                   "type": "object",
21356                   "additionalProperties": true
21357                 }
21358               }
21359             },
21360             "filesystem-tag": {
21361               "type": "string"
21362             },
21363             "provider": {
21364               "type": "string"
21365             },
21366             "size": {
21367               "type": "integer"
21368             },
21369             "tags": {
21370               "type": "object",
21371               "patternProperties": {
21372                 ".*": {
21373                   "type": "string"
21374                 }
21375               }
21376             },
21377             "volume-tag": {
21378               "type": "string"
21379             }
21380           },
21381           "additionalProperties": false,
21382           "required": [
21383             "filesystem-tag",
21384             "size",
21385             "provider"
21386           ]
21387         },
21388         "FilesystemParamsResult": {
21389           "type": "object",
21390           "properties": {
21391             "error": {
21392               "$ref": "#/definitions/Error"
21393             },
21394             "result": {
21395               "$ref": "#/definitions/FilesystemParams"
21396             }
21397           },
21398           "additionalProperties": false,
21399           "required": [
21400             "result"
21401           ]
21402         },
21403         "FilesystemParamsResults": {
21404           "type": "object",
21405           "properties": {
21406             "results": {
21407               "type": "array",
21408               "items": {
21409                 "$ref": "#/definitions/FilesystemParamsResult"
21410               }
21411             }
21412           },
21413           "additionalProperties": false
21414         },
21415         "FilesystemResult": {
21416           "type": "object",
21417           "properties": {
21418             "error": {
21419               "$ref": "#/definitions/Error"
21420             },
21421             "result": {
21422               "$ref": "#/definitions/Filesystem"
21423             }
21424           },
21425           "additionalProperties": false,
21426           "required": [
21427             "result"
21428           ]
21429         },
21430         "FilesystemResults": {
21431           "type": "object",
21432           "properties": {
21433             "results": {
21434               "type": "array",
21435               "items": {
21436                 "$ref": "#/definitions/FilesystemResult"
21437               }
21438             }
21439           },
21440           "additionalProperties": false
21441         },
21442         "Filesystems": {
21443           "type": "object",
21444           "properties": {
21445             "filesystems": {
21446               "type": "array",
21447               "items": {
21448                 "$ref": "#/definitions/Filesystem"
21449               }
21450             }
21451           },
21452           "additionalProperties": false,
21453           "required": [
21454             "filesystems"
21455           ]
21456         },
21457         "LifeResult": {
21458           "type": "object",
21459           "properties": {
21460             "error": {
21461               "$ref": "#/definitions/Error"
21462             },
21463             "life": {
21464               "type": "string"
21465             }
21466           },
21467           "additionalProperties": false,
21468           "required": [
21469             "life"
21470           ]
21471         },
21472         "LifeResults": {
21473           "type": "object",
21474           "properties": {
21475             "results": {
21476               "type": "array",
21477               "items": {
21478                 "$ref": "#/definitions/LifeResult"
21479               }
21480             }
21481           },
21482           "additionalProperties": false,
21483           "required": [
21484             "results"
21485           ]
21486         },
21487         "Macaroon": {
21488           "type": "object",
21489           "additionalProperties": false
21490         },
21491         "MachineStorageId": {
21492           "type": "object",
21493           "properties": {
21494             "attachment-tag": {
21495               "type": "string"
21496             },
21497             "machine-tag": {
21498               "type": "string"
21499             }
21500           },
21501           "additionalProperties": false,
21502           "required": [
21503             "machine-tag",
21504             "attachment-tag"
21505           ]
21506         },
21507         "MachineStorageIds": {
21508           "type": "object",
21509           "properties": {
21510             "ids": {
21511               "type": "array",
21512               "items": {
21513                 "$ref": "#/definitions/MachineStorageId"
21514               }
21515             }
21516           },
21517           "additionalProperties": false,
21518           "required": [
21519             "ids"
21520           ]
21521         },
21522         "MachineStorageIdsWatchResult": {
21523           "type": "object",
21524           "properties": {
21525             "changes": {
21526               "type": "array",
21527               "items": {
21528                 "$ref": "#/definitions/MachineStorageId"
21529               }
21530             },
21531             "error": {
21532               "$ref": "#/definitions/Error"
21533             },
21534             "watcher-id": {
21535               "type": "string"
21536             }
21537           },
21538           "additionalProperties": false,
21539           "required": [
21540             "watcher-id",
21541             "changes"
21542           ]
21543         },
21544         "MachineStorageIdsWatchResults": {
21545           "type": "object",
21546           "properties": {
21547             "results": {
21548               "type": "array",
21549               "items": {
21550                 "$ref": "#/definitions/MachineStorageIdsWatchResult"
21551               }
21552             }
21553           },
21554           "additionalProperties": false,
21555           "required": [
21556             "results"
21557           ]
21558         },
21559         "NotifyWatchResult": {
21560           "type": "object",
21561           "properties": {
21562             "NotifyWatcherId": {
21563               "type": "string"
21564             },
21565             "error": {
21566               "$ref": "#/definitions/Error"
21567             }
21568           },
21569           "additionalProperties": false,
21570           "required": [
21571             "NotifyWatcherId"
21572           ]
21573         },
21574         "NotifyWatchResults": {
21575           "type": "object",
21576           "properties": {
21577             "results": {
21578               "type": "array",
21579               "items": {
21580                 "$ref": "#/definitions/NotifyWatchResult"
21581               }
21582             }
21583           },
21584           "additionalProperties": false,
21585           "required": [
21586             "results"
21587           ]
21588         },
21589         "SetStatus": {
21590           "type": "object",
21591           "properties": {
21592             "entities": {
21593               "type": "array",
21594               "items": {
21595                 "$ref": "#/definitions/EntityStatusArgs"
21596               }
21597             }
21598           },
21599           "additionalProperties": false,
21600           "required": [
21601             "entities"
21602           ]
21603         },
21604         "StringResult": {
21605           "type": "object",
21606           "properties": {
21607             "error": {
21608               "$ref": "#/definitions/Error"
21609             },
21610             "result": {
21611               "type": "string"
21612             }
21613           },
21614           "additionalProperties": false,
21615           "required": [
21616             "result"
21617           ]
21618         },
21619         "StringResults": {
21620           "type": "object",
21621           "properties": {
21622             "results": {
21623               "type": "array",
21624               "items": {
21625                 "$ref": "#/definitions/StringResult"
21626               }
21627             }
21628           },
21629           "additionalProperties": false,
21630           "required": [
21631             "results"
21632           ]
21633         },
21634         "StringsWatchResult": {
21635           "type": "object",
21636           "properties": {
21637             "changes": {
21638               "type": "array",
21639               "items": {
21640                 "type": "string"
21641               }
21642             },
21643             "error": {
21644               "$ref": "#/definitions/Error"
21645             },
21646             "watcher-id": {
21647               "type": "string"
21648             }
21649           },
21650           "additionalProperties": false,
21651           "required": [
21652             "watcher-id"
21653           ]
21654         },
21655         "StringsWatchResults": {
21656           "type": "object",
21657           "properties": {
21658             "results": {
21659               "type": "array",
21660               "items": {
21661                 "$ref": "#/definitions/StringsWatchResult"
21662               }
21663             }
21664           },
21665           "additionalProperties": false,
21666           "required": [
21667             "results"
21668           ]
21669         },
21670         "Volume": {
21671           "type": "object",
21672           "properties": {
21673             "info": {
21674               "$ref": "#/definitions/VolumeInfo"
21675             },
21676             "volume-tag": {
21677               "type": "string"
21678             }
21679           },
21680           "additionalProperties": false,
21681           "required": [
21682             "volume-tag",
21683             "info"
21684           ]
21685         },
21686         "VolumeAttachment": {
21687           "type": "object",
21688           "properties": {
21689             "info": {
21690               "$ref": "#/definitions/VolumeAttachmentInfo"
21691             },
21692             "machine-tag": {
21693               "type": "string"
21694             },
21695             "volume-tag": {
21696               "type": "string"
21697             }
21698           },
21699           "additionalProperties": false,
21700           "required": [
21701             "volume-tag",
21702             "machine-tag",
21703             "info"
21704           ]
21705         },
21706         "VolumeAttachmentInfo": {
21707           "type": "object",
21708           "properties": {
21709             "bus-address": {
21710               "type": "string"
21711             },
21712             "device-link": {
21713               "type": "string"
21714             },
21715             "device-name": {
21716               "type": "string"
21717             },
21718             "read-only": {
21719               "type": "boolean"
21720             }
21721           },
21722           "additionalProperties": false
21723         },
21724         "VolumeAttachmentParams": {
21725           "type": "object",
21726           "properties": {
21727             "instance-id": {
21728               "type": "string"
21729             },
21730             "machine-tag": {
21731               "type": "string"
21732             },
21733             "provider": {
21734               "type": "string"
21735             },
21736             "read-only": {
21737               "type": "boolean"
21738             },
21739             "volume-id": {
21740               "type": "string"
21741             },
21742             "volume-tag": {
21743               "type": "string"
21744             }
21745           },
21746           "additionalProperties": false,
21747           "required": [
21748             "volume-tag",
21749             "machine-tag",
21750             "provider"
21751           ]
21752         },
21753         "VolumeAttachmentParamsResult": {
21754           "type": "object",
21755           "properties": {
21756             "error": {
21757               "$ref": "#/definitions/Error"
21758             },
21759             "result": {
21760               "$ref": "#/definitions/VolumeAttachmentParams"
21761             }
21762           },
21763           "additionalProperties": false,
21764           "required": [
21765             "result"
21766           ]
21767         },
21768         "VolumeAttachmentParamsResults": {
21769           "type": "object",
21770           "properties": {
21771             "results": {
21772               "type": "array",
21773               "items": {
21774                 "$ref": "#/definitions/VolumeAttachmentParamsResult"
21775               }
21776             }
21777           },
21778           "additionalProperties": false
21779         },
21780         "VolumeAttachmentResult": {
21781           "type": "object",
21782           "properties": {
21783             "error": {
21784               "$ref": "#/definitions/Error"
21785             },
21786             "result": {
21787               "$ref": "#/definitions/VolumeAttachment"
21788             }
21789           },
21790           "additionalProperties": false,
21791           "required": [
21792             "result"
21793           ]
21794         },
21795         "VolumeAttachmentResults": {
21796           "type": "object",
21797           "properties": {
21798             "results": {
21799               "type": "array",
21800               "items": {
21801                 "$ref": "#/definitions/VolumeAttachmentResult"
21802               }
21803             }
21804           },
21805           "additionalProperties": false
21806         },
21807         "VolumeAttachments": {
21808           "type": "object",
21809           "properties": {
21810             "volume-attachments": {
21811               "type": "array",
21812               "items": {
21813                 "$ref": "#/definitions/VolumeAttachment"
21814               }
21815             }
21816           },
21817           "additionalProperties": false,
21818           "required": [
21819             "volume-attachments"
21820           ]
21821         },
21822         "VolumeInfo": {
21823           "type": "object",
21824           "properties": {
21825             "hardware-id": {
21826               "type": "string"
21827             },
21828             "persistent": {
21829               "type": "boolean"
21830             },
21831             "pool": {
21832               "type": "string"
21833             },
21834             "size": {
21835               "type": "integer"
21836             },
21837             "volume-id": {
21838               "type": "string"
21839             }
21840           },
21841           "additionalProperties": false,
21842           "required": [
21843             "volume-id",
21844             "size",
21845             "persistent"
21846           ]
21847         },
21848         "VolumeParams": {
21849           "type": "object",
21850           "properties": {
21851             "attachment": {
21852               "$ref": "#/definitions/VolumeAttachmentParams"
21853             },
21854             "attributes": {
21855               "type": "object",
21856               "patternProperties": {
21857                 ".*": {
21858                   "type": "object",
21859                   "additionalProperties": true
21860                 }
21861               }
21862             },
21863             "provider": {
21864               "type": "string"
21865             },
21866             "size": {
21867               "type": "integer"
21868             },
21869             "tags": {
21870               "type": "object",
21871               "patternProperties": {
21872                 ".*": {
21873                   "type": "string"
21874                 }
21875               }
21876             },
21877             "volume-tag": {
21878               "type": "string"
21879             }
21880           },
21881           "additionalProperties": false,
21882           "required": [
21883             "volume-tag",
21884             "size",
21885             "provider"
21886           ]
21887         },
21888         "VolumeParamsResult": {
21889           "type": "object",
21890           "properties": {
21891             "error": {
21892               "$ref": "#/definitions/Error"
21893             },
21894             "result": {
21895               "$ref": "#/definitions/VolumeParams"
21896             }
21897           },
21898           "additionalProperties": false,
21899           "required": [
21900             "result"
21901           ]
21902         },
21903         "VolumeParamsResults": {
21904           "type": "object",
21905           "properties": {
21906             "results": {
21907               "type": "array",
21908               "items": {
21909                 "$ref": "#/definitions/VolumeParamsResult"
21910               }
21911             }
21912           },
21913           "additionalProperties": false
21914         },
21915         "VolumeResult": {
21916           "type": "object",
21917           "properties": {
21918             "error": {
21919               "$ref": "#/definitions/Error"
21920             },
21921             "result": {
21922               "$ref": "#/definitions/Volume"
21923             }
21924           },
21925           "additionalProperties": false,
21926           "required": [
21927             "result"
21928           ]
21929         },
21930         "VolumeResults": {
21931           "type": "object",
21932           "properties": {
21933             "results": {
21934               "type": "array",
21935               "items": {
21936                 "$ref": "#/definitions/VolumeResult"
21937               }
21938             }
21939           },
21940           "additionalProperties": false
21941         },
21942         "Volumes": {
21943           "type": "object",
21944           "properties": {
21945             "volumes": {
21946               "type": "array",
21947               "items": {
21948                 "$ref": "#/definitions/Volume"
21949               }
21950             }
21951           },
21952           "additionalProperties": false,
21953           "required": [
21954             "volumes"
21955           ]
21956         }
21957       }
21958     }
21959   },
21960   {
21961     "Name": "StringsWatcher",
21962     "Version": 1,
21963     "Schema": {
21964       "type": "object",
21965       "properties": {
21966         "Next": {
21967           "type": "object",
21968           "properties": {
21969             "Result": {
21970               "$ref": "#/definitions/StringsWatchResult"
21971             }
21972           }
21973         },
21974         "Stop": {
21975           "type": "object"
21976         }
21977       },
21978       "definitions": {
21979         "Error": {
21980           "type": "object",
21981           "properties": {
21982             "code": {
21983               "type": "string"
21984             },
21985             "info": {
21986               "$ref": "#/definitions/ErrorInfo"
21987             },
21988             "message": {
21989               "type": "string"
21990             }
21991           },
21992           "additionalProperties": false,
21993           "required": [
21994             "message",
21995             "code"
21996           ]
21997         },
21998         "ErrorInfo": {
21999           "type": "object",
22000           "properties": {
22001             "macaroon": {
22002               "$ref": "#/definitions/Macaroon"
22003             },
22004             "macaroon-path": {
22005               "type": "string"
22006             }
22007           },
22008           "additionalProperties": false
22009         },
22010         "Macaroon": {
22011           "type": "object",
22012           "additionalProperties": false
22013         },
22014         "StringsWatchResult": {
22015           "type": "object",
22016           "properties": {
22017             "changes": {
22018               "type": "array",
22019               "items": {
22020                 "type": "string"
22021               }
22022             },
22023             "error": {
22024               "$ref": "#/definitions/Error"
22025             },
22026             "watcher-id": {
22027               "type": "string"
22028             }
22029           },
22030           "additionalProperties": false,
22031           "required": [
22032             "watcher-id"
22033           ]
22034         }
22035       }
22036     }
22037   },
22038   {
22039     "Name": "Subnets",
22040     "Version": 2,
22041     "Schema": {
22042       "type": "object",
22043       "properties": {
22044         "AddSubnets": {
22045           "type": "object",
22046           "properties": {
22047             "Params": {
22048               "$ref": "#/definitions/AddSubnetsParams"
22049             },
22050             "Result": {
22051               "$ref": "#/definitions/ErrorResults"
22052             }
22053           }
22054         },
22055         "AllSpaces": {
22056           "type": "object",
22057           "properties": {
22058             "Result": {
22059               "$ref": "#/definitions/SpaceResults"
22060             }
22061           }
22062         },
22063         "AllZones": {
22064           "type": "object",
22065           "properties": {
22066             "Result": {
22067               "$ref": "#/definitions/ZoneResults"
22068             }
22069           }
22070         },
22071         "ListSubnets": {
22072           "type": "object",
22073           "properties": {
22074             "Params": {
22075               "$ref": "#/definitions/SubnetsFilters"
22076             },
22077             "Result": {
22078               "$ref": "#/definitions/ListSubnetsResults"
22079             }
22080           }
22081         }
22082       },
22083       "definitions": {
22084         "AddSubnetParams": {
22085           "type": "object",
22086           "properties": {
22087             "space-tag": {
22088               "type": "string"
22089             },
22090             "subnet-provider-id": {
22091               "type": "string"
22092             },
22093             "subnet-tag": {
22094               "type": "string"
22095             },
22096             "vlan-tag": {
22097               "type": "integer"
22098             },
22099             "zones": {
22100               "type": "array",
22101               "items": {
22102                 "type": "string"
22103               }
22104             }
22105           },
22106           "additionalProperties": false,
22107           "required": [
22108             "space-tag"
22109           ]
22110         },
22111         "AddSubnetsParams": {
22112           "type": "object",
22113           "properties": {
22114             "subnets": {
22115               "type": "array",
22116               "items": {
22117                 "$ref": "#/definitions/AddSubnetParams"
22118               }
22119             }
22120           },
22121           "additionalProperties": false,
22122           "required": [
22123             "subnets"
22124           ]
22125         },
22126         "Error": {
22127           "type": "object",
22128           "properties": {
22129             "code": {
22130               "type": "string"
22131             },
22132             "info": {
22133               "$ref": "#/definitions/ErrorInfo"
22134             },
22135             "message": {
22136               "type": "string"
22137             }
22138           },
22139           "additionalProperties": false,
22140           "required": [
22141             "message",
22142             "code"
22143           ]
22144         },
22145         "ErrorInfo": {
22146           "type": "object",
22147           "properties": {
22148             "macaroon": {
22149               "$ref": "#/definitions/Macaroon"
22150             },
22151             "macaroon-path": {
22152               "type": "string"
22153             }
22154           },
22155           "additionalProperties": false
22156         },
22157         "ErrorResult": {
22158           "type": "object",
22159           "properties": {
22160             "error": {
22161               "$ref": "#/definitions/Error"
22162             }
22163           },
22164           "additionalProperties": false
22165         },
22166         "ErrorResults": {
22167           "type": "object",
22168           "properties": {
22169             "results": {
22170               "type": "array",
22171               "items": {
22172                 "$ref": "#/definitions/ErrorResult"
22173               }
22174             }
22175           },
22176           "additionalProperties": false,
22177           "required": [
22178             "results"
22179           ]
22180         },
22181         "ListSubnetsResults": {
22182           "type": "object",
22183           "properties": {
22184             "results": {
22185               "type": "array",
22186               "items": {
22187                 "$ref": "#/definitions/Subnet"
22188               }
22189             }
22190           },
22191           "additionalProperties": false,
22192           "required": [
22193             "results"
22194           ]
22195         },
22196         "Macaroon": {
22197           "type": "object",
22198           "additionalProperties": false
22199         },
22200         "SpaceResult": {
22201           "type": "object",
22202           "properties": {
22203             "error": {
22204               "$ref": "#/definitions/Error"
22205             },
22206             "tag": {
22207               "type": "string"
22208             }
22209           },
22210           "additionalProperties": false,
22211           "required": [
22212             "tag"
22213           ]
22214         },
22215         "SpaceResults": {
22216           "type": "object",
22217           "properties": {
22218             "results": {
22219               "type": "array",
22220               "items": {
22221                 "$ref": "#/definitions/SpaceResult"
22222               }
22223             }
22224           },
22225           "additionalProperties": false,
22226           "required": [
22227             "results"
22228           ]
22229         },
22230         "Subnet": {
22231           "type": "object",
22232           "properties": {
22233             "cidr": {
22234               "type": "string"
22235             },
22236             "life": {
22237               "type": "string"
22238             },
22239             "provider-id": {
22240               "type": "string"
22241             },
22242             "space-tag": {
22243               "type": "string"
22244             },
22245             "status": {
22246               "type": "string"
22247             },
22248             "vlan-tag": {
22249               "type": "integer"
22250             },
22251             "zones": {
22252               "type": "array",
22253               "items": {
22254                 "type": "string"
22255               }
22256             }
22257           },
22258           "additionalProperties": false,
22259           "required": [
22260             "cidr",
22261             "vlan-tag",
22262             "life",
22263             "space-tag",
22264             "zones"
22265           ]
22266         },
22267         "SubnetsFilters": {
22268           "type": "object",
22269           "properties": {
22270             "space-tag": {
22271               "type": "string"
22272             },
22273             "zone": {
22274               "type": "string"
22275             }
22276           },
22277           "additionalProperties": false
22278         },
22279         "ZoneResult": {
22280           "type": "object",
22281           "properties": {
22282             "available": {
22283               "type": "boolean"
22284             },
22285             "error": {
22286               "$ref": "#/definitions/Error"
22287             },
22288             "name": {
22289               "type": "string"
22290             }
22291           },
22292           "additionalProperties": false,
22293           "required": [
22294             "name",
22295             "available"
22296           ]
22297         },
22298         "ZoneResults": {
22299           "type": "object",
22300           "properties": {
22301             "results": {
22302               "type": "array",
22303               "items": {
22304                 "$ref": "#/definitions/ZoneResult"
22305               }
22306             }
22307           },
22308           "additionalProperties": false,
22309           "required": [
22310             "results"
22311           ]
22312         }
22313       }
22314     }
22315   },
22316   {
22317     "Name": "Undertaker",
22318     "Version": 1,
22319     "Schema": {
22320       "type": "object",
22321       "properties": {
22322         "ModelConfig": {
22323           "type": "object",
22324           "properties": {
22325             "Result": {
22326               "$ref": "#/definitions/ModelConfigResult"
22327             }
22328           }
22329         },
22330         "ModelInfo": {
22331           "type": "object",
22332           "properties": {
22333             "Result": {
22334               "$ref": "#/definitions/UndertakerModelInfoResult"
22335             }
22336           }
22337         },
22338         "ProcessDyingModel": {
22339           "type": "object"
22340         },
22341         "RemoveModel": {
22342           "type": "object"
22343         },
22344         "SetStatus": {
22345           "type": "object",
22346           "properties": {
22347             "Params": {
22348               "$ref": "#/definitions/SetStatus"
22349             },
22350             "Result": {
22351               "$ref": "#/definitions/ErrorResults"
22352             }
22353           }
22354         },
22355         "UpdateStatus": {
22356           "type": "object",
22357           "properties": {
22358             "Params": {
22359               "$ref": "#/definitions/SetStatus"
22360             },
22361             "Result": {
22362               "$ref": "#/definitions/ErrorResults"
22363             }
22364           }
22365         },
22366         "WatchModelResources": {
22367           "type": "object",
22368           "properties": {
22369             "Result": {
22370               "$ref": "#/definitions/NotifyWatchResults"
22371             }
22372           }
22373         }
22374       },
22375       "definitions": {
22376         "EntityStatusArgs": {
22377           "type": "object",
22378           "properties": {
22379             "data": {
22380               "type": "object",
22381               "patternProperties": {
22382                 ".*": {
22383                   "type": "object",
22384                   "additionalProperties": true
22385                 }
22386               }
22387             },
22388             "info": {
22389               "type": "string"
22390             },
22391             "status": {
22392               "type": "string"
22393             },
22394             "tag": {
22395               "type": "string"
22396             }
22397           },
22398           "additionalProperties": false,
22399           "required": [
22400             "tag",
22401             "status",
22402             "info",
22403             "data"
22404           ]
22405         },
22406         "Error": {
22407           "type": "object",
22408           "properties": {
22409             "code": {
22410               "type": "string"
22411             },
22412             "info": {
22413               "$ref": "#/definitions/ErrorInfo"
22414             },
22415             "message": {
22416               "type": "string"
22417             }
22418           },
22419           "additionalProperties": false,
22420           "required": [
22421             "message",
22422             "code"
22423           ]
22424         },
22425         "ErrorInfo": {
22426           "type": "object",
22427           "properties": {
22428             "macaroon": {
22429               "$ref": "#/definitions/Macaroon"
22430             },
22431             "macaroon-path": {
22432               "type": "string"
22433             }
22434           },
22435           "additionalProperties": false
22436         },
22437         "ErrorResult": {
22438           "type": "object",
22439           "properties": {
22440             "error": {
22441               "$ref": "#/definitions/Error"
22442             }
22443           },
22444           "additionalProperties": false
22445         },
22446         "ErrorResults": {
22447           "type": "object",
22448           "properties": {
22449             "results": {
22450               "type": "array",
22451               "items": {
22452                 "$ref": "#/definitions/ErrorResult"
22453               }
22454             }
22455           },
22456           "additionalProperties": false,
22457           "required": [
22458             "results"
22459           ]
22460         },
22461         "Macaroon": {
22462           "type": "object",
22463           "additionalProperties": false
22464         },
22465         "ModelConfigResult": {
22466           "type": "object",
22467           "properties": {
22468             "config": {
22469               "type": "object",
22470               "patternProperties": {
22471                 ".*": {
22472                   "type": "object",
22473                   "additionalProperties": true
22474                 }
22475               }
22476             }
22477           },
22478           "additionalProperties": false,
22479           "required": [
22480             "config"
22481           ]
22482         },
22483         "NotifyWatchResult": {
22484           "type": "object",
22485           "properties": {
22486             "NotifyWatcherId": {
22487               "type": "string"
22488             },
22489             "error": {
22490               "$ref": "#/definitions/Error"
22491             }
22492           },
22493           "additionalProperties": false,
22494           "required": [
22495             "NotifyWatcherId"
22496           ]
22497         },
22498         "NotifyWatchResults": {
22499           "type": "object",
22500           "properties": {
22501             "results": {
22502               "type": "array",
22503               "items": {
22504                 "$ref": "#/definitions/NotifyWatchResult"
22505               }
22506             }
22507           },
22508           "additionalProperties": false,
22509           "required": [
22510             "results"
22511           ]
22512         },
22513         "SetStatus": {
22514           "type": "object",
22515           "properties": {
22516             "entities": {
22517               "type": "array",
22518               "items": {
22519                 "$ref": "#/definitions/EntityStatusArgs"
22520               }
22521             }
22522           },
22523           "additionalProperties": false,
22524           "required": [
22525             "entities"
22526           ]
22527         },
22528         "UndertakerModelInfo": {
22529           "type": "object",
22530           "properties": {
22531             "global-name": {
22532               "type": "string"
22533             },
22534             "is-system": {
22535               "type": "boolean"
22536             },
22537             "life": {
22538               "type": "string"
22539             },
22540             "name": {
22541               "type": "string"
22542             },
22543             "uuid": {
22544               "type": "string"
22545             }
22546           },
22547           "additionalProperties": false,
22548           "required": [
22549             "uuid",
22550             "name",
22551             "global-name",
22552             "is-system",
22553             "life"
22554           ]
22555         },
22556         "UndertakerModelInfoResult": {
22557           "type": "object",
22558           "properties": {
22559             "error": {
22560               "$ref": "#/definitions/Error"
22561             },
22562             "result": {
22563               "$ref": "#/definitions/UndertakerModelInfo"
22564             }
22565           },
22566           "additionalProperties": false,
22567           "required": [
22568             "result"
22569           ]
22570         }
22571       }
22572     }
22573   },
22574   {
22575     "Name": "UnitAssigner",
22576     "Version": 1,
22577     "Schema": {
22578       "type": "object",
22579       "properties": {
22580         "AssignUnits": {
22581           "type": "object",
22582           "properties": {
22583             "Params": {
22584               "$ref": "#/definitions/Entities"
22585             },
22586             "Result": {
22587               "$ref": "#/definitions/ErrorResults"
22588             }
22589           }
22590         },
22591         "SetAgentStatus": {
22592           "type": "object",
22593           "properties": {
22594             "Params": {
22595               "$ref": "#/definitions/SetStatus"
22596             },
22597             "Result": {
22598               "$ref": "#/definitions/ErrorResults"
22599             }
22600           }
22601         },
22602         "WatchUnitAssignments": {
22603           "type": "object",
22604           "properties": {
22605             "Result": {
22606               "$ref": "#/definitions/StringsWatchResult"
22607             }
22608           }
22609         }
22610       },
22611       "definitions": {
22612         "Entities": {
22613           "type": "object",
22614           "properties": {
22615             "entities": {
22616               "type": "array",
22617               "items": {
22618                 "$ref": "#/definitions/Entity"
22619               }
22620             }
22621           },
22622           "additionalProperties": false,
22623           "required": [
22624             "entities"
22625           ]
22626         },
22627         "Entity": {
22628           "type": "object",
22629           "properties": {
22630             "tag": {
22631               "type": "string"
22632             }
22633           },
22634           "additionalProperties": false,
22635           "required": [
22636             "tag"
22637           ]
22638         },
22639         "EntityStatusArgs": {
22640           "type": "object",
22641           "properties": {
22642             "data": {
22643               "type": "object",
22644               "patternProperties": {
22645                 ".*": {
22646                   "type": "object",
22647                   "additionalProperties": true
22648                 }
22649               }
22650             },
22651             "info": {
22652               "type": "string"
22653             },
22654             "status": {
22655               "type": "string"
22656             },
22657             "tag": {
22658               "type": "string"
22659             }
22660           },
22661           "additionalProperties": false,
22662           "required": [
22663             "tag",
22664             "status",
22665             "info",
22666             "data"
22667           ]
22668         },
22669         "Error": {
22670           "type": "object",
22671           "properties": {
22672             "code": {
22673               "type": "string"
22674             },
22675             "info": {
22676               "$ref": "#/definitions/ErrorInfo"
22677             },
22678             "message": {
22679               "type": "string"
22680             }
22681           },
22682           "additionalProperties": false,
22683           "required": [
22684             "message",
22685             "code"
22686           ]
22687         },
22688         "ErrorInfo": {
22689           "type": "object",
22690           "properties": {
22691             "macaroon": {
22692               "$ref": "#/definitions/Macaroon"
22693             },
22694             "macaroon-path": {
22695               "type": "string"
22696             }
22697           },
22698           "additionalProperties": false
22699         },
22700         "ErrorResult": {
22701           "type": "object",
22702           "properties": {
22703             "error": {
22704               "$ref": "#/definitions/Error"
22705             }
22706           },
22707           "additionalProperties": false
22708         },
22709         "ErrorResults": {
22710           "type": "object",
22711           "properties": {
22712             "results": {
22713               "type": "array",
22714               "items": {
22715                 "$ref": "#/definitions/ErrorResult"
22716               }
22717             }
22718           },
22719           "additionalProperties": false,
22720           "required": [
22721             "results"
22722           ]
22723         },
22724         "Macaroon": {
22725           "type": "object",
22726           "additionalProperties": false
22727         },
22728         "SetStatus": {
22729           "type": "object",
22730           "properties": {
22731             "entities": {
22732               "type": "array",
22733               "items": {
22734                 "$ref": "#/definitions/EntityStatusArgs"
22735               }
22736             }
22737           },
22738           "additionalProperties": false,
22739           "required": [
22740             "entities"
22741           ]
22742         },
22743         "StringsWatchResult": {
22744           "type": "object",
22745           "properties": {
22746             "changes": {
22747               "type": "array",
22748               "items": {
22749                 "type": "string"
22750               }
22751             },
22752             "error": {
22753               "$ref": "#/definitions/Error"
22754             },
22755             "watcher-id": {
22756               "type": "string"
22757             }
22758           },
22759           "additionalProperties": false,
22760           "required": [
22761             "watcher-id"
22762           ]
22763         }
22764       }
22765     }
22766   },
22767   {
22768     "Name": "Uniter",
22769     "Version": 5,
22770     "Schema": {
22771       "type": "object",
22772       "properties": {
22773         "APIAddresses": {
22774           "type": "object",
22775           "properties": {
22776             "Result": {
22777               "$ref": "#/definitions/StringsResult"
22778             }
22779           }
22780         },
22781         "APIHostPorts": {
22782           "type": "object",
22783           "properties": {
22784             "Result": {
22785               "$ref": "#/definitions/APIHostPortsResult"
22786             }
22787           }
22788         },
22789         "Actions": {
22790           "type": "object",
22791           "properties": {
22792             "Params": {
22793               "$ref": "#/definitions/Entities"
22794             },
22795             "Result": {
22796               "$ref": "#/definitions/ActionResults"
22797             }
22798           }
22799         },
22800         "AddMetricBatches": {
22801           "type": "object",
22802           "properties": {
22803             "Params": {
22804               "$ref": "#/definitions/MetricBatchParams"
22805             },
22806             "Result": {
22807               "$ref": "#/definitions/ErrorResults"
22808             }
22809           }
22810         },
22811         "AddUnitStorage": {
22812           "type": "object",
22813           "properties": {
22814             "Params": {
22815               "$ref": "#/definitions/StoragesAddParams"
22816             },
22817             "Result": {
22818               "$ref": "#/definitions/ErrorResults"
22819             }
22820           }
22821         },
22822         "AllMachinePorts": {
22823           "type": "object",
22824           "properties": {
22825             "Params": {
22826               "$ref": "#/definitions/Entities"
22827             },
22828             "Result": {
22829               "$ref": "#/definitions/MachinePortsResults"
22830             }
22831           }
22832         },
22833         "ApplicationStatus": {
22834           "type": "object",
22835           "properties": {
22836             "Params": {
22837               "$ref": "#/definitions/Entities"
22838             },
22839             "Result": {
22840               "$ref": "#/definitions/ApplicationStatusResults"
22841             }
22842           }
22843         },
22844         "AssignedMachine": {
22845           "type": "object",
22846           "properties": {
22847             "Params": {
22848               "$ref": "#/definitions/Entities"
22849             },
22850             "Result": {
22851               "$ref": "#/definitions/StringResults"
22852             }
22853           }
22854         },
22855         "AvailabilityZone": {
22856           "type": "object",
22857           "properties": {
22858             "Params": {
22859               "$ref": "#/definitions/Entities"
22860             },
22861             "Result": {
22862               "$ref": "#/definitions/StringResults"
22863             }
22864           }
22865         },
22866         "BeginActions": {
22867           "type": "object",
22868           "properties": {
22869             "Params": {
22870               "$ref": "#/definitions/Entities"
22871             },
22872             "Result": {
22873               "$ref": "#/definitions/ErrorResults"
22874             }
22875           }
22876         },
22877         "CACert": {
22878           "type": "object",
22879           "properties": {
22880             "Result": {
22881               "$ref": "#/definitions/BytesResult"
22882             }
22883           }
22884         },
22885         "CharmArchiveSha256": {
22886           "type": "object",
22887           "properties": {
22888             "Params": {
22889               "$ref": "#/definitions/CharmURLs"
22890             },
22891             "Result": {
22892               "$ref": "#/definitions/StringResults"
22893             }
22894           }
22895         },
22896         "CharmModifiedVersion": {
22897           "type": "object",
22898           "properties": {
22899             "Params": {
22900               "$ref": "#/definitions/Entities"
22901             },
22902             "Result": {
22903               "$ref": "#/definitions/IntResults"
22904             }
22905           }
22906         },
22907         "CharmURL": {
22908           "type": "object",
22909           "properties": {
22910             "Params": {
22911               "$ref": "#/definitions/Entities"
22912             },
22913             "Result": {
22914               "$ref": "#/definitions/StringBoolResults"
22915             }
22916           }
22917         },
22918         "ClearResolved": {
22919           "type": "object",
22920           "properties": {
22921             "Params": {
22922               "$ref": "#/definitions/Entities"
22923             },
22924             "Result": {
22925               "$ref": "#/definitions/ErrorResults"
22926             }
22927           }
22928         },
22929         "ClosePorts": {
22930           "type": "object",
22931           "properties": {
22932             "Params": {
22933               "$ref": "#/definitions/EntitiesPortRanges"
22934             },
22935             "Result": {
22936               "$ref": "#/definitions/ErrorResults"
22937             }
22938           }
22939         },
22940         "ConfigSettings": {
22941           "type": "object",
22942           "properties": {
22943             "Params": {
22944               "$ref": "#/definitions/Entities"
22945             },
22946             "Result": {
22947               "$ref": "#/definitions/ConfigSettingsResults"
22948             }
22949           }
22950         },
22951         "CurrentModel": {
22952           "type": "object",
22953           "properties": {
22954             "Result": {
22955               "$ref": "#/definitions/ModelResult"
22956             }
22957           }
22958         },
22959         "Destroy": {
22960           "type": "object",
22961           "properties": {
22962             "Params": {
22963               "$ref": "#/definitions/Entities"
22964             },
22965             "Result": {
22966               "$ref": "#/definitions/ErrorResults"
22967             }
22968           }
22969         },
22970         "DestroyAllSubordinates": {
22971           "type": "object",
22972           "properties": {
22973             "Params": {
22974               "$ref": "#/definitions/Entities"
22975             },
22976             "Result": {
22977               "$ref": "#/definitions/ErrorResults"
22978             }
22979           }
22980         },
22981         "DestroyUnitStorageAttachments": {
22982           "type": "object",
22983           "properties": {
22984             "Params": {
22985               "$ref": "#/definitions/Entities"
22986             },
22987             "Result": {
22988               "$ref": "#/definitions/ErrorResults"
22989             }
22990           }
22991         },
22992         "EnsureDead": {
22993           "type": "object",
22994           "properties": {
22995             "Params": {
22996               "$ref": "#/definitions/Entities"
22997             },
22998             "Result": {
22999               "$ref": "#/definitions/ErrorResults"
23000             }
23001           }
23002         },
23003         "EnterScope": {
23004           "type": "object",
23005           "properties": {
23006             "Params": {
23007               "$ref": "#/definitions/RelationUnits"
23008             },
23009             "Result": {
23010               "$ref": "#/definitions/ErrorResults"
23011             }
23012           }
23013         },
23014         "FinishActions": {
23015           "type": "object",
23016           "properties": {
23017             "Params": {
23018               "$ref": "#/definitions/ActionExecutionResults"
23019             },
23020             "Result": {
23021               "$ref": "#/definitions/ErrorResults"
23022             }
23023           }
23024         },
23025         "GetMeterStatus": {
23026           "type": "object",
23027           "properties": {
23028             "Params": {
23029               "$ref": "#/definitions/Entities"
23030             },
23031             "Result": {
23032               "$ref": "#/definitions/MeterStatusResults"
23033             }
23034           }
23035         },
23036         "GetPrincipal": {
23037           "type": "object",
23038           "properties": {
23039             "Params": {
23040               "$ref": "#/definitions/Entities"
23041             },
23042             "Result": {
23043               "$ref": "#/definitions/StringBoolResults"
23044             }
23045           }
23046         },
23047         "HasSubordinates": {
23048           "type": "object",
23049           "properties": {
23050             "Params": {
23051               "$ref": "#/definitions/Entities"
23052             },
23053             "Result": {
23054               "$ref": "#/definitions/BoolResults"
23055             }
23056           }
23057         },
23058         "JoinedRelations": {
23059           "type": "object",
23060           "properties": {
23061             "Params": {
23062               "$ref": "#/definitions/Entities"
23063             },
23064             "Result": {
23065               "$ref": "#/definitions/StringsResults"
23066             }
23067           }
23068         },
23069         "LeaveScope": {
23070           "type": "object",
23071           "properties": {
23072             "Params": {
23073               "$ref": "#/definitions/RelationUnits"
23074             },
23075             "Result": {
23076               "$ref": "#/definitions/ErrorResults"
23077             }
23078           }
23079         },
23080         "Life": {
23081           "type": "object",
23082           "properties": {
23083             "Params": {
23084               "$ref": "#/definitions/Entities"
23085             },
23086             "Result": {
23087               "$ref": "#/definitions/LifeResults"
23088             }
23089           }
23090         },
23091         "Merge": {
23092           "type": "object",
23093           "properties": {
23094             "Params": {
23095               "$ref": "#/definitions/MergeLeadershipSettingsBulkParams"
23096             },
23097             "Result": {
23098               "$ref": "#/definitions/ErrorResults"
23099             }
23100           }
23101         },
23102         "ModelConfig": {
23103           "type": "object",
23104           "properties": {
23105             "Result": {
23106               "$ref": "#/definitions/ModelConfigResult"
23107             }
23108           }
23109         },
23110         "ModelUUID": {
23111           "type": "object",
23112           "properties": {
23113             "Result": {
23114               "$ref": "#/definitions/StringResult"
23115             }
23116           }
23117         },
23118         "NetworkConfig": {
23119           "type": "object",
23120           "properties": {
23121             "Params": {
23122               "$ref": "#/definitions/UnitsNetworkConfig"
23123             },
23124             "Result": {
23125               "$ref": "#/definitions/UnitNetworkConfigResults"
23126             }
23127           }
23128         },
23129         "OpenPorts": {
23130           "type": "object",
23131           "properties": {
23132             "Params": {
23133               "$ref": "#/definitions/EntitiesPortRanges"
23134             },
23135             "Result": {
23136               "$ref": "#/definitions/ErrorResults"
23137             }
23138           }
23139         },
23140         "PrivateAddress": {
23141           "type": "object",
23142           "properties": {
23143             "Params": {
23144               "$ref": "#/definitions/Entities"
23145             },
23146             "Result": {
23147               "$ref": "#/definitions/StringResults"
23148             }
23149           }
23150         },
23151         "ProviderType": {
23152           "type": "object",
23153           "properties": {
23154             "Result": {
23155               "$ref": "#/definitions/StringResult"
23156             }
23157           }
23158         },
23159         "PublicAddress": {
23160           "type": "object",
23161           "properties": {
23162             "Params": {
23163               "$ref": "#/definitions/Entities"
23164             },
23165             "Result": {
23166               "$ref": "#/definitions/StringResults"
23167             }
23168           }
23169         },
23170         "Read": {
23171           "type": "object",
23172           "properties": {
23173             "Params": {
23174               "$ref": "#/definitions/Entities"
23175             },
23176             "Result": {
23177               "$ref": "#/definitions/GetLeadershipSettingsBulkResults"
23178             }
23179           }
23180         },
23181         "ReadRemoteSettings": {
23182           "type": "object",
23183           "properties": {
23184             "Params": {
23185               "$ref": "#/definitions/RelationUnitPairs"
23186             },
23187             "Result": {
23188               "$ref": "#/definitions/SettingsResults"
23189             }
23190           }
23191         },
23192         "ReadSettings": {
23193           "type": "object",
23194           "properties": {
23195             "Params": {
23196               "$ref": "#/definitions/RelationUnits"
23197             },
23198             "Result": {
23199               "$ref": "#/definitions/SettingsResults"
23200             }
23201           }
23202         },
23203         "Relation": {
23204           "type": "object",
23205           "properties": {
23206             "Params": {
23207               "$ref": "#/definitions/RelationUnits"
23208             },
23209             "Result": {
23210               "$ref": "#/definitions/RelationResults"
23211             }
23212           }
23213         },
23214         "RelationById": {
23215           "type": "object",
23216           "properties": {
23217             "Params": {
23218               "$ref": "#/definitions/RelationIds"
23219             },
23220             "Result": {
23221               "$ref": "#/definitions/RelationResults"
23222             }
23223           }
23224         },
23225         "RemoveStorageAttachments": {
23226           "type": "object",
23227           "properties": {
23228             "Params": {
23229               "$ref": "#/definitions/StorageAttachmentIds"
23230             },
23231             "Result": {
23232               "$ref": "#/definitions/ErrorResults"
23233             }
23234           }
23235         },
23236         "RequestReboot": {
23237           "type": "object",
23238           "properties": {
23239             "Params": {
23240               "$ref": "#/definitions/Entities"
23241             },
23242             "Result": {
23243               "$ref": "#/definitions/ErrorResults"
23244             }
23245           }
23246         },
23247         "Resolved": {
23248           "type": "object",
23249           "properties": {
23250             "Params": {
23251               "$ref": "#/definitions/Entities"
23252             },
23253             "Result": {
23254               "$ref": "#/definitions/ResolvedModeResults"
23255             }
23256           }
23257         },
23258         "SLALevel": {
23259           "type": "object",
23260           "properties": {
23261             "Result": {
23262               "$ref": "#/definitions/StringResult"
23263             }
23264           }
23265         },
23266         "SetAgentStatus": {
23267           "type": "object",
23268           "properties": {
23269             "Params": {
23270               "$ref": "#/definitions/SetStatus"
23271             },
23272             "Result": {
23273               "$ref": "#/definitions/ErrorResults"
23274             }
23275           }
23276         },
23277         "SetApplicationStatus": {
23278           "type": "object",
23279           "properties": {
23280             "Params": {
23281               "$ref": "#/definitions/SetStatus"
23282             },
23283             "Result": {
23284               "$ref": "#/definitions/ErrorResults"
23285             }
23286           }
23287         },
23288         "SetCharmURL": {
23289           "type": "object",
23290           "properties": {
23291             "Params": {
23292               "$ref": "#/definitions/EntitiesCharmURL"
23293             },
23294             "Result": {
23295               "$ref": "#/definitions/ErrorResults"
23296             }
23297           }
23298         },
23299         "SetStatus": {
23300           "type": "object",
23301           "properties": {
23302             "Params": {
23303               "$ref": "#/definitions/SetStatus"
23304             },
23305             "Result": {
23306               "$ref": "#/definitions/ErrorResults"
23307             }
23308           }
23309         },
23310         "SetUnitStatus": {
23311           "type": "object",
23312           "properties": {
23313             "Params": {
23314               "$ref": "#/definitions/SetStatus"
23315             },
23316             "Result": {
23317               "$ref": "#/definitions/ErrorResults"
23318             }
23319           }
23320         },
23321         "SetWorkloadVersion": {
23322           "type": "object",
23323           "properties": {
23324             "Params": {
23325               "$ref": "#/definitions/EntityWorkloadVersions"
23326             },
23327             "Result": {
23328               "$ref": "#/definitions/ErrorResults"
23329             }
23330           }
23331         },
23332         "StorageAttachmentLife": {
23333           "type": "object",
23334           "properties": {
23335             "Params": {
23336               "$ref": "#/definitions/StorageAttachmentIds"
23337             },
23338             "Result": {
23339               "$ref": "#/definitions/LifeResults"
23340             }
23341           }
23342         },
23343         "StorageAttachments": {
23344           "type": "object",
23345           "properties": {
23346             "Params": {
23347               "$ref": "#/definitions/StorageAttachmentIds"
23348             },
23349             "Result": {
23350               "$ref": "#/definitions/StorageAttachmentResults"
23351             }
23352           }
23353         },
23354         "UnitStatus": {
23355           "type": "object",
23356           "properties": {
23357             "Params": {
23358               "$ref": "#/definitions/Entities"
23359             },
23360             "Result": {
23361               "$ref": "#/definitions/StatusResults"
23362             }
23363           }
23364         },
23365         "UnitStorageAttachments": {
23366           "type": "object",
23367           "properties": {
23368             "Params": {
23369               "$ref": "#/definitions/Entities"
23370             },
23371             "Result": {
23372               "$ref": "#/definitions/StorageAttachmentIdsResults"
23373             }
23374           }
23375         },
23376         "UpdateSettings": {
23377           "type": "object",
23378           "properties": {
23379             "Params": {
23380               "$ref": "#/definitions/RelationUnitsSettings"
23381             },
23382             "Result": {
23383               "$ref": "#/definitions/ErrorResults"
23384             }
23385           }
23386         },
23387         "Watch": {
23388           "type": "object",
23389           "properties": {
23390             "Params": {
23391               "$ref": "#/definitions/Entities"
23392             },
23393             "Result": {
23394               "$ref": "#/definitions/NotifyWatchResults"
23395             }
23396           }
23397         },
23398         "WatchAPIHostPorts": {
23399           "type": "object",
23400           "properties": {
23401             "Result": {
23402               "$ref": "#/definitions/NotifyWatchResult"
23403             }
23404           }
23405         },
23406         "WatchActionNotifications": {
23407           "type": "object",
23408           "properties": {
23409             "Params": {
23410               "$ref": "#/definitions/Entities"
23411             },
23412             "Result": {
23413               "$ref": "#/definitions/StringsWatchResults"
23414             }
23415           }
23416         },
23417         "WatchApplicationRelations": {
23418           "type": "object",
23419           "properties": {
23420             "Params": {
23421               "$ref": "#/definitions/Entities"
23422             },
23423             "Result": {
23424               "$ref": "#/definitions/StringsWatchResults"
23425             }
23426           }
23427         },
23428         "WatchConfigSettings": {
23429           "type": "object",
23430           "properties": {
23431             "Params": {
23432               "$ref": "#/definitions/Entities"
23433             },
23434             "Result": {
23435               "$ref": "#/definitions/NotifyWatchResults"
23436             }
23437           }
23438         },
23439         "WatchForModelConfigChanges": {
23440           "type": "object",
23441           "properties": {
23442             "Result": {
23443               "$ref": "#/definitions/NotifyWatchResult"
23444             }
23445           }
23446         },
23447         "WatchLeadershipSettings": {
23448           "type": "object",
23449           "properties": {
23450             "Params": {
23451               "$ref": "#/definitions/Entities"
23452             },
23453             "Result": {
23454               "$ref": "#/definitions/NotifyWatchResults"
23455             }
23456           }
23457         },
23458         "WatchMeterStatus": {
23459           "type": "object",
23460           "properties": {
23461             "Params": {
23462               "$ref": "#/definitions/Entities"
23463             },
23464             "Result": {
23465               "$ref": "#/definitions/NotifyWatchResults"
23466             }
23467           }
23468         },
23469         "WatchRelationUnits": {
23470           "type": "object",
23471           "properties": {
23472             "Params": {
23473               "$ref": "#/definitions/RelationUnits"
23474             },
23475             "Result": {
23476               "$ref": "#/definitions/RelationUnitsWatchResults"
23477             }
23478           }
23479         },
23480         "WatchStorageAttachments": {
23481           "type": "object",
23482           "properties": {
23483             "Params": {
23484               "$ref": "#/definitions/StorageAttachmentIds"
23485             },
23486             "Result": {
23487               "$ref": "#/definitions/NotifyWatchResults"
23488             }
23489           }
23490         },
23491         "WatchUnitAddresses": {
23492           "type": "object",
23493           "properties": {
23494             "Params": {
23495               "$ref": "#/definitions/Entities"
23496             },
23497             "Result": {
23498               "$ref": "#/definitions/NotifyWatchResults"
23499             }
23500           }
23501         },
23502         "WatchUnitStorageAttachments": {
23503           "type": "object",
23504           "properties": {
23505             "Params": {
23506               "$ref": "#/definitions/Entities"
23507             },
23508             "Result": {
23509               "$ref": "#/definitions/StringsWatchResults"
23510             }
23511           }
23512         },
23513         "WorkloadVersion": {
23514           "type": "object",
23515           "properties": {
23516             "Params": {
23517               "$ref": "#/definitions/Entities"
23518             },
23519             "Result": {
23520               "$ref": "#/definitions/StringResults"
23521             }
23522           }
23523         }
23524       },
23525       "definitions": {
23526         "APIHostPortsResult": {
23527           "type": "object",
23528           "properties": {
23529             "servers": {
23530               "type": "array",
23531               "items": {
23532                 "type": "array",
23533                 "items": {
23534                   "$ref": "#/definitions/HostPort"
23535                 }
23536               }
23537             }
23538           },
23539           "additionalProperties": false,
23540           "required": [
23541             "servers"
23542           ]
23543         },
23544         "Action": {
23545           "type": "object",
23546           "properties": {
23547             "name": {
23548               "type": "string"
23549             },
23550             "parameters": {
23551               "type": "object",
23552               "patternProperties": {
23553                 ".*": {
23554                   "type": "object",
23555                   "additionalProperties": true
23556                 }
23557               }
23558             },
23559             "receiver": {
23560               "type": "string"
23561             },
23562             "tag": {
23563               "type": "string"
23564             }
23565           },
23566           "additionalProperties": false,
23567           "required": [
23568             "tag",
23569             "receiver",
23570             "name"
23571           ]
23572         },
23573         "ActionExecutionResult": {
23574           "type": "object",
23575           "properties": {
23576             "action-tag": {
23577               "type": "string"
23578             },
23579             "message": {
23580               "type": "string"
23581             },
23582             "results": {
23583               "type": "object",
23584               "patternProperties": {
23585                 ".*": {
23586                   "type": "object",
23587                   "additionalProperties": true
23588                 }
23589               }
23590             },
23591             "status": {
23592               "type": "string"
23593             }
23594           },
23595           "additionalProperties": false,
23596           "required": [
23597             "action-tag",
23598             "status"
23599           ]
23600         },
23601         "ActionExecutionResults": {
23602           "type": "object",
23603           "properties": {
23604             "results": {
23605               "type": "array",
23606               "items": {
23607                 "$ref": "#/definitions/ActionExecutionResult"
23608               }
23609             }
23610           },
23611           "additionalProperties": false
23612         },
23613         "ActionResult": {
23614           "type": "object",
23615           "properties": {
23616             "action": {
23617               "$ref": "#/definitions/Action"
23618             },
23619             "completed": {
23620               "type": "string",
23621               "format": "date-time"
23622             },
23623             "enqueued": {
23624               "type": "string",
23625               "format": "date-time"
23626             },
23627             "error": {
23628               "$ref": "#/definitions/Error"
23629             },
23630             "message": {
23631               "type": "string"
23632             },
23633             "output": {
23634               "type": "object",
23635               "patternProperties": {
23636                 ".*": {
23637                   "type": "object",
23638                   "additionalProperties": true
23639                 }
23640               }
23641             },
23642             "started": {
23643               "type": "string",
23644               "format": "date-time"
23645             },
23646             "status": {
23647               "type": "string"
23648             }
23649           },
23650           "additionalProperties": false
23651         },
23652         "ActionResults": {
23653           "type": "object",
23654           "properties": {
23655             "results": {
23656               "type": "array",
23657               "items": {
23658                 "$ref": "#/definitions/ActionResult"
23659               }
23660             }
23661           },
23662           "additionalProperties": false
23663         },
23664         "Address": {
23665           "type": "object",
23666           "properties": {
23667             "scope": {
23668               "type": "string"
23669             },
23670             "space-name": {
23671               "type": "string"
23672             },
23673             "type": {
23674               "type": "string"
23675             },
23676             "value": {
23677               "type": "string"
23678             }
23679           },
23680           "additionalProperties": false,
23681           "required": [
23682             "value",
23683             "type",
23684             "scope"
23685           ]
23686         },
23687         "ApplicationStatusResult": {
23688           "type": "object",
23689           "properties": {
23690             "application": {
23691               "$ref": "#/definitions/StatusResult"
23692             },
23693             "error": {
23694               "$ref": "#/definitions/Error"
23695             },
23696             "units": {
23697               "type": "object",
23698               "patternProperties": {
23699                 ".*": {
23700                   "$ref": "#/definitions/StatusResult"
23701                 }
23702               }
23703             }
23704           },
23705           "additionalProperties": false,
23706           "required": [
23707             "application",
23708             "units"
23709           ]
23710         },
23711         "ApplicationStatusResults": {
23712           "type": "object",
23713           "properties": {
23714             "results": {
23715               "type": "array",
23716               "items": {
23717                 "$ref": "#/definitions/ApplicationStatusResult"
23718               }
23719             }
23720           },
23721           "additionalProperties": false,
23722           "required": [
23723             "results"
23724           ]
23725         },
23726         "BoolResult": {
23727           "type": "object",
23728           "properties": {
23729             "error": {
23730               "$ref": "#/definitions/Error"
23731             },
23732             "result": {
23733               "type": "boolean"
23734             }
23735           },
23736           "additionalProperties": false,
23737           "required": [
23738             "result"
23739           ]
23740         },
23741         "BoolResults": {
23742           "type": "object",
23743           "properties": {
23744             "results": {
23745               "type": "array",
23746               "items": {
23747                 "$ref": "#/definitions/BoolResult"
23748               }
23749             }
23750           },
23751           "additionalProperties": false,
23752           "required": [
23753             "results"
23754           ]
23755         },
23756         "BytesResult": {
23757           "type": "object",
23758           "properties": {
23759             "result": {
23760               "type": "array",
23761               "items": {
23762                 "type": "integer"
23763               }
23764             }
23765           },
23766           "additionalProperties": false,
23767           "required": [
23768             "result"
23769           ]
23770         },
23771         "CharmRelation": {
23772           "type": "object",
23773           "properties": {
23774             "interface": {
23775               "type": "string"
23776             },
23777             "limit": {
23778               "type": "integer"
23779             },
23780             "name": {
23781               "type": "string"
23782             },
23783             "optional": {
23784               "type": "boolean"
23785             },
23786             "role": {
23787               "type": "string"
23788             },
23789             "scope": {
23790               "type": "string"
23791             }
23792           },
23793           "additionalProperties": false,
23794           "required": [
23795             "name",
23796             "role",
23797             "interface",
23798             "optional",
23799             "limit",
23800             "scope"
23801           ]
23802         },
23803         "CharmURL": {
23804           "type": "object",
23805           "properties": {
23806             "url": {
23807               "type": "string"
23808             }
23809           },
23810           "additionalProperties": false,
23811           "required": [
23812             "url"
23813           ]
23814         },
23815         "CharmURLs": {
23816           "type": "object",
23817           "properties": {
23818             "urls": {
23819               "type": "array",
23820               "items": {
23821                 "$ref": "#/definitions/CharmURL"
23822               }
23823             }
23824           },
23825           "additionalProperties": false,
23826           "required": [
23827             "urls"
23828           ]
23829         },
23830         "ConfigSettingsResult": {
23831           "type": "object",
23832           "properties": {
23833             "error": {
23834               "$ref": "#/definitions/Error"
23835             },
23836             "settings": {
23837               "type": "object",
23838               "patternProperties": {
23839                 ".*": {
23840                   "type": "object",
23841                   "additionalProperties": true
23842                 }
23843               }
23844             }
23845           },
23846           "additionalProperties": false,
23847           "required": [
23848             "settings"
23849           ]
23850         },
23851         "ConfigSettingsResults": {
23852           "type": "object",
23853           "properties": {
23854             "results": {
23855               "type": "array",
23856               "items": {
23857                 "$ref": "#/definitions/ConfigSettingsResult"
23858               }
23859             }
23860           },
23861           "additionalProperties": false,
23862           "required": [
23863             "results"
23864           ]
23865         },
23866         "Endpoint": {
23867           "type": "object",
23868           "properties": {
23869             "application-name": {
23870               "type": "string"
23871             },
23872             "relation": {
23873               "$ref": "#/definitions/CharmRelation"
23874             }
23875           },
23876           "additionalProperties": false,
23877           "required": [
23878             "application-name",
23879             "relation"
23880           ]
23881         },
23882         "Entities": {
23883           "type": "object",
23884           "properties": {
23885             "entities": {
23886               "type": "array",
23887               "items": {
23888                 "$ref": "#/definitions/Entity"
23889               }
23890             }
23891           },
23892           "additionalProperties": false,
23893           "required": [
23894             "entities"
23895           ]
23896         },
23897         "EntitiesCharmURL": {
23898           "type": "object",
23899           "properties": {
23900             "entities": {
23901               "type": "array",
23902               "items": {
23903                 "$ref": "#/definitions/EntityCharmURL"
23904               }
23905             }
23906           },
23907           "additionalProperties": false,
23908           "required": [
23909             "entities"
23910           ]
23911         },
23912         "EntitiesPortRanges": {
23913           "type": "object",
23914           "properties": {
23915             "entities": {
23916               "type": "array",
23917               "items": {
23918                 "$ref": "#/definitions/EntityPortRange"
23919               }
23920             }
23921           },
23922           "additionalProperties": false,
23923           "required": [
23924             "entities"
23925           ]
23926         },
23927         "Entity": {
23928           "type": "object",
23929           "properties": {
23930             "tag": {
23931               "type": "string"
23932             }
23933           },
23934           "additionalProperties": false,
23935           "required": [
23936             "tag"
23937           ]
23938         },
23939         "EntityCharmURL": {
23940           "type": "object",
23941           "properties": {
23942             "charm-url": {
23943               "type": "string"
23944             },
23945             "tag": {
23946               "type": "string"
23947             }
23948           },
23949           "additionalProperties": false,
23950           "required": [
23951             "tag",
23952             "charm-url"
23953           ]
23954         },
23955         "EntityPortRange": {
23956           "type": "object",
23957           "properties": {
23958             "from-port": {
23959               "type": "integer"
23960             },
23961             "protocol": {
23962               "type": "string"
23963             },
23964             "tag": {
23965               "type": "string"
23966             },
23967             "to-port": {
23968               "type": "integer"
23969             }
23970           },
23971           "additionalProperties": false,
23972           "required": [
23973             "tag",
23974             "protocol",
23975             "from-port",
23976             "to-port"
23977           ]
23978         },
23979         "EntityStatusArgs": {
23980           "type": "object",
23981           "properties": {
23982             "data": {
23983               "type": "object",
23984               "patternProperties": {
23985                 ".*": {
23986                   "type": "object",
23987                   "additionalProperties": true
23988                 }
23989               }
23990             },
23991             "info": {
23992               "type": "string"
23993             },
23994             "status": {
23995               "type": "string"
23996             },
23997             "tag": {
23998               "type": "string"
23999             }
24000           },
24001           "additionalProperties": false,
24002           "required": [
24003             "tag",
24004             "status",
24005             "info",
24006             "data"
24007           ]
24008         },
24009         "EntityWorkloadVersion": {
24010           "type": "object",
24011           "properties": {
24012             "tag": {
24013               "type": "string"
24014             },
24015             "workload-version": {
24016               "type": "string"
24017             }
24018           },
24019           "additionalProperties": false,
24020           "required": [
24021             "tag",
24022             "workload-version"
24023           ]
24024         },
24025         "EntityWorkloadVersions": {
24026           "type": "object",
24027           "properties": {
24028             "entities": {
24029               "type": "array",
24030               "items": {
24031                 "$ref": "#/definitions/EntityWorkloadVersion"
24032               }
24033             }
24034           },
24035           "additionalProperties": false,
24036           "required": [
24037             "entities"
24038           ]
24039         },
24040         "Error": {
24041           "type": "object",
24042           "properties": {
24043             "code": {
24044               "type": "string"
24045             },
24046             "info": {
24047               "$ref": "#/definitions/ErrorInfo"
24048             },
24049             "message": {
24050               "type": "string"
24051             }
24052           },
24053           "additionalProperties": false,
24054           "required": [
24055             "message",
24056             "code"
24057           ]
24058         },
24059         "ErrorInfo": {
24060           "type": "object",
24061           "properties": {
24062             "macaroon": {
24063               "$ref": "#/definitions/Macaroon"
24064             },
24065             "macaroon-path": {
24066               "type": "string"
24067             }
24068           },
24069           "additionalProperties": false
24070         },
24071         "ErrorResult": {
24072           "type": "object",
24073           "properties": {
24074             "error": {
24075               "$ref": "#/definitions/Error"
24076             }
24077           },
24078           "additionalProperties": false
24079         },
24080         "ErrorResults": {
24081           "type": "object",
24082           "properties": {
24083             "results": {
24084               "type": "array",
24085               "items": {
24086                 "$ref": "#/definitions/ErrorResult"
24087               }
24088             }
24089           },
24090           "additionalProperties": false,
24091           "required": [
24092             "results"
24093           ]
24094         },
24095         "GetLeadershipSettingsBulkResults": {
24096           "type": "object",
24097           "properties": {
24098             "results": {
24099               "type": "array",
24100               "items": {
24101                 "$ref": "#/definitions/GetLeadershipSettingsResult"
24102               }
24103             }
24104           },
24105           "additionalProperties": false,
24106           "required": [
24107             "results"
24108           ]
24109         },
24110         "GetLeadershipSettingsResult": {
24111           "type": "object",
24112           "properties": {
24113             "error": {
24114               "$ref": "#/definitions/Error"
24115             },
24116             "settings": {
24117               "type": "object",
24118               "patternProperties": {
24119                 ".*": {
24120                   "type": "string"
24121                 }
24122               }
24123             }
24124           },
24125           "additionalProperties": false,
24126           "required": [
24127             "settings"
24128           ]
24129         },
24130         "HostPort": {
24131           "type": "object",
24132           "properties": {
24133             "Address": {
24134               "$ref": "#/definitions/Address"
24135             },
24136             "port": {
24137               "type": "integer"
24138             }
24139           },
24140           "additionalProperties": false,
24141           "required": [
24142             "Address",
24143             "port"
24144           ]
24145         },
24146         "IntResult": {
24147           "type": "object",
24148           "properties": {
24149             "error": {
24150               "$ref": "#/definitions/Error"
24151             },
24152             "result": {
24153               "type": "integer"
24154             }
24155           },
24156           "additionalProperties": false,
24157           "required": [
24158             "result"
24159           ]
24160         },
24161         "IntResults": {
24162           "type": "object",
24163           "properties": {
24164             "results": {
24165               "type": "array",
24166               "items": {
24167                 "$ref": "#/definitions/IntResult"
24168               }
24169             }
24170           },
24171           "additionalProperties": false,
24172           "required": [
24173             "results"
24174           ]
24175         },
24176         "LifeResult": {
24177           "type": "object",
24178           "properties": {
24179             "error": {
24180               "$ref": "#/definitions/Error"
24181             },
24182             "life": {
24183               "type": "string"
24184             }
24185           },
24186           "additionalProperties": false,
24187           "required": [
24188             "life"
24189           ]
24190         },
24191         "LifeResults": {
24192           "type": "object",
24193           "properties": {
24194             "results": {
24195               "type": "array",
24196               "items": {
24197                 "$ref": "#/definitions/LifeResult"
24198               }
24199             }
24200           },
24201           "additionalProperties": false,
24202           "required": [
24203             "results"
24204           ]
24205         },
24206         "Macaroon": {
24207           "type": "object",
24208           "additionalProperties": false
24209         },
24210         "MachinePortRange": {
24211           "type": "object",
24212           "properties": {
24213             "port-range": {
24214               "$ref": "#/definitions/PortRange"
24215             },
24216             "relation-tag": {
24217               "type": "string"
24218             },
24219             "unit-tag": {
24220               "type": "string"
24221             }
24222           },
24223           "additionalProperties": false,
24224           "required": [
24225             "unit-tag",
24226             "relation-tag",
24227             "port-range"
24228           ]
24229         },
24230         "MachinePortsResult": {
24231           "type": "object",
24232           "properties": {
24233             "error": {
24234               "$ref": "#/definitions/Error"
24235             },
24236             "ports": {
24237               "type": "array",
24238               "items": {
24239                 "$ref": "#/definitions/MachinePortRange"
24240               }
24241             }
24242           },
24243           "additionalProperties": false,
24244           "required": [
24245             "ports"
24246           ]
24247         },
24248         "MachinePortsResults": {
24249           "type": "object",
24250           "properties": {
24251             "results": {
24252               "type": "array",
24253               "items": {
24254                 "$ref": "#/definitions/MachinePortsResult"
24255               }
24256             }
24257           },
24258           "additionalProperties": false,
24259           "required": [
24260             "results"
24261           ]
24262         },
24263         "MergeLeadershipSettingsBulkParams": {
24264           "type": "object",
24265           "properties": {
24266             "params": {
24267               "type": "array",
24268               "items": {
24269                 "$ref": "#/definitions/MergeLeadershipSettingsParam"
24270               }
24271             }
24272           },
24273           "additionalProperties": false,
24274           "required": [
24275             "params"
24276           ]
24277         },
24278         "MergeLeadershipSettingsParam": {
24279           "type": "object",
24280           "properties": {
24281             "application-tag": {
24282               "type": "string"
24283             },
24284             "settings": {
24285               "type": "object",
24286               "patternProperties": {
24287                 ".*": {
24288                   "type": "string"
24289                 }
24290               }
24291             }
24292           },
24293           "additionalProperties": false,
24294           "required": [
24295             "application-tag",
24296             "settings"
24297           ]
24298         },
24299         "MeterStatusResult": {
24300           "type": "object",
24301           "properties": {
24302             "code": {
24303               "type": "string"
24304             },
24305             "error": {
24306               "$ref": "#/definitions/Error"
24307             },
24308             "info": {
24309               "type": "string"
24310             }
24311           },
24312           "additionalProperties": false,
24313           "required": [
24314             "code",
24315             "info"
24316           ]
24317         },
24318         "MeterStatusResults": {
24319           "type": "object",
24320           "properties": {
24321             "results": {
24322               "type": "array",
24323               "items": {
24324                 "$ref": "#/definitions/MeterStatusResult"
24325               }
24326             }
24327           },
24328           "additionalProperties": false,
24329           "required": [
24330             "results"
24331           ]
24332         },
24333         "Metric": {
24334           "type": "object",
24335           "properties": {
24336             "key": {
24337               "type": "string"
24338             },
24339             "time": {
24340               "type": "string",
24341               "format": "date-time"
24342             },
24343             "value": {
24344               "type": "string"
24345             }
24346           },
24347           "additionalProperties": false,
24348           "required": [
24349             "key",
24350             "value",
24351             "time"
24352           ]
24353         },
24354         "MetricBatch": {
24355           "type": "object",
24356           "properties": {
24357             "charm-url": {
24358               "type": "string"
24359             },
24360             "created": {
24361               "type": "string",
24362               "format": "date-time"
24363             },
24364             "metrics": {
24365               "type": "array",
24366               "items": {
24367                 "$ref": "#/definitions/Metric"
24368               }
24369             },
24370             "uuid": {
24371               "type": "string"
24372             }
24373           },
24374           "additionalProperties": false,
24375           "required": [
24376             "uuid",
24377             "charm-url",
24378             "created",
24379             "metrics"
24380           ]
24381         },
24382         "MetricBatchParam": {
24383           "type": "object",
24384           "properties": {
24385             "batch": {
24386               "$ref": "#/definitions/MetricBatch"
24387             },
24388             "tag": {
24389               "type": "string"
24390             }
24391           },
24392           "additionalProperties": false,
24393           "required": [
24394             "tag",
24395             "batch"
24396           ]
24397         },
24398         "MetricBatchParams": {
24399           "type": "object",
24400           "properties": {
24401             "batches": {
24402               "type": "array",
24403               "items": {
24404                 "$ref": "#/definitions/MetricBatchParam"
24405               }
24406             }
24407           },
24408           "additionalProperties": false,
24409           "required": [
24410             "batches"
24411           ]
24412         },
24413         "ModelConfigResult": {
24414           "type": "object",
24415           "properties": {
24416             "config": {
24417               "type": "object",
24418               "patternProperties": {
24419                 ".*": {
24420                   "type": "object",
24421                   "additionalProperties": true
24422                 }
24423               }
24424             }
24425           },
24426           "additionalProperties": false,
24427           "required": [
24428             "config"
24429           ]
24430         },
24431         "ModelResult": {
24432           "type": "object",
24433           "properties": {
24434             "error": {
24435               "$ref": "#/definitions/Error"
24436             },
24437             "name": {
24438               "type": "string"
24439             },
24440             "uuid": {
24441               "type": "string"
24442             }
24443           },
24444           "additionalProperties": false,
24445           "required": [
24446             "name",
24447             "uuid"
24448           ]
24449         },
24450         "NetworkConfig": {
24451           "type": "object",
24452           "properties": {
24453             "address": {
24454               "type": "string"
24455             },
24456             "cidr": {
24457               "type": "string"
24458             },
24459             "config-type": {
24460               "type": "string"
24461             },
24462             "device-index": {
24463               "type": "integer"
24464             },
24465             "disabled": {
24466               "type": "boolean"
24467             },
24468             "dns-search-domains": {
24469               "type": "array",
24470               "items": {
24471                 "type": "string"
24472               }
24473             },
24474             "dns-servers": {
24475               "type": "array",
24476               "items": {
24477                 "type": "string"
24478               }
24479             },
24480             "gateway-address": {
24481               "type": "string"
24482             },
24483             "interface-name": {
24484               "type": "string"
24485             },
24486             "interface-type": {
24487               "type": "string"
24488             },
24489             "mac-address": {
24490               "type": "string"
24491             },
24492             "mtu": {
24493               "type": "integer"
24494             },
24495             "no-auto-start": {
24496               "type": "boolean"
24497             },
24498             "parent-interface-name": {
24499               "type": "string"
24500             },
24501             "provider-address-id": {
24502               "type": "string"
24503             },
24504             "provider-id": {
24505               "type": "string"
24506             },
24507             "provider-space-id": {
24508               "type": "string"
24509             },
24510             "provider-subnet-id": {
24511               "type": "string"
24512             },
24513             "provider-vlan-id": {
24514               "type": "string"
24515             },
24516             "routes": {
24517               "type": "array",
24518               "items": {
24519                 "$ref": "#/definitions/NetworkRoute"
24520               }
24521             },
24522             "vlan-tag": {
24523               "type": "integer"
24524             }
24525           },
24526           "additionalProperties": false,
24527           "required": [
24528             "device-index",
24529             "mac-address",
24530             "cidr",
24531             "mtu",
24532             "provider-id",
24533             "provider-subnet-id",
24534             "provider-space-id",
24535             "provider-address-id",
24536             "provider-vlan-id",
24537             "vlan-tag",
24538             "interface-name",
24539             "parent-interface-name",
24540             "interface-type",
24541             "disabled"
24542           ]
24543         },
24544         "NetworkRoute": {
24545           "type": "object",
24546           "properties": {
24547             "destination-cidr": {
24548               "type": "string"
24549             },
24550             "gateway-ip": {
24551               "type": "string"
24552             },
24553             "metric": {
24554               "type": "integer"
24555             }
24556           },
24557           "additionalProperties": false,
24558           "required": [
24559             "destination-cidr",
24560             "gateway-ip",
24561             "metric"
24562           ]
24563         },
24564         "NotifyWatchResult": {
24565           "type": "object",
24566           "properties": {
24567             "NotifyWatcherId": {
24568               "type": "string"
24569             },
24570             "error": {
24571               "$ref": "#/definitions/Error"
24572             }
24573           },
24574           "additionalProperties": false,
24575           "required": [
24576             "NotifyWatcherId"
24577           ]
24578         },
24579         "NotifyWatchResults": {
24580           "type": "object",
24581           "properties": {
24582             "results": {
24583               "type": "array",
24584               "items": {
24585                 "$ref": "#/definitions/NotifyWatchResult"
24586               }
24587             }
24588           },
24589           "additionalProperties": false,
24590           "required": [
24591             "results"
24592           ]
24593         },
24594         "PortRange": {
24595           "type": "object",
24596           "properties": {
24597             "from-port": {
24598               "type": "integer"
24599             },
24600             "protocol": {
24601               "type": "string"
24602             },
24603             "to-port": {
24604               "type": "integer"
24605             }
24606           },
24607           "additionalProperties": false,
24608           "required": [
24609             "from-port",
24610             "to-port",
24611             "protocol"
24612           ]
24613         },
24614         "RelationIds": {
24615           "type": "object",
24616           "properties": {
24617             "relation-ids": {
24618               "type": "array",
24619               "items": {
24620                 "type": "integer"
24621               }
24622             }
24623           },
24624           "additionalProperties": false,
24625           "required": [
24626             "relation-ids"
24627           ]
24628         },
24629         "RelationResult": {
24630           "type": "object",
24631           "properties": {
24632             "endpoint": {
24633               "$ref": "#/definitions/Endpoint"
24634             },
24635             "error": {
24636               "$ref": "#/definitions/Error"
24637             },
24638             "id": {
24639               "type": "integer"
24640             },
24641             "key": {
24642               "type": "string"
24643             },
24644             "life": {
24645               "type": "string"
24646             }
24647           },
24648           "additionalProperties": false,
24649           "required": [
24650             "life",
24651             "id",
24652             "key",
24653             "endpoint"
24654           ]
24655         },
24656         "RelationResults": {
24657           "type": "object",
24658           "properties": {
24659             "results": {
24660               "type": "array",
24661               "items": {
24662                 "$ref": "#/definitions/RelationResult"
24663               }
24664             }
24665           },
24666           "additionalProperties": false,
24667           "required": [
24668             "results"
24669           ]
24670         },
24671         "RelationUnit": {
24672           "type": "object",
24673           "properties": {
24674             "relation": {
24675               "type": "string"
24676             },
24677             "unit": {
24678               "type": "string"
24679             }
24680           },
24681           "additionalProperties": false,
24682           "required": [
24683             "relation",
24684             "unit"
24685           ]
24686         },
24687         "RelationUnitPair": {
24688           "type": "object",
24689           "properties": {
24690             "local-unit": {
24691               "type": "string"
24692             },
24693             "relation": {
24694               "type": "string"
24695             },
24696             "remote-unit": {
24697               "type": "string"
24698             }
24699           },
24700           "additionalProperties": false,
24701           "required": [
24702             "relation",
24703             "local-unit",
24704             "remote-unit"
24705           ]
24706         },
24707         "RelationUnitPairs": {
24708           "type": "object",
24709           "properties": {
24710             "relation-unit-pairs": {
24711               "type": "array",
24712               "items": {
24713                 "$ref": "#/definitions/RelationUnitPair"
24714               }
24715             }
24716           },
24717           "additionalProperties": false,
24718           "required": [
24719             "relation-unit-pairs"
24720           ]
24721         },
24722         "RelationUnitSettings": {
24723           "type": "object",
24724           "properties": {
24725             "relation": {
24726               "type": "string"
24727             },
24728             "settings": {
24729               "type": "object",
24730               "patternProperties": {
24731                 ".*": {
24732                   "type": "string"
24733                 }
24734               }
24735             },
24736             "unit": {
24737               "type": "string"
24738             }
24739           },
24740           "additionalProperties": false,
24741           "required": [
24742             "relation",
24743             "unit",
24744             "settings"
24745           ]
24746         },
24747         "RelationUnits": {
24748           "type": "object",
24749           "properties": {
24750             "relation-units": {
24751               "type": "array",
24752               "items": {
24753                 "$ref": "#/definitions/RelationUnit"
24754               }
24755             }
24756           },
24757           "additionalProperties": false,
24758           "required": [
24759             "relation-units"
24760           ]
24761         },
24762         "RelationUnitsChange": {
24763           "type": "object",
24764           "properties": {
24765             "changed": {
24766               "type": "object",
24767               "patternProperties": {
24768                 ".*": {
24769                   "$ref": "#/definitions/UnitSettings"
24770                 }
24771               }
24772             },
24773             "departed": {
24774               "type": "array",
24775               "items": {
24776                 "type": "string"
24777               }
24778             }
24779           },
24780           "additionalProperties": false,
24781           "required": [
24782             "changed"
24783           ]
24784         },
24785         "RelationUnitsSettings": {
24786           "type": "object",
24787           "properties": {
24788             "relation-units": {
24789               "type": "array",
24790               "items": {
24791                 "$ref": "#/definitions/RelationUnitSettings"
24792               }
24793             }
24794           },
24795           "additionalProperties": false,
24796           "required": [
24797             "relation-units"
24798           ]
24799         },
24800         "RelationUnitsWatchResult": {
24801           "type": "object",
24802           "properties": {
24803             "changes": {
24804               "$ref": "#/definitions/RelationUnitsChange"
24805             },
24806             "error": {
24807               "$ref": "#/definitions/Error"
24808             },
24809             "watcher-id": {
24810               "type": "string"
24811             }
24812           },
24813           "additionalProperties": false,
24814           "required": [
24815             "watcher-id",
24816             "changes"
24817           ]
24818         },
24819         "RelationUnitsWatchResults": {
24820           "type": "object",
24821           "properties": {
24822             "results": {
24823               "type": "array",
24824               "items": {
24825                 "$ref": "#/definitions/RelationUnitsWatchResult"
24826               }
24827             }
24828           },
24829           "additionalProperties": false,
24830           "required": [
24831             "results"
24832           ]
24833         },
24834         "ResolvedModeResult": {
24835           "type": "object",
24836           "properties": {
24837             "error": {
24838               "$ref": "#/definitions/Error"
24839             },
24840             "mode": {
24841               "type": "string"
24842             }
24843           },
24844           "additionalProperties": false,
24845           "required": [
24846             "mode"
24847           ]
24848         },
24849         "ResolvedModeResults": {
24850           "type": "object",
24851           "properties": {
24852             "results": {
24853               "type": "array",
24854               "items": {
24855                 "$ref": "#/definitions/ResolvedModeResult"
24856               }
24857             }
24858           },
24859           "additionalProperties": false,
24860           "required": [
24861             "results"
24862           ]
24863         },
24864         "SetStatus": {
24865           "type": "object",
24866           "properties": {
24867             "entities": {
24868               "type": "array",
24869               "items": {
24870                 "$ref": "#/definitions/EntityStatusArgs"
24871               }
24872             }
24873           },
24874           "additionalProperties": false,
24875           "required": [
24876             "entities"
24877           ]
24878         },
24879         "SettingsResult": {
24880           "type": "object",
24881           "properties": {
24882             "error": {
24883               "$ref": "#/definitions/Error"
24884             },
24885             "settings": {
24886               "type": "object",
24887               "patternProperties": {
24888                 ".*": {
24889                   "type": "string"
24890                 }
24891               }
24892             }
24893           },
24894           "additionalProperties": false,
24895           "required": [
24896             "settings"
24897           ]
24898         },
24899         "SettingsResults": {
24900           "type": "object",
24901           "properties": {
24902             "results": {
24903               "type": "array",
24904               "items": {
24905                 "$ref": "#/definitions/SettingsResult"
24906               }
24907             }
24908           },
24909           "additionalProperties": false,
24910           "required": [
24911             "results"
24912           ]
24913         },
24914         "StatusResult": {
24915           "type": "object",
24916           "properties": {
24917             "data": {
24918               "type": "object",
24919               "patternProperties": {
24920                 ".*": {
24921                   "type": "object",
24922                   "additionalProperties": true
24923                 }
24924               }
24925             },
24926             "error": {
24927               "$ref": "#/definitions/Error"
24928             },
24929             "id": {
24930               "type": "string"
24931             },
24932             "info": {
24933               "type": "string"
24934             },
24935             "life": {
24936               "type": "string"
24937             },
24938             "since": {
24939               "type": "string",
24940               "format": "date-time"
24941             },
24942             "status": {
24943               "type": "string"
24944             }
24945           },
24946           "additionalProperties": false,
24947           "required": [
24948             "id",
24949             "life",
24950             "status",
24951             "info",
24952             "data",
24953             "since"
24954           ]
24955         },
24956         "StatusResults": {
24957           "type": "object",
24958           "properties": {
24959             "results": {
24960               "type": "array",
24961               "items": {
24962                 "$ref": "#/definitions/StatusResult"
24963               }
24964             }
24965           },
24966           "additionalProperties": false,
24967           "required": [
24968             "results"
24969           ]
24970         },
24971         "StorageAddParams": {
24972           "type": "object",
24973           "properties": {
24974             "name": {
24975               "type": "string"
24976             },
24977             "storage": {
24978               "$ref": "#/definitions/StorageConstraints"
24979             },
24980             "unit": {
24981               "type": "string"
24982             }
24983           },
24984           "additionalProperties": false,
24985           "required": [
24986             "unit",
24987             "name",
24988             "storage"
24989           ]
24990         },
24991         "StorageAttachment": {
24992           "type": "object",
24993           "properties": {
24994             "kind": {
24995               "type": "integer"
24996             },
24997             "life": {
24998               "type": "string"
24999             },
25000             "location": {
25001               "type": "string"
25002             },
25003             "owner-tag": {
25004               "type": "string"
25005             },
25006             "storage-tag": {
25007               "type": "string"
25008             },
25009             "unit-tag": {
25010               "type": "string"
25011             }
25012           },
25013           "additionalProperties": false,
25014           "required": [
25015             "storage-tag",
25016             "owner-tag",
25017             "unit-tag",
25018             "kind",
25019             "location",
25020             "life"
25021           ]
25022         },
25023         "StorageAttachmentId": {
25024           "type": "object",
25025           "properties": {
25026             "storage-tag": {
25027               "type": "string"
25028             },
25029             "unit-tag": {
25030               "type": "string"
25031             }
25032           },
25033           "additionalProperties": false,
25034           "required": [
25035             "storage-tag",
25036             "unit-tag"
25037           ]
25038         },
25039         "StorageAttachmentIds": {
25040           "type": "object",
25041           "properties": {
25042             "ids": {
25043               "type": "array",
25044               "items": {
25045                 "$ref": "#/definitions/StorageAttachmentId"
25046               }
25047             }
25048           },
25049           "additionalProperties": false,
25050           "required": [
25051             "ids"
25052           ]
25053         },
25054         "StorageAttachmentIdsResult": {
25055           "type": "object",
25056           "properties": {
25057             "error": {
25058               "$ref": "#/definitions/Error"
25059             },
25060             "result": {
25061               "$ref": "#/definitions/StorageAttachmentIds"
25062             }
25063           },
25064           "additionalProperties": false,
25065           "required": [
25066             "result"
25067           ]
25068         },
25069         "StorageAttachmentIdsResults": {
25070           "type": "object",
25071           "properties": {
25072             "results": {
25073               "type": "array",
25074               "items": {
25075                 "$ref": "#/definitions/StorageAttachmentIdsResult"
25076               }
25077             }
25078           },
25079           "additionalProperties": false
25080         },
25081         "StorageAttachmentResult": {
25082           "type": "object",
25083           "properties": {
25084             "error": {
25085               "$ref": "#/definitions/Error"
25086             },
25087             "result": {
25088               "$ref": "#/definitions/StorageAttachment"
25089             }
25090           },
25091           "additionalProperties": false,
25092           "required": [
25093             "result"
25094           ]
25095         },
25096         "StorageAttachmentResults": {
25097           "type": "object",
25098           "properties": {
25099             "results": {
25100               "type": "array",
25101               "items": {
25102                 "$ref": "#/definitions/StorageAttachmentResult"
25103               }
25104             }
25105           },
25106           "additionalProperties": false
25107         },
25108         "StorageConstraints": {
25109           "type": "object",
25110           "properties": {
25111             "count": {
25112               "type": "integer"
25113             },
25114             "pool": {
25115               "type": "string"
25116             },
25117             "size": {
25118               "type": "integer"
25119             }
25120           },
25121           "additionalProperties": false
25122         },
25123         "StoragesAddParams": {
25124           "type": "object",
25125           "properties": {
25126             "storages": {
25127               "type": "array",
25128               "items": {
25129                 "$ref": "#/definitions/StorageAddParams"
25130               }
25131             }
25132           },
25133           "additionalProperties": false,
25134           "required": [
25135             "storages"
25136           ]
25137         },
25138         "StringBoolResult": {
25139           "type": "object",
25140           "properties": {
25141             "error": {
25142               "$ref": "#/definitions/Error"
25143             },
25144             "ok": {
25145               "type": "boolean"
25146             },
25147             "result": {
25148               "type": "string"
25149             }
25150           },
25151           "additionalProperties": false,
25152           "required": [
25153             "result",
25154             "ok"
25155           ]
25156         },
25157         "StringBoolResults": {
25158           "type": "object",
25159           "properties": {
25160             "results": {
25161               "type": "array",
25162               "items": {
25163                 "$ref": "#/definitions/StringBoolResult"
25164               }
25165             }
25166           },
25167           "additionalProperties": false,
25168           "required": [
25169             "results"
25170           ]
25171         },
25172         "StringResult": {
25173           "type": "object",
25174           "properties": {
25175             "error": {
25176               "$ref": "#/definitions/Error"
25177             },
25178             "result": {
25179               "type": "string"
25180             }
25181           },
25182           "additionalProperties": false,
25183           "required": [
25184             "result"
25185           ]
25186         },
25187         "StringResults": {
25188           "type": "object",
25189           "properties": {
25190             "results": {
25191               "type": "array",
25192               "items": {
25193                 "$ref": "#/definitions/StringResult"
25194               }
25195             }
25196           },
25197           "additionalProperties": false,
25198           "required": [
25199             "results"
25200           ]
25201         },
25202         "StringsResult": {
25203           "type": "object",
25204           "properties": {
25205             "error": {
25206               "$ref": "#/definitions/Error"
25207             },
25208             "result": {
25209               "type": "array",
25210               "items": {
25211                 "type": "string"
25212               }
25213             }
25214           },
25215           "additionalProperties": false
25216         },
25217         "StringsResults": {
25218           "type": "object",
25219           "properties": {
25220             "results": {
25221               "type": "array",
25222               "items": {
25223                 "$ref": "#/definitions/StringsResult"
25224               }
25225             }
25226           },
25227           "additionalProperties": false,
25228           "required": [
25229             "results"
25230           ]
25231         },
25232         "StringsWatchResult": {
25233           "type": "object",
25234           "properties": {
25235             "changes": {
25236               "type": "array",
25237               "items": {
25238                 "type": "string"
25239               }
25240             },
25241             "error": {
25242               "$ref": "#/definitions/Error"
25243             },
25244             "watcher-id": {
25245               "type": "string"
25246             }
25247           },
25248           "additionalProperties": false,
25249           "required": [
25250             "watcher-id"
25251           ]
25252         },
25253         "StringsWatchResults": {
25254           "type": "object",
25255           "properties": {
25256             "results": {
25257               "type": "array",
25258               "items": {
25259                 "$ref": "#/definitions/StringsWatchResult"
25260               }
25261             }
25262           },
25263           "additionalProperties": false,
25264           "required": [
25265             "results"
25266           ]
25267         },
25268         "UnitNetworkConfig": {
25269           "type": "object",
25270           "properties": {
25271             "binding-name": {
25272               "type": "string"
25273             },
25274             "unit-tag": {
25275               "type": "string"
25276             }
25277           },
25278           "additionalProperties": false,
25279           "required": [
25280             "unit-tag",
25281             "binding-name"
25282           ]
25283         },
25284         "UnitNetworkConfigResult": {
25285           "type": "object",
25286           "properties": {
25287             "error": {
25288               "$ref": "#/definitions/Error"
25289             },
25290             "info": {
25291               "type": "array",
25292               "items": {
25293                 "$ref": "#/definitions/NetworkConfig"
25294               }
25295             }
25296           },
25297           "additionalProperties": false,
25298           "required": [
25299             "info"
25300           ]
25301         },
25302         "UnitNetworkConfigResults": {
25303           "type": "object",
25304           "properties": {
25305             "results": {
25306               "type": "array",
25307               "items": {
25308                 "$ref": "#/definitions/UnitNetworkConfigResult"
25309               }
25310             }
25311           },
25312           "additionalProperties": false,
25313           "required": [
25314             "results"
25315           ]
25316         },
25317         "UnitSettings": {
25318           "type": "object",
25319           "properties": {
25320             "version": {
25321               "type": "integer"
25322             }
25323           },
25324           "additionalProperties": false,
25325           "required": [
25326             "version"
25327           ]
25328         },
25329         "UnitsNetworkConfig": {
25330           "type": "object",
25331           "properties": {
25332             "args": {
25333               "type": "array",
25334               "items": {
25335                 "$ref": "#/definitions/UnitNetworkConfig"
25336               }
25337             }
25338           },
25339           "additionalProperties": false,
25340           "required": [
25341             "args"
25342           ]
25343         }
25344       }
25345     }
25346   },
25347   {
25348     "Name": "Upgrader",
25349     "Version": 1,
25350     "Schema": {
25351       "type": "object",
25352       "properties": {
25353         "DesiredVersion": {
25354           "type": "object",
25355           "properties": {
25356             "Params": {
25357               "$ref": "#/definitions/Entities"
25358             },
25359             "Result": {
25360               "$ref": "#/definitions/VersionResults"
25361             }
25362           }
25363         },
25364         "SetTools": {
25365           "type": "object",
25366           "properties": {
25367             "Params": {
25368               "$ref": "#/definitions/EntitiesVersion"
25369             },
25370             "Result": {
25371               "$ref": "#/definitions/ErrorResults"
25372             }
25373           }
25374         },
25375         "Tools": {
25376           "type": "object",
25377           "properties": {
25378             "Params": {
25379               "$ref": "#/definitions/Entities"
25380             },
25381             "Result": {
25382               "$ref": "#/definitions/ToolsResults"
25383             }
25384           }
25385         },
25386         "WatchAPIVersion": {
25387           "type": "object",
25388           "properties": {
25389             "Params": {
25390               "$ref": "#/definitions/Entities"
25391             },
25392             "Result": {
25393               "$ref": "#/definitions/NotifyWatchResults"
25394             }
25395           }
25396         }
25397       },
25398       "definitions": {
25399         "Binary": {
25400           "type": "object",
25401           "properties": {
25402             "Arch": {
25403               "type": "string"
25404             },
25405             "Number": {
25406               "$ref": "#/definitions/Number"
25407             },
25408             "Series": {
25409               "type": "string"
25410             }
25411           },
25412           "additionalProperties": false,
25413           "required": [
25414             "Number",
25415             "Series",
25416             "Arch"
25417           ]
25418         },
25419         "Entities": {
25420           "type": "object",
25421           "properties": {
25422             "entities": {
25423               "type": "array",
25424               "items": {
25425                 "$ref": "#/definitions/Entity"
25426               }
25427             }
25428           },
25429           "additionalProperties": false,
25430           "required": [
25431             "entities"
25432           ]
25433         },
25434         "EntitiesVersion": {
25435           "type": "object",
25436           "properties": {
25437             "agent-tools": {
25438               "type": "array",
25439               "items": {
25440                 "$ref": "#/definitions/EntityVersion"
25441               }
25442             }
25443           },
25444           "additionalProperties": false,
25445           "required": [
25446             "agent-tools"
25447           ]
25448         },
25449         "Entity": {
25450           "type": "object",
25451           "properties": {
25452             "tag": {
25453               "type": "string"
25454             }
25455           },
25456           "additionalProperties": false,
25457           "required": [
25458             "tag"
25459           ]
25460         },
25461         "EntityVersion": {
25462           "type": "object",
25463           "properties": {
25464             "tag": {
25465               "type": "string"
25466             },
25467             "tools": {
25468               "$ref": "#/definitions/Version"
25469             }
25470           },
25471           "additionalProperties": false,
25472           "required": [
25473             "tag",
25474             "tools"
25475           ]
25476         },
25477         "Error": {
25478           "type": "object",
25479           "properties": {
25480             "code": {
25481               "type": "string"
25482             },
25483             "info": {
25484               "$ref": "#/definitions/ErrorInfo"
25485             },
25486             "message": {
25487               "type": "string"
25488             }
25489           },
25490           "additionalProperties": false,
25491           "required": [
25492             "message",
25493             "code"
25494           ]
25495         },
25496         "ErrorInfo": {
25497           "type": "object",
25498           "properties": {
25499             "macaroon": {
25500               "$ref": "#/definitions/Macaroon"
25501             },
25502             "macaroon-path": {
25503               "type": "string"
25504             }
25505           },
25506           "additionalProperties": false
25507         },
25508         "ErrorResult": {
25509           "type": "object",
25510           "properties": {
25511             "error": {
25512               "$ref": "#/definitions/Error"
25513             }
25514           },
25515           "additionalProperties": false
25516         },
25517         "ErrorResults": {
25518           "type": "object",
25519           "properties": {
25520             "results": {
25521               "type": "array",
25522               "items": {
25523                 "$ref": "#/definitions/ErrorResult"
25524               }
25525             }
25526           },
25527           "additionalProperties": false,
25528           "required": [
25529             "results"
25530           ]
25531         },
25532         "Macaroon": {
25533           "type": "object",
25534           "additionalProperties": false
25535         },
25536         "NotifyWatchResult": {
25537           "type": "object",
25538           "properties": {
25539             "NotifyWatcherId": {
25540               "type": "string"
25541             },
25542             "error": {
25543               "$ref": "#/definitions/Error"
25544             }
25545           },
25546           "additionalProperties": false,
25547           "required": [
25548             "NotifyWatcherId"
25549           ]
25550         },
25551         "NotifyWatchResults": {
25552           "type": "object",
25553           "properties": {
25554             "results": {
25555               "type": "array",
25556               "items": {
25557                 "$ref": "#/definitions/NotifyWatchResult"
25558               }
25559             }
25560           },
25561           "additionalProperties": false,
25562           "required": [
25563             "results"
25564           ]
25565         },
25566         "Number": {
25567           "type": "object",
25568           "properties": {
25569             "Build": {
25570               "type": "integer"
25571             },
25572             "Major": {
25573               "type": "integer"
25574             },
25575             "Minor": {
25576               "type": "integer"
25577             },
25578             "Patch": {
25579               "type": "integer"
25580             },
25581             "Tag": {
25582               "type": "string"
25583             }
25584           },
25585           "additionalProperties": false,
25586           "required": [
25587             "Major",
25588             "Minor",
25589             "Tag",
25590             "Patch",
25591             "Build"
25592           ]
25593         },
25594         "Tools": {
25595           "type": "object",
25596           "properties": {
25597             "sha256": {
25598               "type": "string"
25599             },
25600             "size": {
25601               "type": "integer"
25602             },
25603             "url": {
25604               "type": "string"
25605             },
25606             "version": {
25607               "$ref": "#/definitions/Binary"
25608             }
25609           },
25610           "additionalProperties": false,
25611           "required": [
25612             "version",
25613             "url",
25614             "size"
25615           ]
25616         },
25617         "ToolsResult": {
25618           "type": "object",
25619           "properties": {
25620             "disable-ssl-hostname-verification": {
25621               "type": "boolean"
25622             },
25623             "error": {
25624               "$ref": "#/definitions/Error"
25625             },
25626             "tools": {
25627               "type": "array",
25628               "items": {
25629                 "$ref": "#/definitions/Tools"
25630               }
25631             }
25632           },
25633           "additionalProperties": false,
25634           "required": [
25635             "tools",
25636             "disable-ssl-hostname-verification"
25637           ]
25638         },
25639         "ToolsResults": {
25640           "type": "object",
25641           "properties": {
25642             "results": {
25643               "type": "array",
25644               "items": {
25645                 "$ref": "#/definitions/ToolsResult"
25646               }
25647             }
25648           },
25649           "additionalProperties": false,
25650           "required": [
25651             "results"
25652           ]
25653         },
25654         "Version": {
25655           "type": "object",
25656           "properties": {
25657             "version": {
25658               "$ref": "#/definitions/Binary"
25659             }
25660           },
25661           "additionalProperties": false,
25662           "required": [
25663             "version"
25664           ]
25665         },
25666         "VersionResult": {
25667           "type": "object",
25668           "properties": {
25669             "error": {
25670               "$ref": "#/definitions/Error"
25671             },
25672             "version": {
25673               "$ref": "#/definitions/Number"
25674             }
25675           },
25676           "additionalProperties": false
25677         },
25678         "VersionResults": {
25679           "type": "object",
25680           "properties": {
25681             "results": {
25682               "type": "array",
25683               "items": {
25684                 "$ref": "#/definitions/VersionResult"
25685               }
25686             }
25687           },
25688           "additionalProperties": false,
25689           "required": [
25690             "results"
25691           ]
25692         }
25693       }
25694     }
25695   },
25696   {
25697     "Name": "UserManager",
25698     "Version": 1,
25699     "Schema": {
25700       "type": "object",
25701       "properties": {
25702         "AddUser": {
25703           "type": "object",
25704           "properties": {
25705             "Params": {
25706               "$ref": "#/definitions/AddUsers"
25707             },
25708             "Result": {
25709               "$ref": "#/definitions/AddUserResults"
25710             }
25711           }
25712         },
25713         "DisableUser": {
25714           "type": "object",
25715           "properties": {
25716             "Params": {
25717               "$ref": "#/definitions/Entities"
25718             },
25719             "Result": {
25720               "$ref": "#/definitions/ErrorResults"
25721             }
25722           }
25723         },
25724         "EnableUser": {
25725           "type": "object",
25726           "properties": {
25727             "Params": {
25728               "$ref": "#/definitions/Entities"
25729             },
25730             "Result": {
25731               "$ref": "#/definitions/ErrorResults"
25732             }
25733           }
25734         },
25735         "RemoveUser": {
25736           "type": "object",
25737           "properties": {
25738             "Params": {
25739               "$ref": "#/definitions/Entities"
25740             },
25741             "Result": {
25742               "$ref": "#/definitions/ErrorResults"
25743             }
25744           }
25745         },
25746         "SetPassword": {
25747           "type": "object",
25748           "properties": {
25749             "Params": {
25750               "$ref": "#/definitions/EntityPasswords"
25751             },
25752             "Result": {
25753               "$ref": "#/definitions/ErrorResults"
25754             }
25755           }
25756         },
25757         "UserInfo": {
25758           "type": "object",
25759           "properties": {
25760             "Params": {
25761               "$ref": "#/definitions/UserInfoRequest"
25762             },
25763             "Result": {
25764               "$ref": "#/definitions/UserInfoResults"
25765             }
25766           }
25767         }
25768       },
25769       "definitions": {
25770         "AddUser": {
25771           "type": "object",
25772           "properties": {
25773             "display-name": {
25774               "type": "string"
25775             },
25776             "password": {
25777               "type": "string"
25778             },
25779             "username": {
25780               "type": "string"
25781             }
25782           },
25783           "additionalProperties": false,
25784           "required": [
25785             "username",
25786             "display-name"
25787           ]
25788         },
25789         "AddUserResult": {
25790           "type": "object",
25791           "properties": {
25792             "error": {
25793               "$ref": "#/definitions/Error"
25794             },
25795             "secret-key": {
25796               "type": "array",
25797               "items": {
25798                 "type": "integer"
25799               }
25800             },
25801             "tag": {
25802               "type": "string"
25803             }
25804           },
25805           "additionalProperties": false
25806         },
25807         "AddUserResults": {
25808           "type": "object",
25809           "properties": {
25810             "results": {
25811               "type": "array",
25812               "items": {
25813                 "$ref": "#/definitions/AddUserResult"
25814               }
25815             }
25816           },
25817           "additionalProperties": false,
25818           "required": [
25819             "results"
25820           ]
25821         },
25822         "AddUsers": {
25823           "type": "object",
25824           "properties": {
25825             "users": {
25826               "type": "array",
25827               "items": {
25828                 "$ref": "#/definitions/AddUser"
25829               }
25830             }
25831           },
25832           "additionalProperties": false,
25833           "required": [
25834             "users"
25835           ]
25836         },
25837         "Entities": {
25838           "type": "object",
25839           "properties": {
25840             "entities": {
25841               "type": "array",
25842               "items": {
25843                 "$ref": "#/definitions/Entity"
25844               }
25845             }
25846           },
25847           "additionalProperties": false,
25848           "required": [
25849             "entities"
25850           ]
25851         },
25852         "Entity": {
25853           "type": "object",
25854           "properties": {
25855             "tag": {
25856               "type": "string"
25857             }
25858           },
25859           "additionalProperties": false,
25860           "required": [
25861             "tag"
25862           ]
25863         },
25864         "EntityPassword": {
25865           "type": "object",
25866           "properties": {
25867             "password": {
25868               "type": "string"
25869             },
25870             "tag": {
25871               "type": "string"
25872             }
25873           },
25874           "additionalProperties": false,
25875           "required": [
25876             "tag",
25877             "password"
25878           ]
25879         },
25880         "EntityPasswords": {
25881           "type": "object",
25882           "properties": {
25883             "changes": {
25884               "type": "array",
25885               "items": {
25886                 "$ref": "#/definitions/EntityPassword"
25887               }
25888             }
25889           },
25890           "additionalProperties": false,
25891           "required": [
25892             "changes"
25893           ]
25894         },
25895         "Error": {
25896           "type": "object",
25897           "properties": {
25898             "code": {
25899               "type": "string"
25900             },
25901             "info": {
25902               "$ref": "#/definitions/ErrorInfo"
25903             },
25904             "message": {
25905               "type": "string"
25906             }
25907           },
25908           "additionalProperties": false,
25909           "required": [
25910             "message",
25911             "code"
25912           ]
25913         },
25914         "ErrorInfo": {
25915           "type": "object",
25916           "properties": {
25917             "macaroon": {
25918               "$ref": "#/definitions/Macaroon"
25919             },
25920             "macaroon-path": {
25921               "type": "string"
25922             }
25923           },
25924           "additionalProperties": false
25925         },
25926         "ErrorResult": {
25927           "type": "object",
25928           "properties": {
25929             "error": {
25930               "$ref": "#/definitions/Error"
25931             }
25932           },
25933           "additionalProperties": false
25934         },
25935         "ErrorResults": {
25936           "type": "object",
25937           "properties": {
25938             "results": {
25939               "type": "array",
25940               "items": {
25941                 "$ref": "#/definitions/ErrorResult"
25942               }
25943             }
25944           },
25945           "additionalProperties": false,
25946           "required": [
25947             "results"
25948           ]
25949         },
25950         "Macaroon": {
25951           "type": "object",
25952           "additionalProperties": false
25953         },
25954         "UserInfo": {
25955           "type": "object",
25956           "properties": {
25957             "access": {
25958               "type": "string"
25959             },
25960             "created-by": {
25961               "type": "string"
25962             },
25963             "date-created": {
25964               "type": "string",
25965               "format": "date-time"
25966             },
25967             "disabled": {
25968               "type": "boolean"
25969             },
25970             "display-name": {
25971               "type": "string"
25972             },
25973             "last-connection": {
25974               "type": "string",
25975               "format": "date-time"
25976             },
25977             "username": {
25978               "type": "string"
25979             }
25980           },
25981           "additionalProperties": false,
25982           "required": [
25983             "username",
25984             "display-name",
25985             "access",
25986             "created-by",
25987             "date-created",
25988             "disabled"
25989           ]
25990         },
25991         "UserInfoRequest": {
25992           "type": "object",
25993           "properties": {
25994             "entities": {
25995               "type": "array",
25996               "items": {
25997                 "$ref": "#/definitions/Entity"
25998               }
25999             },
26000             "include-disabled": {
26001               "type": "boolean"
26002             }
26003           },
26004           "additionalProperties": false,
26005           "required": [
26006             "entities",
26007             "include-disabled"
26008           ]
26009         },
26010         "UserInfoResult": {
26011           "type": "object",
26012           "properties": {
26013             "error": {
26014               "$ref": "#/definitions/Error"
26015             },
26016             "result": {
26017               "$ref": "#/definitions/UserInfo"
26018             }
26019           },
26020           "additionalProperties": false
26021         },
26022         "UserInfoResults": {
26023           "type": "object",
26024           "properties": {
26025             "results": {
26026               "type": "array",
26027               "items": {
26028                 "$ref": "#/definitions/UserInfoResult"
26029               }
26030             }
26031           },
26032           "additionalProperties": false,
26033           "required": [
26034             "results"
26035           ]
26036         }
26037       }
26038     }
26039   },
26040   {
26041     "Name": "VolumeAttachmentsWatcher",
26042     "Version": 2,
26043     "Schema": {
26044       "type": "object",
26045       "properties": {
26046         "Next": {
26047           "type": "object",
26048           "properties": {
26049             "Result": {
26050               "$ref": "#/definitions/MachineStorageIdsWatchResult"
26051             }
26052           }
26053         },
26054         "Stop": {
26055           "type": "object"
26056         }
26057       },
26058       "definitions": {
26059         "Error": {
26060           "type": "object",
26061           "properties": {
26062             "code": {
26063               "type": "string"
26064             },
26065             "info": {
26066               "$ref": "#/definitions/ErrorInfo"
26067             },
26068             "message": {
26069               "type": "string"
26070             }
26071           },
26072           "additionalProperties": false,
26073           "required": [
26074             "message",
26075             "code"
26076           ]
26077         },
26078         "ErrorInfo": {
26079           "type": "object",
26080           "properties": {
26081             "macaroon": {
26082               "$ref": "#/definitions/Macaroon"
26083             },
26084             "macaroon-path": {
26085               "type": "string"
26086             }
26087           },
26088           "additionalProperties": false
26089         },
26090         "Macaroon": {
26091           "type": "object",
26092           "additionalProperties": false
26093         },
26094         "MachineStorageId": {
26095           "type": "object",
26096           "properties": {
26097             "attachment-tag": {
26098               "type": "string"
26099             },
26100             "machine-tag": {
26101               "type": "string"
26102             }
26103           },
26104           "additionalProperties": false,
26105           "required": [
26106             "machine-tag",
26107             "attachment-tag"
26108           ]
26109         },
26110         "MachineStorageIdsWatchResult": {
26111           "type": "object",
26112           "properties": {
26113             "changes": {
26114               "type": "array",
26115               "items": {
26116                 "$ref": "#/definitions/MachineStorageId"
26117               }
26118             },
26119             "error": {
26120               "$ref": "#/definitions/Error"
26121             },
26122             "watcher-id": {
26123               "type": "string"
26124             }
26125           },
26126           "additionalProperties": false,
26127           "required": [
26128             "watcher-id",
26129             "changes"
26130           ]
26131         }
26132       }
26133     }
26134   }
26135 ]