Merge changes Iacd2f028,I43a6d573,Ibb6c93bb
[osm/N2VC.git] / modules / libjuju / juju / client / schemas-juju-2.0.3.json
1 [
2   {
3     "Name": "Action",
4     "Version": 2,
5     "Schema": {
6       "type": "object",
7       "properties": {
8         "Actions": {
9           "type": "object",
10           "properties": {
11             "Params": {
12               "$ref": "#/definitions/Entities"
13             },
14             "Result": {
15               "$ref": "#/definitions/ActionResults"
16             }
17           }
18         },
19         "ApplicationsCharmsActions": {
20           "type": "object",
21           "properties": {
22             "Params": {
23               "$ref": "#/definitions/Entities"
24             },
25             "Result": {
26               "$ref": "#/definitions/ApplicationsCharmActionsResults"
27             }
28           }
29         },
30         "Cancel": {
31           "type": "object",
32           "properties": {
33             "Params": {
34               "$ref": "#/definitions/Entities"
35             },
36             "Result": {
37               "$ref": "#/definitions/ActionResults"
38             }
39           }
40         },
41         "Enqueue": {
42           "type": "object",
43           "properties": {
44             "Params": {
45               "$ref": "#/definitions/Actions"
46             },
47             "Result": {
48               "$ref": "#/definitions/ActionResults"
49             }
50           }
51         },
52         "FindActionTagsByPrefix": {
53           "type": "object",
54           "properties": {
55             "Params": {
56               "$ref": "#/definitions/FindTags"
57             },
58             "Result": {
59               "$ref": "#/definitions/FindTagsResults"
60             }
61           }
62         },
63         "FindActionsByNames": {
64           "type": "object",
65           "properties": {
66             "Params": {
67               "$ref": "#/definitions/FindActionsByNames"
68             },
69             "Result": {
70               "$ref": "#/definitions/ActionsByNames"
71             }
72           }
73         },
74         "ListAll": {
75           "type": "object",
76           "properties": {
77             "Params": {
78               "$ref": "#/definitions/Entities"
79             },
80             "Result": {
81               "$ref": "#/definitions/ActionsByReceivers"
82             }
83           }
84         },
85         "ListCompleted": {
86           "type": "object",
87           "properties": {
88             "Params": {
89               "$ref": "#/definitions/Entities"
90             },
91             "Result": {
92               "$ref": "#/definitions/ActionsByReceivers"
93             }
94           }
95         },
96         "ListPending": {
97           "type": "object",
98           "properties": {
99             "Params": {
100               "$ref": "#/definitions/Entities"
101             },
102             "Result": {
103               "$ref": "#/definitions/ActionsByReceivers"
104             }
105           }
106         },
107         "ListRunning": {
108           "type": "object",
109           "properties": {
110             "Params": {
111               "$ref": "#/definitions/Entities"
112             },
113             "Result": {
114               "$ref": "#/definitions/ActionsByReceivers"
115             }
116           }
117         },
118         "Run": {
119           "type": "object",
120           "properties": {
121             "Params": {
122               "$ref": "#/definitions/RunParams"
123             },
124             "Result": {
125               "$ref": "#/definitions/ActionResults"
126             }
127           }
128         },
129         "RunOnAllMachines": {
130           "type": "object",
131           "properties": {
132             "Params": {
133               "$ref": "#/definitions/RunParams"
134             },
135             "Result": {
136               "$ref": "#/definitions/ActionResults"
137             }
138           }
139         }
140       },
141       "definitions": {
142         "Action": {
143           "type": "object",
144           "properties": {
145             "name": {
146               "type": "string"
147             },
148             "parameters": {
149               "type": "object",
150               "patternProperties": {
151                 ".*": {
152                   "type": "object",
153                   "additionalProperties": true
154                 }
155               }
156             },
157             "receiver": {
158               "type": "string"
159             },
160             "tag": {
161               "type": "string"
162             }
163           },
164           "additionalProperties": false,
165           "required": [
166             "tag",
167             "receiver",
168             "name"
169           ]
170         },
171         "ActionResult": {
172           "type": "object",
173           "properties": {
174             "action": {
175               "$ref": "#/definitions/Action"
176             },
177             "completed": {
178               "type": "string",
179               "format": "date-time"
180             },
181             "enqueued": {
182               "type": "string",
183               "format": "date-time"
184             },
185             "error": {
186               "$ref": "#/definitions/Error"
187             },
188             "message": {
189               "type": "string"
190             },
191             "output": {
192               "type": "object",
193               "patternProperties": {
194                 ".*": {
195                   "type": "object",
196                   "additionalProperties": true
197                 }
198               }
199             },
200             "started": {
201               "type": "string",
202               "format": "date-time"
203             },
204             "status": {
205               "type": "string"
206             }
207           },
208           "additionalProperties": false
209         },
210         "ActionResults": {
211           "type": "object",
212           "properties": {
213             "results": {
214               "type": "array",
215               "items": {
216                 "$ref": "#/definitions/ActionResult"
217               }
218             }
219           },
220           "additionalProperties": false
221         },
222         "ActionSpec": {
223           "type": "object",
224           "properties": {
225             "description": {
226               "type": "string"
227             },
228             "params": {
229               "type": "object",
230               "patternProperties": {
231                 ".*": {
232                   "type": "object",
233                   "additionalProperties": true
234                 }
235               }
236             }
237           },
238           "additionalProperties": false,
239           "required": [
240             "description",
241             "params"
242           ]
243         },
244         "Actions": {
245           "type": "object",
246           "properties": {
247             "actions": {
248               "type": "array",
249               "items": {
250                 "$ref": "#/definitions/Action"
251               }
252             }
253           },
254           "additionalProperties": false
255         },
256         "ActionsByName": {
257           "type": "object",
258           "properties": {
259             "actions": {
260               "type": "array",
261               "items": {
262                 "$ref": "#/definitions/ActionResult"
263               }
264             },
265             "error": {
266               "$ref": "#/definitions/Error"
267             },
268             "name": {
269               "type": "string"
270             }
271           },
272           "additionalProperties": false
273         },
274         "ActionsByNames": {
275           "type": "object",
276           "properties": {
277             "actions": {
278               "type": "array",
279               "items": {
280                 "$ref": "#/definitions/ActionsByName"
281               }
282             }
283           },
284           "additionalProperties": false
285         },
286         "ActionsByReceiver": {
287           "type": "object",
288           "properties": {
289             "actions": {
290               "type": "array",
291               "items": {
292                 "$ref": "#/definitions/ActionResult"
293               }
294             },
295             "error": {
296               "$ref": "#/definitions/Error"
297             },
298             "receiver": {
299               "type": "string"
300             }
301           },
302           "additionalProperties": false
303         },
304         "ActionsByReceivers": {
305           "type": "object",
306           "properties": {
307             "actions": {
308               "type": "array",
309               "items": {
310                 "$ref": "#/definitions/ActionsByReceiver"
311               }
312             }
313           },
314           "additionalProperties": false
315         },
316         "ApplicationCharmActionsResult": {
317           "type": "object",
318           "properties": {
319             "actions": {
320               "type": "object",
321               "patternProperties": {
322                 ".*": {
323                   "$ref": "#/definitions/ActionSpec"
324                 }
325               }
326             },
327             "application-tag": {
328               "type": "string"
329             },
330             "error": {
331               "$ref": "#/definitions/Error"
332             }
333           },
334           "additionalProperties": false
335         },
336         "ApplicationsCharmActionsResults": {
337           "type": "object",
338           "properties": {
339             "results": {
340               "type": "array",
341               "items": {
342                 "$ref": "#/definitions/ApplicationCharmActionsResult"
343               }
344             }
345           },
346           "additionalProperties": false
347         },
348         "Entities": {
349           "type": "object",
350           "properties": {
351             "entities": {
352               "type": "array",
353               "items": {
354                 "$ref": "#/definitions/Entity"
355               }
356             }
357           },
358           "additionalProperties": false,
359           "required": [
360             "entities"
361           ]
362         },
363         "Entity": {
364           "type": "object",
365           "properties": {
366             "tag": {
367               "type": "string"
368             }
369           },
370           "additionalProperties": false,
371           "required": [
372             "tag"
373           ]
374         },
375         "Error": {
376           "type": "object",
377           "properties": {
378             "code": {
379               "type": "string"
380             },
381             "info": {
382               "$ref": "#/definitions/ErrorInfo"
383             },
384             "message": {
385               "type": "string"
386             }
387           },
388           "additionalProperties": false,
389           "required": [
390             "message",
391             "code"
392           ]
393         },
394         "ErrorInfo": {
395           "type": "object",
396           "properties": {
397             "macaroon": {
398               "$ref": "#/definitions/Macaroon"
399             },
400             "macaroon-path": {
401               "type": "string"
402             }
403           },
404           "additionalProperties": false
405         },
406         "FindActionsByNames": {
407           "type": "object",
408           "properties": {
409             "names": {
410               "type": "array",
411               "items": {
412                 "type": "string"
413               }
414             }
415           },
416           "additionalProperties": false
417         },
418         "FindTags": {
419           "type": "object",
420           "properties": {
421             "prefixes": {
422               "type": "array",
423               "items": {
424                 "type": "string"
425               }
426             }
427           },
428           "additionalProperties": false,
429           "required": [
430             "prefixes"
431           ]
432         },
433         "FindTagsResults": {
434           "type": "object",
435           "properties": {
436             "matches": {
437               "type": "object",
438               "patternProperties": {
439                 ".*": {
440                   "type": "array",
441                   "items": {
442                     "$ref": "#/definitions/Entity"
443                   }
444                 }
445               }
446             }
447           },
448           "additionalProperties": false,
449           "required": [
450             "matches"
451           ]
452         },
453         "Macaroon": {
454           "type": "object",
455           "additionalProperties": false
456         },
457         "RunParams": {
458           "type": "object",
459           "properties": {
460             "applications": {
461               "type": "array",
462               "items": {
463                 "type": "string"
464               }
465             },
466             "commands": {
467               "type": "string"
468             },
469             "machines": {
470               "type": "array",
471               "items": {
472                 "type": "string"
473               }
474             },
475             "timeout": {
476               "type": "integer"
477             },
478             "units": {
479               "type": "array",
480               "items": {
481                 "type": "string"
482               }
483             }
484           },
485           "additionalProperties": false,
486           "required": [
487             "commands",
488             "timeout"
489           ]
490         }
491       }
492     }
493   },
494   {
495     "Name": "Agent",
496     "Version": 2,
497     "Schema": {
498       "type": "object",
499       "properties": {
500         "ClearReboot": {
501           "type": "object",
502           "properties": {
503             "Params": {
504               "$ref": "#/definitions/Entities"
505             },
506             "Result": {
507               "$ref": "#/definitions/ErrorResults"
508             }
509           }
510         },
511         "CloudSpec": {
512           "type": "object",
513           "properties": {
514             "Params": {
515               "$ref": "#/definitions/Entities"
516             },
517             "Result": {
518               "$ref": "#/definitions/CloudSpecResults"
519             }
520           }
521         },
522         "ControllerConfig": {
523           "type": "object",
524           "properties": {
525             "Result": {
526               "$ref": "#/definitions/ControllerConfigResult"
527             }
528           }
529         },
530         "GetCloudSpec": {
531           "type": "object",
532           "properties": {
533             "Params": {
534               "$ref": "#/definitions/ModelTag"
535             },
536             "Result": {
537               "$ref": "#/definitions/CloudSpecResult"
538             }
539           }
540         },
541         "GetEntities": {
542           "type": "object",
543           "properties": {
544             "Params": {
545               "$ref": "#/definitions/Entities"
546             },
547             "Result": {
548               "$ref": "#/definitions/AgentGetEntitiesResults"
549             }
550           }
551         },
552         "IsMaster": {
553           "type": "object",
554           "properties": {
555             "Result": {
556               "$ref": "#/definitions/IsMasterResult"
557             }
558           }
559         },
560         "ModelConfig": {
561           "type": "object",
562           "properties": {
563             "Result": {
564               "$ref": "#/definitions/ModelConfigResult"
565             }
566           }
567         },
568         "SetPasswords": {
569           "type": "object",
570           "properties": {
571             "Params": {
572               "$ref": "#/definitions/EntityPasswords"
573             },
574             "Result": {
575               "$ref": "#/definitions/ErrorResults"
576             }
577           }
578         },
579         "StateServingInfo": {
580           "type": "object",
581           "properties": {
582             "Result": {
583               "$ref": "#/definitions/StateServingInfo"
584             }
585           }
586         },
587         "WatchCredentials": {
588           "type": "object",
589           "properties": {
590             "Params": {
591               "$ref": "#/definitions/Entities"
592             },
593             "Result": {
594               "$ref": "#/definitions/NotifyWatchResults"
595             }
596           }
597         },
598         "WatchForModelConfigChanges": {
599           "type": "object",
600           "properties": {
601             "Result": {
602               "$ref": "#/definitions/NotifyWatchResult"
603             }
604           }
605         }
606       },
607       "definitions": {
608         "AgentGetEntitiesResult": {
609           "type": "object",
610           "properties": {
611             "container-type": {
612               "type": "string"
613             },
614             "error": {
615               "$ref": "#/definitions/Error"
616             },
617             "jobs": {
618               "type": "array",
619               "items": {
620                 "type": "string"
621               }
622             },
623             "life": {
624               "type": "string"
625             }
626           },
627           "additionalProperties": false,
628           "required": [
629             "life",
630             "jobs",
631             "container-type"
632           ]
633         },
634         "AgentGetEntitiesResults": {
635           "type": "object",
636           "properties": {
637             "entities": {
638               "type": "array",
639               "items": {
640                 "$ref": "#/definitions/AgentGetEntitiesResult"
641               }
642             }
643           },
644           "additionalProperties": false,
645           "required": [
646             "entities"
647           ]
648         },
649         "CloudCredential": {
650           "type": "object",
651           "properties": {
652             "attrs": {
653               "type": "object",
654               "patternProperties": {
655                 ".*": {
656                   "type": "string"
657                 }
658               }
659             },
660             "auth-type": {
661               "type": "string"
662             },
663             "redacted": {
664               "type": "array",
665               "items": {
666                 "type": "string"
667               }
668             }
669           },
670           "additionalProperties": false,
671           "required": [
672             "auth-type"
673           ]
674         },
675         "CloudSpec": {
676           "type": "object",
677           "properties": {
678             "credential": {
679               "$ref": "#/definitions/CloudCredential"
680             },
681             "endpoint": {
682               "type": "string"
683             },
684             "identity-endpoint": {
685               "type": "string"
686             },
687             "name": {
688               "type": "string"
689             },
690             "region": {
691               "type": "string"
692             },
693             "storage-endpoint": {
694               "type": "string"
695             },
696             "type": {
697               "type": "string"
698             }
699           },
700           "additionalProperties": false,
701           "required": [
702             "type",
703             "name"
704           ]
705         },
706         "CloudSpecResult": {
707           "type": "object",
708           "properties": {
709             "error": {
710               "$ref": "#/definitions/Error"
711             },
712             "result": {
713               "$ref": "#/definitions/CloudSpec"
714             }
715           },
716           "additionalProperties": false
717         },
718         "CloudSpecResults": {
719           "type": "object",
720           "properties": {
721             "results": {
722               "type": "array",
723               "items": {
724                 "$ref": "#/definitions/CloudSpecResult"
725               }
726             }
727           },
728           "additionalProperties": false
729         },
730         "ControllerConfigResult": {
731           "type": "object",
732           "properties": {
733             "config": {
734               "type": "object",
735               "patternProperties": {
736                 ".*": {
737                   "type": "object",
738                   "additionalProperties": true
739                 }
740               }
741             }
742           },
743           "additionalProperties": false,
744           "required": [
745             "config"
746           ]
747         },
748         "Entities": {
749           "type": "object",
750           "properties": {
751             "entities": {
752               "type": "array",
753               "items": {
754                 "$ref": "#/definitions/Entity"
755               }
756             }
757           },
758           "additionalProperties": false,
759           "required": [
760             "entities"
761           ]
762         },
763         "Entity": {
764           "type": "object",
765           "properties": {
766             "tag": {
767               "type": "string"
768             }
769           },
770           "additionalProperties": false,
771           "required": [
772             "tag"
773           ]
774         },
775         "EntityPassword": {
776           "type": "object",
777           "properties": {
778             "password": {
779               "type": "string"
780             },
781             "tag": {
782               "type": "string"
783             }
784           },
785           "additionalProperties": false,
786           "required": [
787             "tag",
788             "password"
789           ]
790         },
791         "EntityPasswords": {
792           "type": "object",
793           "properties": {
794             "changes": {
795               "type": "array",
796               "items": {
797                 "$ref": "#/definitions/EntityPassword"
798               }
799             }
800           },
801           "additionalProperties": false,
802           "required": [
803             "changes"
804           ]
805         },
806         "Error": {
807           "type": "object",
808           "properties": {
809             "code": {
810               "type": "string"
811             },
812             "info": {
813               "$ref": "#/definitions/ErrorInfo"
814             },
815             "message": {
816               "type": "string"
817             }
818           },
819           "additionalProperties": false,
820           "required": [
821             "message",
822             "code"
823           ]
824         },
825         "ErrorInfo": {
826           "type": "object",
827           "properties": {
828             "macaroon": {
829               "$ref": "#/definitions/Macaroon"
830             },
831             "macaroon-path": {
832               "type": "string"
833             }
834           },
835           "additionalProperties": false
836         },
837         "ErrorResult": {
838           "type": "object",
839           "properties": {
840             "error": {
841               "$ref": "#/definitions/Error"
842             }
843           },
844           "additionalProperties": false
845         },
846         "ErrorResults": {
847           "type": "object",
848           "properties": {
849             "results": {
850               "type": "array",
851               "items": {
852                 "$ref": "#/definitions/ErrorResult"
853               }
854             }
855           },
856           "additionalProperties": false,
857           "required": [
858             "results"
859           ]
860         },
861         "IsMasterResult": {
862           "type": "object",
863           "properties": {
864             "master": {
865               "type": "boolean"
866             }
867           },
868           "additionalProperties": false,
869           "required": [
870             "master"
871           ]
872         },
873         "Macaroon": {
874           "type": "object",
875           "additionalProperties": false
876         },
877         "ModelConfigResult": {
878           "type": "object",
879           "properties": {
880             "config": {
881               "type": "object",
882               "patternProperties": {
883                 ".*": {
884                   "type": "object",
885                   "additionalProperties": true
886                 }
887               }
888             }
889           },
890           "additionalProperties": false,
891           "required": [
892             "config"
893           ]
894         },
895         "ModelTag": {
896           "type": "object",
897           "additionalProperties": false
898         },
899         "NotifyWatchResult": {
900           "type": "object",
901           "properties": {
902             "NotifyWatcherId": {
903               "type": "string"
904             },
905             "error": {
906               "$ref": "#/definitions/Error"
907             }
908           },
909           "additionalProperties": false,
910           "required": [
911             "NotifyWatcherId"
912           ]
913         },
914         "NotifyWatchResults": {
915           "type": "object",
916           "properties": {
917             "results": {
918               "type": "array",
919               "items": {
920                 "$ref": "#/definitions/NotifyWatchResult"
921               }
922             }
923           },
924           "additionalProperties": false,
925           "required": [
926             "results"
927           ]
928         },
929         "StateServingInfo": {
930           "type": "object",
931           "properties": {
932             "api-port": {
933               "type": "integer"
934             },
935             "ca-private-key": {
936               "type": "string"
937             },
938             "cert": {
939               "type": "string"
940             },
941             "private-key": {
942               "type": "string"
943             },
944             "shared-secret": {
945               "type": "string"
946             },
947             "state-port": {
948               "type": "integer"
949             },
950             "system-identity": {
951               "type": "string"
952             }
953           },
954           "additionalProperties": false,
955           "required": [
956             "api-port",
957             "state-port",
958             "cert",
959             "private-key",
960             "ca-private-key",
961             "shared-secret",
962             "system-identity"
963           ]
964         }
965       }
966     }
967   },
968   {
969     "Name": "AgentTools",
970     "Version": 1,
971     "Schema": {
972       "type": "object",
973       "properties": {
974         "UpdateToolsAvailable": {
975           "type": "object"
976         }
977       }
978     }
979   },
980   {
981     "Name": "AllModelWatcher",
982     "Version": 2,
983     "Schema": {
984       "type": "object",
985       "properties": {
986         "Next": {
987           "type": "object",
988           "properties": {
989             "Result": {
990               "$ref": "#/definitions/AllWatcherNextResults"
991             }
992           }
993         },
994         "Stop": {
995           "type": "object"
996         }
997       },
998       "definitions": {
999         "AllWatcherNextResults": {
1000           "type": "object",
1001           "properties": {
1002             "deltas": {
1003               "type": "array",
1004               "items": {
1005                 "$ref": "#/definitions/Delta"
1006               }
1007             }
1008           },
1009           "additionalProperties": false,
1010           "required": [
1011             "deltas"
1012           ]
1013         },
1014         "Delta": {
1015           "type": "object",
1016           "properties": {
1017             "entity": {
1018               "type": "object",
1019               "additionalProperties": true
1020             },
1021             "removed": {
1022               "type": "boolean"
1023             }
1024           },
1025           "additionalProperties": false,
1026           "required": [
1027             "removed",
1028             "entity"
1029           ]
1030         }
1031       }
1032     }
1033   },
1034   {
1035     "Name": "AllWatcher",
1036     "Version": 1,
1037     "Schema": {
1038       "type": "object",
1039       "properties": {
1040         "Next": {
1041           "type": "object",
1042           "properties": {
1043             "Result": {
1044               "$ref": "#/definitions/AllWatcherNextResults"
1045             }
1046           }
1047         },
1048         "Stop": {
1049           "type": "object"
1050         }
1051       },
1052       "definitions": {
1053         "AllWatcherNextResults": {
1054           "type": "object",
1055           "properties": {
1056             "deltas": {
1057               "type": "array",
1058               "items": {
1059                 "$ref": "#/definitions/Delta"
1060               }
1061             }
1062           },
1063           "additionalProperties": false,
1064           "required": [
1065             "deltas"
1066           ]
1067         },
1068         "Delta": {
1069           "type": "object",
1070           "properties": {
1071             "entity": {
1072               "type": "object",
1073               "additionalProperties": true
1074             },
1075             "removed": {
1076               "type": "boolean"
1077             }
1078           },
1079           "additionalProperties": false,
1080           "required": [
1081             "removed",
1082             "entity"
1083           ]
1084         }
1085       }
1086     }
1087   },
1088   {
1089     "Name": "Annotations",
1090     "Version": 2,
1091     "Schema": {
1092       "type": "object",
1093       "properties": {
1094         "Get": {
1095           "type": "object",
1096           "properties": {
1097             "Params": {
1098               "$ref": "#/definitions/Entities"
1099             },
1100             "Result": {
1101               "$ref": "#/definitions/AnnotationsGetResults"
1102             }
1103           }
1104         },
1105         "Set": {
1106           "type": "object",
1107           "properties": {
1108             "Params": {
1109               "$ref": "#/definitions/AnnotationsSet"
1110             },
1111             "Result": {
1112               "$ref": "#/definitions/ErrorResults"
1113             }
1114           }
1115         }
1116       },
1117       "definitions": {
1118         "AnnotationsGetResult": {
1119           "type": "object",
1120           "properties": {
1121             "annotations": {
1122               "type": "object",
1123               "patternProperties": {
1124                 ".*": {
1125                   "type": "string"
1126                 }
1127               }
1128             },
1129             "entity": {
1130               "type": "string"
1131             },
1132             "error": {
1133               "$ref": "#/definitions/ErrorResult"
1134             }
1135           },
1136           "additionalProperties": false,
1137           "required": [
1138             "entity",
1139             "annotations"
1140           ]
1141         },
1142         "AnnotationsGetResults": {
1143           "type": "object",
1144           "properties": {
1145             "results": {
1146               "type": "array",
1147               "items": {
1148                 "$ref": "#/definitions/AnnotationsGetResult"
1149               }
1150             }
1151           },
1152           "additionalProperties": false,
1153           "required": [
1154             "results"
1155           ]
1156         },
1157         "AnnotationsSet": {
1158           "type": "object",
1159           "properties": {
1160             "annotations": {
1161               "type": "array",
1162               "items": {
1163                 "$ref": "#/definitions/EntityAnnotations"
1164               }
1165             }
1166           },
1167           "additionalProperties": false,
1168           "required": [
1169             "annotations"
1170           ]
1171         },
1172         "Entities": {
1173           "type": "object",
1174           "properties": {
1175             "entities": {
1176               "type": "array",
1177               "items": {
1178                 "$ref": "#/definitions/Entity"
1179               }
1180             }
1181           },
1182           "additionalProperties": false,
1183           "required": [
1184             "entities"
1185           ]
1186         },
1187         "Entity": {
1188           "type": "object",
1189           "properties": {
1190             "tag": {
1191               "type": "string"
1192             }
1193           },
1194           "additionalProperties": false,
1195           "required": [
1196             "tag"
1197           ]
1198         },
1199         "EntityAnnotations": {
1200           "type": "object",
1201           "properties": {
1202             "annotations": {
1203               "type": "object",
1204               "patternProperties": {
1205                 ".*": {
1206                   "type": "string"
1207                 }
1208               }
1209             },
1210             "entity": {
1211               "type": "string"
1212             }
1213           },
1214           "additionalProperties": false,
1215           "required": [
1216             "entity",
1217             "annotations"
1218           ]
1219         },
1220         "Error": {
1221           "type": "object",
1222           "properties": {
1223             "code": {
1224               "type": "string"
1225             },
1226             "info": {
1227               "$ref": "#/definitions/ErrorInfo"
1228             },
1229             "message": {
1230               "type": "string"
1231             }
1232           },
1233           "additionalProperties": false,
1234           "required": [
1235             "message",
1236             "code"
1237           ]
1238         },
1239         "ErrorInfo": {
1240           "type": "object",
1241           "properties": {
1242             "macaroon": {
1243               "$ref": "#/definitions/Macaroon"
1244             },
1245             "macaroon-path": {
1246               "type": "string"
1247             }
1248           },
1249           "additionalProperties": false
1250         },
1251         "ErrorResult": {
1252           "type": "object",
1253           "properties": {
1254             "error": {
1255               "$ref": "#/definitions/Error"
1256             }
1257           },
1258           "additionalProperties": false
1259         },
1260         "ErrorResults": {
1261           "type": "object",
1262           "properties": {
1263             "results": {
1264               "type": "array",
1265               "items": {
1266                 "$ref": "#/definitions/ErrorResult"
1267               }
1268             }
1269           },
1270           "additionalProperties": false,
1271           "required": [
1272             "results"
1273           ]
1274         },
1275         "Macaroon": {
1276           "type": "object",
1277           "additionalProperties": false
1278         }
1279       }
1280     }
1281   },
1282   {
1283     "Name": "Application",
1284     "Version": 3,
1285     "Schema": {
1286       "type": "object",
1287       "properties": {
1288         "AddRelation": {
1289           "type": "object",
1290           "properties": {
1291             "Params": {
1292               "$ref": "#/definitions/AddRelation"
1293             },
1294             "Result": {
1295               "$ref": "#/definitions/AddRelationResults"
1296             }
1297           }
1298         },
1299         "AddUnits": {
1300           "type": "object",
1301           "properties": {
1302             "Params": {
1303               "$ref": "#/definitions/AddApplicationUnits"
1304             },
1305             "Result": {
1306               "$ref": "#/definitions/AddApplicationUnitsResults"
1307             }
1308           }
1309         },
1310         "CharmRelations": {
1311           "type": "object",
1312           "properties": {
1313             "Params": {
1314               "$ref": "#/definitions/ApplicationCharmRelations"
1315             },
1316             "Result": {
1317               "$ref": "#/definitions/ApplicationCharmRelationsResults"
1318             }
1319           }
1320         },
1321         "Deploy": {
1322           "type": "object",
1323           "properties": {
1324             "Params": {
1325               "$ref": "#/definitions/ApplicationsDeploy"
1326             },
1327             "Result": {
1328               "$ref": "#/definitions/ErrorResults"
1329             }
1330           }
1331         },
1332         "Destroy": {
1333           "type": "object",
1334           "properties": {
1335             "Params": {
1336               "$ref": "#/definitions/ApplicationDestroy"
1337             }
1338           }
1339         },
1340         "DestroyRelation": {
1341           "type": "object",
1342           "properties": {
1343             "Params": {
1344               "$ref": "#/definitions/DestroyRelation"
1345             }
1346           }
1347         },
1348         "DestroyUnits": {
1349           "type": "object",
1350           "properties": {
1351             "Params": {
1352               "$ref": "#/definitions/DestroyApplicationUnits"
1353             }
1354           }
1355         },
1356         "Expose": {
1357           "type": "object",
1358           "properties": {
1359             "Params": {
1360               "$ref": "#/definitions/ApplicationExpose"
1361             }
1362           }
1363         },
1364         "Get": {
1365           "type": "object",
1366           "properties": {
1367             "Params": {
1368               "$ref": "#/definitions/ApplicationGet"
1369             },
1370             "Result": {
1371               "$ref": "#/definitions/ApplicationGetResults"
1372             }
1373           }
1374         },
1375         "GetCharmURL": {
1376           "type": "object",
1377           "properties": {
1378             "Params": {
1379               "$ref": "#/definitions/ApplicationGet"
1380             },
1381             "Result": {
1382               "$ref": "#/definitions/StringResult"
1383             }
1384           }
1385         },
1386         "GetConstraints": {
1387           "type": "object",
1388           "properties": {
1389             "Params": {
1390               "$ref": "#/definitions/GetApplicationConstraints"
1391             },
1392             "Result": {
1393               "$ref": "#/definitions/GetConstraintsResults"
1394             }
1395           }
1396         },
1397         "Set": {
1398           "type": "object",
1399           "properties": {
1400             "Params": {
1401               "$ref": "#/definitions/ApplicationSet"
1402             }
1403           }
1404         },
1405         "SetCharm": {
1406           "type": "object",
1407           "properties": {
1408             "Params": {
1409               "$ref": "#/definitions/ApplicationSetCharm"
1410             }
1411           }
1412         },
1413         "SetConstraints": {
1414           "type": "object",
1415           "properties": {
1416             "Params": {
1417               "$ref": "#/definitions/SetConstraints"
1418             }
1419           }
1420         },
1421         "SetMetricCredentials": {
1422           "type": "object",
1423           "properties": {
1424             "Params": {
1425               "$ref": "#/definitions/ApplicationMetricCredentials"
1426             },
1427             "Result": {
1428               "$ref": "#/definitions/ErrorResults"
1429             }
1430           }
1431         },
1432         "Unexpose": {
1433           "type": "object",
1434           "properties": {
1435             "Params": {
1436               "$ref": "#/definitions/ApplicationUnexpose"
1437             }
1438           }
1439         },
1440         "Unset": {
1441           "type": "object",
1442           "properties": {
1443             "Params": {
1444               "$ref": "#/definitions/ApplicationUnset"
1445             }
1446           }
1447         },
1448         "Update": {
1449           "type": "object",
1450           "properties": {
1451             "Params": {
1452               "$ref": "#/definitions/ApplicationUpdate"
1453             }
1454           }
1455         }
1456       },
1457       "definitions": {
1458         "AddApplicationUnits": {
1459           "type": "object",
1460           "properties": {
1461             "application": {
1462               "type": "string"
1463             },
1464             "num-units": {
1465               "type": "integer"
1466             },
1467             "placement": {
1468               "type": "array",
1469               "items": {
1470                 "$ref": "#/definitions/Placement"
1471               }
1472             }
1473           },
1474           "additionalProperties": false,
1475           "required": [
1476             "application",
1477             "num-units",
1478             "placement"
1479           ]
1480         },
1481         "AddApplicationUnitsResults": {
1482           "type": "object",
1483           "properties": {
1484             "units": {
1485               "type": "array",
1486               "items": {
1487                 "type": "string"
1488               }
1489             }
1490           },
1491           "additionalProperties": false,
1492           "required": [
1493             "units"
1494           ]
1495         },
1496         "AddRelation": {
1497           "type": "object",
1498           "properties": {
1499             "endpoints": {
1500               "type": "array",
1501               "items": {
1502                 "type": "string"
1503               }
1504             }
1505           },
1506           "additionalProperties": false,
1507           "required": [
1508             "endpoints"
1509           ]
1510         },
1511         "AddRelationResults": {
1512           "type": "object",
1513           "properties": {
1514             "endpoints": {
1515               "type": "object",
1516               "patternProperties": {
1517                 ".*": {
1518                   "$ref": "#/definitions/CharmRelation"
1519                 }
1520               }
1521             }
1522           },
1523           "additionalProperties": false,
1524           "required": [
1525             "endpoints"
1526           ]
1527         },
1528         "ApplicationCharmRelations": {
1529           "type": "object",
1530           "properties": {
1531             "application": {
1532               "type": "string"
1533             }
1534           },
1535           "additionalProperties": false,
1536           "required": [
1537             "application"
1538           ]
1539         },
1540         "ApplicationCharmRelationsResults": {
1541           "type": "object",
1542           "properties": {
1543             "charm-relations": {
1544               "type": "array",
1545               "items": {
1546                 "type": "string"
1547               }
1548             }
1549           },
1550           "additionalProperties": false,
1551           "required": [
1552             "charm-relations"
1553           ]
1554         },
1555         "ApplicationDeploy": {
1556           "type": "object",
1557           "properties": {
1558             "application": {
1559               "type": "string"
1560             },
1561             "channel": {
1562               "type": "string"
1563             },
1564             "charm-url": {
1565               "type": "string"
1566             },
1567             "config": {
1568               "type": "object",
1569               "patternProperties": {
1570                 ".*": {
1571                   "type": "string"
1572                 }
1573               }
1574             },
1575             "config-yaml": {
1576               "type": "string"
1577             },
1578             "constraints": {
1579               "$ref": "#/definitions/Value"
1580             },
1581             "endpoint-bindings": {
1582               "type": "object",
1583               "patternProperties": {
1584                 ".*": {
1585                   "type": "string"
1586                 }
1587               }
1588             },
1589             "num-units": {
1590               "type": "integer"
1591             },
1592             "placement": {
1593               "type": "array",
1594               "items": {
1595                 "$ref": "#/definitions/Placement"
1596               }
1597             },
1598             "resources": {
1599               "type": "object",
1600               "patternProperties": {
1601                 ".*": {
1602                   "type": "string"
1603                 }
1604               }
1605             },
1606             "series": {
1607               "type": "string"
1608             },
1609             "storage": {
1610               "type": "object",
1611               "patternProperties": {
1612                 ".*": {
1613                   "$ref": "#/definitions/Constraints"
1614                 }
1615               }
1616             }
1617           },
1618           "additionalProperties": false,
1619           "required": [
1620             "application",
1621             "series",
1622             "charm-url",
1623             "channel",
1624             "num-units",
1625             "config-yaml",
1626             "constraints"
1627           ]
1628         },
1629         "ApplicationDestroy": {
1630           "type": "object",
1631           "properties": {
1632             "application": {
1633               "type": "string"
1634             }
1635           },
1636           "additionalProperties": false,
1637           "required": [
1638             "application"
1639           ]
1640         },
1641         "ApplicationExpose": {
1642           "type": "object",
1643           "properties": {
1644             "application": {
1645               "type": "string"
1646             }
1647           },
1648           "additionalProperties": false,
1649           "required": [
1650             "application"
1651           ]
1652         },
1653         "ApplicationGet": {
1654           "type": "object",
1655           "properties": {
1656             "application": {
1657               "type": "string"
1658             }
1659           },
1660           "additionalProperties": false,
1661           "required": [
1662             "application"
1663           ]
1664         },
1665         "ApplicationGetResults": {
1666           "type": "object",
1667           "properties": {
1668             "application": {
1669               "type": "string"
1670             },
1671             "charm": {
1672               "type": "string"
1673             },
1674             "config": {
1675               "type": "object",
1676               "patternProperties": {
1677                 ".*": {
1678                   "type": "object",
1679                   "additionalProperties": true
1680                 }
1681               }
1682             },
1683             "constraints": {
1684               "$ref": "#/definitions/Value"
1685             },
1686             "series": {
1687               "type": "string"
1688             }
1689           },
1690           "additionalProperties": false,
1691           "required": [
1692             "application",
1693             "charm",
1694             "config",
1695             "constraints",
1696             "series"
1697           ]
1698         },
1699         "ApplicationMetricCredential": {
1700           "type": "object",
1701           "properties": {
1702             "application": {
1703               "type": "string"
1704             },
1705             "metrics-credentials": {
1706               "type": "array",
1707               "items": {
1708                 "type": "integer"
1709               }
1710             }
1711           },
1712           "additionalProperties": false,
1713           "required": [
1714             "application",
1715             "metrics-credentials"
1716           ]
1717         },
1718         "ApplicationMetricCredentials": {
1719           "type": "object",
1720           "properties": {
1721             "creds": {
1722               "type": "array",
1723               "items": {
1724                 "$ref": "#/definitions/ApplicationMetricCredential"
1725               }
1726             }
1727           },
1728           "additionalProperties": false,
1729           "required": [
1730             "creds"
1731           ]
1732         },
1733         "ApplicationSet": {
1734           "type": "object",
1735           "properties": {
1736             "application": {
1737               "type": "string"
1738             },
1739             "options": {
1740               "type": "object",
1741               "patternProperties": {
1742                 ".*": {
1743                   "type": "string"
1744                 }
1745               }
1746             }
1747           },
1748           "additionalProperties": false,
1749           "required": [
1750             "application",
1751             "options"
1752           ]
1753         },
1754         "ApplicationSetCharm": {
1755           "type": "object",
1756           "properties": {
1757             "application": {
1758               "type": "string"
1759             },
1760             "channel": {
1761               "type": "string"
1762             },
1763             "charm-url": {
1764               "type": "string"
1765             },
1766             "config-settings": {
1767               "type": "object",
1768               "patternProperties": {
1769                 ".*": {
1770                   "type": "string"
1771                 }
1772               }
1773             },
1774             "config-settings-yaml": {
1775               "type": "string"
1776             },
1777             "force-series": {
1778               "type": "boolean"
1779             },
1780             "force-units": {
1781               "type": "boolean"
1782             },
1783             "resource-ids": {
1784               "type": "object",
1785               "patternProperties": {
1786                 ".*": {
1787                   "type": "string"
1788                 }
1789               }
1790             },
1791             "storage-constraints": {
1792               "type": "object",
1793               "patternProperties": {
1794                 ".*": {
1795                   "$ref": "#/definitions/StorageConstraints"
1796                 }
1797               }
1798             }
1799           },
1800           "additionalProperties": false,
1801           "required": [
1802             "application",
1803             "charm-url",
1804             "channel",
1805             "force-units",
1806             "force-series"
1807           ]
1808         },
1809         "ApplicationUnexpose": {
1810           "type": "object",
1811           "properties": {
1812             "application": {
1813               "type": "string"
1814             }
1815           },
1816           "additionalProperties": false,
1817           "required": [
1818             "application"
1819           ]
1820         },
1821         "ApplicationUnset": {
1822           "type": "object",
1823           "properties": {
1824             "application": {
1825               "type": "string"
1826             },
1827             "options": {
1828               "type": "array",
1829               "items": {
1830                 "type": "string"
1831               }
1832             }
1833           },
1834           "additionalProperties": false,
1835           "required": [
1836             "application",
1837             "options"
1838           ]
1839         },
1840         "ApplicationUpdate": {
1841           "type": "object",
1842           "properties": {
1843             "application": {
1844               "type": "string"
1845             },
1846             "charm-url": {
1847               "type": "string"
1848             },
1849             "constraints": {
1850               "$ref": "#/definitions/Value"
1851             },
1852             "force-charm-url": {
1853               "type": "boolean"
1854             },
1855             "force-series": {
1856               "type": "boolean"
1857             },
1858             "min-units": {
1859               "type": "integer"
1860             },
1861             "settings": {
1862               "type": "object",
1863               "patternProperties": {
1864                 ".*": {
1865                   "type": "string"
1866                 }
1867               }
1868             },
1869             "settings-yaml": {
1870               "type": "string"
1871             }
1872           },
1873           "additionalProperties": false,
1874           "required": [
1875             "application",
1876             "charm-url",
1877             "force-charm-url",
1878             "force-series",
1879             "settings-yaml"
1880           ]
1881         },
1882         "ApplicationsDeploy": {
1883           "type": "object",
1884           "properties": {
1885             "applications": {
1886               "type": "array",
1887               "items": {
1888                 "$ref": "#/definitions/ApplicationDeploy"
1889               }
1890             }
1891           },
1892           "additionalProperties": false,
1893           "required": [
1894             "applications"
1895           ]
1896         },
1897         "CharmRelation": {
1898           "type": "object",
1899           "properties": {
1900             "interface": {
1901               "type": "string"
1902             },
1903             "limit": {
1904               "type": "integer"
1905             },
1906             "name": {
1907               "type": "string"
1908             },
1909             "optional": {
1910               "type": "boolean"
1911             },
1912             "role": {
1913               "type": "string"
1914             },
1915             "scope": {
1916               "type": "string"
1917             }
1918           },
1919           "additionalProperties": false,
1920           "required": [
1921             "name",
1922             "role",
1923             "interface",
1924             "optional",
1925             "limit",
1926             "scope"
1927           ]
1928         },
1929         "Constraints": {
1930           "type": "object",
1931           "properties": {
1932             "Count": {
1933               "type": "integer"
1934             },
1935             "Pool": {
1936               "type": "string"
1937             },
1938             "Size": {
1939               "type": "integer"
1940             }
1941           },
1942           "additionalProperties": false,
1943           "required": [
1944             "Pool",
1945             "Size",
1946             "Count"
1947           ]
1948         },
1949         "DestroyApplicationUnits": {
1950           "type": "object",
1951           "properties": {
1952             "unit-names": {
1953               "type": "array",
1954               "items": {
1955                 "type": "string"
1956               }
1957             }
1958           },
1959           "additionalProperties": false,
1960           "required": [
1961             "unit-names"
1962           ]
1963         },
1964         "DestroyRelation": {
1965           "type": "object",
1966           "properties": {
1967             "endpoints": {
1968               "type": "array",
1969               "items": {
1970                 "type": "string"
1971               }
1972             }
1973           },
1974           "additionalProperties": false,
1975           "required": [
1976             "endpoints"
1977           ]
1978         },
1979         "Error": {
1980           "type": "object",
1981           "properties": {
1982             "code": {
1983               "type": "string"
1984             },
1985             "info": {
1986               "$ref": "#/definitions/ErrorInfo"
1987             },
1988             "message": {
1989               "type": "string"
1990             }
1991           },
1992           "additionalProperties": false,
1993           "required": [
1994             "message",
1995             "code"
1996           ]
1997         },
1998         "ErrorInfo": {
1999           "type": "object",
2000           "properties": {
2001             "macaroon": {
2002               "$ref": "#/definitions/Macaroon"
2003             },
2004             "macaroon-path": {
2005               "type": "string"
2006             }
2007           },
2008           "additionalProperties": false
2009         },
2010         "ErrorResult": {
2011           "type": "object",
2012           "properties": {
2013             "error": {
2014               "$ref": "#/definitions/Error"
2015             }
2016           },
2017           "additionalProperties": false
2018         },
2019         "ErrorResults": {
2020           "type": "object",
2021           "properties": {
2022             "results": {
2023               "type": "array",
2024               "items": {
2025                 "$ref": "#/definitions/ErrorResult"
2026               }
2027             }
2028           },
2029           "additionalProperties": false,
2030           "required": [
2031             "results"
2032           ]
2033         },
2034         "GetApplicationConstraints": {
2035           "type": "object",
2036           "properties": {
2037             "application": {
2038               "type": "string"
2039             }
2040           },
2041           "additionalProperties": false,
2042           "required": [
2043             "application"
2044           ]
2045         },
2046         "GetConstraintsResults": {
2047           "type": "object",
2048           "properties": {
2049             "constraints": {
2050               "$ref": "#/definitions/Value"
2051             }
2052           },
2053           "additionalProperties": false,
2054           "required": [
2055             "constraints"
2056           ]
2057         },
2058         "Macaroon": {
2059           "type": "object",
2060           "additionalProperties": false
2061         },
2062         "Placement": {
2063           "type": "object",
2064           "properties": {
2065             "directive": {
2066               "type": "string"
2067             },
2068             "scope": {
2069               "type": "string"
2070             }
2071           },
2072           "additionalProperties": false,
2073           "required": [
2074             "scope",
2075             "directive"
2076           ]
2077         },
2078         "SetConstraints": {
2079           "type": "object",
2080           "properties": {
2081             "application": {
2082               "type": "string"
2083             },
2084             "constraints": {
2085               "$ref": "#/definitions/Value"
2086             }
2087           },
2088           "additionalProperties": false,
2089           "required": [
2090             "application",
2091             "constraints"
2092           ]
2093         },
2094         "StorageConstraints": {
2095           "type": "object",
2096           "properties": {
2097             "count": {
2098               "type": "integer"
2099             },
2100             "pool": {
2101               "type": "string"
2102             },
2103             "size": {
2104               "type": "integer"
2105             }
2106           },
2107           "additionalProperties": false
2108         },
2109         "StringResult": {
2110           "type": "object",
2111           "properties": {
2112             "error": {
2113               "$ref": "#/definitions/Error"
2114             },
2115             "result": {
2116               "type": "string"
2117             }
2118           },
2119           "additionalProperties": false,
2120           "required": [
2121             "result"
2122           ]
2123         },
2124         "Value": {
2125           "type": "object",
2126           "properties": {
2127             "arch": {
2128               "type": "string"
2129             },
2130             "container": {
2131               "type": "string"
2132             },
2133             "cores": {
2134               "type": "integer"
2135             },
2136             "cpu-power": {
2137               "type": "integer"
2138             },
2139             "instance-type": {
2140               "type": "string"
2141             },
2142             "mem": {
2143               "type": "integer"
2144             },
2145             "root-disk": {
2146               "type": "integer"
2147             },
2148             "spaces": {
2149               "type": "array",
2150               "items": {
2151                 "type": "string"
2152               }
2153             },
2154             "tags": {
2155               "type": "array",
2156               "items": {
2157                 "type": "string"
2158               }
2159             },
2160             "virt-type": {
2161               "type": "string"
2162             }
2163           },
2164           "additionalProperties": false
2165         }
2166       }
2167     }
2168   },
2169   {
2170     "Name": "ApplicationRelationsWatcher",
2171     "Version": 1,
2172     "Schema": {
2173       "type": "object",
2174       "properties": {
2175         "Next": {
2176           "type": "object",
2177           "properties": {
2178             "Result": {
2179               "$ref": "#/definitions/ApplicationRelationsWatchResult"
2180             }
2181           }
2182         },
2183         "Stop": {
2184           "type": "object"
2185         }
2186       },
2187       "definitions": {
2188         "ApplicationRelationsChange": {
2189           "type": "object",
2190           "properties": {
2191             "changed": {
2192               "type": "array",
2193               "items": {
2194                 "$ref": "#/definitions/RelationChange"
2195               }
2196             },
2197             "removed": {
2198               "type": "array",
2199               "items": {
2200                 "type": "integer"
2201               }
2202             }
2203           },
2204           "additionalProperties": false
2205         },
2206         "ApplicationRelationsWatchResult": {
2207           "type": "object",
2208           "properties": {
2209             "ApplicationRelationsWatcherId": {
2210               "type": "string"
2211             },
2212             "changes": {
2213               "$ref": "#/definitions/ApplicationRelationsChange"
2214             },
2215             "error": {
2216               "$ref": "#/definitions/Error"
2217             }
2218           },
2219           "additionalProperties": false,
2220           "required": [
2221             "ApplicationRelationsWatcherId"
2222           ]
2223         },
2224         "Error": {
2225           "type": "object",
2226           "properties": {
2227             "code": {
2228               "type": "string"
2229             },
2230             "info": {
2231               "$ref": "#/definitions/ErrorInfo"
2232             },
2233             "message": {
2234               "type": "string"
2235             }
2236           },
2237           "additionalProperties": false,
2238           "required": [
2239             "message",
2240             "code"
2241           ]
2242         },
2243         "ErrorInfo": {
2244           "type": "object",
2245           "properties": {
2246             "macaroon": {
2247               "$ref": "#/definitions/Macaroon"
2248             },
2249             "macaroon-path": {
2250               "type": "string"
2251             }
2252           },
2253           "additionalProperties": false
2254         },
2255         "Macaroon": {
2256           "type": "object",
2257           "additionalProperties": false
2258         },
2259         "RelationChange": {
2260           "type": "object",
2261           "properties": {
2262             "changedunits": {
2263               "type": "object",
2264               "patternProperties": {
2265                 ".*": {
2266                   "$ref": "#/definitions/RelationUnitChange"
2267                 }
2268               }
2269             },
2270             "departedunits": {
2271               "type": "array",
2272               "items": {
2273                 "type": "string"
2274               }
2275             },
2276             "id": {
2277               "type": "integer"
2278             },
2279             "life": {
2280               "type": "string"
2281             }
2282           },
2283           "additionalProperties": false,
2284           "required": [
2285             "id",
2286             "life"
2287           ]
2288         },
2289         "RelationUnitChange": {
2290           "type": "object",
2291           "properties": {
2292             "settings": {
2293               "type": "object",
2294               "patternProperties": {
2295                 ".*": {
2296                   "type": "object",
2297                   "additionalProperties": true
2298                 }
2299               }
2300             }
2301           },
2302           "additionalProperties": false
2303         }
2304       }
2305     }
2306   },
2307   {
2308     "Name": "ApplicationScaler",
2309     "Version": 1,
2310     "Schema": {
2311       "type": "object",
2312       "properties": {
2313         "Rescale": {
2314           "type": "object",
2315           "properties": {
2316             "Params": {
2317               "$ref": "#/definitions/Entities"
2318             },
2319             "Result": {
2320               "$ref": "#/definitions/ErrorResults"
2321             }
2322           }
2323         },
2324         "Watch": {
2325           "type": "object",
2326           "properties": {
2327             "Result": {
2328               "$ref": "#/definitions/StringsWatchResult"
2329             }
2330           }
2331         }
2332       },
2333       "definitions": {
2334         "Entities": {
2335           "type": "object",
2336           "properties": {
2337             "entities": {
2338               "type": "array",
2339               "items": {
2340                 "$ref": "#/definitions/Entity"
2341               }
2342             }
2343           },
2344           "additionalProperties": false,
2345           "required": [
2346             "entities"
2347           ]
2348         },
2349         "Entity": {
2350           "type": "object",
2351           "properties": {
2352             "tag": {
2353               "type": "string"
2354             }
2355           },
2356           "additionalProperties": false,
2357           "required": [
2358             "tag"
2359           ]
2360         },
2361         "Error": {
2362           "type": "object",
2363           "properties": {
2364             "code": {
2365               "type": "string"
2366             },
2367             "info": {
2368               "$ref": "#/definitions/ErrorInfo"
2369             },
2370             "message": {
2371               "type": "string"
2372             }
2373           },
2374           "additionalProperties": false,
2375           "required": [
2376             "message",
2377             "code"
2378           ]
2379         },
2380         "ErrorInfo": {
2381           "type": "object",
2382           "properties": {
2383             "macaroon": {
2384               "$ref": "#/definitions/Macaroon"
2385             },
2386             "macaroon-path": {
2387               "type": "string"
2388             }
2389           },
2390           "additionalProperties": false
2391         },
2392         "ErrorResult": {
2393           "type": "object",
2394           "properties": {
2395             "error": {
2396               "$ref": "#/definitions/Error"
2397             }
2398           },
2399           "additionalProperties": false
2400         },
2401         "ErrorResults": {
2402           "type": "object",
2403           "properties": {
2404             "results": {
2405               "type": "array",
2406               "items": {
2407                 "$ref": "#/definitions/ErrorResult"
2408               }
2409             }
2410           },
2411           "additionalProperties": false,
2412           "required": [
2413             "results"
2414           ]
2415         },
2416         "Macaroon": {
2417           "type": "object",
2418           "additionalProperties": false
2419         },
2420         "StringsWatchResult": {
2421           "type": "object",
2422           "properties": {
2423             "changes": {
2424               "type": "array",
2425               "items": {
2426                 "type": "string"
2427               }
2428             },
2429             "error": {
2430               "$ref": "#/definitions/Error"
2431             },
2432             "watcher-id": {
2433               "type": "string"
2434             }
2435           },
2436           "additionalProperties": false,
2437           "required": [
2438             "watcher-id"
2439           ]
2440         }
2441       }
2442     }
2443   },
2444   {
2445     "Name": "Backups",
2446     "Version": 1,
2447     "Schema": {
2448       "type": "object",
2449       "properties": {
2450         "Create": {
2451           "type": "object",
2452           "properties": {
2453             "Params": {
2454               "$ref": "#/definitions/BackupsCreateArgs"
2455             },
2456             "Result": {
2457               "$ref": "#/definitions/BackupsMetadataResult"
2458             }
2459           }
2460         },
2461         "FinishRestore": {
2462           "type": "object"
2463         },
2464         "Info": {
2465           "type": "object",
2466           "properties": {
2467             "Params": {
2468               "$ref": "#/definitions/BackupsInfoArgs"
2469             },
2470             "Result": {
2471               "$ref": "#/definitions/BackupsMetadataResult"
2472             }
2473           }
2474         },
2475         "List": {
2476           "type": "object",
2477           "properties": {
2478             "Params": {
2479               "$ref": "#/definitions/BackupsListArgs"
2480             },
2481             "Result": {
2482               "$ref": "#/definitions/BackupsListResult"
2483             }
2484           }
2485         },
2486         "PrepareRestore": {
2487           "type": "object"
2488         },
2489         "Remove": {
2490           "type": "object",
2491           "properties": {
2492             "Params": {
2493               "$ref": "#/definitions/BackupsRemoveArgs"
2494             }
2495           }
2496         },
2497         "Restore": {
2498           "type": "object",
2499           "properties": {
2500             "Params": {
2501               "$ref": "#/definitions/RestoreArgs"
2502             }
2503           }
2504         }
2505       },
2506       "definitions": {
2507         "BackupsCreateArgs": {
2508           "type": "object",
2509           "properties": {
2510             "notes": {
2511               "type": "string"
2512             }
2513           },
2514           "additionalProperties": false,
2515           "required": [
2516             "notes"
2517           ]
2518         },
2519         "BackupsInfoArgs": {
2520           "type": "object",
2521           "properties": {
2522             "id": {
2523               "type": "string"
2524             }
2525           },
2526           "additionalProperties": false,
2527           "required": [
2528             "id"
2529           ]
2530         },
2531         "BackupsListArgs": {
2532           "type": "object",
2533           "additionalProperties": false
2534         },
2535         "BackupsListResult": {
2536           "type": "object",
2537           "properties": {
2538             "list": {
2539               "type": "array",
2540               "items": {
2541                 "$ref": "#/definitions/BackupsMetadataResult"
2542               }
2543             }
2544           },
2545           "additionalProperties": false,
2546           "required": [
2547             "list"
2548           ]
2549         },
2550         "BackupsMetadataResult": {
2551           "type": "object",
2552           "properties": {
2553             "ca-cert": {
2554               "type": "string"
2555             },
2556             "ca-private-key": {
2557               "type": "string"
2558             },
2559             "checksum": {
2560               "type": "string"
2561             },
2562             "checksum-format": {
2563               "type": "string"
2564             },
2565             "finished": {
2566               "type": "string",
2567               "format": "date-time"
2568             },
2569             "hostname": {
2570               "type": "string"
2571             },
2572             "id": {
2573               "type": "string"
2574             },
2575             "machine": {
2576               "type": "string"
2577             },
2578             "model": {
2579               "type": "string"
2580             },
2581             "notes": {
2582               "type": "string"
2583             },
2584             "series": {
2585               "type": "string"
2586             },
2587             "size": {
2588               "type": "integer"
2589             },
2590             "started": {
2591               "type": "string",
2592               "format": "date-time"
2593             },
2594             "stored": {
2595               "type": "string",
2596               "format": "date-time"
2597             },
2598             "version": {
2599               "$ref": "#/definitions/Number"
2600             }
2601           },
2602           "additionalProperties": false,
2603           "required": [
2604             "id",
2605             "checksum",
2606             "checksum-format",
2607             "size",
2608             "stored",
2609             "started",
2610             "finished",
2611             "notes",
2612             "model",
2613             "machine",
2614             "hostname",
2615             "version",
2616             "series",
2617             "ca-cert",
2618             "ca-private-key"
2619           ]
2620         },
2621         "BackupsRemoveArgs": {
2622           "type": "object",
2623           "properties": {
2624             "id": {
2625               "type": "string"
2626             }
2627           },
2628           "additionalProperties": false,
2629           "required": [
2630             "id"
2631           ]
2632         },
2633         "Number": {
2634           "type": "object",
2635           "properties": {
2636             "Build": {
2637               "type": "integer"
2638             },
2639             "Major": {
2640               "type": "integer"
2641             },
2642             "Minor": {
2643               "type": "integer"
2644             },
2645             "Patch": {
2646               "type": "integer"
2647             },
2648             "Tag": {
2649               "type": "string"
2650             }
2651           },
2652           "additionalProperties": false,
2653           "required": [
2654             "Major",
2655             "Minor",
2656             "Tag",
2657             "Patch",
2658             "Build"
2659           ]
2660         },
2661         "RestoreArgs": {
2662           "type": "object",
2663           "properties": {
2664             "backup-id": {
2665               "type": "string"
2666             }
2667           },
2668           "additionalProperties": false,
2669           "required": [
2670             "backup-id"
2671           ]
2672         }
2673       }
2674     }
2675   },
2676   {
2677     "Name": "Block",
2678     "Version": 2,
2679     "Schema": {
2680       "type": "object",
2681       "properties": {
2682         "List": {
2683           "type": "object",
2684           "properties": {
2685             "Result": {
2686               "$ref": "#/definitions/BlockResults"
2687             }
2688           }
2689         },
2690         "SwitchBlockOff": {
2691           "type": "object",
2692           "properties": {
2693             "Params": {
2694               "$ref": "#/definitions/BlockSwitchParams"
2695             },
2696             "Result": {
2697               "$ref": "#/definitions/ErrorResult"
2698             }
2699           }
2700         },
2701         "SwitchBlockOn": {
2702           "type": "object",
2703           "properties": {
2704             "Params": {
2705               "$ref": "#/definitions/BlockSwitchParams"
2706             },
2707             "Result": {
2708               "$ref": "#/definitions/ErrorResult"
2709             }
2710           }
2711         }
2712       },
2713       "definitions": {
2714         "Block": {
2715           "type": "object",
2716           "properties": {
2717             "id": {
2718               "type": "string"
2719             },
2720             "message": {
2721               "type": "string"
2722             },
2723             "tag": {
2724               "type": "string"
2725             },
2726             "type": {
2727               "type": "string"
2728             }
2729           },
2730           "additionalProperties": false,
2731           "required": [
2732             "id",
2733             "tag",
2734             "type"
2735           ]
2736         },
2737         "BlockResult": {
2738           "type": "object",
2739           "properties": {
2740             "error": {
2741               "$ref": "#/definitions/Error"
2742             },
2743             "result": {
2744               "$ref": "#/definitions/Block"
2745             }
2746           },
2747           "additionalProperties": false,
2748           "required": [
2749             "result"
2750           ]
2751         },
2752         "BlockResults": {
2753           "type": "object",
2754           "properties": {
2755             "results": {
2756               "type": "array",
2757               "items": {
2758                 "$ref": "#/definitions/BlockResult"
2759               }
2760             }
2761           },
2762           "additionalProperties": false
2763         },
2764         "BlockSwitchParams": {
2765           "type": "object",
2766           "properties": {
2767             "message": {
2768               "type": "string"
2769             },
2770             "type": {
2771               "type": "string"
2772             }
2773           },
2774           "additionalProperties": false,
2775           "required": [
2776             "type"
2777           ]
2778         },
2779         "Error": {
2780           "type": "object",
2781           "properties": {
2782             "code": {
2783               "type": "string"
2784             },
2785             "info": {
2786               "$ref": "#/definitions/ErrorInfo"
2787             },
2788             "message": {
2789               "type": "string"
2790             }
2791           },
2792           "additionalProperties": false,
2793           "required": [
2794             "message",
2795             "code"
2796           ]
2797         },
2798         "ErrorInfo": {
2799           "type": "object",
2800           "properties": {
2801             "macaroon": {
2802               "$ref": "#/definitions/Macaroon"
2803             },
2804             "macaroon-path": {
2805               "type": "string"
2806             }
2807           },
2808           "additionalProperties": false
2809         },
2810         "ErrorResult": {
2811           "type": "object",
2812           "properties": {
2813             "error": {
2814               "$ref": "#/definitions/Error"
2815             }
2816           },
2817           "additionalProperties": false
2818         },
2819         "Macaroon": {
2820           "type": "object",
2821           "additionalProperties": false
2822         }
2823       }
2824     }
2825   },
2826   {
2827     "Name": "Bundle",
2828     "Version": 1,
2829     "Schema": {
2830       "type": "object",
2831       "properties": {
2832         "GetChanges": {
2833           "type": "object",
2834           "properties": {
2835             "Params": {
2836               "$ref": "#/definitions/BundleChangesParams"
2837             },
2838             "Result": {
2839               "$ref": "#/definitions/BundleChangesResults"
2840             }
2841           }
2842         }
2843       },
2844       "definitions": {
2845         "BundleChange": {
2846           "type": "object",
2847           "properties": {
2848             "args": {
2849               "type": "array",
2850               "items": {
2851                 "type": "object",
2852                 "additionalProperties": true
2853               }
2854             },
2855             "id": {
2856               "type": "string"
2857             },
2858             "method": {
2859               "type": "string"
2860             },
2861             "requires": {
2862               "type": "array",
2863               "items": {
2864                 "type": "string"
2865               }
2866             }
2867           },
2868           "additionalProperties": false,
2869           "required": [
2870             "id",
2871             "method",
2872             "args",
2873             "requires"
2874           ]
2875         },
2876         "BundleChangesParams": {
2877           "type": "object",
2878           "properties": {
2879             "yaml": {
2880               "type": "string"
2881             }
2882           },
2883           "additionalProperties": false,
2884           "required": [
2885             "yaml"
2886           ]
2887         },
2888         "BundleChangesResults": {
2889           "type": "object",
2890           "properties": {
2891             "changes": {
2892               "type": "array",
2893               "items": {
2894                 "$ref": "#/definitions/BundleChange"
2895               }
2896             },
2897             "errors": {
2898               "type": "array",
2899               "items": {
2900                 "type": "string"
2901               }
2902             }
2903           },
2904           "additionalProperties": false
2905         }
2906       }
2907     }
2908   },
2909   {
2910     "Name": "CharmRevisionUpdater",
2911     "Version": 2,
2912     "Schema": {
2913       "type": "object",
2914       "properties": {
2915         "UpdateLatestRevisions": {
2916           "type": "object",
2917           "properties": {
2918             "Result": {
2919               "$ref": "#/definitions/ErrorResult"
2920             }
2921           }
2922         }
2923       },
2924       "definitions": {
2925         "Error": {
2926           "type": "object",
2927           "properties": {
2928             "code": {
2929               "type": "string"
2930             },
2931             "info": {
2932               "$ref": "#/definitions/ErrorInfo"
2933             },
2934             "message": {
2935               "type": "string"
2936             }
2937           },
2938           "additionalProperties": false,
2939           "required": [
2940             "message",
2941             "code"
2942           ]
2943         },
2944         "ErrorInfo": {
2945           "type": "object",
2946           "properties": {
2947             "macaroon": {
2948               "$ref": "#/definitions/Macaroon"
2949             },
2950             "macaroon-path": {
2951               "type": "string"
2952             }
2953           },
2954           "additionalProperties": false
2955         },
2956         "ErrorResult": {
2957           "type": "object",
2958           "properties": {
2959             "error": {
2960               "$ref": "#/definitions/Error"
2961             }
2962           },
2963           "additionalProperties": false
2964         },
2965         "Macaroon": {
2966           "type": "object",
2967           "additionalProperties": false
2968         }
2969       }
2970     }
2971   },
2972   {
2973     "Name": "Charms",
2974     "Version": 2,
2975     "Schema": {
2976       "type": "object",
2977       "properties": {
2978         "CharmInfo": {
2979           "type": "object",
2980           "properties": {
2981             "Params": {
2982               "$ref": "#/definitions/CharmURL"
2983             },
2984             "Result": {
2985               "$ref": "#/definitions/CharmInfo"
2986             }
2987           }
2988         },
2989         "IsMetered": {
2990           "type": "object",
2991           "properties": {
2992             "Params": {
2993               "$ref": "#/definitions/CharmURL"
2994             },
2995             "Result": {
2996               "$ref": "#/definitions/IsMeteredResult"
2997             }
2998           }
2999         },
3000         "List": {
3001           "type": "object",
3002           "properties": {
3003             "Params": {
3004               "$ref": "#/definitions/CharmsList"
3005             },
3006             "Result": {
3007               "$ref": "#/definitions/CharmsListResult"
3008             }
3009           }
3010         }
3011       },
3012       "definitions": {
3013         "CharmActionSpec": {
3014           "type": "object",
3015           "properties": {
3016             "description": {
3017               "type": "string"
3018             },
3019             "params": {
3020               "type": "object",
3021               "patternProperties": {
3022                 ".*": {
3023                   "type": "object",
3024                   "additionalProperties": true
3025                 }
3026               }
3027             }
3028           },
3029           "additionalProperties": false,
3030           "required": [
3031             "description",
3032             "params"
3033           ]
3034         },
3035         "CharmActions": {
3036           "type": "object",
3037           "properties": {
3038             "specs": {
3039               "type": "object",
3040               "patternProperties": {
3041                 ".*": {
3042                   "$ref": "#/definitions/CharmActionSpec"
3043                 }
3044               }
3045             }
3046           },
3047           "additionalProperties": false
3048         },
3049         "CharmInfo": {
3050           "type": "object",
3051           "properties": {
3052             "actions": {
3053               "$ref": "#/definitions/CharmActions"
3054             },
3055             "config": {
3056               "type": "object",
3057               "patternProperties": {
3058                 ".*": {
3059                   "$ref": "#/definitions/CharmOption"
3060                 }
3061               }
3062             },
3063             "meta": {
3064               "$ref": "#/definitions/CharmMeta"
3065             },
3066             "metrics": {
3067               "$ref": "#/definitions/CharmMetrics"
3068             },
3069             "revision": {
3070               "type": "integer"
3071             },
3072             "url": {
3073               "type": "string"
3074             }
3075           },
3076           "additionalProperties": false,
3077           "required": [
3078             "revision",
3079             "url",
3080             "config"
3081           ]
3082         },
3083         "CharmMeta": {
3084           "type": "object",
3085           "properties": {
3086             "categories": {
3087               "type": "array",
3088               "items": {
3089                 "type": "string"
3090               }
3091             },
3092             "description": {
3093               "type": "string"
3094             },
3095             "extra-bindings": {
3096               "type": "object",
3097               "patternProperties": {
3098                 ".*": {
3099                   "type": "string"
3100                 }
3101               }
3102             },
3103             "min-juju-version": {
3104               "type": "string"
3105             },
3106             "name": {
3107               "type": "string"
3108             },
3109             "payload-classes": {
3110               "type": "object",
3111               "patternProperties": {
3112                 ".*": {
3113                   "$ref": "#/definitions/CharmPayloadClass"
3114                 }
3115               }
3116             },
3117             "peers": {
3118               "type": "object",
3119               "patternProperties": {
3120                 ".*": {
3121                   "$ref": "#/definitions/CharmRelation"
3122                 }
3123               }
3124             },
3125             "provides": {
3126               "type": "object",
3127               "patternProperties": {
3128                 ".*": {
3129                   "$ref": "#/definitions/CharmRelation"
3130                 }
3131               }
3132             },
3133             "requires": {
3134               "type": "object",
3135               "patternProperties": {
3136                 ".*": {
3137                   "$ref": "#/definitions/CharmRelation"
3138                 }
3139               }
3140             },
3141             "resources": {
3142               "type": "object",
3143               "patternProperties": {
3144                 ".*": {
3145                   "$ref": "#/definitions/CharmResourceMeta"
3146                 }
3147               }
3148             },
3149             "series": {
3150               "type": "array",
3151               "items": {
3152                 "type": "string"
3153               }
3154             },
3155             "storage": {
3156               "type": "object",
3157               "patternProperties": {
3158                 ".*": {
3159                   "$ref": "#/definitions/CharmStorage"
3160                 }
3161               }
3162             },
3163             "subordinate": {
3164               "type": "boolean"
3165             },
3166             "summary": {
3167               "type": "string"
3168             },
3169             "tags": {
3170               "type": "array",
3171               "items": {
3172                 "type": "string"
3173               }
3174             },
3175             "terms": {
3176               "type": "array",
3177               "items": {
3178                 "type": "string"
3179               }
3180             }
3181           },
3182           "additionalProperties": false,
3183           "required": [
3184             "name",
3185             "summary",
3186             "description",
3187             "subordinate"
3188           ]
3189         },
3190         "CharmMetric": {
3191           "type": "object",
3192           "properties": {
3193             "description": {
3194               "type": "string"
3195             },
3196             "type": {
3197               "type": "string"
3198             }
3199           },
3200           "additionalProperties": false,
3201           "required": [
3202             "type",
3203             "description"
3204           ]
3205         },
3206         "CharmMetrics": {
3207           "type": "object",
3208           "properties": {
3209             "metrics": {
3210               "type": "object",
3211               "patternProperties": {
3212                 ".*": {
3213                   "$ref": "#/definitions/CharmMetric"
3214                 }
3215               }
3216             },
3217             "plan": {
3218               "$ref": "#/definitions/CharmPlan"
3219             }
3220           },
3221           "additionalProperties": false,
3222           "required": [
3223             "metrics",
3224             "plan"
3225           ]
3226         },
3227         "CharmOption": {
3228           "type": "object",
3229           "properties": {
3230             "default": {
3231               "type": "object",
3232               "additionalProperties": true
3233             },
3234             "description": {
3235               "type": "string"
3236             },
3237             "type": {
3238               "type": "string"
3239             }
3240           },
3241           "additionalProperties": false,
3242           "required": [
3243             "type"
3244           ]
3245         },
3246         "CharmPayloadClass": {
3247           "type": "object",
3248           "properties": {
3249             "name": {
3250               "type": "string"
3251             },
3252             "type": {
3253               "type": "string"
3254             }
3255           },
3256           "additionalProperties": false,
3257           "required": [
3258             "name",
3259             "type"
3260           ]
3261         },
3262         "CharmPlan": {
3263           "type": "object",
3264           "properties": {
3265             "required": {
3266               "type": "boolean"
3267             }
3268           },
3269           "additionalProperties": false,
3270           "required": [
3271             "required"
3272           ]
3273         },
3274         "CharmRelation": {
3275           "type": "object",
3276           "properties": {
3277             "interface": {
3278               "type": "string"
3279             },
3280             "limit": {
3281               "type": "integer"
3282             },
3283             "name": {
3284               "type": "string"
3285             },
3286             "optional": {
3287               "type": "boolean"
3288             },
3289             "role": {
3290               "type": "string"
3291             },
3292             "scope": {
3293               "type": "string"
3294             }
3295           },
3296           "additionalProperties": false,
3297           "required": [
3298             "name",
3299             "role",
3300             "interface",
3301             "optional",
3302             "limit",
3303             "scope"
3304           ]
3305         },
3306         "CharmResourceMeta": {
3307           "type": "object",
3308           "properties": {
3309             "description": {
3310               "type": "string"
3311             },
3312             "name": {
3313               "type": "string"
3314             },
3315             "path": {
3316               "type": "string"
3317             },
3318             "type": {
3319               "type": "string"
3320             }
3321           },
3322           "additionalProperties": false,
3323           "required": [
3324             "name",
3325             "type",
3326             "path",
3327             "description"
3328           ]
3329         },
3330         "CharmStorage": {
3331           "type": "object",
3332           "properties": {
3333             "count-max": {
3334               "type": "integer"
3335             },
3336             "count-min": {
3337               "type": "integer"
3338             },
3339             "description": {
3340               "type": "string"
3341             },
3342             "location": {
3343               "type": "string"
3344             },
3345             "minimum-size": {
3346               "type": "integer"
3347             },
3348             "name": {
3349               "type": "string"
3350             },
3351             "properties": {
3352               "type": "array",
3353               "items": {
3354                 "type": "string"
3355               }
3356             },
3357             "read-only": {
3358               "type": "boolean"
3359             },
3360             "shared": {
3361               "type": "boolean"
3362             },
3363             "type": {
3364               "type": "string"
3365             }
3366           },
3367           "additionalProperties": false,
3368           "required": [
3369             "name",
3370             "description",
3371             "type",
3372             "shared",
3373             "read-only",
3374             "count-min",
3375             "count-max",
3376             "minimum-size"
3377           ]
3378         },
3379         "CharmURL": {
3380           "type": "object",
3381           "properties": {
3382             "url": {
3383               "type": "string"
3384             }
3385           },
3386           "additionalProperties": false,
3387           "required": [
3388             "url"
3389           ]
3390         },
3391         "CharmsList": {
3392           "type": "object",
3393           "properties": {
3394             "names": {
3395               "type": "array",
3396               "items": {
3397                 "type": "string"
3398               }
3399             }
3400           },
3401           "additionalProperties": false,
3402           "required": [
3403             "names"
3404           ]
3405         },
3406         "CharmsListResult": {
3407           "type": "object",
3408           "properties": {
3409             "charm-urls": {
3410               "type": "array",
3411               "items": {
3412                 "type": "string"
3413               }
3414             }
3415           },
3416           "additionalProperties": false,
3417           "required": [
3418             "charm-urls"
3419           ]
3420         },
3421         "IsMeteredResult": {
3422           "type": "object",
3423           "properties": {
3424             "metered": {
3425               "type": "boolean"
3426             }
3427           },
3428           "additionalProperties": false,
3429           "required": [
3430             "metered"
3431           ]
3432         }
3433       }
3434     }
3435   },
3436   {
3437     "Name": "Cleaner",
3438     "Version": 2,
3439     "Schema": {
3440       "type": "object",
3441       "properties": {
3442         "Cleanup": {
3443           "type": "object"
3444         },
3445         "WatchCleanups": {
3446           "type": "object",
3447           "properties": {
3448             "Result": {
3449               "$ref": "#/definitions/NotifyWatchResult"
3450             }
3451           }
3452         }
3453       },
3454       "definitions": {
3455         "Error": {
3456           "type": "object",
3457           "properties": {
3458             "code": {
3459               "type": "string"
3460             },
3461             "info": {
3462               "$ref": "#/definitions/ErrorInfo"
3463             },
3464             "message": {
3465               "type": "string"
3466             }
3467           },
3468           "additionalProperties": false,
3469           "required": [
3470             "message",
3471             "code"
3472           ]
3473         },
3474         "ErrorInfo": {
3475           "type": "object",
3476           "properties": {
3477             "macaroon": {
3478               "$ref": "#/definitions/Macaroon"
3479             },
3480             "macaroon-path": {
3481               "type": "string"
3482             }
3483           },
3484           "additionalProperties": false
3485         },
3486         "Macaroon": {
3487           "type": "object",
3488           "additionalProperties": false
3489         },
3490         "NotifyWatchResult": {
3491           "type": "object",
3492           "properties": {
3493             "NotifyWatcherId": {
3494               "type": "string"
3495             },
3496             "error": {
3497               "$ref": "#/definitions/Error"
3498             }
3499           },
3500           "additionalProperties": false,
3501           "required": [
3502             "NotifyWatcherId"
3503           ]
3504         }
3505       }
3506     }
3507   },
3508   {
3509     "Name": "Client",
3510     "Version": 1,
3511     "Schema": {
3512       "type": "object",
3513       "properties": {
3514         "APIHostPorts": {
3515           "type": "object",
3516           "properties": {
3517             "Result": {
3518               "$ref": "#/definitions/APIHostPortsResult"
3519             }
3520           }
3521         },
3522         "AbortCurrentUpgrade": {
3523           "type": "object"
3524         },
3525         "AddCharm": {
3526           "type": "object",
3527           "properties": {
3528             "Params": {
3529               "$ref": "#/definitions/AddCharm"
3530             }
3531           }
3532         },
3533         "AddCharmWithAuthorization": {
3534           "type": "object",
3535           "properties": {
3536             "Params": {
3537               "$ref": "#/definitions/AddCharmWithAuthorization"
3538             }
3539           }
3540         },
3541         "AddMachines": {
3542           "type": "object",
3543           "properties": {
3544             "Params": {
3545               "$ref": "#/definitions/AddMachines"
3546             },
3547             "Result": {
3548               "$ref": "#/definitions/AddMachinesResults"
3549             }
3550           }
3551         },
3552         "AddMachinesV2": {
3553           "type": "object",
3554           "properties": {
3555             "Params": {
3556               "$ref": "#/definitions/AddMachines"
3557             },
3558             "Result": {
3559               "$ref": "#/definitions/AddMachinesResults"
3560             }
3561           }
3562         },
3563         "AgentVersion": {
3564           "type": "object",
3565           "properties": {
3566             "Result": {
3567               "$ref": "#/definitions/AgentVersionResult"
3568             }
3569           }
3570         },
3571         "DestroyMachines": {
3572           "type": "object",
3573           "properties": {
3574             "Params": {
3575               "$ref": "#/definitions/DestroyMachines"
3576             }
3577           }
3578         },
3579         "FindTools": {
3580           "type": "object",
3581           "properties": {
3582             "Params": {
3583               "$ref": "#/definitions/FindToolsParams"
3584             },
3585             "Result": {
3586               "$ref": "#/definitions/FindToolsResult"
3587             }
3588           }
3589         },
3590         "FullStatus": {
3591           "type": "object",
3592           "properties": {
3593             "Params": {
3594               "$ref": "#/definitions/StatusParams"
3595             },
3596             "Result": {
3597               "$ref": "#/definitions/FullStatus"
3598             }
3599           }
3600         },
3601         "GetBundleChanges": {
3602           "type": "object",
3603           "properties": {
3604             "Params": {
3605               "$ref": "#/definitions/BundleChangesParams"
3606             },
3607             "Result": {
3608               "$ref": "#/definitions/BundleChangesResults"
3609             }
3610           }
3611         },
3612         "GetModelConstraints": {
3613           "type": "object",
3614           "properties": {
3615             "Result": {
3616               "$ref": "#/definitions/GetConstraintsResults"
3617             }
3618           }
3619         },
3620         "InjectMachines": {
3621           "type": "object",
3622           "properties": {
3623             "Params": {
3624               "$ref": "#/definitions/AddMachines"
3625             },
3626             "Result": {
3627               "$ref": "#/definitions/AddMachinesResults"
3628             }
3629           }
3630         },
3631         "ModelGet": {
3632           "type": "object",
3633           "properties": {
3634             "Result": {
3635               "$ref": "#/definitions/ModelConfigResults"
3636             }
3637           }
3638         },
3639         "ModelInfo": {
3640           "type": "object",
3641           "properties": {
3642             "Result": {
3643               "$ref": "#/definitions/ModelInfo"
3644             }
3645           }
3646         },
3647         "ModelSet": {
3648           "type": "object",
3649           "properties": {
3650             "Params": {
3651               "$ref": "#/definitions/ModelSet"
3652             }
3653           }
3654         },
3655         "ModelUnset": {
3656           "type": "object",
3657           "properties": {
3658             "Params": {
3659               "$ref": "#/definitions/ModelUnset"
3660             }
3661           }
3662         },
3663         "ModelUserInfo": {
3664           "type": "object",
3665           "properties": {
3666             "Result": {
3667               "$ref": "#/definitions/ModelUserInfoResults"
3668             }
3669           }
3670         },
3671         "PrivateAddress": {
3672           "type": "object",
3673           "properties": {
3674             "Params": {
3675               "$ref": "#/definitions/PrivateAddress"
3676             },
3677             "Result": {
3678               "$ref": "#/definitions/PrivateAddressResults"
3679             }
3680           }
3681         },
3682         "ProvisioningScript": {
3683           "type": "object",
3684           "properties": {
3685             "Params": {
3686               "$ref": "#/definitions/ProvisioningScriptParams"
3687             },
3688             "Result": {
3689               "$ref": "#/definitions/ProvisioningScriptResult"
3690             }
3691           }
3692         },
3693         "PublicAddress": {
3694           "type": "object",
3695           "properties": {
3696             "Params": {
3697               "$ref": "#/definitions/PublicAddress"
3698             },
3699             "Result": {
3700               "$ref": "#/definitions/PublicAddressResults"
3701             }
3702           }
3703         },
3704         "ResolveCharms": {
3705           "type": "object",
3706           "properties": {
3707             "Params": {
3708               "$ref": "#/definitions/ResolveCharms"
3709             },
3710             "Result": {
3711               "$ref": "#/definitions/ResolveCharmResults"
3712             }
3713           }
3714         },
3715         "Resolved": {
3716           "type": "object",
3717           "properties": {
3718             "Params": {
3719               "$ref": "#/definitions/Resolved"
3720             }
3721           }
3722         },
3723         "RetryProvisioning": {
3724           "type": "object",
3725           "properties": {
3726             "Params": {
3727               "$ref": "#/definitions/Entities"
3728             },
3729             "Result": {
3730               "$ref": "#/definitions/ErrorResults"
3731             }
3732           }
3733         },
3734         "SetModelAgentVersion": {
3735           "type": "object",
3736           "properties": {
3737             "Params": {
3738               "$ref": "#/definitions/SetModelAgentVersion"
3739             }
3740           }
3741         },
3742         "SetModelConstraints": {
3743           "type": "object",
3744           "properties": {
3745             "Params": {
3746               "$ref": "#/definitions/SetConstraints"
3747             }
3748           }
3749         },
3750         "StatusHistory": {
3751           "type": "object",
3752           "properties": {
3753             "Params": {
3754               "$ref": "#/definitions/StatusHistoryRequests"
3755             },
3756             "Result": {
3757               "$ref": "#/definitions/StatusHistoryResults"
3758             }
3759           }
3760         },
3761         "WatchAll": {
3762           "type": "object",
3763           "properties": {
3764             "Result": {
3765               "$ref": "#/definitions/AllWatcherId"
3766             }
3767           }
3768         }
3769       },
3770       "definitions": {
3771         "APIHostPortsResult": {
3772           "type": "object",
3773           "properties": {
3774             "servers": {
3775               "type": "array",
3776               "items": {
3777                 "type": "array",
3778                 "items": {
3779                   "$ref": "#/definitions/HostPort"
3780                 }
3781               }
3782             }
3783           },
3784           "additionalProperties": false,
3785           "required": [
3786             "servers"
3787           ]
3788         },
3789         "AddCharm": {
3790           "type": "object",
3791           "properties": {
3792             "channel": {
3793               "type": "string"
3794             },
3795             "url": {
3796               "type": "string"
3797             }
3798           },
3799           "additionalProperties": false,
3800           "required": [
3801             "url",
3802             "channel"
3803           ]
3804         },
3805         "AddCharmWithAuthorization": {
3806           "type": "object",
3807           "properties": {
3808             "channel": {
3809               "type": "string"
3810             },
3811             "macaroon": {
3812               "$ref": "#/definitions/Macaroon"
3813             },
3814             "url": {
3815               "type": "string"
3816             }
3817           },
3818           "additionalProperties": false,
3819           "required": [
3820             "url",
3821             "channel",
3822             "macaroon"
3823           ]
3824         },
3825         "AddMachineParams": {
3826           "type": "object",
3827           "properties": {
3828             "addresses": {
3829               "type": "array",
3830               "items": {
3831                 "$ref": "#/definitions/Address"
3832               }
3833             },
3834             "constraints": {
3835               "$ref": "#/definitions/Value"
3836             },
3837             "container-type": {
3838               "type": "string"
3839             },
3840             "disks": {
3841               "type": "array",
3842               "items": {
3843                 "$ref": "#/definitions/Constraints"
3844               }
3845             },
3846             "hardware-characteristics": {
3847               "$ref": "#/definitions/HardwareCharacteristics"
3848             },
3849             "instance-id": {
3850               "type": "string"
3851             },
3852             "jobs": {
3853               "type": "array",
3854               "items": {
3855                 "type": "string"
3856               }
3857             },
3858             "nonce": {
3859               "type": "string"
3860             },
3861             "parent-id": {
3862               "type": "string"
3863             },
3864             "placement": {
3865               "$ref": "#/definitions/Placement"
3866             },
3867             "series": {
3868               "type": "string"
3869             }
3870           },
3871           "additionalProperties": false,
3872           "required": [
3873             "series",
3874             "constraints",
3875             "jobs",
3876             "parent-id",
3877             "container-type",
3878             "instance-id",
3879             "nonce",
3880             "hardware-characteristics",
3881             "addresses"
3882           ]
3883         },
3884         "AddMachines": {
3885           "type": "object",
3886           "properties": {
3887             "params": {
3888               "type": "array",
3889               "items": {
3890                 "$ref": "#/definitions/AddMachineParams"
3891               }
3892             }
3893           },
3894           "additionalProperties": false,
3895           "required": [
3896             "params"
3897           ]
3898         },
3899         "AddMachinesResult": {
3900           "type": "object",
3901           "properties": {
3902             "error": {
3903               "$ref": "#/definitions/Error"
3904             },
3905             "machine": {
3906               "type": "string"
3907             }
3908           },
3909           "additionalProperties": false,
3910           "required": [
3911             "machine"
3912           ]
3913         },
3914         "AddMachinesResults": {
3915           "type": "object",
3916           "properties": {
3917             "machines": {
3918               "type": "array",
3919               "items": {
3920                 "$ref": "#/definitions/AddMachinesResult"
3921               }
3922             }
3923           },
3924           "additionalProperties": false,
3925           "required": [
3926             "machines"
3927           ]
3928         },
3929         "Address": {
3930           "type": "object",
3931           "properties": {
3932             "scope": {
3933               "type": "string"
3934             },
3935             "space-name": {
3936               "type": "string"
3937             },
3938             "type": {
3939               "type": "string"
3940             },
3941             "value": {
3942               "type": "string"
3943             }
3944           },
3945           "additionalProperties": false,
3946           "required": [
3947             "value",
3948             "type",
3949             "scope"
3950           ]
3951         },
3952         "AgentVersionResult": {
3953           "type": "object",
3954           "properties": {
3955             "version": {
3956               "$ref": "#/definitions/Number"
3957             }
3958           },
3959           "additionalProperties": false,
3960           "required": [
3961             "version"
3962           ]
3963         },
3964         "AllWatcherId": {
3965           "type": "object",
3966           "properties": {
3967             "watcher-id": {
3968               "type": "string"
3969             }
3970           },
3971           "additionalProperties": false,
3972           "required": [
3973             "watcher-id"
3974           ]
3975         },
3976         "ApplicationStatus": {
3977           "type": "object",
3978           "properties": {
3979             "can-upgrade-to": {
3980               "type": "string"
3981             },
3982             "charm": {
3983               "type": "string"
3984             },
3985             "err": {
3986               "type": "object",
3987               "additionalProperties": true
3988             },
3989             "exposed": {
3990               "type": "boolean"
3991             },
3992             "life": {
3993               "type": "string"
3994             },
3995             "meter-statuses": {
3996               "type": "object",
3997               "patternProperties": {
3998                 ".*": {
3999                   "$ref": "#/definitions/MeterStatus"
4000                 }
4001               }
4002             },
4003             "relations": {
4004               "type": "object",
4005               "patternProperties": {
4006                 ".*": {
4007                   "type": "array",
4008                   "items": {
4009                     "type": "string"
4010                   }
4011                 }
4012               }
4013             },
4014             "series": {
4015               "type": "string"
4016             },
4017             "status": {
4018               "$ref": "#/definitions/DetailedStatus"
4019             },
4020             "subordinate-to": {
4021               "type": "array",
4022               "items": {
4023                 "type": "string"
4024               }
4025             },
4026             "units": {
4027               "type": "object",
4028               "patternProperties": {
4029                 ".*": {
4030                   "$ref": "#/definitions/UnitStatus"
4031                 }
4032               }
4033             },
4034             "workload-version": {
4035               "type": "string"
4036             }
4037           },
4038           "additionalProperties": false,
4039           "required": [
4040             "charm",
4041             "series",
4042             "exposed",
4043             "life",
4044             "relations",
4045             "can-upgrade-to",
4046             "subordinate-to",
4047             "units",
4048             "meter-statuses",
4049             "status",
4050             "workload-version"
4051           ]
4052         },
4053         "Binary": {
4054           "type": "object",
4055           "properties": {
4056             "Arch": {
4057               "type": "string"
4058             },
4059             "Number": {
4060               "$ref": "#/definitions/Number"
4061             },
4062             "Series": {
4063               "type": "string"
4064             }
4065           },
4066           "additionalProperties": false,
4067           "required": [
4068             "Number",
4069             "Series",
4070             "Arch"
4071           ]
4072         },
4073         "BundleChange": {
4074           "type": "object",
4075           "properties": {
4076             "args": {
4077               "type": "array",
4078               "items": {
4079                 "type": "object",
4080                 "additionalProperties": true
4081               }
4082             },
4083             "id": {
4084               "type": "string"
4085             },
4086             "method": {
4087               "type": "string"
4088             },
4089             "requires": {
4090               "type": "array",
4091               "items": {
4092                 "type": "string"
4093               }
4094             }
4095           },
4096           "additionalProperties": false,
4097           "required": [
4098             "id",
4099             "method",
4100             "args",
4101             "requires"
4102           ]
4103         },
4104         "BundleChangesParams": {
4105           "type": "object",
4106           "properties": {
4107             "yaml": {
4108               "type": "string"
4109             }
4110           },
4111           "additionalProperties": false,
4112           "required": [
4113             "yaml"
4114           ]
4115         },
4116         "BundleChangesResults": {
4117           "type": "object",
4118           "properties": {
4119             "changes": {
4120               "type": "array",
4121               "items": {
4122                 "$ref": "#/definitions/BundleChange"
4123               }
4124             },
4125             "errors": {
4126               "type": "array",
4127               "items": {
4128                 "type": "string"
4129               }
4130             }
4131           },
4132           "additionalProperties": false
4133         },
4134         "ConfigValue": {
4135           "type": "object",
4136           "properties": {
4137             "source": {
4138               "type": "string"
4139             },
4140             "value": {
4141               "type": "object",
4142               "additionalProperties": true
4143             }
4144           },
4145           "additionalProperties": false,
4146           "required": [
4147             "value",
4148             "source"
4149           ]
4150         },
4151         "Constraints": {
4152           "type": "object",
4153           "properties": {
4154             "Count": {
4155               "type": "integer"
4156             },
4157             "Pool": {
4158               "type": "string"
4159             },
4160             "Size": {
4161               "type": "integer"
4162             }
4163           },
4164           "additionalProperties": false,
4165           "required": [
4166             "Pool",
4167             "Size",
4168             "Count"
4169           ]
4170         },
4171         "DestroyMachines": {
4172           "type": "object",
4173           "properties": {
4174             "force": {
4175               "type": "boolean"
4176             },
4177             "machine-names": {
4178               "type": "array",
4179               "items": {
4180                 "type": "string"
4181               }
4182             }
4183           },
4184           "additionalProperties": false,
4185           "required": [
4186             "machine-names",
4187             "force"
4188           ]
4189         },
4190         "DetailedStatus": {
4191           "type": "object",
4192           "properties": {
4193             "data": {
4194               "type": "object",
4195               "patternProperties": {
4196                 ".*": {
4197                   "type": "object",
4198                   "additionalProperties": true
4199                 }
4200               }
4201             },
4202             "err": {
4203               "type": "object",
4204               "additionalProperties": true
4205             },
4206             "info": {
4207               "type": "string"
4208             },
4209             "kind": {
4210               "type": "string"
4211             },
4212             "life": {
4213               "type": "string"
4214             },
4215             "since": {
4216               "type": "string",
4217               "format": "date-time"
4218             },
4219             "status": {
4220               "type": "string"
4221             },
4222             "version": {
4223               "type": "string"
4224             }
4225           },
4226           "additionalProperties": false,
4227           "required": [
4228             "status",
4229             "info",
4230             "data",
4231             "since",
4232             "kind",
4233             "version",
4234             "life"
4235           ]
4236         },
4237         "EndpointStatus": {
4238           "type": "object",
4239           "properties": {
4240             "application": {
4241               "type": "string"
4242             },
4243             "name": {
4244               "type": "string"
4245             },
4246             "role": {
4247               "type": "string"
4248             },
4249             "subordinate": {
4250               "type": "boolean"
4251             }
4252           },
4253           "additionalProperties": false,
4254           "required": [
4255             "application",
4256             "name",
4257             "role",
4258             "subordinate"
4259           ]
4260         },
4261         "Entities": {
4262           "type": "object",
4263           "properties": {
4264             "entities": {
4265               "type": "array",
4266               "items": {
4267                 "$ref": "#/definitions/Entity"
4268               }
4269             }
4270           },
4271           "additionalProperties": false,
4272           "required": [
4273             "entities"
4274           ]
4275         },
4276         "Entity": {
4277           "type": "object",
4278           "properties": {
4279             "tag": {
4280               "type": "string"
4281             }
4282           },
4283           "additionalProperties": false,
4284           "required": [
4285             "tag"
4286           ]
4287         },
4288         "EntityStatus": {
4289           "type": "object",
4290           "properties": {
4291             "data": {
4292               "type": "object",
4293               "patternProperties": {
4294                 ".*": {
4295                   "type": "object",
4296                   "additionalProperties": true
4297                 }
4298               }
4299             },
4300             "info": {
4301               "type": "string"
4302             },
4303             "since": {
4304               "type": "string",
4305               "format": "date-time"
4306             },
4307             "status": {
4308               "type": "string"
4309             }
4310           },
4311           "additionalProperties": false,
4312           "required": [
4313             "status",
4314             "info",
4315             "since"
4316           ]
4317         },
4318         "Error": {
4319           "type": "object",
4320           "properties": {
4321             "code": {
4322               "type": "string"
4323             },
4324             "info": {
4325               "$ref": "#/definitions/ErrorInfo"
4326             },
4327             "message": {
4328               "type": "string"
4329             }
4330           },
4331           "additionalProperties": false,
4332           "required": [
4333             "message",
4334             "code"
4335           ]
4336         },
4337         "ErrorInfo": {
4338           "type": "object",
4339           "properties": {
4340             "macaroon": {
4341               "$ref": "#/definitions/Macaroon"
4342             },
4343             "macaroon-path": {
4344               "type": "string"
4345             }
4346           },
4347           "additionalProperties": false
4348         },
4349         "ErrorResult": {
4350           "type": "object",
4351           "properties": {
4352             "error": {
4353               "$ref": "#/definitions/Error"
4354             }
4355           },
4356           "additionalProperties": false
4357         },
4358         "ErrorResults": {
4359           "type": "object",
4360           "properties": {
4361             "results": {
4362               "type": "array",
4363               "items": {
4364                 "$ref": "#/definitions/ErrorResult"
4365               }
4366             }
4367           },
4368           "additionalProperties": false,
4369           "required": [
4370             "results"
4371           ]
4372         },
4373         "FindToolsParams": {
4374           "type": "object",
4375           "properties": {
4376             "arch": {
4377               "type": "string"
4378             },
4379             "major": {
4380               "type": "integer"
4381             },
4382             "minor": {
4383               "type": "integer"
4384             },
4385             "number": {
4386               "$ref": "#/definitions/Number"
4387             },
4388             "series": {
4389               "type": "string"
4390             }
4391           },
4392           "additionalProperties": false,
4393           "required": [
4394             "number",
4395             "major",
4396             "minor",
4397             "arch",
4398             "series"
4399           ]
4400         },
4401         "FindToolsResult": {
4402           "type": "object",
4403           "properties": {
4404             "error": {
4405               "$ref": "#/definitions/Error"
4406             },
4407             "list": {
4408               "type": "array",
4409               "items": {
4410                 "$ref": "#/definitions/Tools"
4411               }
4412             }
4413           },
4414           "additionalProperties": false,
4415           "required": [
4416             "list"
4417           ]
4418         },
4419         "FullStatus": {
4420           "type": "object",
4421           "properties": {
4422             "applications": {
4423               "type": "object",
4424               "patternProperties": {
4425                 ".*": {
4426                   "$ref": "#/definitions/ApplicationStatus"
4427                 }
4428               }
4429             },
4430             "machines": {
4431               "type": "object",
4432               "patternProperties": {
4433                 ".*": {
4434                   "$ref": "#/definitions/MachineStatus"
4435                 }
4436               }
4437             },
4438             "model": {
4439               "$ref": "#/definitions/ModelStatusInfo"
4440             },
4441             "relations": {
4442               "type": "array",
4443               "items": {
4444                 "$ref": "#/definitions/RelationStatus"
4445               }
4446             },
4447             "remote-applications": {
4448               "type": "object",
4449               "patternProperties": {
4450                 ".*": {
4451                   "$ref": "#/definitions/RemoteApplicationStatus"
4452                 }
4453               }
4454             }
4455           },
4456           "additionalProperties": false,
4457           "required": [
4458             "model",
4459             "machines",
4460             "applications",
4461             "remote-applications",
4462             "relations"
4463           ]
4464         },
4465         "GetConstraintsResults": {
4466           "type": "object",
4467           "properties": {
4468             "constraints": {
4469               "$ref": "#/definitions/Value"
4470             }
4471           },
4472           "additionalProperties": false,
4473           "required": [
4474             "constraints"
4475           ]
4476         },
4477         "HardwareCharacteristics": {
4478           "type": "object",
4479           "properties": {
4480             "arch": {
4481               "type": "string"
4482             },
4483             "availability-zone": {
4484               "type": "string"
4485             },
4486             "cpu-cores": {
4487               "type": "integer"
4488             },
4489             "cpu-power": {
4490               "type": "integer"
4491             },
4492             "mem": {
4493               "type": "integer"
4494             },
4495             "root-disk": {
4496               "type": "integer"
4497             },
4498             "tags": {
4499               "type": "array",
4500               "items": {
4501                 "type": "string"
4502               }
4503             }
4504           },
4505           "additionalProperties": false
4506         },
4507         "History": {
4508           "type": "object",
4509           "properties": {
4510             "error": {
4511               "$ref": "#/definitions/Error"
4512             },
4513             "statuses": {
4514               "type": "array",
4515               "items": {
4516                 "$ref": "#/definitions/DetailedStatus"
4517               }
4518             }
4519           },
4520           "additionalProperties": false,
4521           "required": [
4522             "statuses"
4523           ]
4524         },
4525         "HostPort": {
4526           "type": "object",
4527           "properties": {
4528             "Address": {
4529               "$ref": "#/definitions/Address"
4530             },
4531             "port": {
4532               "type": "integer"
4533             }
4534           },
4535           "additionalProperties": false,
4536           "required": [
4537             "Address",
4538             "port"
4539           ]
4540         },
4541         "Macaroon": {
4542           "type": "object",
4543           "additionalProperties": false
4544         },
4545         "MachineHardware": {
4546           "type": "object",
4547           "properties": {
4548             "arch": {
4549               "type": "string"
4550             },
4551             "availability-zone": {
4552               "type": "string"
4553             },
4554             "cores": {
4555               "type": "integer"
4556             },
4557             "cpu-power": {
4558               "type": "integer"
4559             },
4560             "mem": {
4561               "type": "integer"
4562             },
4563             "root-disk": {
4564               "type": "integer"
4565             },
4566             "tags": {
4567               "type": "array",
4568               "items": {
4569                 "type": "string"
4570               }
4571             }
4572           },
4573           "additionalProperties": false
4574         },
4575         "MachineStatus": {
4576           "type": "object",
4577           "properties": {
4578             "agent-status": {
4579               "$ref": "#/definitions/DetailedStatus"
4580             },
4581             "containers": {
4582               "type": "object",
4583               "patternProperties": {
4584                 ".*": {
4585                   "$ref": "#/definitions/MachineStatus"
4586                 }
4587               }
4588             },
4589             "dns-name": {
4590               "type": "string"
4591             },
4592             "hardware": {
4593               "type": "string"
4594             },
4595             "has-vote": {
4596               "type": "boolean"
4597             },
4598             "id": {
4599               "type": "string"
4600             },
4601             "instance-id": {
4602               "type": "string"
4603             },
4604             "instance-status": {
4605               "$ref": "#/definitions/DetailedStatus"
4606             },
4607             "ip-addresses": {
4608               "type": "array",
4609               "items": {
4610                 "type": "string"
4611               }
4612             },
4613             "jobs": {
4614               "type": "array",
4615               "items": {
4616                 "type": "string"
4617               }
4618             },
4619             "series": {
4620               "type": "string"
4621             },
4622             "wants-vote": {
4623               "type": "boolean"
4624             }
4625           },
4626           "additionalProperties": false,
4627           "required": [
4628             "agent-status",
4629             "instance-status",
4630             "dns-name",
4631             "ip-addresses",
4632             "instance-id",
4633             "series",
4634             "id",
4635             "containers",
4636             "hardware",
4637             "jobs",
4638             "has-vote",
4639             "wants-vote"
4640           ]
4641         },
4642         "MeterStatus": {
4643           "type": "object",
4644           "properties": {
4645             "color": {
4646               "type": "string"
4647             },
4648             "message": {
4649               "type": "string"
4650             }
4651           },
4652           "additionalProperties": false,
4653           "required": [
4654             "color",
4655             "message"
4656           ]
4657         },
4658         "ModelConfigResults": {
4659           "type": "object",
4660           "properties": {
4661             "config": {
4662               "type": "object",
4663               "patternProperties": {
4664                 ".*": {
4665                   "$ref": "#/definitions/ConfigValue"
4666                 }
4667               }
4668             }
4669           },
4670           "additionalProperties": false,
4671           "required": [
4672             "config"
4673           ]
4674         },
4675         "ModelInfo": {
4676           "type": "object",
4677           "properties": {
4678             "cloud-credential-tag": {
4679               "type": "string"
4680             },
4681             "cloud-region": {
4682               "type": "string"
4683             },
4684             "cloud-tag": {
4685               "type": "string"
4686             },
4687             "controller-uuid": {
4688               "type": "string"
4689             },
4690             "default-series": {
4691               "type": "string"
4692             },
4693             "life": {
4694               "type": "string"
4695             },
4696             "machines": {
4697               "type": "array",
4698               "items": {
4699                 "$ref": "#/definitions/ModelMachineInfo"
4700               }
4701             },
4702             "name": {
4703               "type": "string"
4704             },
4705             "owner-tag": {
4706               "type": "string"
4707             },
4708             "provider-type": {
4709               "type": "string"
4710             },
4711             "status": {
4712               "$ref": "#/definitions/EntityStatus"
4713             },
4714             "users": {
4715               "type": "array",
4716               "items": {
4717                 "$ref": "#/definitions/ModelUserInfo"
4718               }
4719             },
4720             "uuid": {
4721               "type": "string"
4722             }
4723           },
4724           "additionalProperties": false,
4725           "required": [
4726             "name",
4727             "uuid",
4728             "controller-uuid",
4729             "provider-type",
4730             "default-series",
4731             "cloud-tag",
4732             "owner-tag",
4733             "life",
4734             "status",
4735             "users",
4736             "machines"
4737           ]
4738         },
4739         "ModelMachineInfo": {
4740           "type": "object",
4741           "properties": {
4742             "hardware": {
4743               "$ref": "#/definitions/MachineHardware"
4744             },
4745             "has-vote": {
4746               "type": "boolean"
4747             },
4748             "id": {
4749               "type": "string"
4750             },
4751             "instance-id": {
4752               "type": "string"
4753             },
4754             "status": {
4755               "type": "string"
4756             },
4757             "wants-vote": {
4758               "type": "boolean"
4759             }
4760           },
4761           "additionalProperties": false,
4762           "required": [
4763             "id"
4764           ]
4765         },
4766         "ModelSet": {
4767           "type": "object",
4768           "properties": {
4769             "config": {
4770               "type": "object",
4771               "patternProperties": {
4772                 ".*": {
4773                   "type": "object",
4774                   "additionalProperties": true
4775                 }
4776               }
4777             }
4778           },
4779           "additionalProperties": false,
4780           "required": [
4781             "config"
4782           ]
4783         },
4784         "ModelStatusInfo": {
4785           "type": "object",
4786           "properties": {
4787             "available-version": {
4788               "type": "string"
4789             },
4790             "cloud-tag": {
4791               "type": "string"
4792             },
4793             "migration": {
4794               "type": "string"
4795             },
4796             "name": {
4797               "type": "string"
4798             },
4799             "region": {
4800               "type": "string"
4801             },
4802             "version": {
4803               "type": "string"
4804             }
4805           },
4806           "additionalProperties": false,
4807           "required": [
4808             "name",
4809             "cloud-tag",
4810             "version",
4811             "available-version"
4812           ]
4813         },
4814         "ModelUnset": {
4815           "type": "object",
4816           "properties": {
4817             "keys": {
4818               "type": "array",
4819               "items": {
4820                 "type": "string"
4821               }
4822             }
4823           },
4824           "additionalProperties": false,
4825           "required": [
4826             "keys"
4827           ]
4828         },
4829         "ModelUserInfo": {
4830           "type": "object",
4831           "properties": {
4832             "access": {
4833               "type": "string"
4834             },
4835             "display-name": {
4836               "type": "string"
4837             },
4838             "last-connection": {
4839               "type": "string",
4840               "format": "date-time"
4841             },
4842             "user": {
4843               "type": "string"
4844             }
4845           },
4846           "additionalProperties": false,
4847           "required": [
4848             "user",
4849             "display-name",
4850             "last-connection",
4851             "access"
4852           ]
4853         },
4854         "ModelUserInfoResult": {
4855           "type": "object",
4856           "properties": {
4857             "error": {
4858               "$ref": "#/definitions/Error"
4859             },
4860             "result": {
4861               "$ref": "#/definitions/ModelUserInfo"
4862             }
4863           },
4864           "additionalProperties": false
4865         },
4866         "ModelUserInfoResults": {
4867           "type": "object",
4868           "properties": {
4869             "results": {
4870               "type": "array",
4871               "items": {
4872                 "$ref": "#/definitions/ModelUserInfoResult"
4873               }
4874             }
4875           },
4876           "additionalProperties": false,
4877           "required": [
4878             "results"
4879           ]
4880         },
4881         "Number": {
4882           "type": "object",
4883           "properties": {
4884             "Build": {
4885               "type": "integer"
4886             },
4887             "Major": {
4888               "type": "integer"
4889             },
4890             "Minor": {
4891               "type": "integer"
4892             },
4893             "Patch": {
4894               "type": "integer"
4895             },
4896             "Tag": {
4897               "type": "string"
4898             }
4899           },
4900           "additionalProperties": false,
4901           "required": [
4902             "Major",
4903             "Minor",
4904             "Tag",
4905             "Patch",
4906             "Build"
4907           ]
4908         },
4909         "Placement": {
4910           "type": "object",
4911           "properties": {
4912             "directive": {
4913               "type": "string"
4914             },
4915             "scope": {
4916               "type": "string"
4917             }
4918           },
4919           "additionalProperties": false,
4920           "required": [
4921             "scope",
4922             "directive"
4923           ]
4924         },
4925         "PrivateAddress": {
4926           "type": "object",
4927           "properties": {
4928             "target": {
4929               "type": "string"
4930             }
4931           },
4932           "additionalProperties": false,
4933           "required": [
4934             "target"
4935           ]
4936         },
4937         "PrivateAddressResults": {
4938           "type": "object",
4939           "properties": {
4940             "private-address": {
4941               "type": "string"
4942             }
4943           },
4944           "additionalProperties": false,
4945           "required": [
4946             "private-address"
4947           ]
4948         },
4949         "ProvisioningScriptParams": {
4950           "type": "object",
4951           "properties": {
4952             "data-dir": {
4953               "type": "string"
4954             },
4955             "disable-package-commands": {
4956               "type": "boolean"
4957             },
4958             "machine-id": {
4959               "type": "string"
4960             },
4961             "nonce": {
4962               "type": "string"
4963             }
4964           },
4965           "additionalProperties": false,
4966           "required": [
4967             "machine-id",
4968             "nonce",
4969             "data-dir",
4970             "disable-package-commands"
4971           ]
4972         },
4973         "ProvisioningScriptResult": {
4974           "type": "object",
4975           "properties": {
4976             "script": {
4977               "type": "string"
4978             }
4979           },
4980           "additionalProperties": false,
4981           "required": [
4982             "script"
4983           ]
4984         },
4985         "PublicAddress": {
4986           "type": "object",
4987           "properties": {
4988             "target": {
4989               "type": "string"
4990             }
4991           },
4992           "additionalProperties": false,
4993           "required": [
4994             "target"
4995           ]
4996         },
4997         "PublicAddressResults": {
4998           "type": "object",
4999           "properties": {
5000             "public-address": {
5001               "type": "string"
5002             }
5003           },
5004           "additionalProperties": false,
5005           "required": [
5006             "public-address"
5007           ]
5008         },
5009         "RelationStatus": {
5010           "type": "object",
5011           "properties": {
5012             "endpoints": {
5013               "type": "array",
5014               "items": {
5015                 "$ref": "#/definitions/EndpointStatus"
5016               }
5017             },
5018             "id": {
5019               "type": "integer"
5020             },
5021             "interface": {
5022               "type": "string"
5023             },
5024             "key": {
5025               "type": "string"
5026             },
5027             "scope": {
5028               "type": "string"
5029             }
5030           },
5031           "additionalProperties": false,
5032           "required": [
5033             "id",
5034             "key",
5035             "interface",
5036             "scope",
5037             "endpoints"
5038           ]
5039         },
5040         "RemoteApplicationStatus": {
5041           "type": "object",
5042           "properties": {
5043             "application-name": {
5044               "type": "string"
5045             },
5046             "application-url": {
5047               "type": "string"
5048             },
5049             "endpoints": {
5050               "type": "array",
5051               "items": {
5052                 "$ref": "#/definitions/RemoteEndpoint"
5053               }
5054             },
5055             "err": {
5056               "type": "object",
5057               "additionalProperties": true
5058             },
5059             "life": {
5060               "type": "string"
5061             },
5062             "relations": {
5063               "type": "object",
5064               "patternProperties": {
5065                 ".*": {
5066                   "type": "array",
5067                   "items": {
5068                     "type": "string"
5069                   }
5070                 }
5071               }
5072             },
5073             "status": {
5074               "$ref": "#/definitions/DetailedStatus"
5075             }
5076           },
5077           "additionalProperties": false,
5078           "required": [
5079             "application-url",
5080             "application-name",
5081             "endpoints",
5082             "life",
5083             "relations",
5084             "status"
5085           ]
5086         },
5087         "RemoteEndpoint": {
5088           "type": "object",
5089           "properties": {
5090             "interface": {
5091               "type": "string"
5092             },
5093             "limit": {
5094               "type": "integer"
5095             },
5096             "name": {
5097               "type": "string"
5098             },
5099             "role": {
5100               "type": "string"
5101             },
5102             "scope": {
5103               "type": "string"
5104             }
5105           },
5106           "additionalProperties": false,
5107           "required": [
5108             "name",
5109             "role",
5110             "interface",
5111             "limit",
5112             "scope"
5113           ]
5114         },
5115         "ResolveCharmResult": {
5116           "type": "object",
5117           "properties": {
5118             "error": {
5119               "type": "string"
5120             },
5121             "url": {
5122               "type": "string"
5123             }
5124           },
5125           "additionalProperties": false
5126         },
5127         "ResolveCharmResults": {
5128           "type": "object",
5129           "properties": {
5130             "urls": {
5131               "type": "array",
5132               "items": {
5133                 "$ref": "#/definitions/ResolveCharmResult"
5134               }
5135             }
5136           },
5137           "additionalProperties": false,
5138           "required": [
5139             "urls"
5140           ]
5141         },
5142         "ResolveCharms": {
5143           "type": "object",
5144           "properties": {
5145             "references": {
5146               "type": "array",
5147               "items": {
5148                 "type": "string"
5149               }
5150             }
5151           },
5152           "additionalProperties": false,
5153           "required": [
5154             "references"
5155           ]
5156         },
5157         "Resolved": {
5158           "type": "object",
5159           "properties": {
5160             "retry": {
5161               "type": "boolean"
5162             },
5163             "unit-name": {
5164               "type": "string"
5165             }
5166           },
5167           "additionalProperties": false,
5168           "required": [
5169             "unit-name",
5170             "retry"
5171           ]
5172         },
5173         "SetConstraints": {
5174           "type": "object",
5175           "properties": {
5176             "application": {
5177               "type": "string"
5178             },
5179             "constraints": {
5180               "$ref": "#/definitions/Value"
5181             }
5182           },
5183           "additionalProperties": false,
5184           "required": [
5185             "application",
5186             "constraints"
5187           ]
5188         },
5189         "SetModelAgentVersion": {
5190           "type": "object",
5191           "properties": {
5192             "version": {
5193               "$ref": "#/definitions/Number"
5194             }
5195           },
5196           "additionalProperties": false,
5197           "required": [
5198             "version"
5199           ]
5200         },
5201         "StatusHistoryFilter": {
5202           "type": "object",
5203           "properties": {
5204             "date": {
5205               "type": "string",
5206               "format": "date-time"
5207             },
5208             "delta": {
5209               "type": "integer"
5210             },
5211             "size": {
5212               "type": "integer"
5213             }
5214           },
5215           "additionalProperties": false,
5216           "required": [
5217             "size",
5218             "date",
5219             "delta"
5220           ]
5221         },
5222         "StatusHistoryRequest": {
5223           "type": "object",
5224           "properties": {
5225             "filter": {
5226               "$ref": "#/definitions/StatusHistoryFilter"
5227             },
5228             "historyKind": {
5229               "type": "string"
5230             },
5231             "size": {
5232               "type": "integer"
5233             },
5234             "tag": {
5235               "type": "string"
5236             }
5237           },
5238           "additionalProperties": false,
5239           "required": [
5240             "historyKind",
5241             "size",
5242             "filter",
5243             "tag"
5244           ]
5245         },
5246         "StatusHistoryRequests": {
5247           "type": "object",
5248           "properties": {
5249             "requests": {
5250               "type": "array",
5251               "items": {
5252                 "$ref": "#/definitions/StatusHistoryRequest"
5253               }
5254             }
5255           },
5256           "additionalProperties": false,
5257           "required": [
5258             "requests"
5259           ]
5260         },
5261         "StatusHistoryResult": {
5262           "type": "object",
5263           "properties": {
5264             "error": {
5265               "$ref": "#/definitions/Error"
5266             },
5267             "history": {
5268               "$ref": "#/definitions/History"
5269             }
5270           },
5271           "additionalProperties": false,
5272           "required": [
5273             "history"
5274           ]
5275         },
5276         "StatusHistoryResults": {
5277           "type": "object",
5278           "properties": {
5279             "results": {
5280               "type": "array",
5281               "items": {
5282                 "$ref": "#/definitions/StatusHistoryResult"
5283               }
5284             }
5285           },
5286           "additionalProperties": false,
5287           "required": [
5288             "results"
5289           ]
5290         },
5291         "StatusParams": {
5292           "type": "object",
5293           "properties": {
5294             "patterns": {
5295               "type": "array",
5296               "items": {
5297                 "type": "string"
5298               }
5299             }
5300           },
5301           "additionalProperties": false,
5302           "required": [
5303             "patterns"
5304           ]
5305         },
5306         "Tools": {
5307           "type": "object",
5308           "properties": {
5309             "sha256": {
5310               "type": "string"
5311             },
5312             "size": {
5313               "type": "integer"
5314             },
5315             "url": {
5316               "type": "string"
5317             },
5318             "version": {
5319               "$ref": "#/definitions/Binary"
5320             }
5321           },
5322           "additionalProperties": false,
5323           "required": [
5324             "version",
5325             "url",
5326             "size"
5327           ]
5328         },
5329         "UnitStatus": {
5330           "type": "object",
5331           "properties": {
5332             "agent-status": {
5333               "$ref": "#/definitions/DetailedStatus"
5334             },
5335             "charm": {
5336               "type": "string"
5337             },
5338             "leader": {
5339               "type": "boolean"
5340             },
5341             "machine": {
5342               "type": "string"
5343             },
5344             "opened-ports": {
5345               "type": "array",
5346               "items": {
5347                 "type": "string"
5348               }
5349             },
5350             "public-address": {
5351               "type": "string"
5352             },
5353             "subordinates": {
5354               "type": "object",
5355               "patternProperties": {
5356                 ".*": {
5357                   "$ref": "#/definitions/UnitStatus"
5358                 }
5359               }
5360             },
5361             "workload-status": {
5362               "$ref": "#/definitions/DetailedStatus"
5363             },
5364             "workload-version": {
5365               "type": "string"
5366             }
5367           },
5368           "additionalProperties": false,
5369           "required": [
5370             "agent-status",
5371             "workload-status",
5372             "workload-version",
5373             "machine",
5374             "opened-ports",
5375             "public-address",
5376             "charm",
5377             "subordinates"
5378           ]
5379         },
5380         "Value": {
5381           "type": "object",
5382           "properties": {
5383             "arch": {
5384               "type": "string"
5385             },
5386             "container": {
5387               "type": "string"
5388             },
5389             "cores": {
5390               "type": "integer"
5391             },
5392             "cpu-power": {
5393               "type": "integer"
5394             },
5395             "instance-type": {
5396               "type": "string"
5397             },
5398             "mem": {
5399               "type": "integer"
5400             },
5401             "root-disk": {
5402               "type": "integer"
5403             },
5404             "spaces": {
5405               "type": "array",
5406               "items": {
5407                 "type": "string"
5408               }
5409             },
5410             "tags": {
5411               "type": "array",
5412               "items": {
5413                 "type": "string"
5414               }
5415             },
5416             "virt-type": {
5417               "type": "string"
5418             }
5419           },
5420           "additionalProperties": false
5421         }
5422       }
5423     }
5424   },
5425   {
5426     "Name": "Cloud",
5427     "Version": 1,
5428     "Schema": {
5429       "type": "object",
5430       "properties": {
5431         "Cloud": {
5432           "type": "object",
5433           "properties": {
5434             "Params": {
5435               "$ref": "#/definitions/Entities"
5436             },
5437             "Result": {
5438               "$ref": "#/definitions/CloudResults"
5439             }
5440           }
5441         },
5442         "Clouds": {
5443           "type": "object",
5444           "properties": {
5445             "Result": {
5446               "$ref": "#/definitions/CloudsResult"
5447             }
5448           }
5449         },
5450         "Credential": {
5451           "type": "object",
5452           "properties": {
5453             "Params": {
5454               "$ref": "#/definitions/Entities"
5455             },
5456             "Result": {
5457               "$ref": "#/definitions/CloudCredentialResults"
5458             }
5459           }
5460         },
5461         "DefaultCloud": {
5462           "type": "object",
5463           "properties": {
5464             "Result": {
5465               "$ref": "#/definitions/StringResult"
5466             }
5467           }
5468         },
5469         "RevokeCredentials": {
5470           "type": "object",
5471           "properties": {
5472             "Params": {
5473               "$ref": "#/definitions/Entities"
5474             },
5475             "Result": {
5476               "$ref": "#/definitions/ErrorResults"
5477             }
5478           }
5479         },
5480         "UpdateCredentials": {
5481           "type": "object",
5482           "properties": {
5483             "Params": {
5484               "$ref": "#/definitions/UpdateCloudCredentials"
5485             },
5486             "Result": {
5487               "$ref": "#/definitions/ErrorResults"
5488             }
5489           }
5490         },
5491         "UserCredentials": {
5492           "type": "object",
5493           "properties": {
5494             "Params": {
5495               "$ref": "#/definitions/UserClouds"
5496             },
5497             "Result": {
5498               "$ref": "#/definitions/StringsResults"
5499             }
5500           }
5501         }
5502       },
5503       "definitions": {
5504         "Cloud": {
5505           "type": "object",
5506           "properties": {
5507             "auth-types": {
5508               "type": "array",
5509               "items": {
5510                 "type": "string"
5511               }
5512             },
5513             "endpoint": {
5514               "type": "string"
5515             },
5516             "identity-endpoint": {
5517               "type": "string"
5518             },
5519             "regions": {
5520               "type": "array",
5521               "items": {
5522                 "$ref": "#/definitions/CloudRegion"
5523               }
5524             },
5525             "storage-endpoint": {
5526               "type": "string"
5527             },
5528             "type": {
5529               "type": "string"
5530             }
5531           },
5532           "additionalProperties": false,
5533           "required": [
5534             "type"
5535           ]
5536         },
5537         "CloudCredential": {
5538           "type": "object",
5539           "properties": {
5540             "attrs": {
5541               "type": "object",
5542               "patternProperties": {
5543                 ".*": {
5544                   "type": "string"
5545                 }
5546               }
5547             },
5548             "auth-type": {
5549               "type": "string"
5550             },
5551             "redacted": {
5552               "type": "array",
5553               "items": {
5554                 "type": "string"
5555               }
5556             }
5557           },
5558           "additionalProperties": false,
5559           "required": [
5560             "auth-type"
5561           ]
5562         },
5563         "CloudCredentialResult": {
5564           "type": "object",
5565           "properties": {
5566             "error": {
5567               "$ref": "#/definitions/Error"
5568             },
5569             "result": {
5570               "$ref": "#/definitions/CloudCredential"
5571             }
5572           },
5573           "additionalProperties": false
5574         },
5575         "CloudCredentialResults": {
5576           "type": "object",
5577           "properties": {
5578             "results": {
5579               "type": "array",
5580               "items": {
5581                 "$ref": "#/definitions/CloudCredentialResult"
5582               }
5583             }
5584           },
5585           "additionalProperties": false
5586         },
5587         "CloudRegion": {
5588           "type": "object",
5589           "properties": {
5590             "endpoint": {
5591               "type": "string"
5592             },
5593             "identity-endpoint": {
5594               "type": "string"
5595             },
5596             "name": {
5597               "type": "string"
5598             },
5599             "storage-endpoint": {
5600               "type": "string"
5601             }
5602           },
5603           "additionalProperties": false,
5604           "required": [
5605             "name"
5606           ]
5607         },
5608         "CloudResult": {
5609           "type": "object",
5610           "properties": {
5611             "cloud": {
5612               "$ref": "#/definitions/Cloud"
5613             },
5614             "error": {
5615               "$ref": "#/definitions/Error"
5616             }
5617           },
5618           "additionalProperties": false
5619         },
5620         "CloudResults": {
5621           "type": "object",
5622           "properties": {
5623             "results": {
5624               "type": "array",
5625               "items": {
5626                 "$ref": "#/definitions/CloudResult"
5627               }
5628             }
5629           },
5630           "additionalProperties": false
5631         },
5632         "CloudsResult": {
5633           "type": "object",
5634           "properties": {
5635             "clouds": {
5636               "type": "object",
5637               "patternProperties": {
5638                 ".*": {
5639                   "$ref": "#/definitions/Cloud"
5640                 }
5641               }
5642             }
5643           },
5644           "additionalProperties": false
5645         },
5646         "Entities": {
5647           "type": "object",
5648           "properties": {
5649             "entities": {
5650               "type": "array",
5651               "items": {
5652                 "$ref": "#/definitions/Entity"
5653               }
5654             }
5655           },
5656           "additionalProperties": false,
5657           "required": [
5658             "entities"
5659           ]
5660         },
5661         "Entity": {
5662           "type": "object",
5663           "properties": {
5664             "tag": {
5665               "type": "string"
5666             }
5667           },
5668           "additionalProperties": false,
5669           "required": [
5670             "tag"
5671           ]
5672         },
5673         "Error": {
5674           "type": "object",
5675           "properties": {
5676             "code": {
5677               "type": "string"
5678             },
5679             "info": {
5680               "$ref": "#/definitions/ErrorInfo"
5681             },
5682             "message": {
5683               "type": "string"
5684             }
5685           },
5686           "additionalProperties": false,
5687           "required": [
5688             "message",
5689             "code"
5690           ]
5691         },
5692         "ErrorInfo": {
5693           "type": "object",
5694           "properties": {
5695             "macaroon": {
5696               "$ref": "#/definitions/Macaroon"
5697             },
5698             "macaroon-path": {
5699               "type": "string"
5700             }
5701           },
5702           "additionalProperties": false
5703         },
5704         "ErrorResult": {
5705           "type": "object",
5706           "properties": {
5707             "error": {
5708               "$ref": "#/definitions/Error"
5709             }
5710           },
5711           "additionalProperties": false
5712         },
5713         "ErrorResults": {
5714           "type": "object",
5715           "properties": {
5716             "results": {
5717               "type": "array",
5718               "items": {
5719                 "$ref": "#/definitions/ErrorResult"
5720               }
5721             }
5722           },
5723           "additionalProperties": false,
5724           "required": [
5725             "results"
5726           ]
5727         },
5728         "Macaroon": {
5729           "type": "object",
5730           "additionalProperties": false
5731         },
5732         "StringResult": {
5733           "type": "object",
5734           "properties": {
5735             "error": {
5736               "$ref": "#/definitions/Error"
5737             },
5738             "result": {
5739               "type": "string"
5740             }
5741           },
5742           "additionalProperties": false,
5743           "required": [
5744             "result"
5745           ]
5746         },
5747         "StringsResult": {
5748           "type": "object",
5749           "properties": {
5750             "error": {
5751               "$ref": "#/definitions/Error"
5752             },
5753             "result": {
5754               "type": "array",
5755               "items": {
5756                 "type": "string"
5757               }
5758             }
5759           },
5760           "additionalProperties": false
5761         },
5762         "StringsResults": {
5763           "type": "object",
5764           "properties": {
5765             "results": {
5766               "type": "array",
5767               "items": {
5768                 "$ref": "#/definitions/StringsResult"
5769               }
5770             }
5771           },
5772           "additionalProperties": false,
5773           "required": [
5774             "results"
5775           ]
5776         },
5777         "UpdateCloudCredential": {
5778           "type": "object",
5779           "properties": {
5780             "credential": {
5781               "$ref": "#/definitions/CloudCredential"
5782             },
5783             "tag": {
5784               "type": "string"
5785             }
5786           },
5787           "additionalProperties": false,
5788           "required": [
5789             "tag",
5790             "credential"
5791           ]
5792         },
5793         "UpdateCloudCredentials": {
5794           "type": "object",
5795           "properties": {
5796             "credentials": {
5797               "type": "array",
5798               "items": {
5799                 "$ref": "#/definitions/UpdateCloudCredential"
5800               }
5801             }
5802           },
5803           "additionalProperties": false
5804         },
5805         "UserCloud": {
5806           "type": "object",
5807           "properties": {
5808             "cloud-tag": {
5809               "type": "string"
5810             },
5811             "user-tag": {
5812               "type": "string"
5813             }
5814           },
5815           "additionalProperties": false,
5816           "required": [
5817             "user-tag",
5818             "cloud-tag"
5819           ]
5820         },
5821         "UserClouds": {
5822           "type": "object",
5823           "properties": {
5824             "user-clouds": {
5825               "type": "array",
5826               "items": {
5827                 "$ref": "#/definitions/UserCloud"
5828               }
5829             }
5830           },
5831           "additionalProperties": false
5832         }
5833       }
5834     }
5835   },
5836   {
5837     "Name": "Controller",
5838     "Version": 3,
5839     "Schema": {
5840       "type": "object",
5841       "properties": {
5842         "AllModels": {
5843           "type": "object",
5844           "properties": {
5845             "Result": {
5846               "$ref": "#/definitions/UserModelList"
5847             }
5848           }
5849         },
5850         "CloudSpec": {
5851           "type": "object",
5852           "properties": {
5853             "Params": {
5854               "$ref": "#/definitions/Entities"
5855             },
5856             "Result": {
5857               "$ref": "#/definitions/CloudSpecResults"
5858             }
5859           }
5860         },
5861         "ControllerConfig": {
5862           "type": "object",
5863           "properties": {
5864             "Result": {
5865               "$ref": "#/definitions/ControllerConfigResult"
5866             }
5867           }
5868         },
5869         "DestroyController": {
5870           "type": "object",
5871           "properties": {
5872             "Params": {
5873               "$ref": "#/definitions/DestroyControllerArgs"
5874             }
5875           }
5876         },
5877         "GetCloudSpec": {
5878           "type": "object",
5879           "properties": {
5880             "Params": {
5881               "$ref": "#/definitions/ModelTag"
5882             },
5883             "Result": {
5884               "$ref": "#/definitions/CloudSpecResult"
5885             }
5886           }
5887         },
5888         "GetControllerAccess": {
5889           "type": "object",
5890           "properties": {
5891             "Params": {
5892               "$ref": "#/definitions/Entities"
5893             },
5894             "Result": {
5895               "$ref": "#/definitions/UserAccessResults"
5896             }
5897           }
5898         },
5899         "HostedModelConfigs": {
5900           "type": "object",
5901           "properties": {
5902             "Result": {
5903               "$ref": "#/definitions/HostedModelConfigsResults"
5904             }
5905           }
5906         },
5907         "InitiateMigration": {
5908           "type": "object",
5909           "properties": {
5910             "Params": {
5911               "$ref": "#/definitions/InitiateMigrationArgs"
5912             },
5913             "Result": {
5914               "$ref": "#/definitions/InitiateMigrationResults"
5915             }
5916           }
5917         },
5918         "ListBlockedModels": {
5919           "type": "object",
5920           "properties": {
5921             "Result": {
5922               "$ref": "#/definitions/ModelBlockInfoList"
5923             }
5924           }
5925         },
5926         "ModelConfig": {
5927           "type": "object",
5928           "properties": {
5929             "Result": {
5930               "$ref": "#/definitions/ModelConfigResults"
5931             }
5932           }
5933         },
5934         "ModelStatus": {
5935           "type": "object",
5936           "properties": {
5937             "Params": {
5938               "$ref": "#/definitions/Entities"
5939             },
5940             "Result": {
5941               "$ref": "#/definitions/ModelStatusResults"
5942             }
5943           }
5944         },
5945         "ModifyControllerAccess": {
5946           "type": "object",
5947           "properties": {
5948             "Params": {
5949               "$ref": "#/definitions/ModifyControllerAccessRequest"
5950             },
5951             "Result": {
5952               "$ref": "#/definitions/ErrorResults"
5953             }
5954           }
5955         },
5956         "RemoveBlocks": {
5957           "type": "object",
5958           "properties": {
5959             "Params": {
5960               "$ref": "#/definitions/RemoveBlocksArgs"
5961             }
5962           }
5963         },
5964         "WatchAllModels": {
5965           "type": "object",
5966           "properties": {
5967             "Result": {
5968               "$ref": "#/definitions/AllWatcherId"
5969             }
5970           }
5971         }
5972       },
5973       "definitions": {
5974         "AllWatcherId": {
5975           "type": "object",
5976           "properties": {
5977             "watcher-id": {
5978               "type": "string"
5979             }
5980           },
5981           "additionalProperties": false,
5982           "required": [
5983             "watcher-id"
5984           ]
5985         },
5986         "CloudCredential": {
5987           "type": "object",
5988           "properties": {
5989             "attrs": {
5990               "type": "object",
5991               "patternProperties": {
5992                 ".*": {
5993                   "type": "string"
5994                 }
5995               }
5996             },
5997             "auth-type": {
5998               "type": "string"
5999             },
6000             "redacted": {
6001               "type": "array",
6002               "items": {
6003                 "type": "string"
6004               }
6005             }
6006           },
6007           "additionalProperties": false,
6008           "required": [
6009             "auth-type"
6010           ]
6011         },
6012         "CloudSpec": {
6013           "type": "object",
6014           "properties": {
6015             "credential": {
6016               "$ref": "#/definitions/CloudCredential"
6017             },
6018             "endpoint": {
6019               "type": "string"
6020             },
6021             "identity-endpoint": {
6022               "type": "string"
6023             },
6024             "name": {
6025               "type": "string"
6026             },
6027             "region": {
6028               "type": "string"
6029             },
6030             "storage-endpoint": {
6031               "type": "string"
6032             },
6033             "type": {
6034               "type": "string"
6035             }
6036           },
6037           "additionalProperties": false,
6038           "required": [
6039             "type",
6040             "name"
6041           ]
6042         },
6043         "CloudSpecResult": {
6044           "type": "object",
6045           "properties": {
6046             "error": {
6047               "$ref": "#/definitions/Error"
6048             },
6049             "result": {
6050               "$ref": "#/definitions/CloudSpec"
6051             }
6052           },
6053           "additionalProperties": false
6054         },
6055         "CloudSpecResults": {
6056           "type": "object",
6057           "properties": {
6058             "results": {
6059               "type": "array",
6060               "items": {
6061                 "$ref": "#/definitions/CloudSpecResult"
6062               }
6063             }
6064           },
6065           "additionalProperties": false
6066         },
6067         "ConfigValue": {
6068           "type": "object",
6069           "properties": {
6070             "source": {
6071               "type": "string"
6072             },
6073             "value": {
6074               "type": "object",
6075               "additionalProperties": true
6076             }
6077           },
6078           "additionalProperties": false,
6079           "required": [
6080             "value",
6081             "source"
6082           ]
6083         },
6084         "ControllerConfigResult": {
6085           "type": "object",
6086           "properties": {
6087             "config": {
6088               "type": "object",
6089               "patternProperties": {
6090                 ".*": {
6091                   "type": "object",
6092                   "additionalProperties": true
6093                 }
6094               }
6095             }
6096           },
6097           "additionalProperties": false,
6098           "required": [
6099             "config"
6100           ]
6101         },
6102         "DestroyControllerArgs": {
6103           "type": "object",
6104           "properties": {
6105             "destroy-models": {
6106               "type": "boolean"
6107             }
6108           },
6109           "additionalProperties": false,
6110           "required": [
6111             "destroy-models"
6112           ]
6113         },
6114         "Entities": {
6115           "type": "object",
6116           "properties": {
6117             "entities": {
6118               "type": "array",
6119               "items": {
6120                 "$ref": "#/definitions/Entity"
6121               }
6122             }
6123           },
6124           "additionalProperties": false,
6125           "required": [
6126             "entities"
6127           ]
6128         },
6129         "Entity": {
6130           "type": "object",
6131           "properties": {
6132             "tag": {
6133               "type": "string"
6134             }
6135           },
6136           "additionalProperties": false,
6137           "required": [
6138             "tag"
6139           ]
6140         },
6141         "Error": {
6142           "type": "object",
6143           "properties": {
6144             "code": {
6145               "type": "string"
6146             },
6147             "info": {
6148               "$ref": "#/definitions/ErrorInfo"
6149             },
6150             "message": {
6151               "type": "string"
6152             }
6153           },
6154           "additionalProperties": false,
6155           "required": [
6156             "message",
6157             "code"
6158           ]
6159         },
6160         "ErrorInfo": {
6161           "type": "object",
6162           "properties": {
6163             "macaroon": {
6164               "$ref": "#/definitions/Macaroon"
6165             },
6166             "macaroon-path": {
6167               "type": "string"
6168             }
6169           },
6170           "additionalProperties": false
6171         },
6172         "ErrorResult": {
6173           "type": "object",
6174           "properties": {
6175             "error": {
6176               "$ref": "#/definitions/Error"
6177             }
6178           },
6179           "additionalProperties": false
6180         },
6181         "ErrorResults": {
6182           "type": "object",
6183           "properties": {
6184             "results": {
6185               "type": "array",
6186               "items": {
6187                 "$ref": "#/definitions/ErrorResult"
6188               }
6189             }
6190           },
6191           "additionalProperties": false,
6192           "required": [
6193             "results"
6194           ]
6195         },
6196         "HostedModelConfig": {
6197           "type": "object",
6198           "properties": {
6199             "cloud-spec": {
6200               "$ref": "#/definitions/CloudSpec"
6201             },
6202             "config": {
6203               "type": "object",
6204               "patternProperties": {
6205                 ".*": {
6206                   "type": "object",
6207                   "additionalProperties": true
6208                 }
6209               }
6210             },
6211             "error": {
6212               "$ref": "#/definitions/Error"
6213             },
6214             "name": {
6215               "type": "string"
6216             },
6217             "owner": {
6218               "type": "string"
6219             }
6220           },
6221           "additionalProperties": false,
6222           "required": [
6223             "name",
6224             "owner"
6225           ]
6226         },
6227         "HostedModelConfigsResults": {
6228           "type": "object",
6229           "properties": {
6230             "models": {
6231               "type": "array",
6232               "items": {
6233                 "$ref": "#/definitions/HostedModelConfig"
6234               }
6235             }
6236           },
6237           "additionalProperties": false,
6238           "required": [
6239             "models"
6240           ]
6241         },
6242         "InitiateMigrationArgs": {
6243           "type": "object",
6244           "properties": {
6245             "specs": {
6246               "type": "array",
6247               "items": {
6248                 "$ref": "#/definitions/MigrationSpec"
6249               }
6250             }
6251           },
6252           "additionalProperties": false,
6253           "required": [
6254             "specs"
6255           ]
6256         },
6257         "InitiateMigrationResult": {
6258           "type": "object",
6259           "properties": {
6260             "error": {
6261               "$ref": "#/definitions/Error"
6262             },
6263             "migration-id": {
6264               "type": "string"
6265             },
6266             "model-tag": {
6267               "type": "string"
6268             }
6269           },
6270           "additionalProperties": false,
6271           "required": [
6272             "model-tag",
6273             "migration-id"
6274           ]
6275         },
6276         "InitiateMigrationResults": {
6277           "type": "object",
6278           "properties": {
6279             "results": {
6280               "type": "array",
6281               "items": {
6282                 "$ref": "#/definitions/InitiateMigrationResult"
6283               }
6284             }
6285           },
6286           "additionalProperties": false,
6287           "required": [
6288             "results"
6289           ]
6290         },
6291         "Macaroon": {
6292           "type": "object",
6293           "additionalProperties": false
6294         },
6295         "MachineHardware": {
6296           "type": "object",
6297           "properties": {
6298             "arch": {
6299               "type": "string"
6300             },
6301             "availability-zone": {
6302               "type": "string"
6303             },
6304             "cores": {
6305               "type": "integer"
6306             },
6307             "cpu-power": {
6308               "type": "integer"
6309             },
6310             "mem": {
6311               "type": "integer"
6312             },
6313             "root-disk": {
6314               "type": "integer"
6315             },
6316             "tags": {
6317               "type": "array",
6318               "items": {
6319                 "type": "string"
6320               }
6321             }
6322           },
6323           "additionalProperties": false
6324         },
6325         "MigrationSpec": {
6326           "type": "object",
6327           "properties": {
6328             "external-control": {
6329               "type": "boolean"
6330             },
6331             "model-tag": {
6332               "type": "string"
6333             },
6334             "skip-initial-prechecks": {
6335               "type": "boolean"
6336             },
6337             "target-info": {
6338               "$ref": "#/definitions/MigrationTargetInfo"
6339             }
6340           },
6341           "additionalProperties": false,
6342           "required": [
6343             "model-tag",
6344             "target-info",
6345             "external-control",
6346             "skip-initial-prechecks"
6347           ]
6348         },
6349         "MigrationTargetInfo": {
6350           "type": "object",
6351           "properties": {
6352             "addrs": {
6353               "type": "array",
6354               "items": {
6355                 "type": "string"
6356               }
6357             },
6358             "auth-tag": {
6359               "type": "string"
6360             },
6361             "ca-cert": {
6362               "type": "string"
6363             },
6364             "controller-tag": {
6365               "type": "string"
6366             },
6367             "macaroons": {
6368               "type": "string"
6369             },
6370             "password": {
6371               "type": "string"
6372             }
6373           },
6374           "additionalProperties": false,
6375           "required": [
6376             "controller-tag",
6377             "addrs",
6378             "ca-cert",
6379             "auth-tag"
6380           ]
6381         },
6382         "Model": {
6383           "type": "object",
6384           "properties": {
6385             "name": {
6386               "type": "string"
6387             },
6388             "owner-tag": {
6389               "type": "string"
6390             },
6391             "uuid": {
6392               "type": "string"
6393             }
6394           },
6395           "additionalProperties": false,
6396           "required": [
6397             "name",
6398             "uuid",
6399             "owner-tag"
6400           ]
6401         },
6402         "ModelBlockInfo": {
6403           "type": "object",
6404           "properties": {
6405             "blocks": {
6406               "type": "array",
6407               "items": {
6408                 "type": "string"
6409               }
6410             },
6411             "model-uuid": {
6412               "type": "string"
6413             },
6414             "name": {
6415               "type": "string"
6416             },
6417             "owner-tag": {
6418               "type": "string"
6419             }
6420           },
6421           "additionalProperties": false,
6422           "required": [
6423             "name",
6424             "model-uuid",
6425             "owner-tag",
6426             "blocks"
6427           ]
6428         },
6429         "ModelBlockInfoList": {
6430           "type": "object",
6431           "properties": {
6432             "models": {
6433               "type": "array",
6434               "items": {
6435                 "$ref": "#/definitions/ModelBlockInfo"
6436               }
6437             }
6438           },
6439           "additionalProperties": false
6440         },
6441         "ModelConfigResults": {
6442           "type": "object",
6443           "properties": {
6444             "config": {
6445               "type": "object",
6446               "patternProperties": {
6447                 ".*": {
6448                   "$ref": "#/definitions/ConfigValue"
6449                 }
6450               }
6451             }
6452           },
6453           "additionalProperties": false,
6454           "required": [
6455             "config"
6456           ]
6457         },
6458         "ModelMachineInfo": {
6459           "type": "object",
6460           "properties": {
6461             "hardware": {
6462               "$ref": "#/definitions/MachineHardware"
6463             },
6464             "has-vote": {
6465               "type": "boolean"
6466             },
6467             "id": {
6468               "type": "string"
6469             },
6470             "instance-id": {
6471               "type": "string"
6472             },
6473             "status": {
6474               "type": "string"
6475             },
6476             "wants-vote": {
6477               "type": "boolean"
6478             }
6479           },
6480           "additionalProperties": false,
6481           "required": [
6482             "id"
6483           ]
6484         },
6485         "ModelStatus": {
6486           "type": "object",
6487           "properties": {
6488             "application-count": {
6489               "type": "integer"
6490             },
6491             "hosted-machine-count": {
6492               "type": "integer"
6493             },
6494             "life": {
6495               "type": "string"
6496             },
6497             "machines": {
6498               "type": "array",
6499               "items": {
6500                 "$ref": "#/definitions/ModelMachineInfo"
6501               }
6502             },
6503             "model-tag": {
6504               "type": "string"
6505             },
6506             "owner-tag": {
6507               "type": "string"
6508             }
6509           },
6510           "additionalProperties": false,
6511           "required": [
6512             "model-tag",
6513             "life",
6514             "hosted-machine-count",
6515             "application-count",
6516             "owner-tag"
6517           ]
6518         },
6519         "ModelStatusResults": {
6520           "type": "object",
6521           "properties": {
6522             "models": {
6523               "type": "array",
6524               "items": {
6525                 "$ref": "#/definitions/ModelStatus"
6526               }
6527             }
6528           },
6529           "additionalProperties": false,
6530           "required": [
6531             "models"
6532           ]
6533         },
6534         "ModelTag": {
6535           "type": "object",
6536           "additionalProperties": false
6537         },
6538         "ModifyControllerAccess": {
6539           "type": "object",
6540           "properties": {
6541             "access": {
6542               "type": "string"
6543             },
6544             "action": {
6545               "type": "string"
6546             },
6547             "user-tag": {
6548               "type": "string"
6549             }
6550           },
6551           "additionalProperties": false,
6552           "required": [
6553             "user-tag",
6554             "action",
6555             "access"
6556           ]
6557         },
6558         "ModifyControllerAccessRequest": {
6559           "type": "object",
6560           "properties": {
6561             "changes": {
6562               "type": "array",
6563               "items": {
6564                 "$ref": "#/definitions/ModifyControllerAccess"
6565               }
6566             }
6567           },
6568           "additionalProperties": false,
6569           "required": [
6570             "changes"
6571           ]
6572         },
6573         "RemoveBlocksArgs": {
6574           "type": "object",
6575           "properties": {
6576             "all": {
6577               "type": "boolean"
6578             }
6579           },
6580           "additionalProperties": false,
6581           "required": [
6582             "all"
6583           ]
6584         },
6585         "UserAccess": {
6586           "type": "object",
6587           "properties": {
6588             "access": {
6589               "type": "string"
6590             },
6591             "user-tag": {
6592               "type": "string"
6593             }
6594           },
6595           "additionalProperties": false,
6596           "required": [
6597             "user-tag",
6598             "access"
6599           ]
6600         },
6601         "UserAccessResult": {
6602           "type": "object",
6603           "properties": {
6604             "error": {
6605               "$ref": "#/definitions/Error"
6606             },
6607             "result": {
6608               "$ref": "#/definitions/UserAccess"
6609             }
6610           },
6611           "additionalProperties": false
6612         },
6613         "UserAccessResults": {
6614           "type": "object",
6615           "properties": {
6616             "results": {
6617               "type": "array",
6618               "items": {
6619                 "$ref": "#/definitions/UserAccessResult"
6620               }
6621             }
6622           },
6623           "additionalProperties": false
6624         },
6625         "UserModel": {
6626           "type": "object",
6627           "properties": {
6628             "last-connection": {
6629               "type": "string",
6630               "format": "date-time"
6631             },
6632             "model": {
6633               "$ref": "#/definitions/Model"
6634             }
6635           },
6636           "additionalProperties": false,
6637           "required": [
6638             "model",
6639             "last-connection"
6640           ]
6641         },
6642         "UserModelList": {
6643           "type": "object",
6644           "properties": {
6645             "user-models": {
6646               "type": "array",
6647               "items": {
6648                 "$ref": "#/definitions/UserModel"
6649               }
6650             }
6651           },
6652           "additionalProperties": false,
6653           "required": [
6654             "user-models"
6655           ]
6656         }
6657       }
6658     }
6659   },
6660   {
6661     "Name": "Deployer",
6662     "Version": 1,
6663     "Schema": {
6664       "type": "object",
6665       "properties": {
6666         "APIAddresses": {
6667           "type": "object",
6668           "properties": {
6669             "Result": {
6670               "$ref": "#/definitions/StringsResult"
6671             }
6672           }
6673         },
6674         "APIHostPorts": {
6675           "type": "object",
6676           "properties": {
6677             "Result": {
6678               "$ref": "#/definitions/APIHostPortsResult"
6679             }
6680           }
6681         },
6682         "CACert": {
6683           "type": "object",
6684           "properties": {
6685             "Result": {
6686               "$ref": "#/definitions/BytesResult"
6687             }
6688           }
6689         },
6690         "ConnectionInfo": {
6691           "type": "object",
6692           "properties": {
6693             "Result": {
6694               "$ref": "#/definitions/DeployerConnectionValues"
6695             }
6696           }
6697         },
6698         "Life": {
6699           "type": "object",
6700           "properties": {
6701             "Params": {
6702               "$ref": "#/definitions/Entities"
6703             },
6704             "Result": {
6705               "$ref": "#/definitions/LifeResults"
6706             }
6707           }
6708         },
6709         "ModelUUID": {
6710           "type": "object",
6711           "properties": {
6712             "Result": {
6713               "$ref": "#/definitions/StringResult"
6714             }
6715           }
6716         },
6717         "Remove": {
6718           "type": "object",
6719           "properties": {
6720             "Params": {
6721               "$ref": "#/definitions/Entities"
6722             },
6723             "Result": {
6724               "$ref": "#/definitions/ErrorResults"
6725             }
6726           }
6727         },
6728         "SetPasswords": {
6729           "type": "object",
6730           "properties": {
6731             "Params": {
6732               "$ref": "#/definitions/EntityPasswords"
6733             },
6734             "Result": {
6735               "$ref": "#/definitions/ErrorResults"
6736             }
6737           }
6738         },
6739         "SetStatus": {
6740           "type": "object",
6741           "properties": {
6742             "Params": {
6743               "$ref": "#/definitions/SetStatus"
6744             },
6745             "Result": {
6746               "$ref": "#/definitions/ErrorResults"
6747             }
6748           }
6749         },
6750         "StateAddresses": {
6751           "type": "object",
6752           "properties": {
6753             "Result": {
6754               "$ref": "#/definitions/StringsResult"
6755             }
6756           }
6757         },
6758         "UpdateStatus": {
6759           "type": "object",
6760           "properties": {
6761             "Params": {
6762               "$ref": "#/definitions/SetStatus"
6763             },
6764             "Result": {
6765               "$ref": "#/definitions/ErrorResults"
6766             }
6767           }
6768         },
6769         "WatchAPIHostPorts": {
6770           "type": "object",
6771           "properties": {
6772             "Result": {
6773               "$ref": "#/definitions/NotifyWatchResult"
6774             }
6775           }
6776         },
6777         "WatchUnits": {
6778           "type": "object",
6779           "properties": {
6780             "Params": {
6781               "$ref": "#/definitions/Entities"
6782             },
6783             "Result": {
6784               "$ref": "#/definitions/StringsWatchResults"
6785             }
6786           }
6787         }
6788       },
6789       "definitions": {
6790         "APIHostPortsResult": {
6791           "type": "object",
6792           "properties": {
6793             "servers": {
6794               "type": "array",
6795               "items": {
6796                 "type": "array",
6797                 "items": {
6798                   "$ref": "#/definitions/HostPort"
6799                 }
6800               }
6801             }
6802           },
6803           "additionalProperties": false,
6804           "required": [
6805             "servers"
6806           ]
6807         },
6808         "Address": {
6809           "type": "object",
6810           "properties": {
6811             "scope": {
6812               "type": "string"
6813             },
6814             "space-name": {
6815               "type": "string"
6816             },
6817             "type": {
6818               "type": "string"
6819             },
6820             "value": {
6821               "type": "string"
6822             }
6823           },
6824           "additionalProperties": false,
6825           "required": [
6826             "value",
6827             "type",
6828             "scope"
6829           ]
6830         },
6831         "BytesResult": {
6832           "type": "object",
6833           "properties": {
6834             "result": {
6835               "type": "array",
6836               "items": {
6837                 "type": "integer"
6838               }
6839             }
6840           },
6841           "additionalProperties": false,
6842           "required": [
6843             "result"
6844           ]
6845         },
6846         "DeployerConnectionValues": {
6847           "type": "object",
6848           "properties": {
6849             "api-addresses": {
6850               "type": "array",
6851               "items": {
6852                 "type": "string"
6853               }
6854             },
6855             "state-addresses": {
6856               "type": "array",
6857               "items": {
6858                 "type": "string"
6859               }
6860             }
6861           },
6862           "additionalProperties": false,
6863           "required": [
6864             "state-addresses",
6865             "api-addresses"
6866           ]
6867         },
6868         "Entities": {
6869           "type": "object",
6870           "properties": {
6871             "entities": {
6872               "type": "array",
6873               "items": {
6874                 "$ref": "#/definitions/Entity"
6875               }
6876             }
6877           },
6878           "additionalProperties": false,
6879           "required": [
6880             "entities"
6881           ]
6882         },
6883         "Entity": {
6884           "type": "object",
6885           "properties": {
6886             "tag": {
6887               "type": "string"
6888             }
6889           },
6890           "additionalProperties": false,
6891           "required": [
6892             "tag"
6893           ]
6894         },
6895         "EntityPassword": {
6896           "type": "object",
6897           "properties": {
6898             "password": {
6899               "type": "string"
6900             },
6901             "tag": {
6902               "type": "string"
6903             }
6904           },
6905           "additionalProperties": false,
6906           "required": [
6907             "tag",
6908             "password"
6909           ]
6910         },
6911         "EntityPasswords": {
6912           "type": "object",
6913           "properties": {
6914             "changes": {
6915               "type": "array",
6916               "items": {
6917                 "$ref": "#/definitions/EntityPassword"
6918               }
6919             }
6920           },
6921           "additionalProperties": false,
6922           "required": [
6923             "changes"
6924           ]
6925         },
6926         "EntityStatusArgs": {
6927           "type": "object",
6928           "properties": {
6929             "data": {
6930               "type": "object",
6931               "patternProperties": {
6932                 ".*": {
6933                   "type": "object",
6934                   "additionalProperties": true
6935                 }
6936               }
6937             },
6938             "info": {
6939               "type": "string"
6940             },
6941             "status": {
6942               "type": "string"
6943             },
6944             "tag": {
6945               "type": "string"
6946             }
6947           },
6948           "additionalProperties": false,
6949           "required": [
6950             "tag",
6951             "status",
6952             "info",
6953             "data"
6954           ]
6955         },
6956         "Error": {
6957           "type": "object",
6958           "properties": {
6959             "code": {
6960               "type": "string"
6961             },
6962             "info": {
6963               "$ref": "#/definitions/ErrorInfo"
6964             },
6965             "message": {
6966               "type": "string"
6967             }
6968           },
6969           "additionalProperties": false,
6970           "required": [
6971             "message",
6972             "code"
6973           ]
6974         },
6975         "ErrorInfo": {
6976           "type": "object",
6977           "properties": {
6978             "macaroon": {
6979               "$ref": "#/definitions/Macaroon"
6980             },
6981             "macaroon-path": {
6982               "type": "string"
6983             }
6984           },
6985           "additionalProperties": false
6986         },
6987         "ErrorResult": {
6988           "type": "object",
6989           "properties": {
6990             "error": {
6991               "$ref": "#/definitions/Error"
6992             }
6993           },
6994           "additionalProperties": false
6995         },
6996         "ErrorResults": {
6997           "type": "object",
6998           "properties": {
6999             "results": {
7000               "type": "array",
7001               "items": {
7002                 "$ref": "#/definitions/ErrorResult"
7003               }
7004             }
7005           },
7006           "additionalProperties": false,
7007           "required": [
7008             "results"
7009           ]
7010         },
7011         "HostPort": {
7012           "type": "object",
7013           "properties": {
7014             "Address": {
7015               "$ref": "#/definitions/Address"
7016             },
7017             "port": {
7018               "type": "integer"
7019             }
7020           },
7021           "additionalProperties": false,
7022           "required": [
7023             "Address",
7024             "port"
7025           ]
7026         },
7027         "LifeResult": {
7028           "type": "object",
7029           "properties": {
7030             "error": {
7031               "$ref": "#/definitions/Error"
7032             },
7033             "life": {
7034               "type": "string"
7035             }
7036           },
7037           "additionalProperties": false,
7038           "required": [
7039             "life"
7040           ]
7041         },
7042         "LifeResults": {
7043           "type": "object",
7044           "properties": {
7045             "results": {
7046               "type": "array",
7047               "items": {
7048                 "$ref": "#/definitions/LifeResult"
7049               }
7050             }
7051           },
7052           "additionalProperties": false,
7053           "required": [
7054             "results"
7055           ]
7056         },
7057         "Macaroon": {
7058           "type": "object",
7059           "additionalProperties": false
7060         },
7061         "NotifyWatchResult": {
7062           "type": "object",
7063           "properties": {
7064             "NotifyWatcherId": {
7065               "type": "string"
7066             },
7067             "error": {
7068               "$ref": "#/definitions/Error"
7069             }
7070           },
7071           "additionalProperties": false,
7072           "required": [
7073             "NotifyWatcherId"
7074           ]
7075         },
7076         "SetStatus": {
7077           "type": "object",
7078           "properties": {
7079             "entities": {
7080               "type": "array",
7081               "items": {
7082                 "$ref": "#/definitions/EntityStatusArgs"
7083               }
7084             }
7085           },
7086           "additionalProperties": false,
7087           "required": [
7088             "entities"
7089           ]
7090         },
7091         "StringResult": {
7092           "type": "object",
7093           "properties": {
7094             "error": {
7095               "$ref": "#/definitions/Error"
7096             },
7097             "result": {
7098               "type": "string"
7099             }
7100           },
7101           "additionalProperties": false,
7102           "required": [
7103             "result"
7104           ]
7105         },
7106         "StringsResult": {
7107           "type": "object",
7108           "properties": {
7109             "error": {
7110               "$ref": "#/definitions/Error"
7111             },
7112             "result": {
7113               "type": "array",
7114               "items": {
7115                 "type": "string"
7116               }
7117             }
7118           },
7119           "additionalProperties": false
7120         },
7121         "StringsWatchResult": {
7122           "type": "object",
7123           "properties": {
7124             "changes": {
7125               "type": "array",
7126               "items": {
7127                 "type": "string"
7128               }
7129             },
7130             "error": {
7131               "$ref": "#/definitions/Error"
7132             },
7133             "watcher-id": {
7134               "type": "string"
7135             }
7136           },
7137           "additionalProperties": false,
7138           "required": [
7139             "watcher-id"
7140           ]
7141         },
7142         "StringsWatchResults": {
7143           "type": "object",
7144           "properties": {
7145             "results": {
7146               "type": "array",
7147               "items": {
7148                 "$ref": "#/definitions/StringsWatchResult"
7149               }
7150             }
7151           },
7152           "additionalProperties": false,
7153           "required": [
7154             "results"
7155           ]
7156         }
7157       }
7158     }
7159   },
7160   {
7161     "Name": "DiscoverSpaces",
7162     "Version": 2,
7163     "Schema": {
7164       "type": "object",
7165       "properties": {
7166         "AddSubnets": {
7167           "type": "object",
7168           "properties": {
7169             "Params": {
7170               "$ref": "#/definitions/AddSubnetsParams"
7171             },
7172             "Result": {
7173               "$ref": "#/definitions/ErrorResults"
7174             }
7175           }
7176         },
7177         "CreateSpaces": {
7178           "type": "object",
7179           "properties": {
7180             "Params": {
7181               "$ref": "#/definitions/CreateSpacesParams"
7182             },
7183             "Result": {
7184               "$ref": "#/definitions/ErrorResults"
7185             }
7186           }
7187         },
7188         "ListSpaces": {
7189           "type": "object",
7190           "properties": {
7191             "Result": {
7192               "$ref": "#/definitions/DiscoverSpacesResults"
7193             }
7194           }
7195         },
7196         "ListSubnets": {
7197           "type": "object",
7198           "properties": {
7199             "Params": {
7200               "$ref": "#/definitions/SubnetsFilters"
7201             },
7202             "Result": {
7203               "$ref": "#/definitions/ListSubnetsResults"
7204             }
7205           }
7206         },
7207         "ModelConfig": {
7208           "type": "object",
7209           "properties": {
7210             "Result": {
7211               "$ref": "#/definitions/ModelConfigResult"
7212             }
7213           }
7214         }
7215       },
7216       "definitions": {
7217         "AddSubnetParams": {
7218           "type": "object",
7219           "properties": {
7220             "space-tag": {
7221               "type": "string"
7222             },
7223             "subnet-provider-id": {
7224               "type": "string"
7225             },
7226             "subnet-tag": {
7227               "type": "string"
7228             },
7229             "zones": {
7230               "type": "array",
7231               "items": {
7232                 "type": "string"
7233               }
7234             }
7235           },
7236           "additionalProperties": false,
7237           "required": [
7238             "space-tag"
7239           ]
7240         },
7241         "AddSubnetsParams": {
7242           "type": "object",
7243           "properties": {
7244             "subnets": {
7245               "type": "array",
7246               "items": {
7247                 "$ref": "#/definitions/AddSubnetParams"
7248               }
7249             }
7250           },
7251           "additionalProperties": false,
7252           "required": [
7253             "subnets"
7254           ]
7255         },
7256         "CreateSpaceParams": {
7257           "type": "object",
7258           "properties": {
7259             "provider-id": {
7260               "type": "string"
7261             },
7262             "public": {
7263               "type": "boolean"
7264             },
7265             "space-tag": {
7266               "type": "string"
7267             },
7268             "subnet-tags": {
7269               "type": "array",
7270               "items": {
7271                 "type": "string"
7272               }
7273             }
7274           },
7275           "additionalProperties": false,
7276           "required": [
7277             "subnet-tags",
7278             "space-tag",
7279             "public"
7280           ]
7281         },
7282         "CreateSpacesParams": {
7283           "type": "object",
7284           "properties": {
7285             "spaces": {
7286               "type": "array",
7287               "items": {
7288                 "$ref": "#/definitions/CreateSpaceParams"
7289               }
7290             }
7291           },
7292           "additionalProperties": false,
7293           "required": [
7294             "spaces"
7295           ]
7296         },
7297         "DiscoverSpacesResults": {
7298           "type": "object",
7299           "properties": {
7300             "results": {
7301               "type": "array",
7302               "items": {
7303                 "$ref": "#/definitions/ProviderSpace"
7304               }
7305             }
7306           },
7307           "additionalProperties": false,
7308           "required": [
7309             "results"
7310           ]
7311         },
7312         "Error": {
7313           "type": "object",
7314           "properties": {
7315             "code": {
7316               "type": "string"
7317             },
7318             "info": {
7319               "$ref": "#/definitions/ErrorInfo"
7320             },
7321             "message": {
7322               "type": "string"
7323             }
7324           },
7325           "additionalProperties": false,
7326           "required": [
7327             "message",
7328             "code"
7329           ]
7330         },
7331         "ErrorInfo": {
7332           "type": "object",
7333           "properties": {
7334             "macaroon": {
7335               "$ref": "#/definitions/Macaroon"
7336             },
7337             "macaroon-path": {
7338               "type": "string"
7339             }
7340           },
7341           "additionalProperties": false
7342         },
7343         "ErrorResult": {
7344           "type": "object",
7345           "properties": {
7346             "error": {
7347               "$ref": "#/definitions/Error"
7348             }
7349           },
7350           "additionalProperties": false
7351         },
7352         "ErrorResults": {
7353           "type": "object",
7354           "properties": {
7355             "results": {
7356               "type": "array",
7357               "items": {
7358                 "$ref": "#/definitions/ErrorResult"
7359               }
7360             }
7361           },
7362           "additionalProperties": false,
7363           "required": [
7364             "results"
7365           ]
7366         },
7367         "ListSubnetsResults": {
7368           "type": "object",
7369           "properties": {
7370             "results": {
7371               "type": "array",
7372               "items": {
7373                 "$ref": "#/definitions/Subnet"
7374               }
7375             }
7376           },
7377           "additionalProperties": false,
7378           "required": [
7379             "results"
7380           ]
7381         },
7382         "Macaroon": {
7383           "type": "object",
7384           "additionalProperties": false
7385         },
7386         "ModelConfigResult": {
7387           "type": "object",
7388           "properties": {
7389             "config": {
7390               "type": "object",
7391               "patternProperties": {
7392                 ".*": {
7393                   "type": "object",
7394                   "additionalProperties": true
7395                 }
7396               }
7397             }
7398           },
7399           "additionalProperties": false,
7400           "required": [
7401             "config"
7402           ]
7403         },
7404         "ProviderSpace": {
7405           "type": "object",
7406           "properties": {
7407             "error": {
7408               "$ref": "#/definitions/Error"
7409             },
7410             "name": {
7411               "type": "string"
7412             },
7413             "provider-id": {
7414               "type": "string"
7415             },
7416             "subnets": {
7417               "type": "array",
7418               "items": {
7419                 "$ref": "#/definitions/Subnet"
7420               }
7421             }
7422           },
7423           "additionalProperties": false,
7424           "required": [
7425             "name",
7426             "provider-id",
7427             "subnets"
7428           ]
7429         },
7430         "Subnet": {
7431           "type": "object",
7432           "properties": {
7433             "cidr": {
7434               "type": "string"
7435             },
7436             "life": {
7437               "type": "string"
7438             },
7439             "provider-id": {
7440               "type": "string"
7441             },
7442             "space-tag": {
7443               "type": "string"
7444             },
7445             "status": {
7446               "type": "string"
7447             },
7448             "vlan-tag": {
7449               "type": "integer"
7450             },
7451             "zones": {
7452               "type": "array",
7453               "items": {
7454                 "type": "string"
7455               }
7456             }
7457           },
7458           "additionalProperties": false,
7459           "required": [
7460             "cidr",
7461             "vlan-tag",
7462             "life",
7463             "space-tag",
7464             "zones"
7465           ]
7466         },
7467         "SubnetsFilters": {
7468           "type": "object",
7469           "properties": {
7470             "space-tag": {
7471               "type": "string"
7472             },
7473             "zone": {
7474               "type": "string"
7475             }
7476           },
7477           "additionalProperties": false
7478         }
7479       }
7480     }
7481   },
7482   {
7483     "Name": "DiskManager",
7484     "Version": 2,
7485     "Schema": {
7486       "type": "object",
7487       "properties": {
7488         "SetMachineBlockDevices": {
7489           "type": "object",
7490           "properties": {
7491             "Params": {
7492               "$ref": "#/definitions/SetMachineBlockDevices"
7493             },
7494             "Result": {
7495               "$ref": "#/definitions/ErrorResults"
7496             }
7497           }
7498         }
7499       },
7500       "definitions": {
7501         "BlockDevice": {
7502           "type": "object",
7503           "properties": {
7504             "BusAddress": {
7505               "type": "string"
7506             },
7507             "DeviceLinks": {
7508               "type": "array",
7509               "items": {
7510                 "type": "string"
7511               }
7512             },
7513             "DeviceName": {
7514               "type": "string"
7515             },
7516             "FilesystemType": {
7517               "type": "string"
7518             },
7519             "HardwareId": {
7520               "type": "string"
7521             },
7522             "InUse": {
7523               "type": "boolean"
7524             },
7525             "Label": {
7526               "type": "string"
7527             },
7528             "MountPoint": {
7529               "type": "string"
7530             },
7531             "Size": {
7532               "type": "integer"
7533             },
7534             "UUID": {
7535               "type": "string"
7536             }
7537           },
7538           "additionalProperties": false,
7539           "required": [
7540             "DeviceName",
7541             "DeviceLinks",
7542             "Label",
7543             "UUID",
7544             "HardwareId",
7545             "BusAddress",
7546             "Size",
7547             "FilesystemType",
7548             "InUse",
7549             "MountPoint"
7550           ]
7551         },
7552         "Error": {
7553           "type": "object",
7554           "properties": {
7555             "code": {
7556               "type": "string"
7557             },
7558             "info": {
7559               "$ref": "#/definitions/ErrorInfo"
7560             },
7561             "message": {
7562               "type": "string"
7563             }
7564           },
7565           "additionalProperties": false,
7566           "required": [
7567             "message",
7568             "code"
7569           ]
7570         },
7571         "ErrorInfo": {
7572           "type": "object",
7573           "properties": {
7574             "macaroon": {
7575               "$ref": "#/definitions/Macaroon"
7576             },
7577             "macaroon-path": {
7578               "type": "string"
7579             }
7580           },
7581           "additionalProperties": false
7582         },
7583         "ErrorResult": {
7584           "type": "object",
7585           "properties": {
7586             "error": {
7587               "$ref": "#/definitions/Error"
7588             }
7589           },
7590           "additionalProperties": false
7591         },
7592         "ErrorResults": {
7593           "type": "object",
7594           "properties": {
7595             "results": {
7596               "type": "array",
7597               "items": {
7598                 "$ref": "#/definitions/ErrorResult"
7599               }
7600             }
7601           },
7602           "additionalProperties": false,
7603           "required": [
7604             "results"
7605           ]
7606         },
7607         "Macaroon": {
7608           "type": "object",
7609           "additionalProperties": false
7610         },
7611         "MachineBlockDevices": {
7612           "type": "object",
7613           "properties": {
7614             "block-devices": {
7615               "type": "array",
7616               "items": {
7617                 "$ref": "#/definitions/BlockDevice"
7618               }
7619             },
7620             "machine": {
7621               "type": "string"
7622             }
7623           },
7624           "additionalProperties": false,
7625           "required": [
7626             "machine"
7627           ]
7628         },
7629         "SetMachineBlockDevices": {
7630           "type": "object",
7631           "properties": {
7632             "machine-block-devices": {
7633               "type": "array",
7634               "items": {
7635                 "$ref": "#/definitions/MachineBlockDevices"
7636               }
7637             }
7638           },
7639           "additionalProperties": false,
7640           "required": [
7641             "machine-block-devices"
7642           ]
7643         }
7644       }
7645     }
7646   },
7647   {
7648     "Name": "EntityWatcher",
7649     "Version": 2,
7650     "Schema": {
7651       "type": "object",
7652       "properties": {
7653         "Next": {
7654           "type": "object",
7655           "properties": {
7656             "Result": {
7657               "$ref": "#/definitions/EntitiesWatchResult"
7658             }
7659           }
7660         },
7661         "Stop": {
7662           "type": "object"
7663         }
7664       },
7665       "definitions": {
7666         "EntitiesWatchResult": {
7667           "type": "object",
7668           "properties": {
7669             "changes": {
7670               "type": "array",
7671               "items": {
7672                 "type": "string"
7673               }
7674             },
7675             "error": {
7676               "$ref": "#/definitions/Error"
7677             },
7678             "watcher-id": {
7679               "type": "string"
7680             }
7681           },
7682           "additionalProperties": false,
7683           "required": [
7684             "watcher-id"
7685           ]
7686         },
7687         "Error": {
7688           "type": "object",
7689           "properties": {
7690             "code": {
7691               "type": "string"
7692             },
7693             "info": {
7694               "$ref": "#/definitions/ErrorInfo"
7695             },
7696             "message": {
7697               "type": "string"
7698             }
7699           },
7700           "additionalProperties": false,
7701           "required": [
7702             "message",
7703             "code"
7704           ]
7705         },
7706         "ErrorInfo": {
7707           "type": "object",
7708           "properties": {
7709             "macaroon": {
7710               "$ref": "#/definitions/Macaroon"
7711             },
7712             "macaroon-path": {
7713               "type": "string"
7714             }
7715           },
7716           "additionalProperties": false
7717         },
7718         "Macaroon": {
7719           "type": "object",
7720           "additionalProperties": false
7721         }
7722       }
7723     }
7724   },
7725   {
7726     "Name": "FilesystemAttachmentsWatcher",
7727     "Version": 2,
7728     "Schema": {
7729       "type": "object",
7730       "properties": {
7731         "Next": {
7732           "type": "object",
7733           "properties": {
7734             "Result": {
7735               "$ref": "#/definitions/MachineStorageIdsWatchResult"
7736             }
7737           }
7738         },
7739         "Stop": {
7740           "type": "object"
7741         }
7742       },
7743       "definitions": {
7744         "Error": {
7745           "type": "object",
7746           "properties": {
7747             "code": {
7748               "type": "string"
7749             },
7750             "info": {
7751               "$ref": "#/definitions/ErrorInfo"
7752             },
7753             "message": {
7754               "type": "string"
7755             }
7756           },
7757           "additionalProperties": false,
7758           "required": [
7759             "message",
7760             "code"
7761           ]
7762         },
7763         "ErrorInfo": {
7764           "type": "object",
7765           "properties": {
7766             "macaroon": {
7767               "$ref": "#/definitions/Macaroon"
7768             },
7769             "macaroon-path": {
7770               "type": "string"
7771             }
7772           },
7773           "additionalProperties": false
7774         },
7775         "Macaroon": {
7776           "type": "object",
7777           "additionalProperties": false
7778         },
7779         "MachineStorageId": {
7780           "type": "object",
7781           "properties": {
7782             "attachment-tag": {
7783               "type": "string"
7784             },
7785             "machine-tag": {
7786               "type": "string"
7787             }
7788           },
7789           "additionalProperties": false,
7790           "required": [
7791             "machine-tag",
7792             "attachment-tag"
7793           ]
7794         },
7795         "MachineStorageIdsWatchResult": {
7796           "type": "object",
7797           "properties": {
7798             "changes": {
7799               "type": "array",
7800               "items": {
7801                 "$ref": "#/definitions/MachineStorageId"
7802               }
7803             },
7804             "error": {
7805               "$ref": "#/definitions/Error"
7806             },
7807             "watcher-id": {
7808               "type": "string"
7809             }
7810           },
7811           "additionalProperties": false,
7812           "required": [
7813             "watcher-id",
7814             "changes"
7815           ]
7816         }
7817       }
7818     }
7819   },
7820   {
7821     "Name": "Firewaller",
7822     "Version": 3,
7823     "Schema": {
7824       "type": "object",
7825       "properties": {
7826         "CloudSpec": {
7827           "type": "object",
7828           "properties": {
7829             "Params": {
7830               "$ref": "#/definitions/Entities"
7831             },
7832             "Result": {
7833               "$ref": "#/definitions/CloudSpecResults"
7834             }
7835           }
7836         },
7837         "GetAssignedMachine": {
7838           "type": "object",
7839           "properties": {
7840             "Params": {
7841               "$ref": "#/definitions/Entities"
7842             },
7843             "Result": {
7844               "$ref": "#/definitions/StringResults"
7845             }
7846           }
7847         },
7848         "GetCloudSpec": {
7849           "type": "object",
7850           "properties": {
7851             "Params": {
7852               "$ref": "#/definitions/ModelTag"
7853             },
7854             "Result": {
7855               "$ref": "#/definitions/CloudSpecResult"
7856             }
7857           }
7858         },
7859         "GetExposed": {
7860           "type": "object",
7861           "properties": {
7862             "Params": {
7863               "$ref": "#/definitions/Entities"
7864             },
7865             "Result": {
7866               "$ref": "#/definitions/BoolResults"
7867             }
7868           }
7869         },
7870         "GetMachineActiveSubnets": {
7871           "type": "object",
7872           "properties": {
7873             "Params": {
7874               "$ref": "#/definitions/Entities"
7875             },
7876             "Result": {
7877               "$ref": "#/definitions/StringsResults"
7878             }
7879           }
7880         },
7881         "GetMachinePorts": {
7882           "type": "object",
7883           "properties": {
7884             "Params": {
7885               "$ref": "#/definitions/MachinePortsParams"
7886             },
7887             "Result": {
7888               "$ref": "#/definitions/MachinePortsResults"
7889             }
7890           }
7891         },
7892         "InstanceId": {
7893           "type": "object",
7894           "properties": {
7895             "Params": {
7896               "$ref": "#/definitions/Entities"
7897             },
7898             "Result": {
7899               "$ref": "#/definitions/StringResults"
7900             }
7901           }
7902         },
7903         "Life": {
7904           "type": "object",
7905           "properties": {
7906             "Params": {
7907               "$ref": "#/definitions/Entities"
7908             },
7909             "Result": {
7910               "$ref": "#/definitions/LifeResults"
7911             }
7912           }
7913         },
7914         "ModelConfig": {
7915           "type": "object",
7916           "properties": {
7917             "Result": {
7918               "$ref": "#/definitions/ModelConfigResult"
7919             }
7920           }
7921         },
7922         "Watch": {
7923           "type": "object",
7924           "properties": {
7925             "Params": {
7926               "$ref": "#/definitions/Entities"
7927             },
7928             "Result": {
7929               "$ref": "#/definitions/NotifyWatchResults"
7930             }
7931           }
7932         },
7933         "WatchForModelConfigChanges": {
7934           "type": "object",
7935           "properties": {
7936             "Result": {
7937               "$ref": "#/definitions/NotifyWatchResult"
7938             }
7939           }
7940         },
7941         "WatchModelMachines": {
7942           "type": "object",
7943           "properties": {
7944             "Result": {
7945               "$ref": "#/definitions/StringsWatchResult"
7946             }
7947           }
7948         },
7949         "WatchOpenedPorts": {
7950           "type": "object",
7951           "properties": {
7952             "Params": {
7953               "$ref": "#/definitions/Entities"
7954             },
7955             "Result": {
7956               "$ref": "#/definitions/StringsWatchResults"
7957             }
7958           }
7959         },
7960         "WatchUnits": {
7961           "type": "object",
7962           "properties": {
7963             "Params": {
7964               "$ref": "#/definitions/Entities"
7965             },
7966             "Result": {
7967               "$ref": "#/definitions/StringsWatchResults"
7968             }
7969           }
7970         }
7971       },
7972       "definitions": {
7973         "BoolResult": {
7974           "type": "object",
7975           "properties": {
7976             "error": {
7977               "$ref": "#/definitions/Error"
7978             },
7979             "result": {
7980               "type": "boolean"
7981             }
7982           },
7983           "additionalProperties": false,
7984           "required": [
7985             "result"
7986           ]
7987         },
7988         "BoolResults": {
7989           "type": "object",
7990           "properties": {
7991             "results": {
7992               "type": "array",
7993               "items": {
7994                 "$ref": "#/definitions/BoolResult"
7995               }
7996             }
7997           },
7998           "additionalProperties": false,
7999           "required": [
8000             "results"
8001           ]
8002         },
8003         "CloudCredential": {
8004           "type": "object",
8005           "properties": {
8006             "attrs": {
8007               "type": "object",
8008               "patternProperties": {
8009                 ".*": {
8010                   "type": "string"
8011                 }
8012               }
8013             },
8014             "auth-type": {
8015               "type": "string"
8016             },
8017             "redacted": {
8018               "type": "array",
8019               "items": {
8020                 "type": "string"
8021               }
8022             }
8023           },
8024           "additionalProperties": false,
8025           "required": [
8026             "auth-type"
8027           ]
8028         },
8029         "CloudSpec": {
8030           "type": "object",
8031           "properties": {
8032             "credential": {
8033               "$ref": "#/definitions/CloudCredential"
8034             },
8035             "endpoint": {
8036               "type": "string"
8037             },
8038             "identity-endpoint": {
8039               "type": "string"
8040             },
8041             "name": {
8042               "type": "string"
8043             },
8044             "region": {
8045               "type": "string"
8046             },
8047             "storage-endpoint": {
8048               "type": "string"
8049             },
8050             "type": {
8051               "type": "string"
8052             }
8053           },
8054           "additionalProperties": false,
8055           "required": [
8056             "type",
8057             "name"
8058           ]
8059         },
8060         "CloudSpecResult": {
8061           "type": "object",
8062           "properties": {
8063             "error": {
8064               "$ref": "#/definitions/Error"
8065             },
8066             "result": {
8067               "$ref": "#/definitions/CloudSpec"
8068             }
8069           },
8070           "additionalProperties": false
8071         },
8072         "CloudSpecResults": {
8073           "type": "object",
8074           "properties": {
8075             "results": {
8076               "type": "array",
8077               "items": {
8078                 "$ref": "#/definitions/CloudSpecResult"
8079               }
8080             }
8081           },
8082           "additionalProperties": false
8083         },
8084         "Entities": {
8085           "type": "object",
8086           "properties": {
8087             "entities": {
8088               "type": "array",
8089               "items": {
8090                 "$ref": "#/definitions/Entity"
8091               }
8092             }
8093           },
8094           "additionalProperties": false,
8095           "required": [
8096             "entities"
8097           ]
8098         },
8099         "Entity": {
8100           "type": "object",
8101           "properties": {
8102             "tag": {
8103               "type": "string"
8104             }
8105           },
8106           "additionalProperties": false,
8107           "required": [
8108             "tag"
8109           ]
8110         },
8111         "Error": {
8112           "type": "object",
8113           "properties": {
8114             "code": {
8115               "type": "string"
8116             },
8117             "info": {
8118               "$ref": "#/definitions/ErrorInfo"
8119             },
8120             "message": {
8121               "type": "string"
8122             }
8123           },
8124           "additionalProperties": false,
8125           "required": [
8126             "message",
8127             "code"
8128           ]
8129         },
8130         "ErrorInfo": {
8131           "type": "object",
8132           "properties": {
8133             "macaroon": {
8134               "$ref": "#/definitions/Macaroon"
8135             },
8136             "macaroon-path": {
8137               "type": "string"
8138             }
8139           },
8140           "additionalProperties": false
8141         },
8142         "LifeResult": {
8143           "type": "object",
8144           "properties": {
8145             "error": {
8146               "$ref": "#/definitions/Error"
8147             },
8148             "life": {
8149               "type": "string"
8150             }
8151           },
8152           "additionalProperties": false,
8153           "required": [
8154             "life"
8155           ]
8156         },
8157         "LifeResults": {
8158           "type": "object",
8159           "properties": {
8160             "results": {
8161               "type": "array",
8162               "items": {
8163                 "$ref": "#/definitions/LifeResult"
8164               }
8165             }
8166           },
8167           "additionalProperties": false,
8168           "required": [
8169             "results"
8170           ]
8171         },
8172         "Macaroon": {
8173           "type": "object",
8174           "additionalProperties": false
8175         },
8176         "MachinePortRange": {
8177           "type": "object",
8178           "properties": {
8179             "port-range": {
8180               "$ref": "#/definitions/PortRange"
8181             },
8182             "relation-tag": {
8183               "type": "string"
8184             },
8185             "unit-tag": {
8186               "type": "string"
8187             }
8188           },
8189           "additionalProperties": false,
8190           "required": [
8191             "unit-tag",
8192             "relation-tag",
8193             "port-range"
8194           ]
8195         },
8196         "MachinePorts": {
8197           "type": "object",
8198           "properties": {
8199             "machine-tag": {
8200               "type": "string"
8201             },
8202             "subnet-tag": {
8203               "type": "string"
8204             }
8205           },
8206           "additionalProperties": false,
8207           "required": [
8208             "machine-tag",
8209             "subnet-tag"
8210           ]
8211         },
8212         "MachinePortsParams": {
8213           "type": "object",
8214           "properties": {
8215             "params": {
8216               "type": "array",
8217               "items": {
8218                 "$ref": "#/definitions/MachinePorts"
8219               }
8220             }
8221           },
8222           "additionalProperties": false,
8223           "required": [
8224             "params"
8225           ]
8226         },
8227         "MachinePortsResult": {
8228           "type": "object",
8229           "properties": {
8230             "error": {
8231               "$ref": "#/definitions/Error"
8232             },
8233             "ports": {
8234               "type": "array",
8235               "items": {
8236                 "$ref": "#/definitions/MachinePortRange"
8237               }
8238             }
8239           },
8240           "additionalProperties": false,
8241           "required": [
8242             "ports"
8243           ]
8244         },
8245         "MachinePortsResults": {
8246           "type": "object",
8247           "properties": {
8248             "results": {
8249               "type": "array",
8250               "items": {
8251                 "$ref": "#/definitions/MachinePortsResult"
8252               }
8253             }
8254           },
8255           "additionalProperties": false,
8256           "required": [
8257             "results"
8258           ]
8259         },
8260         "ModelConfigResult": {
8261           "type": "object",
8262           "properties": {
8263             "config": {
8264               "type": "object",
8265               "patternProperties": {
8266                 ".*": {
8267                   "type": "object",
8268                   "additionalProperties": true
8269                 }
8270               }
8271             }
8272           },
8273           "additionalProperties": false,
8274           "required": [
8275             "config"
8276           ]
8277         },
8278         "ModelTag": {
8279           "type": "object",
8280           "additionalProperties": false
8281         },
8282         "NotifyWatchResult": {
8283           "type": "object",
8284           "properties": {
8285             "NotifyWatcherId": {
8286               "type": "string"
8287             },
8288             "error": {
8289               "$ref": "#/definitions/Error"
8290             }
8291           },
8292           "additionalProperties": false,
8293           "required": [
8294             "NotifyWatcherId"
8295           ]
8296         },
8297         "NotifyWatchResults": {
8298           "type": "object",
8299           "properties": {
8300             "results": {
8301               "type": "array",
8302               "items": {
8303                 "$ref": "#/definitions/NotifyWatchResult"
8304               }
8305             }
8306           },
8307           "additionalProperties": false,
8308           "required": [
8309             "results"
8310           ]
8311         },
8312         "PortRange": {
8313           "type": "object",
8314           "properties": {
8315             "from-port": {
8316               "type": "integer"
8317             },
8318             "protocol": {
8319               "type": "string"
8320             },
8321             "to-port": {
8322               "type": "integer"
8323             }
8324           },
8325           "additionalProperties": false,
8326           "required": [
8327             "from-port",
8328             "to-port",
8329             "protocol"
8330           ]
8331         },
8332         "StringResult": {
8333           "type": "object",
8334           "properties": {
8335             "error": {
8336               "$ref": "#/definitions/Error"
8337             },
8338             "result": {
8339               "type": "string"
8340             }
8341           },
8342           "additionalProperties": false,
8343           "required": [
8344             "result"
8345           ]
8346         },
8347         "StringResults": {
8348           "type": "object",
8349           "properties": {
8350             "results": {
8351               "type": "array",
8352               "items": {
8353                 "$ref": "#/definitions/StringResult"
8354               }
8355             }
8356           },
8357           "additionalProperties": false,
8358           "required": [
8359             "results"
8360           ]
8361         },
8362         "StringsResult": {
8363           "type": "object",
8364           "properties": {
8365             "error": {
8366               "$ref": "#/definitions/Error"
8367             },
8368             "result": {
8369               "type": "array",
8370               "items": {
8371                 "type": "string"
8372               }
8373             }
8374           },
8375           "additionalProperties": false
8376         },
8377         "StringsResults": {
8378           "type": "object",
8379           "properties": {
8380             "results": {
8381               "type": "array",
8382               "items": {
8383                 "$ref": "#/definitions/StringsResult"
8384               }
8385             }
8386           },
8387           "additionalProperties": false,
8388           "required": [
8389             "results"
8390           ]
8391         },
8392         "StringsWatchResult": {
8393           "type": "object",
8394           "properties": {
8395             "changes": {
8396               "type": "array",
8397               "items": {
8398                 "type": "string"
8399               }
8400             },
8401             "error": {
8402               "$ref": "#/definitions/Error"
8403             },
8404             "watcher-id": {
8405               "type": "string"
8406             }
8407           },
8408           "additionalProperties": false,
8409           "required": [
8410             "watcher-id"
8411           ]
8412         },
8413         "StringsWatchResults": {
8414           "type": "object",
8415           "properties": {
8416             "results": {
8417               "type": "array",
8418               "items": {
8419                 "$ref": "#/definitions/StringsWatchResult"
8420               }
8421             }
8422           },
8423           "additionalProperties": false,
8424           "required": [
8425             "results"
8426           ]
8427         }
8428       }
8429     }
8430   },
8431   {
8432     "Name": "HighAvailability",
8433     "Version": 2,
8434     "Schema": {
8435       "type": "object",
8436       "properties": {
8437         "EnableHA": {
8438           "type": "object",
8439           "properties": {
8440             "Params": {
8441               "$ref": "#/definitions/ControllersSpecs"
8442             },
8443             "Result": {
8444               "$ref": "#/definitions/ControllersChangeResults"
8445             }
8446           }
8447         },
8448         "ResumeHAReplicationAfterUpgrade": {
8449           "type": "object",
8450           "properties": {
8451             "Params": {
8452               "$ref": "#/definitions/ResumeReplicationParams"
8453             }
8454           }
8455         },
8456         "StopHAReplicationForUpgrade": {
8457           "type": "object",
8458           "properties": {
8459             "Params": {
8460               "$ref": "#/definitions/UpgradeMongoParams"
8461             },
8462             "Result": {
8463               "$ref": "#/definitions/MongoUpgradeResults"
8464             }
8465           }
8466         }
8467       },
8468       "definitions": {
8469         "Address": {
8470           "type": "object",
8471           "properties": {
8472             "Scope": {
8473               "type": "string"
8474             },
8475             "SpaceName": {
8476               "type": "string"
8477             },
8478             "SpaceProviderId": {
8479               "type": "string"
8480             },
8481             "Type": {
8482               "type": "string"
8483             },
8484             "Value": {
8485               "type": "string"
8486             }
8487           },
8488           "additionalProperties": false,
8489           "required": [
8490             "Value",
8491             "Type",
8492             "Scope",
8493             "SpaceName",
8494             "SpaceProviderId"
8495           ]
8496         },
8497         "ControllersChangeResult": {
8498           "type": "object",
8499           "properties": {
8500             "error": {
8501               "$ref": "#/definitions/Error"
8502             },
8503             "result": {
8504               "$ref": "#/definitions/ControllersChanges"
8505             }
8506           },
8507           "additionalProperties": false,
8508           "required": [
8509             "result"
8510           ]
8511         },
8512         "ControllersChangeResults": {
8513           "type": "object",
8514           "properties": {
8515             "results": {
8516               "type": "array",
8517               "items": {
8518                 "$ref": "#/definitions/ControllersChangeResult"
8519               }
8520             }
8521           },
8522           "additionalProperties": false,
8523           "required": [
8524             "results"
8525           ]
8526         },
8527         "ControllersChanges": {
8528           "type": "object",
8529           "properties": {
8530             "added": {
8531               "type": "array",
8532               "items": {
8533                 "type": "string"
8534               }
8535             },
8536             "converted": {
8537               "type": "array",
8538               "items": {
8539                 "type": "string"
8540               }
8541             },
8542             "demoted": {
8543               "type": "array",
8544               "items": {
8545                 "type": "string"
8546               }
8547             },
8548             "maintained": {
8549               "type": "array",
8550               "items": {
8551                 "type": "string"
8552               }
8553             },
8554             "promoted": {
8555               "type": "array",
8556               "items": {
8557                 "type": "string"
8558               }
8559             },
8560             "removed": {
8561               "type": "array",
8562               "items": {
8563                 "type": "string"
8564               }
8565             }
8566           },
8567           "additionalProperties": false
8568         },
8569         "ControllersSpec": {
8570           "type": "object",
8571           "properties": {
8572             "constraints": {
8573               "$ref": "#/definitions/Value"
8574             },
8575             "num-controllers": {
8576               "type": "integer"
8577             },
8578             "placement": {
8579               "type": "array",
8580               "items": {
8581                 "type": "string"
8582               }
8583             },
8584             "series": {
8585               "type": "string"
8586             }
8587           },
8588           "additionalProperties": false,
8589           "required": [
8590             "num-controllers"
8591           ]
8592         },
8593         "ControllersSpecs": {
8594           "type": "object",
8595           "properties": {
8596             "specs": {
8597               "type": "array",
8598               "items": {
8599                 "$ref": "#/definitions/ControllersSpec"
8600               }
8601             }
8602           },
8603           "additionalProperties": false,
8604           "required": [
8605             "specs"
8606           ]
8607         },
8608         "Error": {
8609           "type": "object",
8610           "properties": {
8611             "code": {
8612               "type": "string"
8613             },
8614             "info": {
8615               "$ref": "#/definitions/ErrorInfo"
8616             },
8617             "message": {
8618               "type": "string"
8619             }
8620           },
8621           "additionalProperties": false,
8622           "required": [
8623             "message",
8624             "code"
8625           ]
8626         },
8627         "ErrorInfo": {
8628           "type": "object",
8629           "properties": {
8630             "macaroon": {
8631               "$ref": "#/definitions/Macaroon"
8632             },
8633             "macaroon-path": {
8634               "type": "string"
8635             }
8636           },
8637           "additionalProperties": false
8638         },
8639         "HAMember": {
8640           "type": "object",
8641           "properties": {
8642             "public-address": {
8643               "$ref": "#/definitions/Address"
8644             },
8645             "series": {
8646               "type": "string"
8647             },
8648             "tag": {
8649               "type": "string"
8650             }
8651           },
8652           "additionalProperties": false,
8653           "required": [
8654             "tag",
8655             "public-address",
8656             "series"
8657           ]
8658         },
8659         "Macaroon": {
8660           "type": "object",
8661           "additionalProperties": false
8662         },
8663         "Member": {
8664           "type": "object",
8665           "properties": {
8666             "Address": {
8667               "type": "string"
8668             },
8669             "Arbiter": {
8670               "type": "boolean"
8671             },
8672             "BuildIndexes": {
8673               "type": "boolean"
8674             },
8675             "Hidden": {
8676               "type": "boolean"
8677             },
8678             "Id": {
8679               "type": "integer"
8680             },
8681             "Priority": {
8682               "type": "number"
8683             },
8684             "SlaveDelay": {
8685               "type": "integer"
8686             },
8687             "Tags": {
8688               "type": "object",
8689               "patternProperties": {
8690                 ".*": {
8691                   "type": "string"
8692                 }
8693               }
8694             },
8695             "Votes": {
8696               "type": "integer"
8697             }
8698           },
8699           "additionalProperties": false,
8700           "required": [
8701             "Id",
8702             "Address",
8703             "Arbiter",
8704             "BuildIndexes",
8705             "Hidden",
8706             "Priority",
8707             "Tags",
8708             "SlaveDelay",
8709             "Votes"
8710           ]
8711         },
8712         "MongoUpgradeResults": {
8713           "type": "object",
8714           "properties": {
8715             "ha-members": {
8716               "type": "array",
8717               "items": {
8718                 "$ref": "#/definitions/HAMember"
8719               }
8720             },
8721             "master": {
8722               "$ref": "#/definitions/HAMember"
8723             },
8724             "rs-members": {
8725               "type": "array",
8726               "items": {
8727                 "$ref": "#/definitions/Member"
8728               }
8729             }
8730           },
8731           "additionalProperties": false,
8732           "required": [
8733             "rs-members",
8734             "master",
8735             "ha-members"
8736           ]
8737         },
8738         "MongoVersion": {
8739           "type": "object",
8740           "properties": {
8741             "engine": {
8742               "type": "string"
8743             },
8744             "major": {
8745               "type": "integer"
8746             },
8747             "minor": {
8748               "type": "integer"
8749             },
8750             "patch": {
8751               "type": "string"
8752             }
8753           },
8754           "additionalProperties": false,
8755           "required": [
8756             "major",
8757             "minor",
8758             "patch",
8759             "engine"
8760           ]
8761         },
8762         "ResumeReplicationParams": {
8763           "type": "object",
8764           "properties": {
8765             "members": {
8766               "type": "array",
8767               "items": {
8768                 "$ref": "#/definitions/Member"
8769               }
8770             }
8771           },
8772           "additionalProperties": false,
8773           "required": [
8774             "members"
8775           ]
8776         },
8777         "UpgradeMongoParams": {
8778           "type": "object",
8779           "properties": {
8780             "target": {
8781               "$ref": "#/definitions/MongoVersion"
8782             }
8783           },
8784           "additionalProperties": false,
8785           "required": [
8786             "target"
8787           ]
8788         },
8789         "Value": {
8790           "type": "object",
8791           "properties": {
8792             "arch": {
8793               "type": "string"
8794             },
8795             "container": {
8796               "type": "string"
8797             },
8798             "cores": {
8799               "type": "integer"
8800             },
8801             "cpu-power": {
8802               "type": "integer"
8803             },
8804             "instance-type": {
8805               "type": "string"
8806             },
8807             "mem": {
8808               "type": "integer"
8809             },
8810             "root-disk": {
8811               "type": "integer"
8812             },
8813             "spaces": {
8814               "type": "array",
8815               "items": {
8816                 "type": "string"
8817               }
8818             },
8819             "tags": {
8820               "type": "array",
8821               "items": {
8822                 "type": "string"
8823               }
8824             },
8825             "virt-type": {
8826               "type": "string"
8827             }
8828           },
8829           "additionalProperties": false
8830         }
8831       }
8832     }
8833   },
8834   {
8835     "Name": "HostKeyReporter",
8836     "Version": 1,
8837     "Schema": {
8838       "type": "object",
8839       "properties": {
8840         "ReportKeys": {
8841           "type": "object",
8842           "properties": {
8843             "Params": {
8844               "$ref": "#/definitions/SSHHostKeySet"
8845             },
8846             "Result": {
8847               "$ref": "#/definitions/ErrorResults"
8848             }
8849           }
8850         }
8851       },
8852       "definitions": {
8853         "Error": {
8854           "type": "object",
8855           "properties": {
8856             "code": {
8857               "type": "string"
8858             },
8859             "info": {
8860               "$ref": "#/definitions/ErrorInfo"
8861             },
8862             "message": {
8863               "type": "string"
8864             }
8865           },
8866           "additionalProperties": false,
8867           "required": [
8868             "message",
8869             "code"
8870           ]
8871         },
8872         "ErrorInfo": {
8873           "type": "object",
8874           "properties": {
8875             "macaroon": {
8876               "$ref": "#/definitions/Macaroon"
8877             },
8878             "macaroon-path": {
8879               "type": "string"
8880             }
8881           },
8882           "additionalProperties": false
8883         },
8884         "ErrorResult": {
8885           "type": "object",
8886           "properties": {
8887             "error": {
8888               "$ref": "#/definitions/Error"
8889             }
8890           },
8891           "additionalProperties": false
8892         },
8893         "ErrorResults": {
8894           "type": "object",
8895           "properties": {
8896             "results": {
8897               "type": "array",
8898               "items": {
8899                 "$ref": "#/definitions/ErrorResult"
8900               }
8901             }
8902           },
8903           "additionalProperties": false,
8904           "required": [
8905             "results"
8906           ]
8907         },
8908         "Macaroon": {
8909           "type": "object",
8910           "additionalProperties": false
8911         },
8912         "SSHHostKeySet": {
8913           "type": "object",
8914           "properties": {
8915             "entity-keys": {
8916               "type": "array",
8917               "items": {
8918                 "$ref": "#/definitions/SSHHostKeys"
8919               }
8920             }
8921           },
8922           "additionalProperties": false,
8923           "required": [
8924             "entity-keys"
8925           ]
8926         },
8927         "SSHHostKeys": {
8928           "type": "object",
8929           "properties": {
8930             "public-keys": {
8931               "type": "array",
8932               "items": {
8933                 "type": "string"
8934               }
8935             },
8936             "tag": {
8937               "type": "string"
8938             }
8939           },
8940           "additionalProperties": false,
8941           "required": [
8942             "tag",
8943             "public-keys"
8944           ]
8945         }
8946       }
8947     }
8948   },
8949   {
8950     "Name": "ImageManager",
8951     "Version": 2,
8952     "Schema": {
8953       "type": "object",
8954       "properties": {
8955         "DeleteImages": {
8956           "type": "object",
8957           "properties": {
8958             "Params": {
8959               "$ref": "#/definitions/ImageFilterParams"
8960             },
8961             "Result": {
8962               "$ref": "#/definitions/ErrorResults"
8963             }
8964           }
8965         },
8966         "ListImages": {
8967           "type": "object",
8968           "properties": {
8969             "Params": {
8970               "$ref": "#/definitions/ImageFilterParams"
8971             },
8972             "Result": {
8973               "$ref": "#/definitions/ListImageResult"
8974             }
8975           }
8976         }
8977       },
8978       "definitions": {
8979         "Error": {
8980           "type": "object",
8981           "properties": {
8982             "code": {
8983               "type": "string"
8984             },
8985             "info": {
8986               "$ref": "#/definitions/ErrorInfo"
8987             },
8988             "message": {
8989               "type": "string"
8990             }
8991           },
8992           "additionalProperties": false,
8993           "required": [
8994             "message",
8995             "code"
8996           ]
8997         },
8998         "ErrorInfo": {
8999           "type": "object",
9000           "properties": {
9001             "macaroon": {
9002               "$ref": "#/definitions/Macaroon"
9003             },
9004             "macaroon-path": {
9005               "type": "string"
9006             }
9007           },
9008           "additionalProperties": false
9009         },
9010         "ErrorResult": {
9011           "type": "object",
9012           "properties": {
9013             "error": {
9014               "$ref": "#/definitions/Error"
9015             }
9016           },
9017           "additionalProperties": false
9018         },
9019         "ErrorResults": {
9020           "type": "object",
9021           "properties": {
9022             "results": {
9023               "type": "array",
9024               "items": {
9025                 "$ref": "#/definitions/ErrorResult"
9026               }
9027             }
9028           },
9029           "additionalProperties": false,
9030           "required": [
9031             "results"
9032           ]
9033         },
9034         "ImageFilterParams": {
9035           "type": "object",
9036           "properties": {
9037             "images": {
9038               "type": "array",
9039               "items": {
9040                 "$ref": "#/definitions/ImageSpec"
9041               }
9042             }
9043           },
9044           "additionalProperties": false,
9045           "required": [
9046             "images"
9047           ]
9048         },
9049         "ImageMetadata": {
9050           "type": "object",
9051           "properties": {
9052             "arch": {
9053               "type": "string"
9054             },
9055             "created": {
9056               "type": "string",
9057               "format": "date-time"
9058             },
9059             "kind": {
9060               "type": "string"
9061             },
9062             "series": {
9063               "type": "string"
9064             },
9065             "url": {
9066               "type": "string"
9067             }
9068           },
9069           "additionalProperties": false,
9070           "required": [
9071             "kind",
9072             "arch",
9073             "series",
9074             "url",
9075             "created"
9076           ]
9077         },
9078         "ImageSpec": {
9079           "type": "object",
9080           "properties": {
9081             "arch": {
9082               "type": "string"
9083             },
9084             "kind": {
9085               "type": "string"
9086             },
9087             "series": {
9088               "type": "string"
9089             }
9090           },
9091           "additionalProperties": false,
9092           "required": [
9093             "kind",
9094             "arch",
9095             "series"
9096           ]
9097         },
9098         "ListImageResult": {
9099           "type": "object",
9100           "properties": {
9101             "result": {
9102               "type": "array",
9103               "items": {
9104                 "$ref": "#/definitions/ImageMetadata"
9105               }
9106             }
9107           },
9108           "additionalProperties": false,
9109           "required": [
9110             "result"
9111           ]
9112         },
9113         "Macaroon": {
9114           "type": "object",
9115           "additionalProperties": false
9116         }
9117       }
9118     }
9119   },
9120   {
9121     "Name": "ImageMetadata",
9122     "Version": 2,
9123     "Schema": {
9124       "type": "object",
9125       "properties": {
9126         "Delete": {
9127           "type": "object",
9128           "properties": {
9129             "Params": {
9130               "$ref": "#/definitions/MetadataImageIds"
9131             },
9132             "Result": {
9133               "$ref": "#/definitions/ErrorResults"
9134             }
9135           }
9136         },
9137         "List": {
9138           "type": "object",
9139           "properties": {
9140             "Params": {
9141               "$ref": "#/definitions/ImageMetadataFilter"
9142             },
9143             "Result": {
9144               "$ref": "#/definitions/ListCloudImageMetadataResult"
9145             }
9146           }
9147         },
9148         "Save": {
9149           "type": "object",
9150           "properties": {
9151             "Params": {
9152               "$ref": "#/definitions/MetadataSaveParams"
9153             },
9154             "Result": {
9155               "$ref": "#/definitions/ErrorResults"
9156             }
9157           }
9158         },
9159         "UpdateFromPublishedImages": {
9160           "type": "object"
9161         }
9162       },
9163       "definitions": {
9164         "CloudImageMetadata": {
9165           "type": "object",
9166           "properties": {
9167             "arch": {
9168               "type": "string"
9169             },
9170             "image-id": {
9171               "type": "string"
9172             },
9173             "priority": {
9174               "type": "integer"
9175             },
9176             "region": {
9177               "type": "string"
9178             },
9179             "root-storage-size": {
9180               "type": "integer"
9181             },
9182             "root-storage-type": {
9183               "type": "string"
9184             },
9185             "series": {
9186               "type": "string"
9187             },
9188             "source": {
9189               "type": "string"
9190             },
9191             "stream": {
9192               "type": "string"
9193             },
9194             "version": {
9195               "type": "string"
9196             },
9197             "virt-type": {
9198               "type": "string"
9199             }
9200           },
9201           "additionalProperties": false,
9202           "required": [
9203             "image-id",
9204             "region",
9205             "version",
9206             "series",
9207             "arch",
9208             "source",
9209             "priority"
9210           ]
9211         },
9212         "CloudImageMetadataList": {
9213           "type": "object",
9214           "properties": {
9215             "metadata": {
9216               "type": "array",
9217               "items": {
9218                 "$ref": "#/definitions/CloudImageMetadata"
9219               }
9220             }
9221           },
9222           "additionalProperties": false
9223         },
9224         "Error": {
9225           "type": "object",
9226           "properties": {
9227             "code": {
9228               "type": "string"
9229             },
9230             "info": {
9231               "$ref": "#/definitions/ErrorInfo"
9232             },
9233             "message": {
9234               "type": "string"
9235             }
9236           },
9237           "additionalProperties": false,
9238           "required": [
9239             "message",
9240             "code"
9241           ]
9242         },
9243         "ErrorInfo": {
9244           "type": "object",
9245           "properties": {
9246             "macaroon": {
9247               "$ref": "#/definitions/Macaroon"
9248             },
9249             "macaroon-path": {
9250               "type": "string"
9251             }
9252           },
9253           "additionalProperties": false
9254         },
9255         "ErrorResult": {
9256           "type": "object",
9257           "properties": {
9258             "error": {
9259               "$ref": "#/definitions/Error"
9260             }
9261           },
9262           "additionalProperties": false
9263         },
9264         "ErrorResults": {
9265           "type": "object",
9266           "properties": {
9267             "results": {
9268               "type": "array",
9269               "items": {
9270                 "$ref": "#/definitions/ErrorResult"
9271               }
9272             }
9273           },
9274           "additionalProperties": false,
9275           "required": [
9276             "results"
9277           ]
9278         },
9279         "ImageMetadataFilter": {
9280           "type": "object",
9281           "properties": {
9282             "arches": {
9283               "type": "array",
9284               "items": {
9285                 "type": "string"
9286               }
9287             },
9288             "region": {
9289               "type": "string"
9290             },
9291             "root-storage-type": {
9292               "type": "string"
9293             },
9294             "series": {
9295               "type": "array",
9296               "items": {
9297                 "type": "string"
9298               }
9299             },
9300             "stream": {
9301               "type": "string"
9302             },
9303             "virt-type": {
9304               "type": "string"
9305             }
9306           },
9307           "additionalProperties": false
9308         },
9309         "ListCloudImageMetadataResult": {
9310           "type": "object",
9311           "properties": {
9312             "result": {
9313               "type": "array",
9314               "items": {
9315                 "$ref": "#/definitions/CloudImageMetadata"
9316               }
9317             }
9318           },
9319           "additionalProperties": false,
9320           "required": [
9321             "result"
9322           ]
9323         },
9324         "Macaroon": {
9325           "type": "object",
9326           "additionalProperties": false
9327         },
9328         "MetadataImageIds": {
9329           "type": "object",
9330           "properties": {
9331             "image-ids": {
9332               "type": "array",
9333               "items": {
9334                 "type": "string"
9335               }
9336             }
9337           },
9338           "additionalProperties": false,
9339           "required": [
9340             "image-ids"
9341           ]
9342         },
9343         "MetadataSaveParams": {
9344           "type": "object",
9345           "properties": {
9346             "metadata": {
9347               "type": "array",
9348               "items": {
9349                 "$ref": "#/definitions/CloudImageMetadataList"
9350               }
9351             }
9352           },
9353           "additionalProperties": false
9354         }
9355       }
9356     }
9357   },
9358   {
9359     "Name": "InstancePoller",
9360     "Version": 3,
9361     "Schema": {
9362       "type": "object",
9363       "properties": {
9364         "AreManuallyProvisioned": {
9365           "type": "object",
9366           "properties": {
9367             "Params": {
9368               "$ref": "#/definitions/Entities"
9369             },
9370             "Result": {
9371               "$ref": "#/definitions/BoolResults"
9372             }
9373           }
9374         },
9375         "InstanceId": {
9376           "type": "object",
9377           "properties": {
9378             "Params": {
9379               "$ref": "#/definitions/Entities"
9380             },
9381             "Result": {
9382               "$ref": "#/definitions/StringResults"
9383             }
9384           }
9385         },
9386         "InstanceStatus": {
9387           "type": "object",
9388           "properties": {
9389             "Params": {
9390               "$ref": "#/definitions/Entities"
9391             },
9392             "Result": {
9393               "$ref": "#/definitions/StatusResults"
9394             }
9395           }
9396         },
9397         "Life": {
9398           "type": "object",
9399           "properties": {
9400             "Params": {
9401               "$ref": "#/definitions/Entities"
9402             },
9403             "Result": {
9404               "$ref": "#/definitions/LifeResults"
9405             }
9406           }
9407         },
9408         "ModelConfig": {
9409           "type": "object",
9410           "properties": {
9411             "Result": {
9412               "$ref": "#/definitions/ModelConfigResult"
9413             }
9414           }
9415         },
9416         "ProviderAddresses": {
9417           "type": "object",
9418           "properties": {
9419             "Params": {
9420               "$ref": "#/definitions/Entities"
9421             },
9422             "Result": {
9423               "$ref": "#/definitions/MachineAddressesResults"
9424             }
9425           }
9426         },
9427         "SetInstanceStatus": {
9428           "type": "object",
9429           "properties": {
9430             "Params": {
9431               "$ref": "#/definitions/SetStatus"
9432             },
9433             "Result": {
9434               "$ref": "#/definitions/ErrorResults"
9435             }
9436           }
9437         },
9438         "SetProviderAddresses": {
9439           "type": "object",
9440           "properties": {
9441             "Params": {
9442               "$ref": "#/definitions/SetMachinesAddresses"
9443             },
9444             "Result": {
9445               "$ref": "#/definitions/ErrorResults"
9446             }
9447           }
9448         },
9449         "Status": {
9450           "type": "object",
9451           "properties": {
9452             "Params": {
9453               "$ref": "#/definitions/Entities"
9454             },
9455             "Result": {
9456               "$ref": "#/definitions/StatusResults"
9457             }
9458           }
9459         },
9460         "WatchForModelConfigChanges": {
9461           "type": "object",
9462           "properties": {
9463             "Result": {
9464               "$ref": "#/definitions/NotifyWatchResult"
9465             }
9466           }
9467         },
9468         "WatchModelMachines": {
9469           "type": "object",
9470           "properties": {
9471             "Result": {
9472               "$ref": "#/definitions/StringsWatchResult"
9473             }
9474           }
9475         }
9476       },
9477       "definitions": {
9478         "Address": {
9479           "type": "object",
9480           "properties": {
9481             "scope": {
9482               "type": "string"
9483             },
9484             "space-name": {
9485               "type": "string"
9486             },
9487             "type": {
9488               "type": "string"
9489             },
9490             "value": {
9491               "type": "string"
9492             }
9493           },
9494           "additionalProperties": false,
9495           "required": [
9496             "value",
9497             "type",
9498             "scope"
9499           ]
9500         },
9501         "BoolResult": {
9502           "type": "object",
9503           "properties": {
9504             "error": {
9505               "$ref": "#/definitions/Error"
9506             },
9507             "result": {
9508               "type": "boolean"
9509             }
9510           },
9511           "additionalProperties": false,
9512           "required": [
9513             "result"
9514           ]
9515         },
9516         "BoolResults": {
9517           "type": "object",
9518           "properties": {
9519             "results": {
9520               "type": "array",
9521               "items": {
9522                 "$ref": "#/definitions/BoolResult"
9523               }
9524             }
9525           },
9526           "additionalProperties": false,
9527           "required": [
9528             "results"
9529           ]
9530         },
9531         "Entities": {
9532           "type": "object",
9533           "properties": {
9534             "entities": {
9535               "type": "array",
9536               "items": {
9537                 "$ref": "#/definitions/Entity"
9538               }
9539             }
9540           },
9541           "additionalProperties": false,
9542           "required": [
9543             "entities"
9544           ]
9545         },
9546         "Entity": {
9547           "type": "object",
9548           "properties": {
9549             "tag": {
9550               "type": "string"
9551             }
9552           },
9553           "additionalProperties": false,
9554           "required": [
9555             "tag"
9556           ]
9557         },
9558         "EntityStatusArgs": {
9559           "type": "object",
9560           "properties": {
9561             "data": {
9562               "type": "object",
9563               "patternProperties": {
9564                 ".*": {
9565                   "type": "object",
9566                   "additionalProperties": true
9567                 }
9568               }
9569             },
9570             "info": {
9571               "type": "string"
9572             },
9573             "status": {
9574               "type": "string"
9575             },
9576             "tag": {
9577               "type": "string"
9578             }
9579           },
9580           "additionalProperties": false,
9581           "required": [
9582             "tag",
9583             "status",
9584             "info",
9585             "data"
9586           ]
9587         },
9588         "Error": {
9589           "type": "object",
9590           "properties": {
9591             "code": {
9592               "type": "string"
9593             },
9594             "info": {
9595               "$ref": "#/definitions/ErrorInfo"
9596             },
9597             "message": {
9598               "type": "string"
9599             }
9600           },
9601           "additionalProperties": false,
9602           "required": [
9603             "message",
9604             "code"
9605           ]
9606         },
9607         "ErrorInfo": {
9608           "type": "object",
9609           "properties": {
9610             "macaroon": {
9611               "$ref": "#/definitions/Macaroon"
9612             },
9613             "macaroon-path": {
9614               "type": "string"
9615             }
9616           },
9617           "additionalProperties": false
9618         },
9619         "ErrorResult": {
9620           "type": "object",
9621           "properties": {
9622             "error": {
9623               "$ref": "#/definitions/Error"
9624             }
9625           },
9626           "additionalProperties": false
9627         },
9628         "ErrorResults": {
9629           "type": "object",
9630           "properties": {
9631             "results": {
9632               "type": "array",
9633               "items": {
9634                 "$ref": "#/definitions/ErrorResult"
9635               }
9636             }
9637           },
9638           "additionalProperties": false,
9639           "required": [
9640             "results"
9641           ]
9642         },
9643         "LifeResult": {
9644           "type": "object",
9645           "properties": {
9646             "error": {
9647               "$ref": "#/definitions/Error"
9648             },
9649             "life": {
9650               "type": "string"
9651             }
9652           },
9653           "additionalProperties": false,
9654           "required": [
9655             "life"
9656           ]
9657         },
9658         "LifeResults": {
9659           "type": "object",
9660           "properties": {
9661             "results": {
9662               "type": "array",
9663               "items": {
9664                 "$ref": "#/definitions/LifeResult"
9665               }
9666             }
9667           },
9668           "additionalProperties": false,
9669           "required": [
9670             "results"
9671           ]
9672         },
9673         "Macaroon": {
9674           "type": "object",
9675           "additionalProperties": false
9676         },
9677         "MachineAddresses": {
9678           "type": "object",
9679           "properties": {
9680             "addresses": {
9681               "type": "array",
9682               "items": {
9683                 "$ref": "#/definitions/Address"
9684               }
9685             },
9686             "tag": {
9687               "type": "string"
9688             }
9689           },
9690           "additionalProperties": false,
9691           "required": [
9692             "tag",
9693             "addresses"
9694           ]
9695         },
9696         "MachineAddressesResult": {
9697           "type": "object",
9698           "properties": {
9699             "addresses": {
9700               "type": "array",
9701               "items": {
9702                 "$ref": "#/definitions/Address"
9703               }
9704             },
9705             "error": {
9706               "$ref": "#/definitions/Error"
9707             }
9708           },
9709           "additionalProperties": false,
9710           "required": [
9711             "addresses"
9712           ]
9713         },
9714         "MachineAddressesResults": {
9715           "type": "object",
9716           "properties": {
9717             "results": {
9718               "type": "array",
9719               "items": {
9720                 "$ref": "#/definitions/MachineAddressesResult"
9721               }
9722             }
9723           },
9724           "additionalProperties": false,
9725           "required": [
9726             "results"
9727           ]
9728         },
9729         "ModelConfigResult": {
9730           "type": "object",
9731           "properties": {
9732             "config": {
9733               "type": "object",
9734               "patternProperties": {
9735                 ".*": {
9736                   "type": "object",
9737                   "additionalProperties": true
9738                 }
9739               }
9740             }
9741           },
9742           "additionalProperties": false,
9743           "required": [
9744             "config"
9745           ]
9746         },
9747         "NotifyWatchResult": {
9748           "type": "object",
9749           "properties": {
9750             "NotifyWatcherId": {
9751               "type": "string"
9752             },
9753             "error": {
9754               "$ref": "#/definitions/Error"
9755             }
9756           },
9757           "additionalProperties": false,
9758           "required": [
9759             "NotifyWatcherId"
9760           ]
9761         },
9762         "SetMachinesAddresses": {
9763           "type": "object",
9764           "properties": {
9765             "machine-addresses": {
9766               "type": "array",
9767               "items": {
9768                 "$ref": "#/definitions/MachineAddresses"
9769               }
9770             }
9771           },
9772           "additionalProperties": false,
9773           "required": [
9774             "machine-addresses"
9775           ]
9776         },
9777         "SetStatus": {
9778           "type": "object",
9779           "properties": {
9780             "entities": {
9781               "type": "array",
9782               "items": {
9783                 "$ref": "#/definitions/EntityStatusArgs"
9784               }
9785             }
9786           },
9787           "additionalProperties": false,
9788           "required": [
9789             "entities"
9790           ]
9791         },
9792         "StatusResult": {
9793           "type": "object",
9794           "properties": {
9795             "data": {
9796               "type": "object",
9797               "patternProperties": {
9798                 ".*": {
9799                   "type": "object",
9800                   "additionalProperties": true
9801                 }
9802               }
9803             },
9804             "error": {
9805               "$ref": "#/definitions/Error"
9806             },
9807             "id": {
9808               "type": "string"
9809             },
9810             "info": {
9811               "type": "string"
9812             },
9813             "life": {
9814               "type": "string"
9815             },
9816             "since": {
9817               "type": "string",
9818               "format": "date-time"
9819             },
9820             "status": {
9821               "type": "string"
9822             }
9823           },
9824           "additionalProperties": false,
9825           "required": [
9826             "id",
9827             "life",
9828             "status",
9829             "info",
9830             "data",
9831             "since"
9832           ]
9833         },
9834         "StatusResults": {
9835           "type": "object",
9836           "properties": {
9837             "results": {
9838               "type": "array",
9839               "items": {
9840                 "$ref": "#/definitions/StatusResult"
9841               }
9842             }
9843           },
9844           "additionalProperties": false,
9845           "required": [
9846             "results"
9847           ]
9848         },
9849         "StringResult": {
9850           "type": "object",
9851           "properties": {
9852             "error": {
9853               "$ref": "#/definitions/Error"
9854             },
9855             "result": {
9856               "type": "string"
9857             }
9858           },
9859           "additionalProperties": false,
9860           "required": [
9861             "result"
9862           ]
9863         },
9864         "StringResults": {
9865           "type": "object",
9866           "properties": {
9867             "results": {
9868               "type": "array",
9869               "items": {
9870                 "$ref": "#/definitions/StringResult"
9871               }
9872             }
9873           },
9874           "additionalProperties": false,
9875           "required": [
9876             "results"
9877           ]
9878         },
9879         "StringsWatchResult": {
9880           "type": "object",
9881           "properties": {
9882             "changes": {
9883               "type": "array",
9884               "items": {
9885                 "type": "string"
9886               }
9887             },
9888             "error": {
9889               "$ref": "#/definitions/Error"
9890             },
9891             "watcher-id": {
9892               "type": "string"
9893             }
9894           },
9895           "additionalProperties": false,
9896           "required": [
9897             "watcher-id"
9898           ]
9899         }
9900       }
9901     }
9902   },
9903   {
9904     "Name": "KeyManager",
9905     "Version": 1,
9906     "Schema": {
9907       "type": "object",
9908       "properties": {
9909         "AddKeys": {
9910           "type": "object",
9911           "properties": {
9912             "Params": {
9913               "$ref": "#/definitions/ModifyUserSSHKeys"
9914             },
9915             "Result": {
9916               "$ref": "#/definitions/ErrorResults"
9917             }
9918           }
9919         },
9920         "DeleteKeys": {
9921           "type": "object",
9922           "properties": {
9923             "Params": {
9924               "$ref": "#/definitions/ModifyUserSSHKeys"
9925             },
9926             "Result": {
9927               "$ref": "#/definitions/ErrorResults"
9928             }
9929           }
9930         },
9931         "ImportKeys": {
9932           "type": "object",
9933           "properties": {
9934             "Params": {
9935               "$ref": "#/definitions/ModifyUserSSHKeys"
9936             },
9937             "Result": {
9938               "$ref": "#/definitions/ErrorResults"
9939             }
9940           }
9941         },
9942         "ListKeys": {
9943           "type": "object",
9944           "properties": {
9945             "Params": {
9946               "$ref": "#/definitions/ListSSHKeys"
9947             },
9948             "Result": {
9949               "$ref": "#/definitions/StringsResults"
9950             }
9951           }
9952         }
9953       },
9954       "definitions": {
9955         "Entities": {
9956           "type": "object",
9957           "properties": {
9958             "entities": {
9959               "type": "array",
9960               "items": {
9961                 "$ref": "#/definitions/Entity"
9962               }
9963             }
9964           },
9965           "additionalProperties": false,
9966           "required": [
9967             "entities"
9968           ]
9969         },
9970         "Entity": {
9971           "type": "object",
9972           "properties": {
9973             "tag": {
9974               "type": "string"
9975             }
9976           },
9977           "additionalProperties": false,
9978           "required": [
9979             "tag"
9980           ]
9981         },
9982         "Error": {
9983           "type": "object",
9984           "properties": {
9985             "code": {
9986               "type": "string"
9987             },
9988             "info": {
9989               "$ref": "#/definitions/ErrorInfo"
9990             },
9991             "message": {
9992               "type": "string"
9993             }
9994           },
9995           "additionalProperties": false,
9996           "required": [
9997             "message",
9998             "code"
9999           ]
10000         },
10001         "ErrorInfo": {
10002           "type": "object",
10003           "properties": {
10004             "macaroon": {
10005               "$ref": "#/definitions/Macaroon"
10006             },
10007             "macaroon-path": {
10008               "type": "string"
10009             }
10010           },
10011           "additionalProperties": false
10012         },
10013         "ErrorResult": {
10014           "type": "object",
10015           "properties": {
10016             "error": {
10017               "$ref": "#/definitions/Error"
10018             }
10019           },
10020           "additionalProperties": false
10021         },
10022         "ErrorResults": {
10023           "type": "object",
10024           "properties": {
10025             "results": {
10026               "type": "array",
10027               "items": {
10028                 "$ref": "#/definitions/ErrorResult"
10029               }
10030             }
10031           },
10032           "additionalProperties": false,
10033           "required": [
10034             "results"
10035           ]
10036         },
10037         "ListSSHKeys": {
10038           "type": "object",
10039           "properties": {
10040             "entities": {
10041               "$ref": "#/definitions/Entities"
10042             },
10043             "mode": {
10044               "type": "boolean"
10045             }
10046           },
10047           "additionalProperties": false,
10048           "required": [
10049             "entities",
10050             "mode"
10051           ]
10052         },
10053         "Macaroon": {
10054           "type": "object",
10055           "additionalProperties": false
10056         },
10057         "ModifyUserSSHKeys": {
10058           "type": "object",
10059           "properties": {
10060             "ssh-keys": {
10061               "type": "array",
10062               "items": {
10063                 "type": "string"
10064               }
10065             },
10066             "user": {
10067               "type": "string"
10068             }
10069           },
10070           "additionalProperties": false,
10071           "required": [
10072             "user",
10073             "ssh-keys"
10074           ]
10075         },
10076         "StringsResult": {
10077           "type": "object",
10078           "properties": {
10079             "error": {
10080               "$ref": "#/definitions/Error"
10081             },
10082             "result": {
10083               "type": "array",
10084               "items": {
10085                 "type": "string"
10086               }
10087             }
10088           },
10089           "additionalProperties": false
10090         },
10091         "StringsResults": {
10092           "type": "object",
10093           "properties": {
10094             "results": {
10095               "type": "array",
10096               "items": {
10097                 "$ref": "#/definitions/StringsResult"
10098               }
10099             }
10100           },
10101           "additionalProperties": false,
10102           "required": [
10103             "results"
10104           ]
10105         }
10106       }
10107     }
10108   },
10109   {
10110     "Name": "KeyUpdater",
10111     "Version": 1,
10112     "Schema": {
10113       "type": "object",
10114       "properties": {
10115         "AuthorisedKeys": {
10116           "type": "object",
10117           "properties": {
10118             "Params": {
10119               "$ref": "#/definitions/Entities"
10120             },
10121             "Result": {
10122               "$ref": "#/definitions/StringsResults"
10123             }
10124           }
10125         },
10126         "WatchAuthorisedKeys": {
10127           "type": "object",
10128           "properties": {
10129             "Params": {
10130               "$ref": "#/definitions/Entities"
10131             },
10132             "Result": {
10133               "$ref": "#/definitions/NotifyWatchResults"
10134             }
10135           }
10136         }
10137       },
10138       "definitions": {
10139         "Entities": {
10140           "type": "object",
10141           "properties": {
10142             "entities": {
10143               "type": "array",
10144               "items": {
10145                 "$ref": "#/definitions/Entity"
10146               }
10147             }
10148           },
10149           "additionalProperties": false,
10150           "required": [
10151             "entities"
10152           ]
10153         },
10154         "Entity": {
10155           "type": "object",
10156           "properties": {
10157             "tag": {
10158               "type": "string"
10159             }
10160           },
10161           "additionalProperties": false,
10162           "required": [
10163             "tag"
10164           ]
10165         },
10166         "Error": {
10167           "type": "object",
10168           "properties": {
10169             "code": {
10170               "type": "string"
10171             },
10172             "info": {
10173               "$ref": "#/definitions/ErrorInfo"
10174             },
10175             "message": {
10176               "type": "string"
10177             }
10178           },
10179           "additionalProperties": false,
10180           "required": [
10181             "message",
10182             "code"
10183           ]
10184         },
10185         "ErrorInfo": {
10186           "type": "object",
10187           "properties": {
10188             "macaroon": {
10189               "$ref": "#/definitions/Macaroon"
10190             },
10191             "macaroon-path": {
10192               "type": "string"
10193             }
10194           },
10195           "additionalProperties": false
10196         },
10197         "Macaroon": {
10198           "type": "object",
10199           "additionalProperties": false
10200         },
10201         "NotifyWatchResult": {
10202           "type": "object",
10203           "properties": {
10204             "NotifyWatcherId": {
10205               "type": "string"
10206             },
10207             "error": {
10208               "$ref": "#/definitions/Error"
10209             }
10210           },
10211           "additionalProperties": false,
10212           "required": [
10213             "NotifyWatcherId"
10214           ]
10215         },
10216         "NotifyWatchResults": {
10217           "type": "object",
10218           "properties": {
10219             "results": {
10220               "type": "array",
10221               "items": {
10222                 "$ref": "#/definitions/NotifyWatchResult"
10223               }
10224             }
10225           },
10226           "additionalProperties": false,
10227           "required": [
10228             "results"
10229           ]
10230         },
10231         "StringsResult": {
10232           "type": "object",
10233           "properties": {
10234             "error": {
10235               "$ref": "#/definitions/Error"
10236             },
10237             "result": {
10238               "type": "array",
10239               "items": {
10240                 "type": "string"
10241               }
10242             }
10243           },
10244           "additionalProperties": false
10245         },
10246         "StringsResults": {
10247           "type": "object",
10248           "properties": {
10249             "results": {
10250               "type": "array",
10251               "items": {
10252                 "$ref": "#/definitions/StringsResult"
10253               }
10254             }
10255           },
10256           "additionalProperties": false,
10257           "required": [
10258             "results"
10259           ]
10260         }
10261       }
10262     }
10263   },
10264   {
10265     "Name": "LeadershipService",
10266     "Version": 2,
10267     "Schema": {
10268       "type": "object",
10269       "properties": {
10270         "BlockUntilLeadershipReleased": {
10271           "type": "object",
10272           "properties": {
10273             "Params": {
10274               "$ref": "#/definitions/ApplicationTag"
10275             },
10276             "Result": {
10277               "$ref": "#/definitions/ErrorResult"
10278             }
10279           }
10280         },
10281         "ClaimLeadership": {
10282           "type": "object",
10283           "properties": {
10284             "Params": {
10285               "$ref": "#/definitions/ClaimLeadershipBulkParams"
10286             },
10287             "Result": {
10288               "$ref": "#/definitions/ClaimLeadershipBulkResults"
10289             }
10290           }
10291         }
10292       },
10293       "definitions": {
10294         "ApplicationTag": {
10295           "type": "object",
10296           "properties": {
10297             "Name": {
10298               "type": "string"
10299             }
10300           },
10301           "additionalProperties": false,
10302           "required": [
10303             "Name"
10304           ]
10305         },
10306         "ClaimLeadershipBulkParams": {
10307           "type": "object",
10308           "properties": {
10309             "params": {
10310               "type": "array",
10311               "items": {
10312                 "$ref": "#/definitions/ClaimLeadershipParams"
10313               }
10314             }
10315           },
10316           "additionalProperties": false,
10317           "required": [
10318             "params"
10319           ]
10320         },
10321         "ClaimLeadershipBulkResults": {
10322           "type": "object",
10323           "properties": {
10324             "results": {
10325               "type": "array",
10326               "items": {
10327                 "$ref": "#/definitions/ErrorResult"
10328               }
10329             }
10330           },
10331           "additionalProperties": false,
10332           "required": [
10333             "results"
10334           ]
10335         },
10336         "ClaimLeadershipParams": {
10337           "type": "object",
10338           "properties": {
10339             "application-tag": {
10340               "type": "string"
10341             },
10342             "duration": {
10343               "type": "number"
10344             },
10345             "unit-tag": {
10346               "type": "string"
10347             }
10348           },
10349           "additionalProperties": false,
10350           "required": [
10351             "application-tag",
10352             "unit-tag",
10353             "duration"
10354           ]
10355         },
10356         "Error": {
10357           "type": "object",
10358           "properties": {
10359             "code": {
10360               "type": "string"
10361             },
10362             "info": {
10363               "$ref": "#/definitions/ErrorInfo"
10364             },
10365             "message": {
10366               "type": "string"
10367             }
10368           },
10369           "additionalProperties": false,
10370           "required": [
10371             "message",
10372             "code"
10373           ]
10374         },
10375         "ErrorInfo": {
10376           "type": "object",
10377           "properties": {
10378             "macaroon": {
10379               "$ref": "#/definitions/Macaroon"
10380             },
10381             "macaroon-path": {
10382               "type": "string"
10383             }
10384           },
10385           "additionalProperties": false
10386         },
10387         "ErrorResult": {
10388           "type": "object",
10389           "properties": {
10390             "error": {
10391               "$ref": "#/definitions/Error"
10392             }
10393           },
10394           "additionalProperties": false
10395         },
10396         "Macaroon": {
10397           "type": "object",
10398           "additionalProperties": false
10399         }
10400       }
10401     }
10402   },
10403   {
10404     "Name": "LifeFlag",
10405     "Version": 1,
10406     "Schema": {
10407       "type": "object",
10408       "properties": {
10409         "Life": {
10410           "type": "object",
10411           "properties": {
10412             "Params": {
10413               "$ref": "#/definitions/Entities"
10414             },
10415             "Result": {
10416               "$ref": "#/definitions/LifeResults"
10417             }
10418           }
10419         },
10420         "Watch": {
10421           "type": "object",
10422           "properties": {
10423             "Params": {
10424               "$ref": "#/definitions/Entities"
10425             },
10426             "Result": {
10427               "$ref": "#/definitions/NotifyWatchResults"
10428             }
10429           }
10430         }
10431       },
10432       "definitions": {
10433         "Entities": {
10434           "type": "object",
10435           "properties": {
10436             "entities": {
10437               "type": "array",
10438               "items": {
10439                 "$ref": "#/definitions/Entity"
10440               }
10441             }
10442           },
10443           "additionalProperties": false,
10444           "required": [
10445             "entities"
10446           ]
10447         },
10448         "Entity": {
10449           "type": "object",
10450           "properties": {
10451             "tag": {
10452               "type": "string"
10453             }
10454           },
10455           "additionalProperties": false,
10456           "required": [
10457             "tag"
10458           ]
10459         },
10460         "Error": {
10461           "type": "object",
10462           "properties": {
10463             "code": {
10464               "type": "string"
10465             },
10466             "info": {
10467               "$ref": "#/definitions/ErrorInfo"
10468             },
10469             "message": {
10470               "type": "string"
10471             }
10472           },
10473           "additionalProperties": false,
10474           "required": [
10475             "message",
10476             "code"
10477           ]
10478         },
10479         "ErrorInfo": {
10480           "type": "object",
10481           "properties": {
10482             "macaroon": {
10483               "$ref": "#/definitions/Macaroon"
10484             },
10485             "macaroon-path": {
10486               "type": "string"
10487             }
10488           },
10489           "additionalProperties": false
10490         },
10491         "LifeResult": {
10492           "type": "object",
10493           "properties": {
10494             "error": {
10495               "$ref": "#/definitions/Error"
10496             },
10497             "life": {
10498               "type": "string"
10499             }
10500           },
10501           "additionalProperties": false,
10502           "required": [
10503             "life"
10504           ]
10505         },
10506         "LifeResults": {
10507           "type": "object",
10508           "properties": {
10509             "results": {
10510               "type": "array",
10511               "items": {
10512                 "$ref": "#/definitions/LifeResult"
10513               }
10514             }
10515           },
10516           "additionalProperties": false,
10517           "required": [
10518             "results"
10519           ]
10520         },
10521         "Macaroon": {
10522           "type": "object",
10523           "additionalProperties": false
10524         },
10525         "NotifyWatchResult": {
10526           "type": "object",
10527           "properties": {
10528             "NotifyWatcherId": {
10529               "type": "string"
10530             },
10531             "error": {
10532               "$ref": "#/definitions/Error"
10533             }
10534           },
10535           "additionalProperties": false,
10536           "required": [
10537             "NotifyWatcherId"
10538           ]
10539         },
10540         "NotifyWatchResults": {
10541           "type": "object",
10542           "properties": {
10543             "results": {
10544               "type": "array",
10545               "items": {
10546                 "$ref": "#/definitions/NotifyWatchResult"
10547               }
10548             }
10549           },
10550           "additionalProperties": false,
10551           "required": [
10552             "results"
10553           ]
10554         }
10555       }
10556     }
10557   },
10558   {
10559     "Name": "LogForwarding",
10560     "Version": 1,
10561     "Schema": {
10562       "type": "object",
10563       "properties": {
10564         "GetLastSent": {
10565           "type": "object",
10566           "properties": {
10567             "Params": {
10568               "$ref": "#/definitions/LogForwardingGetLastSentParams"
10569             },
10570             "Result": {
10571               "$ref": "#/definitions/LogForwardingGetLastSentResults"
10572             }
10573           }
10574         },
10575         "SetLastSent": {
10576           "type": "object",
10577           "properties": {
10578             "Params": {
10579               "$ref": "#/definitions/LogForwardingSetLastSentParams"
10580             },
10581             "Result": {
10582               "$ref": "#/definitions/ErrorResults"
10583             }
10584           }
10585         }
10586       },
10587       "definitions": {
10588         "Error": {
10589           "type": "object",
10590           "properties": {
10591             "code": {
10592               "type": "string"
10593             },
10594             "info": {
10595               "$ref": "#/definitions/ErrorInfo"
10596             },
10597             "message": {
10598               "type": "string"
10599             }
10600           },
10601           "additionalProperties": false,
10602           "required": [
10603             "message",
10604             "code"
10605           ]
10606         },
10607         "ErrorInfo": {
10608           "type": "object",
10609           "properties": {
10610             "macaroon": {
10611               "$ref": "#/definitions/Macaroon"
10612             },
10613             "macaroon-path": {
10614               "type": "string"
10615             }
10616           },
10617           "additionalProperties": false
10618         },
10619         "ErrorResult": {
10620           "type": "object",
10621           "properties": {
10622             "error": {
10623               "$ref": "#/definitions/Error"
10624             }
10625           },
10626           "additionalProperties": false
10627         },
10628         "ErrorResults": {
10629           "type": "object",
10630           "properties": {
10631             "results": {
10632               "type": "array",
10633               "items": {
10634                 "$ref": "#/definitions/ErrorResult"
10635               }
10636             }
10637           },
10638           "additionalProperties": false,
10639           "required": [
10640             "results"
10641           ]
10642         },
10643         "LogForwardingGetLastSentParams": {
10644           "type": "object",
10645           "properties": {
10646             "ids": {
10647               "type": "array",
10648               "items": {
10649                 "$ref": "#/definitions/LogForwardingID"
10650               }
10651             }
10652           },
10653           "additionalProperties": false,
10654           "required": [
10655             "ids"
10656           ]
10657         },
10658         "LogForwardingGetLastSentResult": {
10659           "type": "object",
10660           "properties": {
10661             "err": {
10662               "$ref": "#/definitions/Error"
10663             },
10664             "record-id": {
10665               "type": "integer"
10666             },
10667             "record-timestamp": {
10668               "type": "integer"
10669             }
10670           },
10671           "additionalProperties": false,
10672           "required": [
10673             "record-id",
10674             "record-timestamp",
10675             "err"
10676           ]
10677         },
10678         "LogForwardingGetLastSentResults": {
10679           "type": "object",
10680           "properties": {
10681             "results": {
10682               "type": "array",
10683               "items": {
10684                 "$ref": "#/definitions/LogForwardingGetLastSentResult"
10685               }
10686             }
10687           },
10688           "additionalProperties": false,
10689           "required": [
10690             "results"
10691           ]
10692         },
10693         "LogForwardingID": {
10694           "type": "object",
10695           "properties": {
10696             "model": {
10697               "type": "string"
10698             },
10699             "sink": {
10700               "type": "string"
10701             }
10702           },
10703           "additionalProperties": false,
10704           "required": [
10705             "model",
10706             "sink"
10707           ]
10708         },
10709         "LogForwardingSetLastSentParam": {
10710           "type": "object",
10711           "properties": {
10712             "LogForwardingID": {
10713               "$ref": "#/definitions/LogForwardingID"
10714             },
10715             "record-id": {
10716               "type": "integer"
10717             },
10718             "record-timestamp": {
10719               "type": "integer"
10720             }
10721           },
10722           "additionalProperties": false,
10723           "required": [
10724             "LogForwardingID",
10725             "record-id",
10726             "record-timestamp"
10727           ]
10728         },
10729         "LogForwardingSetLastSentParams": {
10730           "type": "object",
10731           "properties": {
10732             "params": {
10733               "type": "array",
10734               "items": {
10735                 "$ref": "#/definitions/LogForwardingSetLastSentParam"
10736               }
10737             }
10738           },
10739           "additionalProperties": false,
10740           "required": [
10741             "params"
10742           ]
10743         },
10744         "Macaroon": {
10745           "type": "object",
10746           "additionalProperties": false
10747         }
10748       }
10749     }
10750   },
10751   {
10752     "Name": "Logger",
10753     "Version": 1,
10754     "Schema": {
10755       "type": "object",
10756       "properties": {
10757         "LoggingConfig": {
10758           "type": "object",
10759           "properties": {
10760             "Params": {
10761               "$ref": "#/definitions/Entities"
10762             },
10763             "Result": {
10764               "$ref": "#/definitions/StringResults"
10765             }
10766           }
10767         },
10768         "WatchLoggingConfig": {
10769           "type": "object",
10770           "properties": {
10771             "Params": {
10772               "$ref": "#/definitions/Entities"
10773             },
10774             "Result": {
10775               "$ref": "#/definitions/NotifyWatchResults"
10776             }
10777           }
10778         }
10779       },
10780       "definitions": {
10781         "Entities": {
10782           "type": "object",
10783           "properties": {
10784             "entities": {
10785               "type": "array",
10786               "items": {
10787                 "$ref": "#/definitions/Entity"
10788               }
10789             }
10790           },
10791           "additionalProperties": false,
10792           "required": [
10793             "entities"
10794           ]
10795         },
10796         "Entity": {
10797           "type": "object",
10798           "properties": {
10799             "tag": {
10800               "type": "string"
10801             }
10802           },
10803           "additionalProperties": false,
10804           "required": [
10805             "tag"
10806           ]
10807         },
10808         "Error": {
10809           "type": "object",
10810           "properties": {
10811             "code": {
10812               "type": "string"
10813             },
10814             "info": {
10815               "$ref": "#/definitions/ErrorInfo"
10816             },
10817             "message": {
10818               "type": "string"
10819             }
10820           },
10821           "additionalProperties": false,
10822           "required": [
10823             "message",
10824             "code"
10825           ]
10826         },
10827         "ErrorInfo": {
10828           "type": "object",
10829           "properties": {
10830             "macaroon": {
10831               "$ref": "#/definitions/Macaroon"
10832             },
10833             "macaroon-path": {
10834               "type": "string"
10835             }
10836           },
10837           "additionalProperties": false
10838         },
10839         "Macaroon": {
10840           "type": "object",
10841           "additionalProperties": false
10842         },
10843         "NotifyWatchResult": {
10844           "type": "object",
10845           "properties": {
10846             "NotifyWatcherId": {
10847               "type": "string"
10848             },
10849             "error": {
10850               "$ref": "#/definitions/Error"
10851             }
10852           },
10853           "additionalProperties": false,
10854           "required": [
10855             "NotifyWatcherId"
10856           ]
10857         },
10858         "NotifyWatchResults": {
10859           "type": "object",
10860           "properties": {
10861             "results": {
10862               "type": "array",
10863               "items": {
10864                 "$ref": "#/definitions/NotifyWatchResult"
10865               }
10866             }
10867           },
10868           "additionalProperties": false,
10869           "required": [
10870             "results"
10871           ]
10872         },
10873         "StringResult": {
10874           "type": "object",
10875           "properties": {
10876             "error": {
10877               "$ref": "#/definitions/Error"
10878             },
10879             "result": {
10880               "type": "string"
10881             }
10882           },
10883           "additionalProperties": false,
10884           "required": [
10885             "result"
10886           ]
10887         },
10888         "StringResults": {
10889           "type": "object",
10890           "properties": {
10891             "results": {
10892               "type": "array",
10893               "items": {
10894                 "$ref": "#/definitions/StringResult"
10895               }
10896             }
10897           },
10898           "additionalProperties": false,
10899           "required": [
10900             "results"
10901           ]
10902         }
10903       }
10904     }
10905   },
10906   {
10907     "Name": "MachineActions",
10908     "Version": 1,
10909     "Schema": {
10910       "type": "object",
10911       "properties": {
10912         "Actions": {
10913           "type": "object",
10914           "properties": {
10915             "Params": {
10916               "$ref": "#/definitions/Entities"
10917             },
10918             "Result": {
10919               "$ref": "#/definitions/ActionResults"
10920             }
10921           }
10922         },
10923         "BeginActions": {
10924           "type": "object",
10925           "properties": {
10926             "Params": {
10927               "$ref": "#/definitions/Entities"
10928             },
10929             "Result": {
10930               "$ref": "#/definitions/ErrorResults"
10931             }
10932           }
10933         },
10934         "FinishActions": {
10935           "type": "object",
10936           "properties": {
10937             "Params": {
10938               "$ref": "#/definitions/ActionExecutionResults"
10939             },
10940             "Result": {
10941               "$ref": "#/definitions/ErrorResults"
10942             }
10943           }
10944         },
10945         "RunningActions": {
10946           "type": "object",
10947           "properties": {
10948             "Params": {
10949               "$ref": "#/definitions/Entities"
10950             },
10951             "Result": {
10952               "$ref": "#/definitions/ActionsByReceivers"
10953             }
10954           }
10955         },
10956         "WatchActionNotifications": {
10957           "type": "object",
10958           "properties": {
10959             "Params": {
10960               "$ref": "#/definitions/Entities"
10961             },
10962             "Result": {
10963               "$ref": "#/definitions/StringsWatchResults"
10964             }
10965           }
10966         }
10967       },
10968       "definitions": {
10969         "Action": {
10970           "type": "object",
10971           "properties": {
10972             "name": {
10973               "type": "string"
10974             },
10975             "parameters": {
10976               "type": "object",
10977               "patternProperties": {
10978                 ".*": {
10979                   "type": "object",
10980                   "additionalProperties": true
10981                 }
10982               }
10983             },
10984             "receiver": {
10985               "type": "string"
10986             },
10987             "tag": {
10988               "type": "string"
10989             }
10990           },
10991           "additionalProperties": false,
10992           "required": [
10993             "tag",
10994             "receiver",
10995             "name"
10996           ]
10997         },
10998         "ActionExecutionResult": {
10999           "type": "object",
11000           "properties": {
11001             "action-tag": {
11002               "type": "string"
11003             },
11004             "message": {
11005               "type": "string"
11006             },
11007             "results": {
11008               "type": "object",
11009               "patternProperties": {
11010                 ".*": {
11011                   "type": "object",
11012                   "additionalProperties": true
11013                 }
11014               }
11015             },
11016             "status": {
11017               "type": "string"
11018             }
11019           },
11020           "additionalProperties": false,
11021           "required": [
11022             "action-tag",
11023             "status"
11024           ]
11025         },
11026         "ActionExecutionResults": {
11027           "type": "object",
11028           "properties": {
11029             "results": {
11030               "type": "array",
11031               "items": {
11032                 "$ref": "#/definitions/ActionExecutionResult"
11033               }
11034             }
11035           },
11036           "additionalProperties": false
11037         },
11038         "ActionResult": {
11039           "type": "object",
11040           "properties": {
11041             "action": {
11042               "$ref": "#/definitions/Action"
11043             },
11044             "completed": {
11045               "type": "string",
11046               "format": "date-time"
11047             },
11048             "enqueued": {
11049               "type": "string",
11050               "format": "date-time"
11051             },
11052             "error": {
11053               "$ref": "#/definitions/Error"
11054             },
11055             "message": {
11056               "type": "string"
11057             },
11058             "output": {
11059               "type": "object",
11060               "patternProperties": {
11061                 ".*": {
11062                   "type": "object",
11063                   "additionalProperties": true
11064                 }
11065               }
11066             },
11067             "started": {
11068               "type": "string",
11069               "format": "date-time"
11070             },
11071             "status": {
11072               "type": "string"
11073             }
11074           },
11075           "additionalProperties": false
11076         },
11077         "ActionResults": {
11078           "type": "object",
11079           "properties": {
11080             "results": {
11081               "type": "array",
11082               "items": {
11083                 "$ref": "#/definitions/ActionResult"
11084               }
11085             }
11086           },
11087           "additionalProperties": false
11088         },
11089         "ActionsByReceiver": {
11090           "type": "object",
11091           "properties": {
11092             "actions": {
11093               "type": "array",
11094               "items": {
11095                 "$ref": "#/definitions/ActionResult"
11096               }
11097             },
11098             "error": {
11099               "$ref": "#/definitions/Error"
11100             },
11101             "receiver": {
11102               "type": "string"
11103             }
11104           },
11105           "additionalProperties": false
11106         },
11107         "ActionsByReceivers": {
11108           "type": "object",
11109           "properties": {
11110             "actions": {
11111               "type": "array",
11112               "items": {
11113                 "$ref": "#/definitions/ActionsByReceiver"
11114               }
11115             }
11116           },
11117           "additionalProperties": false
11118         },
11119         "Entities": {
11120           "type": "object",
11121           "properties": {
11122             "entities": {
11123               "type": "array",
11124               "items": {
11125                 "$ref": "#/definitions/Entity"
11126               }
11127             }
11128           },
11129           "additionalProperties": false,
11130           "required": [
11131             "entities"
11132           ]
11133         },
11134         "Entity": {
11135           "type": "object",
11136           "properties": {
11137             "tag": {
11138               "type": "string"
11139             }
11140           },
11141           "additionalProperties": false,
11142           "required": [
11143             "tag"
11144           ]
11145         },
11146         "Error": {
11147           "type": "object",
11148           "properties": {
11149             "code": {
11150               "type": "string"
11151             },
11152             "info": {
11153               "$ref": "#/definitions/ErrorInfo"
11154             },
11155             "message": {
11156               "type": "string"
11157             }
11158           },
11159           "additionalProperties": false,
11160           "required": [
11161             "message",
11162             "code"
11163           ]
11164         },
11165         "ErrorInfo": {
11166           "type": "object",
11167           "properties": {
11168             "macaroon": {
11169               "$ref": "#/definitions/Macaroon"
11170             },
11171             "macaroon-path": {
11172               "type": "string"
11173             }
11174           },
11175           "additionalProperties": false
11176         },
11177         "ErrorResult": {
11178           "type": "object",
11179           "properties": {
11180             "error": {
11181               "$ref": "#/definitions/Error"
11182             }
11183           },
11184           "additionalProperties": false
11185         },
11186         "ErrorResults": {
11187           "type": "object",
11188           "properties": {
11189             "results": {
11190               "type": "array",
11191               "items": {
11192                 "$ref": "#/definitions/ErrorResult"
11193               }
11194             }
11195           },
11196           "additionalProperties": false,
11197           "required": [
11198             "results"
11199           ]
11200         },
11201         "Macaroon": {
11202           "type": "object",
11203           "additionalProperties": false
11204         },
11205         "StringsWatchResult": {
11206           "type": "object",
11207           "properties": {
11208             "changes": {
11209               "type": "array",
11210               "items": {
11211                 "type": "string"
11212               }
11213             },
11214             "error": {
11215               "$ref": "#/definitions/Error"
11216             },
11217             "watcher-id": {
11218               "type": "string"
11219             }
11220           },
11221           "additionalProperties": false,
11222           "required": [
11223             "watcher-id"
11224           ]
11225         },
11226         "StringsWatchResults": {
11227           "type": "object",
11228           "properties": {
11229             "results": {
11230               "type": "array",
11231               "items": {
11232                 "$ref": "#/definitions/StringsWatchResult"
11233               }
11234             }
11235           },
11236           "additionalProperties": false,
11237           "required": [
11238             "results"
11239           ]
11240         }
11241       }
11242     }
11243   },
11244   {
11245     "Name": "MachineManager",
11246     "Version": 2,
11247     "Schema": {
11248       "type": "object",
11249       "properties": {
11250         "AddMachines": {
11251           "type": "object",
11252           "properties": {
11253             "Params": {
11254               "$ref": "#/definitions/AddMachines"
11255             },
11256             "Result": {
11257               "$ref": "#/definitions/AddMachinesResults"
11258             }
11259           }
11260         }
11261       },
11262       "definitions": {
11263         "AddMachineParams": {
11264           "type": "object",
11265           "properties": {
11266             "addresses": {
11267               "type": "array",
11268               "items": {
11269                 "$ref": "#/definitions/Address"
11270               }
11271             },
11272             "constraints": {
11273               "$ref": "#/definitions/Value"
11274             },
11275             "container-type": {
11276               "type": "string"
11277             },
11278             "disks": {
11279               "type": "array",
11280               "items": {
11281                 "$ref": "#/definitions/Constraints"
11282               }
11283             },
11284             "hardware-characteristics": {
11285               "$ref": "#/definitions/HardwareCharacteristics"
11286             },
11287             "instance-id": {
11288               "type": "string"
11289             },
11290             "jobs": {
11291               "type": "array",
11292               "items": {
11293                 "type": "string"
11294               }
11295             },
11296             "nonce": {
11297               "type": "string"
11298             },
11299             "parent-id": {
11300               "type": "string"
11301             },
11302             "placement": {
11303               "$ref": "#/definitions/Placement"
11304             },
11305             "series": {
11306               "type": "string"
11307             }
11308           },
11309           "additionalProperties": false,
11310           "required": [
11311             "series",
11312             "constraints",
11313             "jobs",
11314             "parent-id",
11315             "container-type",
11316             "instance-id",
11317             "nonce",
11318             "hardware-characteristics",
11319             "addresses"
11320           ]
11321         },
11322         "AddMachines": {
11323           "type": "object",
11324           "properties": {
11325             "params": {
11326               "type": "array",
11327               "items": {
11328                 "$ref": "#/definitions/AddMachineParams"
11329               }
11330             }
11331           },
11332           "additionalProperties": false,
11333           "required": [
11334             "params"
11335           ]
11336         },
11337         "AddMachinesResult": {
11338           "type": "object",
11339           "properties": {
11340             "error": {
11341               "$ref": "#/definitions/Error"
11342             },
11343             "machine": {
11344               "type": "string"
11345             }
11346           },
11347           "additionalProperties": false,
11348           "required": [
11349             "machine"
11350           ]
11351         },
11352         "AddMachinesResults": {
11353           "type": "object",
11354           "properties": {
11355             "machines": {
11356               "type": "array",
11357               "items": {
11358                 "$ref": "#/definitions/AddMachinesResult"
11359               }
11360             }
11361           },
11362           "additionalProperties": false,
11363           "required": [
11364             "machines"
11365           ]
11366         },
11367         "Address": {
11368           "type": "object",
11369           "properties": {
11370             "scope": {
11371               "type": "string"
11372             },
11373             "space-name": {
11374               "type": "string"
11375             },
11376             "type": {
11377               "type": "string"
11378             },
11379             "value": {
11380               "type": "string"
11381             }
11382           },
11383           "additionalProperties": false,
11384           "required": [
11385             "value",
11386             "type",
11387             "scope"
11388           ]
11389         },
11390         "Constraints": {
11391           "type": "object",
11392           "properties": {
11393             "Count": {
11394               "type": "integer"
11395             },
11396             "Pool": {
11397               "type": "string"
11398             },
11399             "Size": {
11400               "type": "integer"
11401             }
11402           },
11403           "additionalProperties": false,
11404           "required": [
11405             "Pool",
11406             "Size",
11407             "Count"
11408           ]
11409         },
11410         "Error": {
11411           "type": "object",
11412           "properties": {
11413             "code": {
11414               "type": "string"
11415             },
11416             "info": {
11417               "$ref": "#/definitions/ErrorInfo"
11418             },
11419             "message": {
11420               "type": "string"
11421             }
11422           },
11423           "additionalProperties": false,
11424           "required": [
11425             "message",
11426             "code"
11427           ]
11428         },
11429         "ErrorInfo": {
11430           "type": "object",
11431           "properties": {
11432             "macaroon": {
11433               "$ref": "#/definitions/Macaroon"
11434             },
11435             "macaroon-path": {
11436               "type": "string"
11437             }
11438           },
11439           "additionalProperties": false
11440         },
11441         "HardwareCharacteristics": {
11442           "type": "object",
11443           "properties": {
11444             "arch": {
11445               "type": "string"
11446             },
11447             "availability-zone": {
11448               "type": "string"
11449             },
11450             "cpu-cores": {
11451               "type": "integer"
11452             },
11453             "cpu-power": {
11454               "type": "integer"
11455             },
11456             "mem": {
11457               "type": "integer"
11458             },
11459             "root-disk": {
11460               "type": "integer"
11461             },
11462             "tags": {
11463               "type": "array",
11464               "items": {
11465                 "type": "string"
11466               }
11467             }
11468           },
11469           "additionalProperties": false
11470         },
11471         "Macaroon": {
11472           "type": "object",
11473           "additionalProperties": false
11474         },
11475         "Placement": {
11476           "type": "object",
11477           "properties": {
11478             "directive": {
11479               "type": "string"
11480             },
11481             "scope": {
11482               "type": "string"
11483             }
11484           },
11485           "additionalProperties": false,
11486           "required": [
11487             "scope",
11488             "directive"
11489           ]
11490         },
11491         "Value": {
11492           "type": "object",
11493           "properties": {
11494             "arch": {
11495               "type": "string"
11496             },
11497             "container": {
11498               "type": "string"
11499             },
11500             "cores": {
11501               "type": "integer"
11502             },
11503             "cpu-power": {
11504               "type": "integer"
11505             },
11506             "instance-type": {
11507               "type": "string"
11508             },
11509             "mem": {
11510               "type": "integer"
11511             },
11512             "root-disk": {
11513               "type": "integer"
11514             },
11515             "spaces": {
11516               "type": "array",
11517               "items": {
11518                 "type": "string"
11519               }
11520             },
11521             "tags": {
11522               "type": "array",
11523               "items": {
11524                 "type": "string"
11525               }
11526             },
11527             "virt-type": {
11528               "type": "string"
11529             }
11530           },
11531           "additionalProperties": false
11532         }
11533       }
11534     }
11535   },
11536   {
11537     "Name": "MachineUndertaker",
11538     "Version": 1,
11539     "Schema": {
11540       "type": "object",
11541       "properties": {
11542         "AllMachineRemovals": {
11543           "type": "object",
11544           "properties": {
11545             "Params": {
11546               "$ref": "#/definitions/Entities"
11547             },
11548             "Result": {
11549               "$ref": "#/definitions/EntitiesResults"
11550             }
11551           }
11552         },
11553         "CompleteMachineRemovals": {
11554           "type": "object",
11555           "properties": {
11556             "Params": {
11557               "$ref": "#/definitions/Entities"
11558             }
11559           }
11560         },
11561         "GetMachineProviderInterfaceInfo": {
11562           "type": "object",
11563           "properties": {
11564             "Params": {
11565               "$ref": "#/definitions/Entities"
11566             },
11567             "Result": {
11568               "$ref": "#/definitions/ProviderInterfaceInfoResults"
11569             }
11570           }
11571         },
11572         "WatchMachineRemovals": {
11573           "type": "object",
11574           "properties": {
11575             "Params": {
11576               "$ref": "#/definitions/Entities"
11577             },
11578             "Result": {
11579               "$ref": "#/definitions/NotifyWatchResults"
11580             }
11581           }
11582         }
11583       },
11584       "definitions": {
11585         "Entities": {
11586           "type": "object",
11587           "properties": {
11588             "entities": {
11589               "type": "array",
11590               "items": {
11591                 "$ref": "#/definitions/Entity"
11592               }
11593             }
11594           },
11595           "additionalProperties": false,
11596           "required": [
11597             "entities"
11598           ]
11599         },
11600         "EntitiesResult": {
11601           "type": "object",
11602           "properties": {
11603             "entities": {
11604               "type": "array",
11605               "items": {
11606                 "$ref": "#/definitions/Entity"
11607               }
11608             },
11609             "error": {
11610               "$ref": "#/definitions/Error"
11611             }
11612           },
11613           "additionalProperties": false,
11614           "required": [
11615             "entities"
11616           ]
11617         },
11618         "EntitiesResults": {
11619           "type": "object",
11620           "properties": {
11621             "results": {
11622               "type": "array",
11623               "items": {
11624                 "$ref": "#/definitions/EntitiesResult"
11625               }
11626             }
11627           },
11628           "additionalProperties": false,
11629           "required": [
11630             "results"
11631           ]
11632         },
11633         "Entity": {
11634           "type": "object",
11635           "properties": {
11636             "tag": {
11637               "type": "string"
11638             }
11639           },
11640           "additionalProperties": false,
11641           "required": [
11642             "tag"
11643           ]
11644         },
11645         "Error": {
11646           "type": "object",
11647           "properties": {
11648             "code": {
11649               "type": "string"
11650             },
11651             "info": {
11652               "$ref": "#/definitions/ErrorInfo"
11653             },
11654             "message": {
11655               "type": "string"
11656             }
11657           },
11658           "additionalProperties": false,
11659           "required": [
11660             "message",
11661             "code"
11662           ]
11663         },
11664         "ErrorInfo": {
11665           "type": "object",
11666           "properties": {
11667             "macaroon": {
11668               "$ref": "#/definitions/Macaroon"
11669             },
11670             "macaroon-path": {
11671               "type": "string"
11672             }
11673           },
11674           "additionalProperties": false
11675         },
11676         "Macaroon": {
11677           "type": "object",
11678           "additionalProperties": false
11679         },
11680         "NotifyWatchResult": {
11681           "type": "object",
11682           "properties": {
11683             "NotifyWatcherId": {
11684               "type": "string"
11685             },
11686             "error": {
11687               "$ref": "#/definitions/Error"
11688             }
11689           },
11690           "additionalProperties": false,
11691           "required": [
11692             "NotifyWatcherId"
11693           ]
11694         },
11695         "NotifyWatchResults": {
11696           "type": "object",
11697           "properties": {
11698             "results": {
11699               "type": "array",
11700               "items": {
11701                 "$ref": "#/definitions/NotifyWatchResult"
11702               }
11703             }
11704           },
11705           "additionalProperties": false,
11706           "required": [
11707             "results"
11708           ]
11709         },
11710         "ProviderInterfaceInfo": {
11711           "type": "object",
11712           "properties": {
11713             "interface-name": {
11714               "type": "string"
11715             },
11716             "mac-address": {
11717               "type": "string"
11718             },
11719             "provider-id": {
11720               "type": "string"
11721             }
11722           },
11723           "additionalProperties": false,
11724           "required": [
11725             "interface-name",
11726             "mac-address",
11727             "provider-id"
11728           ]
11729         },
11730         "ProviderInterfaceInfoResult": {
11731           "type": "object",
11732           "properties": {
11733             "error": {
11734               "$ref": "#/definitions/Error"
11735             },
11736             "interfaces": {
11737               "type": "array",
11738               "items": {
11739                 "$ref": "#/definitions/ProviderInterfaceInfo"
11740               }
11741             },
11742             "machine-tag": {
11743               "type": "string"
11744             }
11745           },
11746           "additionalProperties": false,
11747           "required": [
11748             "machine-tag",
11749             "interfaces"
11750           ]
11751         },
11752         "ProviderInterfaceInfoResults": {
11753           "type": "object",
11754           "properties": {
11755             "results": {
11756               "type": "array",
11757               "items": {
11758                 "$ref": "#/definitions/ProviderInterfaceInfoResult"
11759               }
11760             }
11761           },
11762           "additionalProperties": false,
11763           "required": [
11764             "results"
11765           ]
11766         }
11767       }
11768     }
11769   },
11770   {
11771     "Name": "Machiner",
11772     "Version": 1,
11773     "Schema": {
11774       "type": "object",
11775       "properties": {
11776         "APIAddresses": {
11777           "type": "object",
11778           "properties": {
11779             "Result": {
11780               "$ref": "#/definitions/StringsResult"
11781             }
11782           }
11783         },
11784         "APIHostPorts": {
11785           "type": "object",
11786           "properties": {
11787             "Result": {
11788               "$ref": "#/definitions/APIHostPortsResult"
11789             }
11790           }
11791         },
11792         "CACert": {
11793           "type": "object",
11794           "properties": {
11795             "Result": {
11796               "$ref": "#/definitions/BytesResult"
11797             }
11798           }
11799         },
11800         "EnsureDead": {
11801           "type": "object",
11802           "properties": {
11803             "Params": {
11804               "$ref": "#/definitions/Entities"
11805             },
11806             "Result": {
11807               "$ref": "#/definitions/ErrorResults"
11808             }
11809           }
11810         },
11811         "Jobs": {
11812           "type": "object",
11813           "properties": {
11814             "Params": {
11815               "$ref": "#/definitions/Entities"
11816             },
11817             "Result": {
11818               "$ref": "#/definitions/JobsResults"
11819             }
11820           }
11821         },
11822         "Life": {
11823           "type": "object",
11824           "properties": {
11825             "Params": {
11826               "$ref": "#/definitions/Entities"
11827             },
11828             "Result": {
11829               "$ref": "#/definitions/LifeResults"
11830             }
11831           }
11832         },
11833         "ModelUUID": {
11834           "type": "object",
11835           "properties": {
11836             "Result": {
11837               "$ref": "#/definitions/StringResult"
11838             }
11839           }
11840         },
11841         "SetMachineAddresses": {
11842           "type": "object",
11843           "properties": {
11844             "Params": {
11845               "$ref": "#/definitions/SetMachinesAddresses"
11846             },
11847             "Result": {
11848               "$ref": "#/definitions/ErrorResults"
11849             }
11850           }
11851         },
11852         "SetObservedNetworkConfig": {
11853           "type": "object",
11854           "properties": {
11855             "Params": {
11856               "$ref": "#/definitions/SetMachineNetworkConfig"
11857             }
11858           }
11859         },
11860         "SetProviderNetworkConfig": {
11861           "type": "object",
11862           "properties": {
11863             "Params": {
11864               "$ref": "#/definitions/Entities"
11865             },
11866             "Result": {
11867               "$ref": "#/definitions/ErrorResults"
11868             }
11869           }
11870         },
11871         "SetStatus": {
11872           "type": "object",
11873           "properties": {
11874             "Params": {
11875               "$ref": "#/definitions/SetStatus"
11876             },
11877             "Result": {
11878               "$ref": "#/definitions/ErrorResults"
11879             }
11880           }
11881         },
11882         "UpdateStatus": {
11883           "type": "object",
11884           "properties": {
11885             "Params": {
11886               "$ref": "#/definitions/SetStatus"
11887             },
11888             "Result": {
11889               "$ref": "#/definitions/ErrorResults"
11890             }
11891           }
11892         },
11893         "Watch": {
11894           "type": "object",
11895           "properties": {
11896             "Params": {
11897               "$ref": "#/definitions/Entities"
11898             },
11899             "Result": {
11900               "$ref": "#/definitions/NotifyWatchResults"
11901             }
11902           }
11903         },
11904         "WatchAPIHostPorts": {
11905           "type": "object",
11906           "properties": {
11907             "Result": {
11908               "$ref": "#/definitions/NotifyWatchResult"
11909             }
11910           }
11911         }
11912       },
11913       "definitions": {
11914         "APIHostPortsResult": {
11915           "type": "object",
11916           "properties": {
11917             "servers": {
11918               "type": "array",
11919               "items": {
11920                 "type": "array",
11921                 "items": {
11922                   "$ref": "#/definitions/HostPort"
11923                 }
11924               }
11925             }
11926           },
11927           "additionalProperties": false,
11928           "required": [
11929             "servers"
11930           ]
11931         },
11932         "Address": {
11933           "type": "object",
11934           "properties": {
11935             "scope": {
11936               "type": "string"
11937             },
11938             "space-name": {
11939               "type": "string"
11940             },
11941             "type": {
11942               "type": "string"
11943             },
11944             "value": {
11945               "type": "string"
11946             }
11947           },
11948           "additionalProperties": false,
11949           "required": [
11950             "value",
11951             "type",
11952             "scope"
11953           ]
11954         },
11955         "BytesResult": {
11956           "type": "object",
11957           "properties": {
11958             "result": {
11959               "type": "array",
11960               "items": {
11961                 "type": "integer"
11962               }
11963             }
11964           },
11965           "additionalProperties": false,
11966           "required": [
11967             "result"
11968           ]
11969         },
11970         "Entities": {
11971           "type": "object",
11972           "properties": {
11973             "entities": {
11974               "type": "array",
11975               "items": {
11976                 "$ref": "#/definitions/Entity"
11977               }
11978             }
11979           },
11980           "additionalProperties": false,
11981           "required": [
11982             "entities"
11983           ]
11984         },
11985         "Entity": {
11986           "type": "object",
11987           "properties": {
11988             "tag": {
11989               "type": "string"
11990             }
11991           },
11992           "additionalProperties": false,
11993           "required": [
11994             "tag"
11995           ]
11996         },
11997         "EntityStatusArgs": {
11998           "type": "object",
11999           "properties": {
12000             "data": {
12001               "type": "object",
12002               "patternProperties": {
12003                 ".*": {
12004                   "type": "object",
12005                   "additionalProperties": true
12006                 }
12007               }
12008             },
12009             "info": {
12010               "type": "string"
12011             },
12012             "status": {
12013               "type": "string"
12014             },
12015             "tag": {
12016               "type": "string"
12017             }
12018           },
12019           "additionalProperties": false,
12020           "required": [
12021             "tag",
12022             "status",
12023             "info",
12024             "data"
12025           ]
12026         },
12027         "Error": {
12028           "type": "object",
12029           "properties": {
12030             "code": {
12031               "type": "string"
12032             },
12033             "info": {
12034               "$ref": "#/definitions/ErrorInfo"
12035             },
12036             "message": {
12037               "type": "string"
12038             }
12039           },
12040           "additionalProperties": false,
12041           "required": [
12042             "message",
12043             "code"
12044           ]
12045         },
12046         "ErrorInfo": {
12047           "type": "object",
12048           "properties": {
12049             "macaroon": {
12050               "$ref": "#/definitions/Macaroon"
12051             },
12052             "macaroon-path": {
12053               "type": "string"
12054             }
12055           },
12056           "additionalProperties": false
12057         },
12058         "ErrorResult": {
12059           "type": "object",
12060           "properties": {
12061             "error": {
12062               "$ref": "#/definitions/Error"
12063             }
12064           },
12065           "additionalProperties": false
12066         },
12067         "ErrorResults": {
12068           "type": "object",
12069           "properties": {
12070             "results": {
12071               "type": "array",
12072               "items": {
12073                 "$ref": "#/definitions/ErrorResult"
12074               }
12075             }
12076           },
12077           "additionalProperties": false,
12078           "required": [
12079             "results"
12080           ]
12081         },
12082         "HostPort": {
12083           "type": "object",
12084           "properties": {
12085             "Address": {
12086               "$ref": "#/definitions/Address"
12087             },
12088             "port": {
12089               "type": "integer"
12090             }
12091           },
12092           "additionalProperties": false,
12093           "required": [
12094             "Address",
12095             "port"
12096           ]
12097         },
12098         "JobsResult": {
12099           "type": "object",
12100           "properties": {
12101             "error": {
12102               "$ref": "#/definitions/Error"
12103             },
12104             "jobs": {
12105               "type": "array",
12106               "items": {
12107                 "type": "string"
12108               }
12109             }
12110           },
12111           "additionalProperties": false,
12112           "required": [
12113             "jobs"
12114           ]
12115         },
12116         "JobsResults": {
12117           "type": "object",
12118           "properties": {
12119             "results": {
12120               "type": "array",
12121               "items": {
12122                 "$ref": "#/definitions/JobsResult"
12123               }
12124             }
12125           },
12126           "additionalProperties": false,
12127           "required": [
12128             "results"
12129           ]
12130         },
12131         "LifeResult": {
12132           "type": "object",
12133           "properties": {
12134             "error": {
12135               "$ref": "#/definitions/Error"
12136             },
12137             "life": {
12138               "type": "string"
12139             }
12140           },
12141           "additionalProperties": false,
12142           "required": [
12143             "life"
12144           ]
12145         },
12146         "LifeResults": {
12147           "type": "object",
12148           "properties": {
12149             "results": {
12150               "type": "array",
12151               "items": {
12152                 "$ref": "#/definitions/LifeResult"
12153               }
12154             }
12155           },
12156           "additionalProperties": false,
12157           "required": [
12158             "results"
12159           ]
12160         },
12161         "Macaroon": {
12162           "type": "object",
12163           "additionalProperties": false
12164         },
12165         "MachineAddresses": {
12166           "type": "object",
12167           "properties": {
12168             "addresses": {
12169               "type": "array",
12170               "items": {
12171                 "$ref": "#/definitions/Address"
12172               }
12173             },
12174             "tag": {
12175               "type": "string"
12176             }
12177           },
12178           "additionalProperties": false,
12179           "required": [
12180             "tag",
12181             "addresses"
12182           ]
12183         },
12184         "NetworkConfig": {
12185           "type": "object",
12186           "properties": {
12187             "address": {
12188               "type": "string"
12189             },
12190             "cidr": {
12191               "type": "string"
12192             },
12193             "config-type": {
12194               "type": "string"
12195             },
12196             "device-index": {
12197               "type": "integer"
12198             },
12199             "disabled": {
12200               "type": "boolean"
12201             },
12202             "dns-search-domains": {
12203               "type": "array",
12204               "items": {
12205                 "type": "string"
12206               }
12207             },
12208             "dns-servers": {
12209               "type": "array",
12210               "items": {
12211                 "type": "string"
12212               }
12213             },
12214             "gateway-address": {
12215               "type": "string"
12216             },
12217             "interface-name": {
12218               "type": "string"
12219             },
12220             "interface-type": {
12221               "type": "string"
12222             },
12223             "mac-address": {
12224               "type": "string"
12225             },
12226             "mtu": {
12227               "type": "integer"
12228             },
12229             "no-auto-start": {
12230               "type": "boolean"
12231             },
12232             "parent-interface-name": {
12233               "type": "string"
12234             },
12235             "provider-address-id": {
12236               "type": "string"
12237             },
12238             "provider-id": {
12239               "type": "string"
12240             },
12241             "provider-space-id": {
12242               "type": "string"
12243             },
12244             "provider-subnet-id": {
12245               "type": "string"
12246             },
12247             "provider-vlan-id": {
12248               "type": "string"
12249             },
12250             "vlan-tag": {
12251               "type": "integer"
12252             }
12253           },
12254           "additionalProperties": false,
12255           "required": [
12256             "device-index",
12257             "mac-address",
12258             "cidr",
12259             "mtu",
12260             "provider-id",
12261             "provider-subnet-id",
12262             "provider-space-id",
12263             "provider-address-id",
12264             "provider-vlan-id",
12265             "vlan-tag",
12266             "interface-name",
12267             "parent-interface-name",
12268             "interface-type",
12269             "disabled"
12270           ]
12271         },
12272         "NotifyWatchResult": {
12273           "type": "object",
12274           "properties": {
12275             "NotifyWatcherId": {
12276               "type": "string"
12277             },
12278             "error": {
12279               "$ref": "#/definitions/Error"
12280             }
12281           },
12282           "additionalProperties": false,
12283           "required": [
12284             "NotifyWatcherId"
12285           ]
12286         },
12287         "NotifyWatchResults": {
12288           "type": "object",
12289           "properties": {
12290             "results": {
12291               "type": "array",
12292               "items": {
12293                 "$ref": "#/definitions/NotifyWatchResult"
12294               }
12295             }
12296           },
12297           "additionalProperties": false,
12298           "required": [
12299             "results"
12300           ]
12301         },
12302         "SetMachineNetworkConfig": {
12303           "type": "object",
12304           "properties": {
12305             "config": {
12306               "type": "array",
12307               "items": {
12308                 "$ref": "#/definitions/NetworkConfig"
12309               }
12310             },
12311             "tag": {
12312               "type": "string"
12313             }
12314           },
12315           "additionalProperties": false,
12316           "required": [
12317             "tag",
12318             "config"
12319           ]
12320         },
12321         "SetMachinesAddresses": {
12322           "type": "object",
12323           "properties": {
12324             "machine-addresses": {
12325               "type": "array",
12326               "items": {
12327                 "$ref": "#/definitions/MachineAddresses"
12328               }
12329             }
12330           },
12331           "additionalProperties": false,
12332           "required": [
12333             "machine-addresses"
12334           ]
12335         },
12336         "SetStatus": {
12337           "type": "object",
12338           "properties": {
12339             "entities": {
12340               "type": "array",
12341               "items": {
12342                 "$ref": "#/definitions/EntityStatusArgs"
12343               }
12344             }
12345           },
12346           "additionalProperties": false,
12347           "required": [
12348             "entities"
12349           ]
12350         },
12351         "StringResult": {
12352           "type": "object",
12353           "properties": {
12354             "error": {
12355               "$ref": "#/definitions/Error"
12356             },
12357             "result": {
12358               "type": "string"
12359             }
12360           },
12361           "additionalProperties": false,
12362           "required": [
12363             "result"
12364           ]
12365         },
12366         "StringsResult": {
12367           "type": "object",
12368           "properties": {
12369             "error": {
12370               "$ref": "#/definitions/Error"
12371             },
12372             "result": {
12373               "type": "array",
12374               "items": {
12375                 "type": "string"
12376               }
12377             }
12378           },
12379           "additionalProperties": false
12380         }
12381       }
12382     }
12383   },
12384   {
12385     "Name": "MeterStatus",
12386     "Version": 1,
12387     "Schema": {
12388       "type": "object",
12389       "properties": {
12390         "GetMeterStatus": {
12391           "type": "object",
12392           "properties": {
12393             "Params": {
12394               "$ref": "#/definitions/Entities"
12395             },
12396             "Result": {
12397               "$ref": "#/definitions/MeterStatusResults"
12398             }
12399           }
12400         },
12401         "WatchMeterStatus": {
12402           "type": "object",
12403           "properties": {
12404             "Params": {
12405               "$ref": "#/definitions/Entities"
12406             },
12407             "Result": {
12408               "$ref": "#/definitions/NotifyWatchResults"
12409             }
12410           }
12411         }
12412       },
12413       "definitions": {
12414         "Entities": {
12415           "type": "object",
12416           "properties": {
12417             "entities": {
12418               "type": "array",
12419               "items": {
12420                 "$ref": "#/definitions/Entity"
12421               }
12422             }
12423           },
12424           "additionalProperties": false,
12425           "required": [
12426             "entities"
12427           ]
12428         },
12429         "Entity": {
12430           "type": "object",
12431           "properties": {
12432             "tag": {
12433               "type": "string"
12434             }
12435           },
12436           "additionalProperties": false,
12437           "required": [
12438             "tag"
12439           ]
12440         },
12441         "Error": {
12442           "type": "object",
12443           "properties": {
12444             "code": {
12445               "type": "string"
12446             },
12447             "info": {
12448               "$ref": "#/definitions/ErrorInfo"
12449             },
12450             "message": {
12451               "type": "string"
12452             }
12453           },
12454           "additionalProperties": false,
12455           "required": [
12456             "message",
12457             "code"
12458           ]
12459         },
12460         "ErrorInfo": {
12461           "type": "object",
12462           "properties": {
12463             "macaroon": {
12464               "$ref": "#/definitions/Macaroon"
12465             },
12466             "macaroon-path": {
12467               "type": "string"
12468             }
12469           },
12470           "additionalProperties": false
12471         },
12472         "Macaroon": {
12473           "type": "object",
12474           "additionalProperties": false
12475         },
12476         "MeterStatusResult": {
12477           "type": "object",
12478           "properties": {
12479             "code": {
12480               "type": "string"
12481             },
12482             "error": {
12483               "$ref": "#/definitions/Error"
12484             },
12485             "info": {
12486               "type": "string"
12487             }
12488           },
12489           "additionalProperties": false,
12490           "required": [
12491             "code",
12492             "info"
12493           ]
12494         },
12495         "MeterStatusResults": {
12496           "type": "object",
12497           "properties": {
12498             "results": {
12499               "type": "array",
12500               "items": {
12501                 "$ref": "#/definitions/MeterStatusResult"
12502               }
12503             }
12504           },
12505           "additionalProperties": false,
12506           "required": [
12507             "results"
12508           ]
12509         },
12510         "NotifyWatchResult": {
12511           "type": "object",
12512           "properties": {
12513             "NotifyWatcherId": {
12514               "type": "string"
12515             },
12516             "error": {
12517               "$ref": "#/definitions/Error"
12518             }
12519           },
12520           "additionalProperties": false,
12521           "required": [
12522             "NotifyWatcherId"
12523           ]
12524         },
12525         "NotifyWatchResults": {
12526           "type": "object",
12527           "properties": {
12528             "results": {
12529               "type": "array",
12530               "items": {
12531                 "$ref": "#/definitions/NotifyWatchResult"
12532               }
12533             }
12534           },
12535           "additionalProperties": false,
12536           "required": [
12537             "results"
12538           ]
12539         }
12540       }
12541     }
12542   },
12543   {
12544     "Name": "MetricsAdder",
12545     "Version": 2,
12546     "Schema": {
12547       "type": "object",
12548       "properties": {
12549         "AddMetricBatches": {
12550           "type": "object",
12551           "properties": {
12552             "Params": {
12553               "$ref": "#/definitions/MetricBatchParams"
12554             },
12555             "Result": {
12556               "$ref": "#/definitions/ErrorResults"
12557             }
12558           }
12559         }
12560       },
12561       "definitions": {
12562         "Error": {
12563           "type": "object",
12564           "properties": {
12565             "code": {
12566               "type": "string"
12567             },
12568             "info": {
12569               "$ref": "#/definitions/ErrorInfo"
12570             },
12571             "message": {
12572               "type": "string"
12573             }
12574           },
12575           "additionalProperties": false,
12576           "required": [
12577             "message",
12578             "code"
12579           ]
12580         },
12581         "ErrorInfo": {
12582           "type": "object",
12583           "properties": {
12584             "macaroon": {
12585               "$ref": "#/definitions/Macaroon"
12586             },
12587             "macaroon-path": {
12588               "type": "string"
12589             }
12590           },
12591           "additionalProperties": false
12592         },
12593         "ErrorResult": {
12594           "type": "object",
12595           "properties": {
12596             "error": {
12597               "$ref": "#/definitions/Error"
12598             }
12599           },
12600           "additionalProperties": false
12601         },
12602         "ErrorResults": {
12603           "type": "object",
12604           "properties": {
12605             "results": {
12606               "type": "array",
12607               "items": {
12608                 "$ref": "#/definitions/ErrorResult"
12609               }
12610             }
12611           },
12612           "additionalProperties": false,
12613           "required": [
12614             "results"
12615           ]
12616         },
12617         "Macaroon": {
12618           "type": "object",
12619           "additionalProperties": false
12620         },
12621         "Metric": {
12622           "type": "object",
12623           "properties": {
12624             "key": {
12625               "type": "string"
12626             },
12627             "time": {
12628               "type": "string",
12629               "format": "date-time"
12630             },
12631             "value": {
12632               "type": "string"
12633             }
12634           },
12635           "additionalProperties": false,
12636           "required": [
12637             "key",
12638             "value",
12639             "time"
12640           ]
12641         },
12642         "MetricBatch": {
12643           "type": "object",
12644           "properties": {
12645             "charm-url": {
12646               "type": "string"
12647             },
12648             "created": {
12649               "type": "string",
12650               "format": "date-time"
12651             },
12652             "metrics": {
12653               "type": "array",
12654               "items": {
12655                 "$ref": "#/definitions/Metric"
12656               }
12657             },
12658             "uuid": {
12659               "type": "string"
12660             }
12661           },
12662           "additionalProperties": false,
12663           "required": [
12664             "uuid",
12665             "charm-url",
12666             "created",
12667             "metrics"
12668           ]
12669         },
12670         "MetricBatchParam": {
12671           "type": "object",
12672           "properties": {
12673             "batch": {
12674               "$ref": "#/definitions/MetricBatch"
12675             },
12676             "tag": {
12677               "type": "string"
12678             }
12679           },
12680           "additionalProperties": false,
12681           "required": [
12682             "tag",
12683             "batch"
12684           ]
12685         },
12686         "MetricBatchParams": {
12687           "type": "object",
12688           "properties": {
12689             "batches": {
12690               "type": "array",
12691               "items": {
12692                 "$ref": "#/definitions/MetricBatchParam"
12693               }
12694             }
12695           },
12696           "additionalProperties": false,
12697           "required": [
12698             "batches"
12699           ]
12700         }
12701       }
12702     }
12703   },
12704   {
12705     "Name": "MetricsDebug",
12706     "Version": 2,
12707     "Schema": {
12708       "type": "object",
12709       "properties": {
12710         "GetMetrics": {
12711           "type": "object",
12712           "properties": {
12713             "Params": {
12714               "$ref": "#/definitions/Entities"
12715             },
12716             "Result": {
12717               "$ref": "#/definitions/MetricResults"
12718             }
12719           }
12720         },
12721         "SetMeterStatus": {
12722           "type": "object",
12723           "properties": {
12724             "Params": {
12725               "$ref": "#/definitions/MeterStatusParams"
12726             },
12727             "Result": {
12728               "$ref": "#/definitions/ErrorResults"
12729             }
12730           }
12731         }
12732       },
12733       "definitions": {
12734         "Entities": {
12735           "type": "object",
12736           "properties": {
12737             "entities": {
12738               "type": "array",
12739               "items": {
12740                 "$ref": "#/definitions/Entity"
12741               }
12742             }
12743           },
12744           "additionalProperties": false,
12745           "required": [
12746             "entities"
12747           ]
12748         },
12749         "Entity": {
12750           "type": "object",
12751           "properties": {
12752             "tag": {
12753               "type": "string"
12754             }
12755           },
12756           "additionalProperties": false,
12757           "required": [
12758             "tag"
12759           ]
12760         },
12761         "EntityMetrics": {
12762           "type": "object",
12763           "properties": {
12764             "error": {
12765               "$ref": "#/definitions/Error"
12766             },
12767             "metrics": {
12768               "type": "array",
12769               "items": {
12770                 "$ref": "#/definitions/MetricResult"
12771               }
12772             }
12773           },
12774           "additionalProperties": false
12775         },
12776         "Error": {
12777           "type": "object",
12778           "properties": {
12779             "code": {
12780               "type": "string"
12781             },
12782             "info": {
12783               "$ref": "#/definitions/ErrorInfo"
12784             },
12785             "message": {
12786               "type": "string"
12787             }
12788           },
12789           "additionalProperties": false,
12790           "required": [
12791             "message",
12792             "code"
12793           ]
12794         },
12795         "ErrorInfo": {
12796           "type": "object",
12797           "properties": {
12798             "macaroon": {
12799               "$ref": "#/definitions/Macaroon"
12800             },
12801             "macaroon-path": {
12802               "type": "string"
12803             }
12804           },
12805           "additionalProperties": false
12806         },
12807         "ErrorResult": {
12808           "type": "object",
12809           "properties": {
12810             "error": {
12811               "$ref": "#/definitions/Error"
12812             }
12813           },
12814           "additionalProperties": false
12815         },
12816         "ErrorResults": {
12817           "type": "object",
12818           "properties": {
12819             "results": {
12820               "type": "array",
12821               "items": {
12822                 "$ref": "#/definitions/ErrorResult"
12823               }
12824             }
12825           },
12826           "additionalProperties": false,
12827           "required": [
12828             "results"
12829           ]
12830         },
12831         "Macaroon": {
12832           "type": "object",
12833           "additionalProperties": false
12834         },
12835         "MeterStatusParam": {
12836           "type": "object",
12837           "properties": {
12838             "code": {
12839               "type": "string"
12840             },
12841             "info": {
12842               "type": "string"
12843             },
12844             "tag": {
12845               "type": "string"
12846             }
12847           },
12848           "additionalProperties": false,
12849           "required": [
12850             "tag",
12851             "code",
12852             "info"
12853           ]
12854         },
12855         "MeterStatusParams": {
12856           "type": "object",
12857           "properties": {
12858             "statues": {
12859               "type": "array",
12860               "items": {
12861                 "$ref": "#/definitions/MeterStatusParam"
12862               }
12863             }
12864           },
12865           "additionalProperties": false,
12866           "required": [
12867             "statues"
12868           ]
12869         },
12870         "MetricResult": {
12871           "type": "object",
12872           "properties": {
12873             "key": {
12874               "type": "string"
12875             },
12876             "time": {
12877               "type": "string",
12878               "format": "date-time"
12879             },
12880             "unit": {
12881               "type": "string"
12882             },
12883             "value": {
12884               "type": "string"
12885             }
12886           },
12887           "additionalProperties": false,
12888           "required": [
12889             "time",
12890             "key",
12891             "value",
12892             "unit"
12893           ]
12894         },
12895         "MetricResults": {
12896           "type": "object",
12897           "properties": {
12898             "results": {
12899               "type": "array",
12900               "items": {
12901                 "$ref": "#/definitions/EntityMetrics"
12902               }
12903             }
12904           },
12905           "additionalProperties": false,
12906           "required": [
12907             "results"
12908           ]
12909         }
12910       }
12911     }
12912   },
12913   {
12914     "Name": "MetricsManager",
12915     "Version": 1,
12916     "Schema": {
12917       "type": "object",
12918       "properties": {
12919         "CleanupOldMetrics": {
12920           "type": "object",
12921           "properties": {
12922             "Params": {
12923               "$ref": "#/definitions/Entities"
12924             },
12925             "Result": {
12926               "$ref": "#/definitions/ErrorResults"
12927             }
12928           }
12929         },
12930         "SendMetrics": {
12931           "type": "object",
12932           "properties": {
12933             "Params": {
12934               "$ref": "#/definitions/Entities"
12935             },
12936             "Result": {
12937               "$ref": "#/definitions/ErrorResults"
12938             }
12939           }
12940         }
12941       },
12942       "definitions": {
12943         "Entities": {
12944           "type": "object",
12945           "properties": {
12946             "entities": {
12947               "type": "array",
12948               "items": {
12949                 "$ref": "#/definitions/Entity"
12950               }
12951             }
12952           },
12953           "additionalProperties": false,
12954           "required": [
12955             "entities"
12956           ]
12957         },
12958         "Entity": {
12959           "type": "object",
12960           "properties": {
12961             "tag": {
12962               "type": "string"
12963             }
12964           },
12965           "additionalProperties": false,
12966           "required": [
12967             "tag"
12968           ]
12969         },
12970         "Error": {
12971           "type": "object",
12972           "properties": {
12973             "code": {
12974               "type": "string"
12975             },
12976             "info": {
12977               "$ref": "#/definitions/ErrorInfo"
12978             },
12979             "message": {
12980               "type": "string"
12981             }
12982           },
12983           "additionalProperties": false,
12984           "required": [
12985             "message",
12986             "code"
12987           ]
12988         },
12989         "ErrorInfo": {
12990           "type": "object",
12991           "properties": {
12992             "macaroon": {
12993               "$ref": "#/definitions/Macaroon"
12994             },
12995             "macaroon-path": {
12996               "type": "string"
12997             }
12998           },
12999           "additionalProperties": false
13000         },
13001         "ErrorResult": {
13002           "type": "object",
13003           "properties": {
13004             "error": {
13005               "$ref": "#/definitions/Error"
13006             }
13007           },
13008           "additionalProperties": false
13009         },
13010         "ErrorResults": {
13011           "type": "object",
13012           "properties": {
13013             "results": {
13014               "type": "array",
13015               "items": {
13016                 "$ref": "#/definitions/ErrorResult"
13017               }
13018             }
13019           },
13020           "additionalProperties": false,
13021           "required": [
13022             "results"
13023           ]
13024         },
13025         "Macaroon": {
13026           "type": "object",
13027           "additionalProperties": false
13028         }
13029       }
13030     }
13031   },
13032   {
13033     "Name": "MigrationFlag",
13034     "Version": 1,
13035     "Schema": {
13036       "type": "object",
13037       "properties": {
13038         "Phase": {
13039           "type": "object",
13040           "properties": {
13041             "Params": {
13042               "$ref": "#/definitions/Entities"
13043             },
13044             "Result": {
13045               "$ref": "#/definitions/PhaseResults"
13046             }
13047           }
13048         },
13049         "Watch": {
13050           "type": "object",
13051           "properties": {
13052             "Params": {
13053               "$ref": "#/definitions/Entities"
13054             },
13055             "Result": {
13056               "$ref": "#/definitions/NotifyWatchResults"
13057             }
13058           }
13059         }
13060       },
13061       "definitions": {
13062         "Entities": {
13063           "type": "object",
13064           "properties": {
13065             "entities": {
13066               "type": "array",
13067               "items": {
13068                 "$ref": "#/definitions/Entity"
13069               }
13070             }
13071           },
13072           "additionalProperties": false,
13073           "required": [
13074             "entities"
13075           ]
13076         },
13077         "Entity": {
13078           "type": "object",
13079           "properties": {
13080             "tag": {
13081               "type": "string"
13082             }
13083           },
13084           "additionalProperties": false,
13085           "required": [
13086             "tag"
13087           ]
13088         },
13089         "Error": {
13090           "type": "object",
13091           "properties": {
13092             "code": {
13093               "type": "string"
13094             },
13095             "info": {
13096               "$ref": "#/definitions/ErrorInfo"
13097             },
13098             "message": {
13099               "type": "string"
13100             }
13101           },
13102           "additionalProperties": false,
13103           "required": [
13104             "message",
13105             "code"
13106           ]
13107         },
13108         "ErrorInfo": {
13109           "type": "object",
13110           "properties": {
13111             "macaroon": {
13112               "$ref": "#/definitions/Macaroon"
13113             },
13114             "macaroon-path": {
13115               "type": "string"
13116             }
13117           },
13118           "additionalProperties": false
13119         },
13120         "Macaroon": {
13121           "type": "object",
13122           "additionalProperties": false
13123         },
13124         "NotifyWatchResult": {
13125           "type": "object",
13126           "properties": {
13127             "NotifyWatcherId": {
13128               "type": "string"
13129             },
13130             "error": {
13131               "$ref": "#/definitions/Error"
13132             }
13133           },
13134           "additionalProperties": false,
13135           "required": [
13136             "NotifyWatcherId"
13137           ]
13138         },
13139         "NotifyWatchResults": {
13140           "type": "object",
13141           "properties": {
13142             "results": {
13143               "type": "array",
13144               "items": {
13145                 "$ref": "#/definitions/NotifyWatchResult"
13146               }
13147             }
13148           },
13149           "additionalProperties": false,
13150           "required": [
13151             "results"
13152           ]
13153         },
13154         "PhaseResult": {
13155           "type": "object",
13156           "properties": {
13157             "error": {
13158               "$ref": "#/definitions/Error"
13159             },
13160             "phase": {
13161               "type": "string"
13162             }
13163           },
13164           "additionalProperties": false
13165         },
13166         "PhaseResults": {
13167           "type": "object",
13168           "properties": {
13169             "results": {
13170               "type": "array",
13171               "items": {
13172                 "$ref": "#/definitions/PhaseResult"
13173               }
13174             }
13175           },
13176           "additionalProperties": false,
13177           "required": [
13178             "results"
13179           ]
13180         }
13181       }
13182     }
13183   },
13184   {
13185     "Name": "MigrationMaster",
13186     "Version": 1,
13187     "Schema": {
13188       "type": "object",
13189       "properties": {
13190         "Export": {
13191           "type": "object",
13192           "properties": {
13193             "Result": {
13194               "$ref": "#/definitions/SerializedModel"
13195             }
13196           }
13197         },
13198         "MigrationStatus": {
13199           "type": "object",
13200           "properties": {
13201             "Result": {
13202               "$ref": "#/definitions/MasterMigrationStatus"
13203             }
13204           }
13205         },
13206         "MinionReports": {
13207           "type": "object",
13208           "properties": {
13209             "Result": {
13210               "$ref": "#/definitions/MinionReports"
13211             }
13212           }
13213         },
13214         "ModelInfo": {
13215           "type": "object",
13216           "properties": {
13217             "Result": {
13218               "$ref": "#/definitions/MigrationModelInfo"
13219             }
13220           }
13221         },
13222         "Prechecks": {
13223           "type": "object"
13224         },
13225         "Reap": {
13226           "type": "object"
13227         },
13228         "SetPhase": {
13229           "type": "object",
13230           "properties": {
13231             "Params": {
13232               "$ref": "#/definitions/SetMigrationPhaseArgs"
13233             }
13234           }
13235         },
13236         "SetStatusMessage": {
13237           "type": "object",
13238           "properties": {
13239             "Params": {
13240               "$ref": "#/definitions/SetMigrationStatusMessageArgs"
13241             }
13242           }
13243         },
13244         "Watch": {
13245           "type": "object",
13246           "properties": {
13247             "Result": {
13248               "$ref": "#/definitions/NotifyWatchResult"
13249             }
13250           }
13251         },
13252         "WatchMinionReports": {
13253           "type": "object",
13254           "properties": {
13255             "Result": {
13256               "$ref": "#/definitions/NotifyWatchResult"
13257             }
13258           }
13259         }
13260       },
13261       "definitions": {
13262         "Error": {
13263           "type": "object",
13264           "properties": {
13265             "code": {
13266               "type": "string"
13267             },
13268             "info": {
13269               "$ref": "#/definitions/ErrorInfo"
13270             },
13271             "message": {
13272               "type": "string"
13273             }
13274           },
13275           "additionalProperties": false,
13276           "required": [
13277             "message",
13278             "code"
13279           ]
13280         },
13281         "ErrorInfo": {
13282           "type": "object",
13283           "properties": {
13284             "macaroon": {
13285               "$ref": "#/definitions/Macaroon"
13286             },
13287             "macaroon-path": {
13288               "type": "string"
13289             }
13290           },
13291           "additionalProperties": false
13292         },
13293         "Macaroon": {
13294           "type": "object",
13295           "additionalProperties": false
13296         },
13297         "MasterMigrationStatus": {
13298           "type": "object",
13299           "properties": {
13300             "migration-id": {
13301               "type": "string"
13302             },
13303             "phase": {
13304               "type": "string"
13305             },
13306             "phase-changed-time": {
13307               "type": "string",
13308               "format": "date-time"
13309             },
13310             "spec": {
13311               "$ref": "#/definitions/MigrationSpec"
13312             }
13313           },
13314           "additionalProperties": false,
13315           "required": [
13316             "spec",
13317             "migration-id",
13318             "phase",
13319             "phase-changed-time"
13320           ]
13321         },
13322         "MigrationModelInfo": {
13323           "type": "object",
13324           "properties": {
13325             "agent-version": {
13326               "$ref": "#/definitions/Number"
13327             },
13328             "name": {
13329               "type": "string"
13330             },
13331             "owner-tag": {
13332               "type": "string"
13333             },
13334             "uuid": {
13335               "type": "string"
13336             }
13337           },
13338           "additionalProperties": false,
13339           "required": [
13340             "uuid",
13341             "name",
13342             "owner-tag",
13343             "agent-version"
13344           ]
13345         },
13346         "MigrationSpec": {
13347           "type": "object",
13348           "properties": {
13349             "external-control": {
13350               "type": "boolean"
13351             },
13352             "model-tag": {
13353               "type": "string"
13354             },
13355             "skip-initial-prechecks": {
13356               "type": "boolean"
13357             },
13358             "target-info": {
13359               "$ref": "#/definitions/MigrationTargetInfo"
13360             }
13361           },
13362           "additionalProperties": false,
13363           "required": [
13364             "model-tag",
13365             "target-info",
13366             "external-control",
13367             "skip-initial-prechecks"
13368           ]
13369         },
13370         "MigrationTargetInfo": {
13371           "type": "object",
13372           "properties": {
13373             "addrs": {
13374               "type": "array",
13375               "items": {
13376                 "type": "string"
13377               }
13378             },
13379             "auth-tag": {
13380               "type": "string"
13381             },
13382             "ca-cert": {
13383               "type": "string"
13384             },
13385             "controller-tag": {
13386               "type": "string"
13387             },
13388             "macaroons": {
13389               "type": "string"
13390             },
13391             "password": {
13392               "type": "string"
13393             }
13394           },
13395           "additionalProperties": false,
13396           "required": [
13397             "controller-tag",
13398             "addrs",
13399             "ca-cert",
13400             "auth-tag"
13401           ]
13402         },
13403         "MinionReports": {
13404           "type": "object",
13405           "properties": {
13406             "failed": {
13407               "type": "array",
13408               "items": {
13409                 "type": "string"
13410               }
13411             },
13412             "migration-id": {
13413               "type": "string"
13414             },
13415             "phase": {
13416               "type": "string"
13417             },
13418             "success-count": {
13419               "type": "integer"
13420             },
13421             "unknown-count": {
13422               "type": "integer"
13423             },
13424             "unknown-sample": {
13425               "type": "array",
13426               "items": {
13427                 "type": "string"
13428               }
13429             }
13430           },
13431           "additionalProperties": false,
13432           "required": [
13433             "migration-id",
13434             "phase",
13435             "success-count",
13436             "unknown-count",
13437             "unknown-sample",
13438             "failed"
13439           ]
13440         },
13441         "NotifyWatchResult": {
13442           "type": "object",
13443           "properties": {
13444             "NotifyWatcherId": {
13445               "type": "string"
13446             },
13447             "error": {
13448               "$ref": "#/definitions/Error"
13449             }
13450           },
13451           "additionalProperties": false,
13452           "required": [
13453             "NotifyWatcherId"
13454           ]
13455         },
13456         "Number": {
13457           "type": "object",
13458           "properties": {
13459             "Build": {
13460               "type": "integer"
13461             },
13462             "Major": {
13463               "type": "integer"
13464             },
13465             "Minor": {
13466               "type": "integer"
13467             },
13468             "Patch": {
13469               "type": "integer"
13470             },
13471             "Tag": {
13472               "type": "string"
13473             }
13474           },
13475           "additionalProperties": false,
13476           "required": [
13477             "Major",
13478             "Minor",
13479             "Tag",
13480             "Patch",
13481             "Build"
13482           ]
13483         },
13484         "SerializedModel": {
13485           "type": "object",
13486           "properties": {
13487             "bytes": {
13488               "type": "array",
13489               "items": {
13490                 "type": "integer"
13491               }
13492             },
13493             "charms": {
13494               "type": "array",
13495               "items": {
13496                 "type": "string"
13497               }
13498             },
13499             "tools": {
13500               "type": "array",
13501               "items": {
13502                 "$ref": "#/definitions/SerializedModelTools"
13503               }
13504             }
13505           },
13506           "additionalProperties": false,
13507           "required": [
13508             "bytes",
13509             "charms",
13510             "tools"
13511           ]
13512         },
13513         "SerializedModelTools": {
13514           "type": "object",
13515           "properties": {
13516             "uri": {
13517               "type": "string"
13518             },
13519             "version": {
13520               "type": "string"
13521             }
13522           },
13523           "additionalProperties": false,
13524           "required": [
13525             "version",
13526             "uri"
13527           ]
13528         },
13529         "SetMigrationPhaseArgs": {
13530           "type": "object",
13531           "properties": {
13532             "phase": {
13533               "type": "string"
13534             }
13535           },
13536           "additionalProperties": false,
13537           "required": [
13538             "phase"
13539           ]
13540         },
13541         "SetMigrationStatusMessageArgs": {
13542           "type": "object",
13543           "properties": {
13544             "message": {
13545               "type": "string"
13546             }
13547           },
13548           "additionalProperties": false,
13549           "required": [
13550             "message"
13551           ]
13552         }
13553       }
13554     }
13555   },
13556   {
13557     "Name": "MigrationMinion",
13558     "Version": 1,
13559     "Schema": {
13560       "type": "object",
13561       "properties": {
13562         "Report": {
13563           "type": "object",
13564           "properties": {
13565             "Params": {
13566               "$ref": "#/definitions/MinionReport"
13567             }
13568           }
13569         },
13570         "Watch": {
13571           "type": "object",
13572           "properties": {
13573             "Result": {
13574               "$ref": "#/definitions/NotifyWatchResult"
13575             }
13576           }
13577         }
13578       },
13579       "definitions": {
13580         "Error": {
13581           "type": "object",
13582           "properties": {
13583             "code": {
13584               "type": "string"
13585             },
13586             "info": {
13587               "$ref": "#/definitions/ErrorInfo"
13588             },
13589             "message": {
13590               "type": "string"
13591             }
13592           },
13593           "additionalProperties": false,
13594           "required": [
13595             "message",
13596             "code"
13597           ]
13598         },
13599         "ErrorInfo": {
13600           "type": "object",
13601           "properties": {
13602             "macaroon": {
13603               "$ref": "#/definitions/Macaroon"
13604             },
13605             "macaroon-path": {
13606               "type": "string"
13607             }
13608           },
13609           "additionalProperties": false
13610         },
13611         "Macaroon": {
13612           "type": "object",
13613           "additionalProperties": false
13614         },
13615         "MinionReport": {
13616           "type": "object",
13617           "properties": {
13618             "migration-id": {
13619               "type": "string"
13620             },
13621             "phase": {
13622               "type": "string"
13623             },
13624             "success": {
13625               "type": "boolean"
13626             }
13627           },
13628           "additionalProperties": false,
13629           "required": [
13630             "migration-id",
13631             "phase",
13632             "success"
13633           ]
13634         },
13635         "NotifyWatchResult": {
13636           "type": "object",
13637           "properties": {
13638             "NotifyWatcherId": {
13639               "type": "string"
13640             },
13641             "error": {
13642               "$ref": "#/definitions/Error"
13643             }
13644           },
13645           "additionalProperties": false,
13646           "required": [
13647             "NotifyWatcherId"
13648           ]
13649         }
13650       }
13651     }
13652   },
13653   {
13654     "Name": "MigrationStatusWatcher",
13655     "Version": 1,
13656     "Schema": {
13657       "type": "object",
13658       "properties": {
13659         "Next": {
13660           "type": "object",
13661           "properties": {
13662             "Result": {
13663               "$ref": "#/definitions/MigrationStatus"
13664             }
13665           }
13666         },
13667         "Stop": {
13668           "type": "object"
13669         }
13670       },
13671       "definitions": {
13672         "MigrationStatus": {
13673           "type": "object",
13674           "properties": {
13675             "attempt": {
13676               "type": "integer"
13677             },
13678             "external-control": {
13679               "type": "boolean"
13680             },
13681             "migration-id": {
13682               "type": "string"
13683             },
13684             "phase": {
13685               "type": "string"
13686             },
13687             "source-api-addrs": {
13688               "type": "array",
13689               "items": {
13690                 "type": "string"
13691               }
13692             },
13693             "source-ca-cert": {
13694               "type": "string"
13695             },
13696             "target-api-addrs": {
13697               "type": "array",
13698               "items": {
13699                 "type": "string"
13700               }
13701             },
13702             "target-ca-cert": {
13703               "type": "string"
13704             }
13705           },
13706           "additionalProperties": false,
13707           "required": [
13708             "migration-id",
13709             "attempt",
13710             "phase",
13711             "external-control",
13712             "source-api-addrs",
13713             "source-ca-cert",
13714             "target-api-addrs",
13715             "target-ca-cert"
13716           ]
13717         }
13718       }
13719     }
13720   },
13721   {
13722     "Name": "MigrationTarget",
13723     "Version": 1,
13724     "Schema": {
13725       "type": "object",
13726       "properties": {
13727         "Abort": {
13728           "type": "object",
13729           "properties": {
13730             "Params": {
13731               "$ref": "#/definitions/ModelArgs"
13732             }
13733           }
13734         },
13735         "Activate": {
13736           "type": "object",
13737           "properties": {
13738             "Params": {
13739               "$ref": "#/definitions/ModelArgs"
13740             }
13741           }
13742         },
13743         "Import": {
13744           "type": "object",
13745           "properties": {
13746             "Params": {
13747               "$ref": "#/definitions/SerializedModel"
13748             }
13749           }
13750         },
13751         "Prechecks": {
13752           "type": "object",
13753           "properties": {
13754             "Params": {
13755               "$ref": "#/definitions/MigrationModelInfo"
13756             }
13757           }
13758         }
13759       },
13760       "definitions": {
13761         "MigrationModelInfo": {
13762           "type": "object",
13763           "properties": {
13764             "agent-version": {
13765               "$ref": "#/definitions/Number"
13766             },
13767             "name": {
13768               "type": "string"
13769             },
13770             "owner-tag": {
13771               "type": "string"
13772             },
13773             "uuid": {
13774               "type": "string"
13775             }
13776           },
13777           "additionalProperties": false,
13778           "required": [
13779             "uuid",
13780             "name",
13781             "owner-tag",
13782             "agent-version"
13783           ]
13784         },
13785         "ModelArgs": {
13786           "type": "object",
13787           "properties": {
13788             "model-tag": {
13789               "type": "string"
13790             }
13791           },
13792           "additionalProperties": false,
13793           "required": [
13794             "model-tag"
13795           ]
13796         },
13797         "Number": {
13798           "type": "object",
13799           "properties": {
13800             "Build": {
13801               "type": "integer"
13802             },
13803             "Major": {
13804               "type": "integer"
13805             },
13806             "Minor": {
13807               "type": "integer"
13808             },
13809             "Patch": {
13810               "type": "integer"
13811             },
13812             "Tag": {
13813               "type": "string"
13814             }
13815           },
13816           "additionalProperties": false,
13817           "required": [
13818             "Major",
13819             "Minor",
13820             "Tag",
13821             "Patch",
13822             "Build"
13823           ]
13824         },
13825         "SerializedModel": {
13826           "type": "object",
13827           "properties": {
13828             "bytes": {
13829               "type": "array",
13830               "items": {
13831                 "type": "integer"
13832               }
13833             },
13834             "charms": {
13835               "type": "array",
13836               "items": {
13837                 "type": "string"
13838               }
13839             },
13840             "tools": {
13841               "type": "array",
13842               "items": {
13843                 "$ref": "#/definitions/SerializedModelTools"
13844               }
13845             }
13846           },
13847           "additionalProperties": false,
13848           "required": [
13849             "bytes",
13850             "charms",
13851             "tools"
13852           ]
13853         },
13854         "SerializedModelTools": {
13855           "type": "object",
13856           "properties": {
13857             "uri": {
13858               "type": "string"
13859             },
13860             "version": {
13861               "type": "string"
13862             }
13863           },
13864           "additionalProperties": false,
13865           "required": [
13866             "version",
13867             "uri"
13868           ]
13869         }
13870       }
13871     }
13872   },
13873   {
13874     "Name": "ModelConfig",
13875     "Version": 1,
13876     "Schema": {
13877       "type": "object",
13878       "properties": {
13879         "ModelGet": {
13880           "type": "object",
13881           "properties": {
13882             "Result": {
13883               "$ref": "#/definitions/ModelConfigResults"
13884             }
13885           }
13886         },
13887         "ModelSet": {
13888           "type": "object",
13889           "properties": {
13890             "Params": {
13891               "$ref": "#/definitions/ModelSet"
13892             }
13893           }
13894         },
13895         "ModelUnset": {
13896           "type": "object",
13897           "properties": {
13898             "Params": {
13899               "$ref": "#/definitions/ModelUnset"
13900             }
13901           }
13902         }
13903       },
13904       "definitions": {
13905         "ConfigValue": {
13906           "type": "object",
13907           "properties": {
13908             "source": {
13909               "type": "string"
13910             },
13911             "value": {
13912               "type": "object",
13913               "additionalProperties": true
13914             }
13915           },
13916           "additionalProperties": false,
13917           "required": [
13918             "value",
13919             "source"
13920           ]
13921         },
13922         "ModelConfigResults": {
13923           "type": "object",
13924           "properties": {
13925             "config": {
13926               "type": "object",
13927               "patternProperties": {
13928                 ".*": {
13929                   "$ref": "#/definitions/ConfigValue"
13930                 }
13931               }
13932             }
13933           },
13934           "additionalProperties": false,
13935           "required": [
13936             "config"
13937           ]
13938         },
13939         "ModelSet": {
13940           "type": "object",
13941           "properties": {
13942             "config": {
13943               "type": "object",
13944               "patternProperties": {
13945                 ".*": {
13946                   "type": "object",
13947                   "additionalProperties": true
13948                 }
13949               }
13950             }
13951           },
13952           "additionalProperties": false,
13953           "required": [
13954             "config"
13955           ]
13956         },
13957         "ModelUnset": {
13958           "type": "object",
13959           "properties": {
13960             "keys": {
13961               "type": "array",
13962               "items": {
13963                 "type": "string"
13964               }
13965             }
13966           },
13967           "additionalProperties": false,
13968           "required": [
13969             "keys"
13970           ]
13971         }
13972       }
13973     }
13974   },
13975   {
13976     "Name": "ModelManager",
13977     "Version": 2,
13978     "Schema": {
13979       "type": "object",
13980       "properties": {
13981         "CreateModel": {
13982           "type": "object",
13983           "properties": {
13984             "Params": {
13985               "$ref": "#/definitions/ModelCreateArgs"
13986             },
13987             "Result": {
13988               "$ref": "#/definitions/ModelInfo"
13989             }
13990           }
13991         },
13992         "DestroyModels": {
13993           "type": "object",
13994           "properties": {
13995             "Params": {
13996               "$ref": "#/definitions/Entities"
13997             },
13998             "Result": {
13999               "$ref": "#/definitions/ErrorResults"
14000             }
14001           }
14002         },
14003         "DumpModels": {
14004           "type": "object",
14005           "properties": {
14006             "Params": {
14007               "$ref": "#/definitions/Entities"
14008             },
14009             "Result": {
14010               "$ref": "#/definitions/MapResults"
14011             }
14012           }
14013         },
14014         "DumpModelsDB": {
14015           "type": "object",
14016           "properties": {
14017             "Params": {
14018               "$ref": "#/definitions/Entities"
14019             },
14020             "Result": {
14021               "$ref": "#/definitions/MapResults"
14022             }
14023           }
14024         },
14025         "ListModels": {
14026           "type": "object",
14027           "properties": {
14028             "Params": {
14029               "$ref": "#/definitions/Entity"
14030             },
14031             "Result": {
14032               "$ref": "#/definitions/UserModelList"
14033             }
14034           }
14035         },
14036         "ModelDefaults": {
14037           "type": "object",
14038           "properties": {
14039             "Result": {
14040               "$ref": "#/definitions/ModelDefaultsResult"
14041             }
14042           }
14043         },
14044         "ModelInfo": {
14045           "type": "object",
14046           "properties": {
14047             "Params": {
14048               "$ref": "#/definitions/Entities"
14049             },
14050             "Result": {
14051               "$ref": "#/definitions/ModelInfoResults"
14052             }
14053           }
14054         },
14055         "ModelStatus": {
14056           "type": "object",
14057           "properties": {
14058             "Params": {
14059               "$ref": "#/definitions/Entities"
14060             },
14061             "Result": {
14062               "$ref": "#/definitions/ModelStatusResults"
14063             }
14064           }
14065         },
14066         "ModifyModelAccess": {
14067           "type": "object",
14068           "properties": {
14069             "Params": {
14070               "$ref": "#/definitions/ModifyModelAccessRequest"
14071             },
14072             "Result": {
14073               "$ref": "#/definitions/ErrorResults"
14074             }
14075           }
14076         },
14077         "SetModelDefaults": {
14078           "type": "object",
14079           "properties": {
14080             "Params": {
14081               "$ref": "#/definitions/SetModelDefaults"
14082             },
14083             "Result": {
14084               "$ref": "#/definitions/ErrorResults"
14085             }
14086           }
14087         },
14088         "UnsetModelDefaults": {
14089           "type": "object",
14090           "properties": {
14091             "Params": {
14092               "$ref": "#/definitions/UnsetModelDefaults"
14093             },
14094             "Result": {
14095               "$ref": "#/definitions/ErrorResults"
14096             }
14097           }
14098         }
14099       },
14100       "definitions": {
14101         "Entities": {
14102           "type": "object",
14103           "properties": {
14104             "entities": {
14105               "type": "array",
14106               "items": {
14107                 "$ref": "#/definitions/Entity"
14108               }
14109             }
14110           },
14111           "additionalProperties": false,
14112           "required": [
14113             "entities"
14114           ]
14115         },
14116         "Entity": {
14117           "type": "object",
14118           "properties": {
14119             "tag": {
14120               "type": "string"
14121             }
14122           },
14123           "additionalProperties": false,
14124           "required": [
14125             "tag"
14126           ]
14127         },
14128         "EntityStatus": {
14129           "type": "object",
14130           "properties": {
14131             "data": {
14132               "type": "object",
14133               "patternProperties": {
14134                 ".*": {
14135                   "type": "object",
14136                   "additionalProperties": true
14137                 }
14138               }
14139             },
14140             "info": {
14141               "type": "string"
14142             },
14143             "since": {
14144               "type": "string",
14145               "format": "date-time"
14146             },
14147             "status": {
14148               "type": "string"
14149             }
14150           },
14151           "additionalProperties": false,
14152           "required": [
14153             "status",
14154             "info",
14155             "since"
14156           ]
14157         },
14158         "Error": {
14159           "type": "object",
14160           "properties": {
14161             "code": {
14162               "type": "string"
14163             },
14164             "info": {
14165               "$ref": "#/definitions/ErrorInfo"
14166             },
14167             "message": {
14168               "type": "string"
14169             }
14170           },
14171           "additionalProperties": false,
14172           "required": [
14173             "message",
14174             "code"
14175           ]
14176         },
14177         "ErrorInfo": {
14178           "type": "object",
14179           "properties": {
14180             "macaroon": {
14181               "$ref": "#/definitions/Macaroon"
14182             },
14183             "macaroon-path": {
14184               "type": "string"
14185             }
14186           },
14187           "additionalProperties": false
14188         },
14189         "ErrorResult": {
14190           "type": "object",
14191           "properties": {
14192             "error": {
14193               "$ref": "#/definitions/Error"
14194             }
14195           },
14196           "additionalProperties": false
14197         },
14198         "ErrorResults": {
14199           "type": "object",
14200           "properties": {
14201             "results": {
14202               "type": "array",
14203               "items": {
14204                 "$ref": "#/definitions/ErrorResult"
14205               }
14206             }
14207           },
14208           "additionalProperties": false,
14209           "required": [
14210             "results"
14211           ]
14212         },
14213         "Macaroon": {
14214           "type": "object",
14215           "additionalProperties": false
14216         },
14217         "MachineHardware": {
14218           "type": "object",
14219           "properties": {
14220             "arch": {
14221               "type": "string"
14222             },
14223             "availability-zone": {
14224               "type": "string"
14225             },
14226             "cores": {
14227               "type": "integer"
14228             },
14229             "cpu-power": {
14230               "type": "integer"
14231             },
14232             "mem": {
14233               "type": "integer"
14234             },
14235             "root-disk": {
14236               "type": "integer"
14237             },
14238             "tags": {
14239               "type": "array",
14240               "items": {
14241                 "type": "string"
14242               }
14243             }
14244           },
14245           "additionalProperties": false
14246         },
14247         "MapResult": {
14248           "type": "object",
14249           "properties": {
14250             "error": {
14251               "$ref": "#/definitions/Error"
14252             },
14253             "result": {
14254               "type": "object",
14255               "patternProperties": {
14256                 ".*": {
14257                   "type": "object",
14258                   "additionalProperties": true
14259                 }
14260               }
14261             }
14262           },
14263           "additionalProperties": false,
14264           "required": [
14265             "result"
14266           ]
14267         },
14268         "MapResults": {
14269           "type": "object",
14270           "properties": {
14271             "results": {
14272               "type": "array",
14273               "items": {
14274                 "$ref": "#/definitions/MapResult"
14275               }
14276             }
14277           },
14278           "additionalProperties": false,
14279           "required": [
14280             "results"
14281           ]
14282         },
14283         "Model": {
14284           "type": "object",
14285           "properties": {
14286             "name": {
14287               "type": "string"
14288             },
14289             "owner-tag": {
14290               "type": "string"
14291             },
14292             "uuid": {
14293               "type": "string"
14294             }
14295           },
14296           "additionalProperties": false,
14297           "required": [
14298             "name",
14299             "uuid",
14300             "owner-tag"
14301           ]
14302         },
14303         "ModelCreateArgs": {
14304           "type": "object",
14305           "properties": {
14306             "cloud-tag": {
14307               "type": "string"
14308             },
14309             "config": {
14310               "type": "object",
14311               "patternProperties": {
14312                 ".*": {
14313                   "type": "object",
14314                   "additionalProperties": true
14315                 }
14316               }
14317             },
14318             "credential": {
14319               "type": "string"
14320             },
14321             "name": {
14322               "type": "string"
14323             },
14324             "owner-tag": {
14325               "type": "string"
14326             },
14327             "region": {
14328               "type": "string"
14329             }
14330           },
14331           "additionalProperties": false,
14332           "required": [
14333             "name",
14334             "owner-tag"
14335           ]
14336         },
14337         "ModelDefaultValues": {
14338           "type": "object",
14339           "properties": {
14340             "cloud-region": {
14341               "type": "string"
14342             },
14343             "cloud-tag": {
14344               "type": "string"
14345             },
14346             "config": {
14347               "type": "object",
14348               "patternProperties": {
14349                 ".*": {
14350                   "type": "object",
14351                   "additionalProperties": true
14352                 }
14353               }
14354             }
14355           },
14356           "additionalProperties": false,
14357           "required": [
14358             "config"
14359           ]
14360         },
14361         "ModelDefaults": {
14362           "type": "object",
14363           "properties": {
14364             "controller": {
14365               "type": "object",
14366               "additionalProperties": true
14367             },
14368             "default": {
14369               "type": "object",
14370               "additionalProperties": true
14371             },
14372             "regions": {
14373               "type": "array",
14374               "items": {
14375                 "$ref": "#/definitions/RegionDefaults"
14376               }
14377             }
14378           },
14379           "additionalProperties": false
14380         },
14381         "ModelDefaultsResult": {
14382           "type": "object",
14383           "properties": {
14384             "config": {
14385               "type": "object",
14386               "patternProperties": {
14387                 ".*": {
14388                   "$ref": "#/definitions/ModelDefaults"
14389                 }
14390               }
14391             }
14392           },
14393           "additionalProperties": false,
14394           "required": [
14395             "config"
14396           ]
14397         },
14398         "ModelInfo": {
14399           "type": "object",
14400           "properties": {
14401             "cloud-credential-tag": {
14402               "type": "string"
14403             },
14404             "cloud-region": {
14405               "type": "string"
14406             },
14407             "cloud-tag": {
14408               "type": "string"
14409             },
14410             "controller-uuid": {
14411               "type": "string"
14412             },
14413             "default-series": {
14414               "type": "string"
14415             },
14416             "life": {
14417               "type": "string"
14418             },
14419             "machines": {
14420               "type": "array",
14421               "items": {
14422                 "$ref": "#/definitions/ModelMachineInfo"
14423               }
14424             },
14425             "name": {
14426               "type": "string"
14427             },
14428             "owner-tag": {
14429               "type": "string"
14430             },
14431             "provider-type": {
14432               "type": "string"
14433             },
14434             "status": {
14435               "$ref": "#/definitions/EntityStatus"
14436             },
14437             "users": {
14438               "type": "array",
14439               "items": {
14440                 "$ref": "#/definitions/ModelUserInfo"
14441               }
14442             },
14443             "uuid": {
14444               "type": "string"
14445             }
14446           },
14447           "additionalProperties": false,
14448           "required": [
14449             "name",
14450             "uuid",
14451             "controller-uuid",
14452             "provider-type",
14453             "default-series",
14454             "cloud-tag",
14455             "owner-tag",
14456             "life",
14457             "status",
14458             "users",
14459             "machines"
14460           ]
14461         },
14462         "ModelInfoResult": {
14463           "type": "object",
14464           "properties": {
14465             "error": {
14466               "$ref": "#/definitions/Error"
14467             },
14468             "result": {
14469               "$ref": "#/definitions/ModelInfo"
14470             }
14471           },
14472           "additionalProperties": false
14473         },
14474         "ModelInfoResults": {
14475           "type": "object",
14476           "properties": {
14477             "results": {
14478               "type": "array",
14479               "items": {
14480                 "$ref": "#/definitions/ModelInfoResult"
14481               }
14482             }
14483           },
14484           "additionalProperties": false,
14485           "required": [
14486             "results"
14487           ]
14488         },
14489         "ModelMachineInfo": {
14490           "type": "object",
14491           "properties": {
14492             "hardware": {
14493               "$ref": "#/definitions/MachineHardware"
14494             },
14495             "has-vote": {
14496               "type": "boolean"
14497             },
14498             "id": {
14499               "type": "string"
14500             },
14501             "instance-id": {
14502               "type": "string"
14503             },
14504             "status": {
14505               "type": "string"
14506             },
14507             "wants-vote": {
14508               "type": "boolean"
14509             }
14510           },
14511           "additionalProperties": false,
14512           "required": [
14513             "id"
14514           ]
14515         },
14516         "ModelStatus": {
14517           "type": "object",
14518           "properties": {
14519             "application-count": {
14520               "type": "integer"
14521             },
14522             "hosted-machine-count": {
14523               "type": "integer"
14524             },
14525             "life": {
14526               "type": "string"
14527             },
14528             "machines": {
14529               "type": "array",
14530               "items": {
14531                 "$ref": "#/definitions/ModelMachineInfo"
14532               }
14533             },
14534             "model-tag": {
14535               "type": "string"
14536             },
14537             "owner-tag": {
14538               "type": "string"
14539             }
14540           },
14541           "additionalProperties": false,
14542           "required": [
14543             "model-tag",
14544             "life",
14545             "hosted-machine-count",
14546             "application-count",
14547             "owner-tag"
14548           ]
14549         },
14550         "ModelStatusResults": {
14551           "type": "object",
14552           "properties": {
14553             "models": {
14554               "type": "array",
14555               "items": {
14556                 "$ref": "#/definitions/ModelStatus"
14557               }
14558             }
14559           },
14560           "additionalProperties": false,
14561           "required": [
14562             "models"
14563           ]
14564         },
14565         "ModelUnsetKeys": {
14566           "type": "object",
14567           "properties": {
14568             "cloud-region": {
14569               "type": "string"
14570             },
14571             "cloud-tag": {
14572               "type": "string"
14573             },
14574             "keys": {
14575               "type": "array",
14576               "items": {
14577                 "type": "string"
14578               }
14579             }
14580           },
14581           "additionalProperties": false,
14582           "required": [
14583             "keys"
14584           ]
14585         },
14586         "ModelUserInfo": {
14587           "type": "object",
14588           "properties": {
14589             "access": {
14590               "type": "string"
14591             },
14592             "display-name": {
14593               "type": "string"
14594             },
14595             "last-connection": {
14596               "type": "string",
14597               "format": "date-time"
14598             },
14599             "user": {
14600               "type": "string"
14601             }
14602           },
14603           "additionalProperties": false,
14604           "required": [
14605             "user",
14606             "display-name",
14607             "last-connection",
14608             "access"
14609           ]
14610         },
14611         "ModifyModelAccess": {
14612           "type": "object",
14613           "properties": {
14614             "access": {
14615               "type": "string"
14616             },
14617             "action": {
14618               "type": "string"
14619             },
14620             "model-tag": {
14621               "type": "string"
14622             },
14623             "user-tag": {
14624               "type": "string"
14625             }
14626           },
14627           "additionalProperties": false,
14628           "required": [
14629             "user-tag",
14630             "action",
14631             "access",
14632             "model-tag"
14633           ]
14634         },
14635         "ModifyModelAccessRequest": {
14636           "type": "object",
14637           "properties": {
14638             "changes": {
14639               "type": "array",
14640               "items": {
14641                 "$ref": "#/definitions/ModifyModelAccess"
14642               }
14643             }
14644           },
14645           "additionalProperties": false,
14646           "required": [
14647             "changes"
14648           ]
14649         },
14650         "RegionDefaults": {
14651           "type": "object",
14652           "properties": {
14653             "region-name": {
14654               "type": "string"
14655             },
14656             "value": {
14657               "type": "object",
14658               "additionalProperties": true
14659             }
14660           },
14661           "additionalProperties": false,
14662           "required": [
14663             "region-name",
14664             "value"
14665           ]
14666         },
14667         "SetModelDefaults": {
14668           "type": "object",
14669           "properties": {
14670             "config": {
14671               "type": "array",
14672               "items": {
14673                 "$ref": "#/definitions/ModelDefaultValues"
14674               }
14675             }
14676           },
14677           "additionalProperties": false,
14678           "required": [
14679             "config"
14680           ]
14681         },
14682         "UnsetModelDefaults": {
14683           "type": "object",
14684           "properties": {
14685             "keys": {
14686               "type": "array",
14687               "items": {
14688                 "$ref": "#/definitions/ModelUnsetKeys"
14689               }
14690             }
14691           },
14692           "additionalProperties": false,
14693           "required": [
14694             "keys"
14695           ]
14696         },
14697         "UserModel": {
14698           "type": "object",
14699           "properties": {
14700             "last-connection": {
14701               "type": "string",
14702               "format": "date-time"
14703             },
14704             "model": {
14705               "$ref": "#/definitions/Model"
14706             }
14707           },
14708           "additionalProperties": false,
14709           "required": [
14710             "model",
14711             "last-connection"
14712           ]
14713         },
14714         "UserModelList": {
14715           "type": "object",
14716           "properties": {
14717             "user-models": {
14718               "type": "array",
14719               "items": {
14720                 "$ref": "#/definitions/UserModel"
14721               }
14722             }
14723           },
14724           "additionalProperties": false,
14725           "required": [
14726             "user-models"
14727           ]
14728         }
14729       }
14730     }
14731   },
14732   {
14733     "Name": "NotifyWatcher",
14734     "Version": 1,
14735     "Schema": {
14736       "type": "object",
14737       "properties": {
14738         "Next": {
14739           "type": "object"
14740         },
14741         "Stop": {
14742           "type": "object"
14743         }
14744       }
14745     }
14746   },
14747   {
14748     "Name": "Payloads",
14749     "Version": 1,
14750     "Schema": {
14751       "type": "object",
14752       "properties": {
14753         "List": {
14754           "type": "object",
14755           "properties": {
14756             "Params": {
14757               "$ref": "#/definitions/EnvListArgs"
14758             },
14759             "Result": {
14760               "$ref": "#/definitions/EnvListResults"
14761             }
14762           }
14763         }
14764       },
14765       "definitions": {
14766         "EnvListArgs": {
14767           "type": "object",
14768           "properties": {
14769             "patterns": {
14770               "type": "array",
14771               "items": {
14772                 "type": "string"
14773               }
14774             }
14775           },
14776           "additionalProperties": false,
14777           "required": [
14778             "patterns"
14779           ]
14780         },
14781         "EnvListResults": {
14782           "type": "object",
14783           "properties": {
14784             "results": {
14785               "type": "array",
14786               "items": {
14787                 "$ref": "#/definitions/Payload"
14788               }
14789             }
14790           },
14791           "additionalProperties": false,
14792           "required": [
14793             "results"
14794           ]
14795         },
14796         "Payload": {
14797           "type": "object",
14798           "properties": {
14799             "class": {
14800               "type": "string"
14801             },
14802             "id": {
14803               "type": "string"
14804             },
14805             "labels": {
14806               "type": "array",
14807               "items": {
14808                 "type": "string"
14809               }
14810             },
14811             "machine": {
14812               "type": "string"
14813             },
14814             "status": {
14815               "type": "string"
14816             },
14817             "type": {
14818               "type": "string"
14819             },
14820             "unit": {
14821               "type": "string"
14822             }
14823           },
14824           "additionalProperties": false,
14825           "required": [
14826             "class",
14827             "type",
14828             "id",
14829             "status",
14830             "labels",
14831             "unit",
14832             "machine"
14833           ]
14834         }
14835       }
14836     }
14837   },
14838   {
14839     "Name": "PayloadsHookContext",
14840     "Version": 1,
14841     "Schema": {
14842       "type": "object",
14843       "properties": {
14844         "List": {
14845           "type": "object",
14846           "properties": {
14847             "Params": {
14848               "$ref": "#/definitions/Entities"
14849             },
14850             "Result": {
14851               "$ref": "#/definitions/PayloadResults"
14852             }
14853           }
14854         },
14855         "LookUp": {
14856           "type": "object",
14857           "properties": {
14858             "Params": {
14859               "$ref": "#/definitions/LookUpArgs"
14860             },
14861             "Result": {
14862               "$ref": "#/definitions/PayloadResults"
14863             }
14864           }
14865         },
14866         "SetStatus": {
14867           "type": "object",
14868           "properties": {
14869             "Params": {
14870               "$ref": "#/definitions/SetStatusArgs"
14871             },
14872             "Result": {
14873               "$ref": "#/definitions/PayloadResults"
14874             }
14875           }
14876         },
14877         "Track": {
14878           "type": "object",
14879           "properties": {
14880             "Params": {
14881               "$ref": "#/definitions/TrackArgs"
14882             },
14883             "Result": {
14884               "$ref": "#/definitions/PayloadResults"
14885             }
14886           }
14887         },
14888         "Untrack": {
14889           "type": "object",
14890           "properties": {
14891             "Params": {
14892               "$ref": "#/definitions/Entities"
14893             },
14894             "Result": {
14895               "$ref": "#/definitions/PayloadResults"
14896             }
14897           }
14898         }
14899       },
14900       "definitions": {
14901         "Entities": {
14902           "type": "object",
14903           "properties": {
14904             "entities": {
14905               "type": "array",
14906               "items": {
14907                 "$ref": "#/definitions/Entity"
14908               }
14909             }
14910           },
14911           "additionalProperties": false,
14912           "required": [
14913             "entities"
14914           ]
14915         },
14916         "Entity": {
14917           "type": "object",
14918           "properties": {
14919             "tag": {
14920               "type": "string"
14921             }
14922           },
14923           "additionalProperties": false,
14924           "required": [
14925             "tag"
14926           ]
14927         },
14928         "Error": {
14929           "type": "object",
14930           "properties": {
14931             "code": {
14932               "type": "string"
14933             },
14934             "info": {
14935               "$ref": "#/definitions/ErrorInfo"
14936             },
14937             "message": {
14938               "type": "string"
14939             }
14940           },
14941           "additionalProperties": false,
14942           "required": [
14943             "message",
14944             "code"
14945           ]
14946         },
14947         "ErrorInfo": {
14948           "type": "object",
14949           "properties": {
14950             "macaroon": {
14951               "$ref": "#/definitions/Macaroon"
14952             },
14953             "macaroon-path": {
14954               "type": "string"
14955             }
14956           },
14957           "additionalProperties": false
14958         },
14959         "LookUpArg": {
14960           "type": "object",
14961           "properties": {
14962             "id": {
14963               "type": "string"
14964             },
14965             "name": {
14966               "type": "string"
14967             }
14968           },
14969           "additionalProperties": false,
14970           "required": [
14971             "name",
14972             "id"
14973           ]
14974         },
14975         "LookUpArgs": {
14976           "type": "object",
14977           "properties": {
14978             "args": {
14979               "type": "array",
14980               "items": {
14981                 "$ref": "#/definitions/LookUpArg"
14982               }
14983             }
14984           },
14985           "additionalProperties": false,
14986           "required": [
14987             "args"
14988           ]
14989         },
14990         "Macaroon": {
14991           "type": "object",
14992           "additionalProperties": false
14993         },
14994         "Payload": {
14995           "type": "object",
14996           "properties": {
14997             "class": {
14998               "type": "string"
14999             },
15000             "id": {
15001               "type": "string"
15002             },
15003             "labels": {
15004               "type": "array",
15005               "items": {
15006                 "type": "string"
15007               }
15008             },
15009             "machine": {
15010               "type": "string"
15011             },
15012             "status": {
15013               "type": "string"
15014             },
15015             "type": {
15016               "type": "string"
15017             },
15018             "unit": {
15019               "type": "string"
15020             }
15021           },
15022           "additionalProperties": false,
15023           "required": [
15024             "class",
15025             "type",
15026             "id",
15027             "status",
15028             "labels",
15029             "unit",
15030             "machine"
15031           ]
15032         },
15033         "PayloadResult": {
15034           "type": "object",
15035           "properties": {
15036             "Entity": {
15037               "$ref": "#/definitions/Entity"
15038             },
15039             "error": {
15040               "$ref": "#/definitions/Error"
15041             },
15042             "not-found": {
15043               "type": "boolean"
15044             },
15045             "payload": {
15046               "$ref": "#/definitions/Payload"
15047             }
15048           },
15049           "additionalProperties": false,
15050           "required": [
15051             "Entity",
15052             "payload",
15053             "not-found"
15054           ]
15055         },
15056         "PayloadResults": {
15057           "type": "object",
15058           "properties": {
15059             "results": {
15060               "type": "array",
15061               "items": {
15062                 "$ref": "#/definitions/PayloadResult"
15063               }
15064             }
15065           },
15066           "additionalProperties": false,
15067           "required": [
15068             "results"
15069           ]
15070         },
15071         "SetStatusArg": {
15072           "type": "object",
15073           "properties": {
15074             "Entity": {
15075               "$ref": "#/definitions/Entity"
15076             },
15077             "status": {
15078               "type": "string"
15079             }
15080           },
15081           "additionalProperties": false,
15082           "required": [
15083             "Entity",
15084             "status"
15085           ]
15086         },
15087         "SetStatusArgs": {
15088           "type": "object",
15089           "properties": {
15090             "args": {
15091               "type": "array",
15092               "items": {
15093                 "$ref": "#/definitions/SetStatusArg"
15094               }
15095             }
15096           },
15097           "additionalProperties": false,
15098           "required": [
15099             "args"
15100           ]
15101         },
15102         "TrackArgs": {
15103           "type": "object",
15104           "properties": {
15105             "payloads": {
15106               "type": "array",
15107               "items": {
15108                 "$ref": "#/definitions/Payload"
15109               }
15110             }
15111           },
15112           "additionalProperties": false,
15113           "required": [
15114             "payloads"
15115           ]
15116         }
15117       }
15118     }
15119   },
15120   {
15121     "Name": "Pinger",
15122     "Version": 1,
15123     "Schema": {
15124       "type": "object",
15125       "properties": {
15126         "Ping": {
15127           "type": "object"
15128         },
15129         "Stop": {
15130           "type": "object"
15131         }
15132       }
15133     }
15134   },
15135   {
15136     "Name": "Provisioner",
15137     "Version": 3,
15138     "Schema": {
15139       "type": "object",
15140       "properties": {
15141         "APIAddresses": {
15142           "type": "object",
15143           "properties": {
15144             "Result": {
15145               "$ref": "#/definitions/StringsResult"
15146             }
15147           }
15148         },
15149         "APIHostPorts": {
15150           "type": "object",
15151           "properties": {
15152             "Result": {
15153               "$ref": "#/definitions/APIHostPortsResult"
15154             }
15155           }
15156         },
15157         "CACert": {
15158           "type": "object",
15159           "properties": {
15160             "Result": {
15161               "$ref": "#/definitions/BytesResult"
15162             }
15163           }
15164         },
15165         "Constraints": {
15166           "type": "object",
15167           "properties": {
15168             "Params": {
15169               "$ref": "#/definitions/Entities"
15170             },
15171             "Result": {
15172               "$ref": "#/definitions/ConstraintsResults"
15173             }
15174           }
15175         },
15176         "ContainerConfig": {
15177           "type": "object",
15178           "properties": {
15179             "Result": {
15180               "$ref": "#/definitions/ContainerConfig"
15181             }
15182           }
15183         },
15184         "ContainerManagerConfig": {
15185           "type": "object",
15186           "properties": {
15187             "Params": {
15188               "$ref": "#/definitions/ContainerManagerConfigParams"
15189             },
15190             "Result": {
15191               "$ref": "#/definitions/ContainerManagerConfig"
15192             }
15193           }
15194         },
15195         "ControllerConfig": {
15196           "type": "object",
15197           "properties": {
15198             "Result": {
15199               "$ref": "#/definitions/ControllerConfigResult"
15200             }
15201           }
15202         },
15203         "DistributionGroup": {
15204           "type": "object",
15205           "properties": {
15206             "Params": {
15207               "$ref": "#/definitions/Entities"
15208             },
15209             "Result": {
15210               "$ref": "#/definitions/DistributionGroupResults"
15211             }
15212           }
15213         },
15214         "EnsureDead": {
15215           "type": "object",
15216           "properties": {
15217             "Params": {
15218               "$ref": "#/definitions/Entities"
15219             },
15220             "Result": {
15221               "$ref": "#/definitions/ErrorResults"
15222             }
15223           }
15224         },
15225         "FindTools": {
15226           "type": "object",
15227           "properties": {
15228             "Params": {
15229               "$ref": "#/definitions/FindToolsParams"
15230             },
15231             "Result": {
15232               "$ref": "#/definitions/FindToolsResult"
15233             }
15234           }
15235         },
15236         "GetContainerInterfaceInfo": {
15237           "type": "object",
15238           "properties": {
15239             "Params": {
15240               "$ref": "#/definitions/Entities"
15241             },
15242             "Result": {
15243               "$ref": "#/definitions/MachineNetworkConfigResults"
15244             }
15245           }
15246         },
15247         "InstanceId": {
15248           "type": "object",
15249           "properties": {
15250             "Params": {
15251               "$ref": "#/definitions/Entities"
15252             },
15253             "Result": {
15254               "$ref": "#/definitions/StringResults"
15255             }
15256           }
15257         },
15258         "InstanceStatus": {
15259           "type": "object",
15260           "properties": {
15261             "Params": {
15262               "$ref": "#/definitions/Entities"
15263             },
15264             "Result": {
15265               "$ref": "#/definitions/StatusResults"
15266             }
15267           }
15268         },
15269         "Life": {
15270           "type": "object",
15271           "properties": {
15272             "Params": {
15273               "$ref": "#/definitions/Entities"
15274             },
15275             "Result": {
15276               "$ref": "#/definitions/LifeResults"
15277             }
15278           }
15279         },
15280         "MachinesWithTransientErrors": {
15281           "type": "object",
15282           "properties": {
15283             "Result": {
15284               "$ref": "#/definitions/StatusResults"
15285             }
15286           }
15287         },
15288         "MarkMachinesForRemoval": {
15289           "type": "object",
15290           "properties": {
15291             "Params": {
15292               "$ref": "#/definitions/Entities"
15293             },
15294             "Result": {
15295               "$ref": "#/definitions/ErrorResults"
15296             }
15297           }
15298         },
15299         "ModelConfig": {
15300           "type": "object",
15301           "properties": {
15302             "Result": {
15303               "$ref": "#/definitions/ModelConfigResult"
15304             }
15305           }
15306         },
15307         "ModelUUID": {
15308           "type": "object",
15309           "properties": {
15310             "Result": {
15311               "$ref": "#/definitions/StringResult"
15312             }
15313           }
15314         },
15315         "PrepareContainerInterfaceInfo": {
15316           "type": "object",
15317           "properties": {
15318             "Params": {
15319               "$ref": "#/definitions/Entities"
15320             },
15321             "Result": {
15322               "$ref": "#/definitions/MachineNetworkConfigResults"
15323             }
15324           }
15325         },
15326         "ProvisioningInfo": {
15327           "type": "object",
15328           "properties": {
15329             "Params": {
15330               "$ref": "#/definitions/Entities"
15331             },
15332             "Result": {
15333               "$ref": "#/definitions/ProvisioningInfoResults"
15334             }
15335           }
15336         },
15337         "ReleaseContainerAddresses": {
15338           "type": "object",
15339           "properties": {
15340             "Params": {
15341               "$ref": "#/definitions/Entities"
15342             },
15343             "Result": {
15344               "$ref": "#/definitions/ErrorResults"
15345             }
15346           }
15347         },
15348         "Remove": {
15349           "type": "object",
15350           "properties": {
15351             "Params": {
15352               "$ref": "#/definitions/Entities"
15353             },
15354             "Result": {
15355               "$ref": "#/definitions/ErrorResults"
15356             }
15357           }
15358         },
15359         "Series": {
15360           "type": "object",
15361           "properties": {
15362             "Params": {
15363               "$ref": "#/definitions/Entities"
15364             },
15365             "Result": {
15366               "$ref": "#/definitions/StringResults"
15367             }
15368           }
15369         },
15370         "SetInstanceInfo": {
15371           "type": "object",
15372           "properties": {
15373             "Params": {
15374               "$ref": "#/definitions/InstancesInfo"
15375             },
15376             "Result": {
15377               "$ref": "#/definitions/ErrorResults"
15378             }
15379           }
15380         },
15381         "SetInstanceStatus": {
15382           "type": "object",
15383           "properties": {
15384             "Params": {
15385               "$ref": "#/definitions/SetStatus"
15386             },
15387             "Result": {
15388               "$ref": "#/definitions/ErrorResults"
15389             }
15390           }
15391         },
15392         "SetPasswords": {
15393           "type": "object",
15394           "properties": {
15395             "Params": {
15396               "$ref": "#/definitions/EntityPasswords"
15397             },
15398             "Result": {
15399               "$ref": "#/definitions/ErrorResults"
15400             }
15401           }
15402         },
15403         "SetStatus": {
15404           "type": "object",
15405           "properties": {
15406             "Params": {
15407               "$ref": "#/definitions/SetStatus"
15408             },
15409             "Result": {
15410               "$ref": "#/definitions/ErrorResults"
15411             }
15412           }
15413         },
15414         "SetSupportedContainers": {
15415           "type": "object",
15416           "properties": {
15417             "Params": {
15418               "$ref": "#/definitions/MachineContainersParams"
15419             },
15420             "Result": {
15421               "$ref": "#/definitions/ErrorResults"
15422             }
15423           }
15424         },
15425         "StateAddresses": {
15426           "type": "object",
15427           "properties": {
15428             "Result": {
15429               "$ref": "#/definitions/StringsResult"
15430             }
15431           }
15432         },
15433         "Status": {
15434           "type": "object",
15435           "properties": {
15436             "Params": {
15437               "$ref": "#/definitions/Entities"
15438             },
15439             "Result": {
15440               "$ref": "#/definitions/StatusResults"
15441             }
15442           }
15443         },
15444         "Tools": {
15445           "type": "object",
15446           "properties": {
15447             "Params": {
15448               "$ref": "#/definitions/Entities"
15449             },
15450             "Result": {
15451               "$ref": "#/definitions/ToolsResults"
15452             }
15453           }
15454         },
15455         "UpdateStatus": {
15456           "type": "object",
15457           "properties": {
15458             "Params": {
15459               "$ref": "#/definitions/SetStatus"
15460             },
15461             "Result": {
15462               "$ref": "#/definitions/ErrorResults"
15463             }
15464           }
15465         },
15466         "WatchAPIHostPorts": {
15467           "type": "object",
15468           "properties": {
15469             "Result": {
15470               "$ref": "#/definitions/NotifyWatchResult"
15471             }
15472           }
15473         },
15474         "WatchAllContainers": {
15475           "type": "object",
15476           "properties": {
15477             "Params": {
15478               "$ref": "#/definitions/WatchContainers"
15479             },
15480             "Result": {
15481               "$ref": "#/definitions/StringsWatchResults"
15482             }
15483           }
15484         },
15485         "WatchContainers": {
15486           "type": "object",
15487           "properties": {
15488             "Params": {
15489               "$ref": "#/definitions/WatchContainers"
15490             },
15491             "Result": {
15492               "$ref": "#/definitions/StringsWatchResults"
15493             }
15494           }
15495         },
15496         "WatchForModelConfigChanges": {
15497           "type": "object",
15498           "properties": {
15499             "Result": {
15500               "$ref": "#/definitions/NotifyWatchResult"
15501             }
15502           }
15503         },
15504         "WatchMachineErrorRetry": {
15505           "type": "object",
15506           "properties": {
15507             "Result": {
15508               "$ref": "#/definitions/NotifyWatchResult"
15509             }
15510           }
15511         },
15512         "WatchModelMachines": {
15513           "type": "object",
15514           "properties": {
15515             "Result": {
15516               "$ref": "#/definitions/StringsWatchResult"
15517             }
15518           }
15519         }
15520       },
15521       "definitions": {
15522         "APIHostPortsResult": {
15523           "type": "object",
15524           "properties": {
15525             "servers": {
15526               "type": "array",
15527               "items": {
15528                 "type": "array",
15529                 "items": {
15530                   "$ref": "#/definitions/HostPort"
15531                 }
15532               }
15533             }
15534           },
15535           "additionalProperties": false,
15536           "required": [
15537             "servers"
15538           ]
15539         },
15540         "Address": {
15541           "type": "object",
15542           "properties": {
15543             "scope": {
15544               "type": "string"
15545             },
15546             "space-name": {
15547               "type": "string"
15548             },
15549             "type": {
15550               "type": "string"
15551             },
15552             "value": {
15553               "type": "string"
15554             }
15555           },
15556           "additionalProperties": false,
15557           "required": [
15558             "value",
15559             "type",
15560             "scope"
15561           ]
15562         },
15563         "Binary": {
15564           "type": "object",
15565           "properties": {
15566             "Arch": {
15567               "type": "string"
15568             },
15569             "Number": {
15570               "$ref": "#/definitions/Number"
15571             },
15572             "Series": {
15573               "type": "string"
15574             }
15575           },
15576           "additionalProperties": false,
15577           "required": [
15578             "Number",
15579             "Series",
15580             "Arch"
15581           ]
15582         },
15583         "BytesResult": {
15584           "type": "object",
15585           "properties": {
15586             "result": {
15587               "type": "array",
15588               "items": {
15589                 "type": "integer"
15590               }
15591             }
15592           },
15593           "additionalProperties": false,
15594           "required": [
15595             "result"
15596           ]
15597         },
15598         "CloudImageMetadata": {
15599           "type": "object",
15600           "properties": {
15601             "arch": {
15602               "type": "string"
15603             },
15604             "image-id": {
15605               "type": "string"
15606             },
15607             "priority": {
15608               "type": "integer"
15609             },
15610             "region": {
15611               "type": "string"
15612             },
15613             "root-storage-size": {
15614               "type": "integer"
15615             },
15616             "root-storage-type": {
15617               "type": "string"
15618             },
15619             "series": {
15620               "type": "string"
15621             },
15622             "source": {
15623               "type": "string"
15624             },
15625             "stream": {
15626               "type": "string"
15627             },
15628             "version": {
15629               "type": "string"
15630             },
15631             "virt-type": {
15632               "type": "string"
15633             }
15634           },
15635           "additionalProperties": false,
15636           "required": [
15637             "image-id",
15638             "region",
15639             "version",
15640             "series",
15641             "arch",
15642             "source",
15643             "priority"
15644           ]
15645         },
15646         "ConstraintsResult": {
15647           "type": "object",
15648           "properties": {
15649             "constraints": {
15650               "$ref": "#/definitions/Value"
15651             },
15652             "error": {
15653               "$ref": "#/definitions/Error"
15654             }
15655           },
15656           "additionalProperties": false,
15657           "required": [
15658             "constraints"
15659           ]
15660         },
15661         "ConstraintsResults": {
15662           "type": "object",
15663           "properties": {
15664             "results": {
15665               "type": "array",
15666               "items": {
15667                 "$ref": "#/definitions/ConstraintsResult"
15668               }
15669             }
15670           },
15671           "additionalProperties": false,
15672           "required": [
15673             "results"
15674           ]
15675         },
15676         "ContainerConfig": {
15677           "type": "object",
15678           "properties": {
15679             "UpdateBehavior": {
15680               "$ref": "#/definitions/UpdateBehavior"
15681             },
15682             "apt-mirror": {
15683               "type": "string"
15684             },
15685             "apt-proxy": {
15686               "$ref": "#/definitions/Settings"
15687             },
15688             "authorized-keys": {
15689               "type": "string"
15690             },
15691             "provider-type": {
15692               "type": "string"
15693             },
15694             "proxy": {
15695               "$ref": "#/definitions/Settings"
15696             },
15697             "ssl-hostname-verification": {
15698               "type": "boolean"
15699             }
15700           },
15701           "additionalProperties": false,
15702           "required": [
15703             "provider-type",
15704             "authorized-keys",
15705             "ssl-hostname-verification",
15706             "proxy",
15707             "apt-proxy",
15708             "apt-mirror",
15709             "UpdateBehavior"
15710           ]
15711         },
15712         "ContainerManagerConfig": {
15713           "type": "object",
15714           "properties": {
15715             "config": {
15716               "type": "object",
15717               "patternProperties": {
15718                 ".*": {
15719                   "type": "string"
15720                 }
15721               }
15722             }
15723           },
15724           "additionalProperties": false,
15725           "required": [
15726             "config"
15727           ]
15728         },
15729         "ContainerManagerConfigParams": {
15730           "type": "object",
15731           "properties": {
15732             "type": {
15733               "type": "string"
15734             }
15735           },
15736           "additionalProperties": false,
15737           "required": [
15738             "type"
15739           ]
15740         },
15741         "ControllerConfigResult": {
15742           "type": "object",
15743           "properties": {
15744             "config": {
15745               "type": "object",
15746               "patternProperties": {
15747                 ".*": {
15748                   "type": "object",
15749                   "additionalProperties": true
15750                 }
15751               }
15752             }
15753           },
15754           "additionalProperties": false,
15755           "required": [
15756             "config"
15757           ]
15758         },
15759         "DistributionGroupResult": {
15760           "type": "object",
15761           "properties": {
15762             "error": {
15763               "$ref": "#/definitions/Error"
15764             },
15765             "result": {
15766               "type": "array",
15767               "items": {
15768                 "type": "string"
15769               }
15770             }
15771           },
15772           "additionalProperties": false,
15773           "required": [
15774             "result"
15775           ]
15776         },
15777         "DistributionGroupResults": {
15778           "type": "object",
15779           "properties": {
15780             "results": {
15781               "type": "array",
15782               "items": {
15783                 "$ref": "#/definitions/DistributionGroupResult"
15784               }
15785             }
15786           },
15787           "additionalProperties": false,
15788           "required": [
15789             "results"
15790           ]
15791         },
15792         "Entities": {
15793           "type": "object",
15794           "properties": {
15795             "entities": {
15796               "type": "array",
15797               "items": {
15798                 "$ref": "#/definitions/Entity"
15799               }
15800             }
15801           },
15802           "additionalProperties": false,
15803           "required": [
15804             "entities"
15805           ]
15806         },
15807         "Entity": {
15808           "type": "object",
15809           "properties": {
15810             "tag": {
15811               "type": "string"
15812             }
15813           },
15814           "additionalProperties": false,
15815           "required": [
15816             "tag"
15817           ]
15818         },
15819         "EntityPassword": {
15820           "type": "object",
15821           "properties": {
15822             "password": {
15823               "type": "string"
15824             },
15825             "tag": {
15826               "type": "string"
15827             }
15828           },
15829           "additionalProperties": false,
15830           "required": [
15831             "tag",
15832             "password"
15833           ]
15834         },
15835         "EntityPasswords": {
15836           "type": "object",
15837           "properties": {
15838             "changes": {
15839               "type": "array",
15840               "items": {
15841                 "$ref": "#/definitions/EntityPassword"
15842               }
15843             }
15844           },
15845           "additionalProperties": false,
15846           "required": [
15847             "changes"
15848           ]
15849         },
15850         "EntityStatusArgs": {
15851           "type": "object",
15852           "properties": {
15853             "data": {
15854               "type": "object",
15855               "patternProperties": {
15856                 ".*": {
15857                   "type": "object",
15858                   "additionalProperties": true
15859                 }
15860               }
15861             },
15862             "info": {
15863               "type": "string"
15864             },
15865             "status": {
15866               "type": "string"
15867             },
15868             "tag": {
15869               "type": "string"
15870             }
15871           },
15872           "additionalProperties": false,
15873           "required": [
15874             "tag",
15875             "status",
15876             "info",
15877             "data"
15878           ]
15879         },
15880         "Error": {
15881           "type": "object",
15882           "properties": {
15883             "code": {
15884               "type": "string"
15885             },
15886             "info": {
15887               "$ref": "#/definitions/ErrorInfo"
15888             },
15889             "message": {
15890               "type": "string"
15891             }
15892           },
15893           "additionalProperties": false,
15894           "required": [
15895             "message",
15896             "code"
15897           ]
15898         },
15899         "ErrorInfo": {
15900           "type": "object",
15901           "properties": {
15902             "macaroon": {
15903               "$ref": "#/definitions/Macaroon"
15904             },
15905             "macaroon-path": {
15906               "type": "string"
15907             }
15908           },
15909           "additionalProperties": false
15910         },
15911         "ErrorResult": {
15912           "type": "object",
15913           "properties": {
15914             "error": {
15915               "$ref": "#/definitions/Error"
15916             }
15917           },
15918           "additionalProperties": false
15919         },
15920         "ErrorResults": {
15921           "type": "object",
15922           "properties": {
15923             "results": {
15924               "type": "array",
15925               "items": {
15926                 "$ref": "#/definitions/ErrorResult"
15927               }
15928             }
15929           },
15930           "additionalProperties": false,
15931           "required": [
15932             "results"
15933           ]
15934         },
15935         "FindToolsParams": {
15936           "type": "object",
15937           "properties": {
15938             "arch": {
15939               "type": "string"
15940             },
15941             "major": {
15942               "type": "integer"
15943             },
15944             "minor": {
15945               "type": "integer"
15946             },
15947             "number": {
15948               "$ref": "#/definitions/Number"
15949             },
15950             "series": {
15951               "type": "string"
15952             }
15953           },
15954           "additionalProperties": false,
15955           "required": [
15956             "number",
15957             "major",
15958             "minor",
15959             "arch",
15960             "series"
15961           ]
15962         },
15963         "FindToolsResult": {
15964           "type": "object",
15965           "properties": {
15966             "error": {
15967               "$ref": "#/definitions/Error"
15968             },
15969             "list": {
15970               "type": "array",
15971               "items": {
15972                 "$ref": "#/definitions/Tools"
15973               }
15974             }
15975           },
15976           "additionalProperties": false,
15977           "required": [
15978             "list"
15979           ]
15980         },
15981         "HardwareCharacteristics": {
15982           "type": "object",
15983           "properties": {
15984             "arch": {
15985               "type": "string"
15986             },
15987             "availability-zone": {
15988               "type": "string"
15989             },
15990             "cpu-cores": {
15991               "type": "integer"
15992             },
15993             "cpu-power": {
15994               "type": "integer"
15995             },
15996             "mem": {
15997               "type": "integer"
15998             },
15999             "root-disk": {
16000               "type": "integer"
16001             },
16002             "tags": {
16003               "type": "array",
16004               "items": {
16005                 "type": "string"
16006               }
16007             }
16008           },
16009           "additionalProperties": false
16010         },
16011         "HostPort": {
16012           "type": "object",
16013           "properties": {
16014             "Address": {
16015               "$ref": "#/definitions/Address"
16016             },
16017             "port": {
16018               "type": "integer"
16019             }
16020           },
16021           "additionalProperties": false,
16022           "required": [
16023             "Address",
16024             "port"
16025           ]
16026         },
16027         "InstanceInfo": {
16028           "type": "object",
16029           "properties": {
16030             "characteristics": {
16031               "$ref": "#/definitions/HardwareCharacteristics"
16032             },
16033             "instance-id": {
16034               "type": "string"
16035             },
16036             "network-config": {
16037               "type": "array",
16038               "items": {
16039                 "$ref": "#/definitions/NetworkConfig"
16040               }
16041             },
16042             "nonce": {
16043               "type": "string"
16044             },
16045             "tag": {
16046               "type": "string"
16047             },
16048             "volume-attachments": {
16049               "type": "object",
16050               "patternProperties": {
16051                 ".*": {
16052                   "$ref": "#/definitions/VolumeAttachmentInfo"
16053                 }
16054               }
16055             },
16056             "volumes": {
16057               "type": "array",
16058               "items": {
16059                 "$ref": "#/definitions/Volume"
16060               }
16061             }
16062           },
16063           "additionalProperties": false,
16064           "required": [
16065             "tag",
16066             "instance-id",
16067             "nonce",
16068             "characteristics",
16069             "volumes",
16070             "volume-attachments",
16071             "network-config"
16072           ]
16073         },
16074         "InstancesInfo": {
16075           "type": "object",
16076           "properties": {
16077             "machines": {
16078               "type": "array",
16079               "items": {
16080                 "$ref": "#/definitions/InstanceInfo"
16081               }
16082             }
16083           },
16084           "additionalProperties": false,
16085           "required": [
16086             "machines"
16087           ]
16088         },
16089         "LifeResult": {
16090           "type": "object",
16091           "properties": {
16092             "error": {
16093               "$ref": "#/definitions/Error"
16094             },
16095             "life": {
16096               "type": "string"
16097             }
16098           },
16099           "additionalProperties": false,
16100           "required": [
16101             "life"
16102           ]
16103         },
16104         "LifeResults": {
16105           "type": "object",
16106           "properties": {
16107             "results": {
16108               "type": "array",
16109               "items": {
16110                 "$ref": "#/definitions/LifeResult"
16111               }
16112             }
16113           },
16114           "additionalProperties": false,
16115           "required": [
16116             "results"
16117           ]
16118         },
16119         "Macaroon": {
16120           "type": "object",
16121           "additionalProperties": false
16122         },
16123         "MachineContainers": {
16124           "type": "object",
16125           "properties": {
16126             "container-types": {
16127               "type": "array",
16128               "items": {
16129                 "type": "string"
16130               }
16131             },
16132             "machine-tag": {
16133               "type": "string"
16134             }
16135           },
16136           "additionalProperties": false,
16137           "required": [
16138             "machine-tag",
16139             "container-types"
16140           ]
16141         },
16142         "MachineContainersParams": {
16143           "type": "object",
16144           "properties": {
16145             "params": {
16146               "type": "array",
16147               "items": {
16148                 "$ref": "#/definitions/MachineContainers"
16149               }
16150             }
16151           },
16152           "additionalProperties": false,
16153           "required": [
16154             "params"
16155           ]
16156         },
16157         "MachineNetworkConfigResult": {
16158           "type": "object",
16159           "properties": {
16160             "error": {
16161               "$ref": "#/definitions/Error"
16162             },
16163             "info": {
16164               "type": "array",
16165               "items": {
16166                 "$ref": "#/definitions/NetworkConfig"
16167               }
16168             }
16169           },
16170           "additionalProperties": false,
16171           "required": [
16172             "info"
16173           ]
16174         },
16175         "MachineNetworkConfigResults": {
16176           "type": "object",
16177           "properties": {
16178             "results": {
16179               "type": "array",
16180               "items": {
16181                 "$ref": "#/definitions/MachineNetworkConfigResult"
16182               }
16183             }
16184           },
16185           "additionalProperties": false,
16186           "required": [
16187             "results"
16188           ]
16189         },
16190         "ModelConfigResult": {
16191           "type": "object",
16192           "properties": {
16193             "config": {
16194               "type": "object",
16195               "patternProperties": {
16196                 ".*": {
16197                   "type": "object",
16198                   "additionalProperties": true
16199                 }
16200               }
16201             }
16202           },
16203           "additionalProperties": false,
16204           "required": [
16205             "config"
16206           ]
16207         },
16208         "NetworkConfig": {
16209           "type": "object",
16210           "properties": {
16211             "address": {
16212               "type": "string"
16213             },
16214             "cidr": {
16215               "type": "string"
16216             },
16217             "config-type": {
16218               "type": "string"
16219             },
16220             "device-index": {
16221               "type": "integer"
16222             },
16223             "disabled": {
16224               "type": "boolean"
16225             },
16226             "dns-search-domains": {
16227               "type": "array",
16228               "items": {
16229                 "type": "string"
16230               }
16231             },
16232             "dns-servers": {
16233               "type": "array",
16234               "items": {
16235                 "type": "string"
16236               }
16237             },
16238             "gateway-address": {
16239               "type": "string"
16240             },
16241             "interface-name": {
16242               "type": "string"
16243             },
16244             "interface-type": {
16245               "type": "string"
16246             },
16247             "mac-address": {
16248               "type": "string"
16249             },
16250             "mtu": {
16251               "type": "integer"
16252             },
16253             "no-auto-start": {
16254               "type": "boolean"
16255             },
16256             "parent-interface-name": {
16257               "type": "string"
16258             },
16259             "provider-address-id": {
16260               "type": "string"
16261             },
16262             "provider-id": {
16263               "type": "string"
16264             },
16265             "provider-space-id": {
16266               "type": "string"
16267             },
16268             "provider-subnet-id": {
16269               "type": "string"
16270             },
16271             "provider-vlan-id": {
16272               "type": "string"
16273             },
16274             "vlan-tag": {
16275               "type": "integer"
16276             }
16277           },
16278           "additionalProperties": false,
16279           "required": [
16280             "device-index",
16281             "mac-address",
16282             "cidr",
16283             "mtu",
16284             "provider-id",
16285             "provider-subnet-id",
16286             "provider-space-id",
16287             "provider-address-id",
16288             "provider-vlan-id",
16289             "vlan-tag",
16290             "interface-name",
16291             "parent-interface-name",
16292             "interface-type",
16293             "disabled"
16294           ]
16295         },
16296         "NotifyWatchResult": {
16297           "type": "object",
16298           "properties": {
16299             "NotifyWatcherId": {
16300               "type": "string"
16301             },
16302             "error": {
16303               "$ref": "#/definitions/Error"
16304             }
16305           },
16306           "additionalProperties": false,
16307           "required": [
16308             "NotifyWatcherId"
16309           ]
16310         },
16311         "Number": {
16312           "type": "object",
16313           "properties": {
16314             "Build": {
16315               "type": "integer"
16316             },
16317             "Major": {
16318               "type": "integer"
16319             },
16320             "Minor": {
16321               "type": "integer"
16322             },
16323             "Patch": {
16324               "type": "integer"
16325             },
16326             "Tag": {
16327               "type": "string"
16328             }
16329           },
16330           "additionalProperties": false,
16331           "required": [
16332             "Major",
16333             "Minor",
16334             "Tag",
16335             "Patch",
16336             "Build"
16337           ]
16338         },
16339         "ProvisioningInfo": {
16340           "type": "object",
16341           "properties": {
16342             "constraints": {
16343               "$ref": "#/definitions/Value"
16344             },
16345             "controller-config": {
16346               "type": "object",
16347               "patternProperties": {
16348                 ".*": {
16349                   "type": "object",
16350                   "additionalProperties": true
16351                 }
16352               }
16353             },
16354             "endpoint-bindings": {
16355               "type": "object",
16356               "patternProperties": {
16357                 ".*": {
16358                   "type": "string"
16359                 }
16360               }
16361             },
16362             "image-metadata": {
16363               "type": "array",
16364               "items": {
16365                 "$ref": "#/definitions/CloudImageMetadata"
16366               }
16367             },
16368             "jobs": {
16369               "type": "array",
16370               "items": {
16371                 "type": "string"
16372               }
16373             },
16374             "placement": {
16375               "type": "string"
16376             },
16377             "series": {
16378               "type": "string"
16379             },
16380             "subnets-to-zones": {
16381               "type": "object",
16382               "patternProperties": {
16383                 ".*": {
16384                   "type": "array",
16385                   "items": {
16386                     "type": "string"
16387                   }
16388                 }
16389               }
16390             },
16391             "tags": {
16392               "type": "object",
16393               "patternProperties": {
16394                 ".*": {
16395                   "type": "string"
16396                 }
16397               }
16398             },
16399             "volumes": {
16400               "type": "array",
16401               "items": {
16402                 "$ref": "#/definitions/VolumeParams"
16403               }
16404             }
16405           },
16406           "additionalProperties": false,
16407           "required": [
16408             "constraints",
16409             "series",
16410             "placement",
16411             "jobs"
16412           ]
16413         },
16414         "ProvisioningInfoResult": {
16415           "type": "object",
16416           "properties": {
16417             "error": {
16418               "$ref": "#/definitions/Error"
16419             },
16420             "result": {
16421               "$ref": "#/definitions/ProvisioningInfo"
16422             }
16423           },
16424           "additionalProperties": false,
16425           "required": [
16426             "result"
16427           ]
16428         },
16429         "ProvisioningInfoResults": {
16430           "type": "object",
16431           "properties": {
16432             "results": {
16433               "type": "array",
16434               "items": {
16435                 "$ref": "#/definitions/ProvisioningInfoResult"
16436               }
16437             }
16438           },
16439           "additionalProperties": false,
16440           "required": [
16441             "results"
16442           ]
16443         },
16444         "SetStatus": {
16445           "type": "object",
16446           "properties": {
16447             "entities": {
16448               "type": "array",
16449               "items": {
16450                 "$ref": "#/definitions/EntityStatusArgs"
16451               }
16452             }
16453           },
16454           "additionalProperties": false,
16455           "required": [
16456             "entities"
16457           ]
16458         },
16459         "Settings": {
16460           "type": "object",
16461           "properties": {
16462             "Ftp": {
16463               "type": "string"
16464             },
16465             "Http": {
16466               "type": "string"
16467             },
16468             "Https": {
16469               "type": "string"
16470             },
16471             "NoProxy": {
16472               "type": "string"
16473             }
16474           },
16475           "additionalProperties": false,
16476           "required": [
16477             "Http",
16478             "Https",
16479             "Ftp",
16480             "NoProxy"
16481           ]
16482         },
16483         "StatusResult": {
16484           "type": "object",
16485           "properties": {
16486             "data": {
16487               "type": "object",
16488               "patternProperties": {
16489                 ".*": {
16490                   "type": "object",
16491                   "additionalProperties": true
16492                 }
16493               }
16494             },
16495             "error": {
16496               "$ref": "#/definitions/Error"
16497             },
16498             "id": {
16499               "type": "string"
16500             },
16501             "info": {
16502               "type": "string"
16503             },
16504             "life": {
16505               "type": "string"
16506             },
16507             "since": {
16508               "type": "string",
16509               "format": "date-time"
16510             },
16511             "status": {
16512               "type": "string"
16513             }
16514           },
16515           "additionalProperties": false,
16516           "required": [
16517             "id",
16518             "life",
16519             "status",
16520             "info",
16521             "data",
16522             "since"
16523           ]
16524         },
16525         "StatusResults": {
16526           "type": "object",
16527           "properties": {
16528             "results": {
16529               "type": "array",
16530               "items": {
16531                 "$ref": "#/definitions/StatusResult"
16532               }
16533             }
16534           },
16535           "additionalProperties": false,
16536           "required": [
16537             "results"
16538           ]
16539         },
16540         "StringResult": {
16541           "type": "object",
16542           "properties": {
16543             "error": {
16544               "$ref": "#/definitions/Error"
16545             },
16546             "result": {
16547               "type": "string"
16548             }
16549           },
16550           "additionalProperties": false,
16551           "required": [
16552             "result"
16553           ]
16554         },
16555         "StringResults": {
16556           "type": "object",
16557           "properties": {
16558             "results": {
16559               "type": "array",
16560               "items": {
16561                 "$ref": "#/definitions/StringResult"
16562               }
16563             }
16564           },
16565           "additionalProperties": false,
16566           "required": [
16567             "results"
16568           ]
16569         },
16570         "StringsResult": {
16571           "type": "object",
16572           "properties": {
16573             "error": {
16574               "$ref": "#/definitions/Error"
16575             },
16576             "result": {
16577               "type": "array",
16578               "items": {
16579                 "type": "string"
16580               }
16581             }
16582           },
16583           "additionalProperties": false
16584         },
16585         "StringsWatchResult": {
16586           "type": "object",
16587           "properties": {
16588             "changes": {
16589               "type": "array",
16590               "items": {
16591                 "type": "string"
16592               }
16593             },
16594             "error": {
16595               "$ref": "#/definitions/Error"
16596             },
16597             "watcher-id": {
16598               "type": "string"
16599             }
16600           },
16601           "additionalProperties": false,
16602           "required": [
16603             "watcher-id"
16604           ]
16605         },
16606         "StringsWatchResults": {
16607           "type": "object",
16608           "properties": {
16609             "results": {
16610               "type": "array",
16611               "items": {
16612                 "$ref": "#/definitions/StringsWatchResult"
16613               }
16614             }
16615           },
16616           "additionalProperties": false,
16617           "required": [
16618             "results"
16619           ]
16620         },
16621         "Tools": {
16622           "type": "object",
16623           "properties": {
16624             "sha256": {
16625               "type": "string"
16626             },
16627             "size": {
16628               "type": "integer"
16629             },
16630             "url": {
16631               "type": "string"
16632             },
16633             "version": {
16634               "$ref": "#/definitions/Binary"
16635             }
16636           },
16637           "additionalProperties": false,
16638           "required": [
16639             "version",
16640             "url",
16641             "size"
16642           ]
16643         },
16644         "ToolsResult": {
16645           "type": "object",
16646           "properties": {
16647             "disable-ssl-hostname-verification": {
16648               "type": "boolean"
16649             },
16650             "error": {
16651               "$ref": "#/definitions/Error"
16652             },
16653             "tools": {
16654               "type": "array",
16655               "items": {
16656                 "$ref": "#/definitions/Tools"
16657               }
16658             }
16659           },
16660           "additionalProperties": false,
16661           "required": [
16662             "tools",
16663             "disable-ssl-hostname-verification"
16664           ]
16665         },
16666         "ToolsResults": {
16667           "type": "object",
16668           "properties": {
16669             "results": {
16670               "type": "array",
16671               "items": {
16672                 "$ref": "#/definitions/ToolsResult"
16673               }
16674             }
16675           },
16676           "additionalProperties": false,
16677           "required": [
16678             "results"
16679           ]
16680         },
16681         "UpdateBehavior": {
16682           "type": "object",
16683           "properties": {
16684             "enable-os-refresh-update": {
16685               "type": "boolean"
16686             },
16687             "enable-os-upgrade": {
16688               "type": "boolean"
16689             }
16690           },
16691           "additionalProperties": false,
16692           "required": [
16693             "enable-os-refresh-update",
16694             "enable-os-upgrade"
16695           ]
16696         },
16697         "Value": {
16698           "type": "object",
16699           "properties": {
16700             "arch": {
16701               "type": "string"
16702             },
16703             "container": {
16704               "type": "string"
16705             },
16706             "cores": {
16707               "type": "integer"
16708             },
16709             "cpu-power": {
16710               "type": "integer"
16711             },
16712             "instance-type": {
16713               "type": "string"
16714             },
16715             "mem": {
16716               "type": "integer"
16717             },
16718             "root-disk": {
16719               "type": "integer"
16720             },
16721             "spaces": {
16722               "type": "array",
16723               "items": {
16724                 "type": "string"
16725               }
16726             },
16727             "tags": {
16728               "type": "array",
16729               "items": {
16730                 "type": "string"
16731               }
16732             },
16733             "virt-type": {
16734               "type": "string"
16735             }
16736           },
16737           "additionalProperties": false
16738         },
16739         "Volume": {
16740           "type": "object",
16741           "properties": {
16742             "info": {
16743               "$ref": "#/definitions/VolumeInfo"
16744             },
16745             "volume-tag": {
16746               "type": "string"
16747             }
16748           },
16749           "additionalProperties": false,
16750           "required": [
16751             "volume-tag",
16752             "info"
16753           ]
16754         },
16755         "VolumeAttachmentInfo": {
16756           "type": "object",
16757           "properties": {
16758             "bus-address": {
16759               "type": "string"
16760             },
16761             "device-link": {
16762               "type": "string"
16763             },
16764             "device-name": {
16765               "type": "string"
16766             },
16767             "read-only": {
16768               "type": "boolean"
16769             }
16770           },
16771           "additionalProperties": false
16772         },
16773         "VolumeAttachmentParams": {
16774           "type": "object",
16775           "properties": {
16776             "instance-id": {
16777               "type": "string"
16778             },
16779             "machine-tag": {
16780               "type": "string"
16781             },
16782             "provider": {
16783               "type": "string"
16784             },
16785             "read-only": {
16786               "type": "boolean"
16787             },
16788             "volume-id": {
16789               "type": "string"
16790             },
16791             "volume-tag": {
16792               "type": "string"
16793             }
16794           },
16795           "additionalProperties": false,
16796           "required": [
16797             "volume-tag",
16798             "machine-tag",
16799             "provider"
16800           ]
16801         },
16802         "VolumeInfo": {
16803           "type": "object",
16804           "properties": {
16805             "hardware-id": {
16806               "type": "string"
16807             },
16808             "persistent": {
16809               "type": "boolean"
16810             },
16811             "size": {
16812               "type": "integer"
16813             },
16814             "volume-id": {
16815               "type": "string"
16816             }
16817           },
16818           "additionalProperties": false,
16819           "required": [
16820             "volume-id",
16821             "size",
16822             "persistent"
16823           ]
16824         },
16825         "VolumeParams": {
16826           "type": "object",
16827           "properties": {
16828             "attachment": {
16829               "$ref": "#/definitions/VolumeAttachmentParams"
16830             },
16831             "attributes": {
16832               "type": "object",
16833               "patternProperties": {
16834                 ".*": {
16835                   "type": "object",
16836                   "additionalProperties": true
16837                 }
16838               }
16839             },
16840             "provider": {
16841               "type": "string"
16842             },
16843             "size": {
16844               "type": "integer"
16845             },
16846             "tags": {
16847               "type": "object",
16848               "patternProperties": {
16849                 ".*": {
16850                   "type": "string"
16851                 }
16852               }
16853             },
16854             "volume-tag": {
16855               "type": "string"
16856             }
16857           },
16858           "additionalProperties": false,
16859           "required": [
16860             "volume-tag",
16861             "size",
16862             "provider"
16863           ]
16864         },
16865         "WatchContainer": {
16866           "type": "object",
16867           "properties": {
16868             "container-type": {
16869               "type": "string"
16870             },
16871             "machine-tag": {
16872               "type": "string"
16873             }
16874           },
16875           "additionalProperties": false,
16876           "required": [
16877             "machine-tag",
16878             "container-type"
16879           ]
16880         },
16881         "WatchContainers": {
16882           "type": "object",
16883           "properties": {
16884             "params": {
16885               "type": "array",
16886               "items": {
16887                 "$ref": "#/definitions/WatchContainer"
16888               }
16889             }
16890           },
16891           "additionalProperties": false,
16892           "required": [
16893             "params"
16894           ]
16895         }
16896       }
16897     }
16898   },
16899   {
16900     "Name": "ProxyUpdater",
16901     "Version": 1,
16902     "Schema": {
16903       "type": "object",
16904       "properties": {
16905         "ProxyConfig": {
16906           "type": "object",
16907           "properties": {
16908             "Params": {
16909               "$ref": "#/definitions/Entities"
16910             },
16911             "Result": {
16912               "$ref": "#/definitions/ProxyConfigResults"
16913             }
16914           }
16915         },
16916         "WatchForProxyConfigAndAPIHostPortChanges": {
16917           "type": "object",
16918           "properties": {
16919             "Params": {
16920               "$ref": "#/definitions/Entities"
16921             },
16922             "Result": {
16923               "$ref": "#/definitions/NotifyWatchResults"
16924             }
16925           }
16926         }
16927       },
16928       "definitions": {
16929         "Entities": {
16930           "type": "object",
16931           "properties": {
16932             "entities": {
16933               "type": "array",
16934               "items": {
16935                 "$ref": "#/definitions/Entity"
16936               }
16937             }
16938           },
16939           "additionalProperties": false,
16940           "required": [
16941             "entities"
16942           ]
16943         },
16944         "Entity": {
16945           "type": "object",
16946           "properties": {
16947             "tag": {
16948               "type": "string"
16949             }
16950           },
16951           "additionalProperties": false,
16952           "required": [
16953             "tag"
16954           ]
16955         },
16956         "Error": {
16957           "type": "object",
16958           "properties": {
16959             "code": {
16960               "type": "string"
16961             },
16962             "info": {
16963               "$ref": "#/definitions/ErrorInfo"
16964             },
16965             "message": {
16966               "type": "string"
16967             }
16968           },
16969           "additionalProperties": false,
16970           "required": [
16971             "message",
16972             "code"
16973           ]
16974         },
16975         "ErrorInfo": {
16976           "type": "object",
16977           "properties": {
16978             "macaroon": {
16979               "$ref": "#/definitions/Macaroon"
16980             },
16981             "macaroon-path": {
16982               "type": "string"
16983             }
16984           },
16985           "additionalProperties": false
16986         },
16987         "Macaroon": {
16988           "type": "object",
16989           "additionalProperties": false
16990         },
16991         "NotifyWatchResult": {
16992           "type": "object",
16993           "properties": {
16994             "NotifyWatcherId": {
16995               "type": "string"
16996             },
16997             "error": {
16998               "$ref": "#/definitions/Error"
16999             }
17000           },
17001           "additionalProperties": false,
17002           "required": [
17003             "NotifyWatcherId"
17004           ]
17005         },
17006         "NotifyWatchResults": {
17007           "type": "object",
17008           "properties": {
17009             "results": {
17010               "type": "array",
17011               "items": {
17012                 "$ref": "#/definitions/NotifyWatchResult"
17013               }
17014             }
17015           },
17016           "additionalProperties": false,
17017           "required": [
17018             "results"
17019           ]
17020         },
17021         "ProxyConfig": {
17022           "type": "object",
17023           "properties": {
17024             "ftp": {
17025               "type": "string"
17026             },
17027             "http": {
17028               "type": "string"
17029             },
17030             "https": {
17031               "type": "string"
17032             },
17033             "no-proxy": {
17034               "type": "string"
17035             }
17036           },
17037           "additionalProperties": false,
17038           "required": [
17039             "http",
17040             "https",
17041             "ftp",
17042             "no-proxy"
17043           ]
17044         },
17045         "ProxyConfigResult": {
17046           "type": "object",
17047           "properties": {
17048             "apt-proxy-settings": {
17049               "$ref": "#/definitions/ProxyConfig"
17050             },
17051             "error": {
17052               "$ref": "#/definitions/Error"
17053             },
17054             "proxy-settings": {
17055               "$ref": "#/definitions/ProxyConfig"
17056             }
17057           },
17058           "additionalProperties": false,
17059           "required": [
17060             "proxy-settings",
17061             "apt-proxy-settings"
17062           ]
17063         },
17064         "ProxyConfigResults": {
17065           "type": "object",
17066           "properties": {
17067             "results": {
17068               "type": "array",
17069               "items": {
17070                 "$ref": "#/definitions/ProxyConfigResult"
17071               }
17072             }
17073           },
17074           "additionalProperties": false,
17075           "required": [
17076             "results"
17077           ]
17078         }
17079       }
17080     }
17081   },
17082   {
17083     "Name": "Reboot",
17084     "Version": 2,
17085     "Schema": {
17086       "type": "object",
17087       "properties": {
17088         "ClearReboot": {
17089           "type": "object",
17090           "properties": {
17091             "Params": {
17092               "$ref": "#/definitions/Entities"
17093             },
17094             "Result": {
17095               "$ref": "#/definitions/ErrorResults"
17096             }
17097           }
17098         },
17099         "GetRebootAction": {
17100           "type": "object",
17101           "properties": {
17102             "Params": {
17103               "$ref": "#/definitions/Entities"
17104             },
17105             "Result": {
17106               "$ref": "#/definitions/RebootActionResults"
17107             }
17108           }
17109         },
17110         "RequestReboot": {
17111           "type": "object",
17112           "properties": {
17113             "Params": {
17114               "$ref": "#/definitions/Entities"
17115             },
17116             "Result": {
17117               "$ref": "#/definitions/ErrorResults"
17118             }
17119           }
17120         },
17121         "WatchForRebootEvent": {
17122           "type": "object",
17123           "properties": {
17124             "Result": {
17125               "$ref": "#/definitions/NotifyWatchResult"
17126             }
17127           }
17128         }
17129       },
17130       "definitions": {
17131         "Entities": {
17132           "type": "object",
17133           "properties": {
17134             "entities": {
17135               "type": "array",
17136               "items": {
17137                 "$ref": "#/definitions/Entity"
17138               }
17139             }
17140           },
17141           "additionalProperties": false,
17142           "required": [
17143             "entities"
17144           ]
17145         },
17146         "Entity": {
17147           "type": "object",
17148           "properties": {
17149             "tag": {
17150               "type": "string"
17151             }
17152           },
17153           "additionalProperties": false,
17154           "required": [
17155             "tag"
17156           ]
17157         },
17158         "Error": {
17159           "type": "object",
17160           "properties": {
17161             "code": {
17162               "type": "string"
17163             },
17164             "info": {
17165               "$ref": "#/definitions/ErrorInfo"
17166             },
17167             "message": {
17168               "type": "string"
17169             }
17170           },
17171           "additionalProperties": false,
17172           "required": [
17173             "message",
17174             "code"
17175           ]
17176         },
17177         "ErrorInfo": {
17178           "type": "object",
17179           "properties": {
17180             "macaroon": {
17181               "$ref": "#/definitions/Macaroon"
17182             },
17183             "macaroon-path": {
17184               "type": "string"
17185             }
17186           },
17187           "additionalProperties": false
17188         },
17189         "ErrorResult": {
17190           "type": "object",
17191           "properties": {
17192             "error": {
17193               "$ref": "#/definitions/Error"
17194             }
17195           },
17196           "additionalProperties": false
17197         },
17198         "ErrorResults": {
17199           "type": "object",
17200           "properties": {
17201             "results": {
17202               "type": "array",
17203               "items": {
17204                 "$ref": "#/definitions/ErrorResult"
17205               }
17206             }
17207           },
17208           "additionalProperties": false,
17209           "required": [
17210             "results"
17211           ]
17212         },
17213         "Macaroon": {
17214           "type": "object",
17215           "additionalProperties": false
17216         },
17217         "NotifyWatchResult": {
17218           "type": "object",
17219           "properties": {
17220             "NotifyWatcherId": {
17221               "type": "string"
17222             },
17223             "error": {
17224               "$ref": "#/definitions/Error"
17225             }
17226           },
17227           "additionalProperties": false,
17228           "required": [
17229             "NotifyWatcherId"
17230           ]
17231         },
17232         "RebootActionResult": {
17233           "type": "object",
17234           "properties": {
17235             "error": {
17236               "$ref": "#/definitions/Error"
17237             },
17238             "result": {
17239               "type": "string"
17240             }
17241           },
17242           "additionalProperties": false
17243         },
17244         "RebootActionResults": {
17245           "type": "object",
17246           "properties": {
17247             "results": {
17248               "type": "array",
17249               "items": {
17250                 "$ref": "#/definitions/RebootActionResult"
17251               }
17252             }
17253           },
17254           "additionalProperties": false
17255         }
17256       }
17257     }
17258   },
17259   {
17260     "Name": "RelationUnitsWatcher",
17261     "Version": 1,
17262     "Schema": {
17263       "type": "object",
17264       "properties": {
17265         "Next": {
17266           "type": "object",
17267           "properties": {
17268             "Result": {
17269               "$ref": "#/definitions/RelationUnitsWatchResult"
17270             }
17271           }
17272         },
17273         "Stop": {
17274           "type": "object"
17275         }
17276       },
17277       "definitions": {
17278         "Error": {
17279           "type": "object",
17280           "properties": {
17281             "code": {
17282               "type": "string"
17283             },
17284             "info": {
17285               "$ref": "#/definitions/ErrorInfo"
17286             },
17287             "message": {
17288               "type": "string"
17289             }
17290           },
17291           "additionalProperties": false,
17292           "required": [
17293             "message",
17294             "code"
17295           ]
17296         },
17297         "ErrorInfo": {
17298           "type": "object",
17299           "properties": {
17300             "macaroon": {
17301               "$ref": "#/definitions/Macaroon"
17302             },
17303             "macaroon-path": {
17304               "type": "string"
17305             }
17306           },
17307           "additionalProperties": false
17308         },
17309         "Macaroon": {
17310           "type": "object",
17311           "additionalProperties": false
17312         },
17313         "RelationUnitsChange": {
17314           "type": "object",
17315           "properties": {
17316             "changed": {
17317               "type": "object",
17318               "patternProperties": {
17319                 ".*": {
17320                   "$ref": "#/definitions/UnitSettings"
17321                 }
17322               }
17323             },
17324             "departed": {
17325               "type": "array",
17326               "items": {
17327                 "type": "string"
17328               }
17329             }
17330           },
17331           "additionalProperties": false,
17332           "required": [
17333             "changed"
17334           ]
17335         },
17336         "RelationUnitsWatchResult": {
17337           "type": "object",
17338           "properties": {
17339             "changes": {
17340               "$ref": "#/definitions/RelationUnitsChange"
17341             },
17342             "error": {
17343               "$ref": "#/definitions/Error"
17344             },
17345             "watcher-id": {
17346               "type": "string"
17347             }
17348           },
17349           "additionalProperties": false,
17350           "required": [
17351             "watcher-id",
17352             "changes"
17353           ]
17354         },
17355         "UnitSettings": {
17356           "type": "object",
17357           "properties": {
17358             "version": {
17359               "type": "integer"
17360             }
17361           },
17362           "additionalProperties": false,
17363           "required": [
17364             "version"
17365           ]
17366         }
17367       }
17368     }
17369   },
17370   {
17371     "Name": "Resources",
17372     "Version": 1,
17373     "Schema": {
17374       "type": "object",
17375       "properties": {
17376         "AddPendingResources": {
17377           "type": "object",
17378           "properties": {
17379             "Params": {
17380               "$ref": "#/definitions/AddPendingResourcesArgs"
17381             },
17382             "Result": {
17383               "$ref": "#/definitions/AddPendingResourcesResult"
17384             }
17385           }
17386         },
17387         "ListResources": {
17388           "type": "object",
17389           "properties": {
17390             "Params": {
17391               "$ref": "#/definitions/ListResourcesArgs"
17392             },
17393             "Result": {
17394               "$ref": "#/definitions/ResourcesResults"
17395             }
17396           }
17397         }
17398       },
17399       "definitions": {
17400         "AddCharmWithAuthorization": {
17401           "type": "object",
17402           "properties": {
17403             "channel": {
17404               "type": "string"
17405             },
17406             "macaroon": {
17407               "$ref": "#/definitions/Macaroon"
17408             },
17409             "url": {
17410               "type": "string"
17411             }
17412           },
17413           "additionalProperties": false,
17414           "required": [
17415             "url",
17416             "channel",
17417             "macaroon"
17418           ]
17419         },
17420         "AddPendingResourcesArgs": {
17421           "type": "object",
17422           "properties": {
17423             "AddCharmWithAuthorization": {
17424               "$ref": "#/definitions/AddCharmWithAuthorization"
17425             },
17426             "Entity": {
17427               "$ref": "#/definitions/Entity"
17428             },
17429             "Resources": {
17430               "type": "array",
17431               "items": {
17432                 "$ref": "#/definitions/CharmResource"
17433               }
17434             }
17435           },
17436           "additionalProperties": false,
17437           "required": [
17438             "Entity",
17439             "AddCharmWithAuthorization",
17440             "Resources"
17441           ]
17442         },
17443         "AddPendingResourcesResult": {
17444           "type": "object",
17445           "properties": {
17446             "ErrorResult": {
17447               "$ref": "#/definitions/ErrorResult"
17448             },
17449             "pending-ids": {
17450               "type": "array",
17451               "items": {
17452                 "type": "string"
17453               }
17454             }
17455           },
17456           "additionalProperties": false,
17457           "required": [
17458             "ErrorResult",
17459             "pending-ids"
17460           ]
17461         },
17462         "CharmResource": {
17463           "type": "object",
17464           "properties": {
17465             "description": {
17466               "type": "string"
17467             },
17468             "fingerprint": {
17469               "type": "array",
17470               "items": {
17471                 "type": "integer"
17472               }
17473             },
17474             "name": {
17475               "type": "string"
17476             },
17477             "origin": {
17478               "type": "string"
17479             },
17480             "path": {
17481               "type": "string"
17482             },
17483             "revision": {
17484               "type": "integer"
17485             },
17486             "size": {
17487               "type": "integer"
17488             },
17489             "type": {
17490               "type": "string"
17491             }
17492           },
17493           "additionalProperties": false,
17494           "required": [
17495             "name",
17496             "type",
17497             "path",
17498             "origin",
17499             "revision",
17500             "fingerprint",
17501             "size"
17502           ]
17503         },
17504         "Entity": {
17505           "type": "object",
17506           "properties": {
17507             "tag": {
17508               "type": "string"
17509             }
17510           },
17511           "additionalProperties": false,
17512           "required": [
17513             "tag"
17514           ]
17515         },
17516         "Error": {
17517           "type": "object",
17518           "properties": {
17519             "code": {
17520               "type": "string"
17521             },
17522             "info": {
17523               "$ref": "#/definitions/ErrorInfo"
17524             },
17525             "message": {
17526               "type": "string"
17527             }
17528           },
17529           "additionalProperties": false,
17530           "required": [
17531             "message",
17532             "code"
17533           ]
17534         },
17535         "ErrorInfo": {
17536           "type": "object",
17537           "properties": {
17538             "macaroon": {
17539               "$ref": "#/definitions/Macaroon"
17540             },
17541             "macaroon-path": {
17542               "type": "string"
17543             }
17544           },
17545           "additionalProperties": false
17546         },
17547         "ErrorResult": {
17548           "type": "object",
17549           "properties": {
17550             "error": {
17551               "$ref": "#/definitions/Error"
17552             }
17553           },
17554           "additionalProperties": false
17555         },
17556         "ListResourcesArgs": {
17557           "type": "object",
17558           "properties": {
17559             "entities": {
17560               "type": "array",
17561               "items": {
17562                 "$ref": "#/definitions/Entity"
17563               }
17564             }
17565           },
17566           "additionalProperties": false,
17567           "required": [
17568             "entities"
17569           ]
17570         },
17571         "Macaroon": {
17572           "type": "object",
17573           "additionalProperties": false
17574         },
17575         "Resource": {
17576           "type": "object",
17577           "properties": {
17578             "CharmResource": {
17579               "$ref": "#/definitions/CharmResource"
17580             },
17581             "application": {
17582               "type": "string"
17583             },
17584             "id": {
17585               "type": "string"
17586             },
17587             "pending-id": {
17588               "type": "string"
17589             },
17590             "timestamp": {
17591               "type": "string",
17592               "format": "date-time"
17593             },
17594             "username": {
17595               "type": "string"
17596             }
17597           },
17598           "additionalProperties": false,
17599           "required": [
17600             "CharmResource",
17601             "id",
17602             "pending-id",
17603             "application",
17604             "username",
17605             "timestamp"
17606           ]
17607         },
17608         "ResourcesResult": {
17609           "type": "object",
17610           "properties": {
17611             "ErrorResult": {
17612               "$ref": "#/definitions/ErrorResult"
17613             },
17614             "charm-store-resources": {
17615               "type": "array",
17616               "items": {
17617                 "$ref": "#/definitions/CharmResource"
17618               }
17619             },
17620             "resources": {
17621               "type": "array",
17622               "items": {
17623                 "$ref": "#/definitions/Resource"
17624               }
17625             },
17626             "unit-resources": {
17627               "type": "array",
17628               "items": {
17629                 "$ref": "#/definitions/UnitResources"
17630               }
17631             }
17632           },
17633           "additionalProperties": false,
17634           "required": [
17635             "ErrorResult",
17636             "resources",
17637             "charm-store-resources",
17638             "unit-resources"
17639           ]
17640         },
17641         "ResourcesResults": {
17642           "type": "object",
17643           "properties": {
17644             "results": {
17645               "type": "array",
17646               "items": {
17647                 "$ref": "#/definitions/ResourcesResult"
17648               }
17649             }
17650           },
17651           "additionalProperties": false,
17652           "required": [
17653             "results"
17654           ]
17655         },
17656         "UnitResources": {
17657           "type": "object",
17658           "properties": {
17659             "Entity": {
17660               "$ref": "#/definitions/Entity"
17661             },
17662             "download-progress": {
17663               "type": "object",
17664               "patternProperties": {
17665                 ".*": {
17666                   "type": "integer"
17667                 }
17668               }
17669             },
17670             "resources": {
17671               "type": "array",
17672               "items": {
17673                 "$ref": "#/definitions/Resource"
17674               }
17675             }
17676           },
17677           "additionalProperties": false,
17678           "required": [
17679             "Entity",
17680             "resources",
17681             "download-progress"
17682           ]
17683         }
17684       }
17685     }
17686   },
17687   {
17688     "Name": "ResourcesHookContext",
17689     "Version": 1,
17690     "Schema": {
17691       "type": "object",
17692       "properties": {
17693         "GetResourceInfo": {
17694           "type": "object",
17695           "properties": {
17696             "Params": {
17697               "$ref": "#/definitions/ListResourcesArgs"
17698             },
17699             "Result": {
17700               "$ref": "#/definitions/ResourcesResult"
17701             }
17702           }
17703         }
17704       },
17705       "definitions": {
17706         "CharmResource": {
17707           "type": "object",
17708           "properties": {
17709             "description": {
17710               "type": "string"
17711             },
17712             "fingerprint": {
17713               "type": "array",
17714               "items": {
17715                 "type": "integer"
17716               }
17717             },
17718             "name": {
17719               "type": "string"
17720             },
17721             "origin": {
17722               "type": "string"
17723             },
17724             "path": {
17725               "type": "string"
17726             },
17727             "revision": {
17728               "type": "integer"
17729             },
17730             "size": {
17731               "type": "integer"
17732             },
17733             "type": {
17734               "type": "string"
17735             }
17736           },
17737           "additionalProperties": false,
17738           "required": [
17739             "name",
17740             "type",
17741             "path",
17742             "origin",
17743             "revision",
17744             "fingerprint",
17745             "size"
17746           ]
17747         },
17748         "Error": {
17749           "type": "object",
17750           "properties": {
17751             "code": {
17752               "type": "string"
17753             },
17754             "info": {
17755               "$ref": "#/definitions/ErrorInfo"
17756             },
17757             "message": {
17758               "type": "string"
17759             }
17760           },
17761           "additionalProperties": false,
17762           "required": [
17763             "message",
17764             "code"
17765           ]
17766         },
17767         "ErrorInfo": {
17768           "type": "object",
17769           "properties": {
17770             "macaroon": {
17771               "$ref": "#/definitions/Macaroon"
17772             },
17773             "macaroon-path": {
17774               "type": "string"
17775             }
17776           },
17777           "additionalProperties": false
17778         },
17779         "ErrorResult": {
17780           "type": "object",
17781           "properties": {
17782             "error": {
17783               "$ref": "#/definitions/Error"
17784             }
17785           },
17786           "additionalProperties": false
17787         },
17788         "ListResourcesArgs": {
17789           "type": "object",
17790           "properties": {
17791             "resource-names": {
17792               "type": "array",
17793               "items": {
17794                 "type": "string"
17795               }
17796             }
17797           },
17798           "additionalProperties": false,
17799           "required": [
17800             "resource-names"
17801           ]
17802         },
17803         "Macaroon": {
17804           "type": "object",
17805           "additionalProperties": false
17806         },
17807         "Resource": {
17808           "type": "object",
17809           "properties": {
17810             "CharmResource": {
17811               "$ref": "#/definitions/CharmResource"
17812             },
17813             "application": {
17814               "type": "string"
17815             },
17816             "id": {
17817               "type": "string"
17818             },
17819             "pending-id": {
17820               "type": "string"
17821             },
17822             "timestamp": {
17823               "type": "string",
17824               "format": "date-time"
17825             },
17826             "username": {
17827               "type": "string"
17828             }
17829           },
17830           "additionalProperties": false,
17831           "required": [
17832             "CharmResource",
17833             "id",
17834             "pending-id",
17835             "application",
17836             "username",
17837             "timestamp"
17838           ]
17839         },
17840         "ResourceResult": {
17841           "type": "object",
17842           "properties": {
17843             "ErrorResult": {
17844               "$ref": "#/definitions/ErrorResult"
17845             },
17846             "resource": {
17847               "$ref": "#/definitions/Resource"
17848             }
17849           },
17850           "additionalProperties": false,
17851           "required": [
17852             "ErrorResult",
17853             "resource"
17854           ]
17855         },
17856         "ResourcesResult": {
17857           "type": "object",
17858           "properties": {
17859             "ErrorResult": {
17860               "$ref": "#/definitions/ErrorResult"
17861             },
17862             "resources": {
17863               "type": "array",
17864               "items": {
17865                 "$ref": "#/definitions/ResourceResult"
17866               }
17867             }
17868           },
17869           "additionalProperties": false,
17870           "required": [
17871             "ErrorResult",
17872             "resources"
17873           ]
17874         }
17875       }
17876     }
17877   },
17878   {
17879     "Name": "Resumer",
17880     "Version": 2,
17881     "Schema": {
17882       "type": "object",
17883       "properties": {
17884         "ResumeTransactions": {
17885           "type": "object"
17886         }
17887       }
17888     }
17889   },
17890   {
17891     "Name": "RetryStrategy",
17892     "Version": 1,
17893     "Schema": {
17894       "type": "object",
17895       "properties": {
17896         "RetryStrategy": {
17897           "type": "object",
17898           "properties": {
17899             "Params": {
17900               "$ref": "#/definitions/Entities"
17901             },
17902             "Result": {
17903               "$ref": "#/definitions/RetryStrategyResults"
17904             }
17905           }
17906         },
17907         "WatchRetryStrategy": {
17908           "type": "object",
17909           "properties": {
17910             "Params": {
17911               "$ref": "#/definitions/Entities"
17912             },
17913             "Result": {
17914               "$ref": "#/definitions/NotifyWatchResults"
17915             }
17916           }
17917         }
17918       },
17919       "definitions": {
17920         "Entities": {
17921           "type": "object",
17922           "properties": {
17923             "entities": {
17924               "type": "array",
17925               "items": {
17926                 "$ref": "#/definitions/Entity"
17927               }
17928             }
17929           },
17930           "additionalProperties": false,
17931           "required": [
17932             "entities"
17933           ]
17934         },
17935         "Entity": {
17936           "type": "object",
17937           "properties": {
17938             "tag": {
17939               "type": "string"
17940             }
17941           },
17942           "additionalProperties": false,
17943           "required": [
17944             "tag"
17945           ]
17946         },
17947         "Error": {
17948           "type": "object",
17949           "properties": {
17950             "code": {
17951               "type": "string"
17952             },
17953             "info": {
17954               "$ref": "#/definitions/ErrorInfo"
17955             },
17956             "message": {
17957               "type": "string"
17958             }
17959           },
17960           "additionalProperties": false,
17961           "required": [
17962             "message",
17963             "code"
17964           ]
17965         },
17966         "ErrorInfo": {
17967           "type": "object",
17968           "properties": {
17969             "macaroon": {
17970               "$ref": "#/definitions/Macaroon"
17971             },
17972             "macaroon-path": {
17973               "type": "string"
17974             }
17975           },
17976           "additionalProperties": false
17977         },
17978         "Macaroon": {
17979           "type": "object",
17980           "additionalProperties": false
17981         },
17982         "NotifyWatchResult": {
17983           "type": "object",
17984           "properties": {
17985             "NotifyWatcherId": {
17986               "type": "string"
17987             },
17988             "error": {
17989               "$ref": "#/definitions/Error"
17990             }
17991           },
17992           "additionalProperties": false,
17993           "required": [
17994             "NotifyWatcherId"
17995           ]
17996         },
17997         "NotifyWatchResults": {
17998           "type": "object",
17999           "properties": {
18000             "results": {
18001               "type": "array",
18002               "items": {
18003                 "$ref": "#/definitions/NotifyWatchResult"
18004               }
18005             }
18006           },
18007           "additionalProperties": false,
18008           "required": [
18009             "results"
18010           ]
18011         },
18012         "RetryStrategy": {
18013           "type": "object",
18014           "properties": {
18015             "jitter-retry-time": {
18016               "type": "boolean"
18017             },
18018             "max-retry-time": {
18019               "type": "integer"
18020             },
18021             "min-retry-time": {
18022               "type": "integer"
18023             },
18024             "retry-time-factor": {
18025               "type": "integer"
18026             },
18027             "should-retry": {
18028               "type": "boolean"
18029             }
18030           },
18031           "additionalProperties": false,
18032           "required": [
18033             "should-retry",
18034             "min-retry-time",
18035             "max-retry-time",
18036             "jitter-retry-time",
18037             "retry-time-factor"
18038           ]
18039         },
18040         "RetryStrategyResult": {
18041           "type": "object",
18042           "properties": {
18043             "error": {
18044               "$ref": "#/definitions/Error"
18045             },
18046             "result": {
18047               "$ref": "#/definitions/RetryStrategy"
18048             }
18049           },
18050           "additionalProperties": false
18051         },
18052         "RetryStrategyResults": {
18053           "type": "object",
18054           "properties": {
18055             "results": {
18056               "type": "array",
18057               "items": {
18058                 "$ref": "#/definitions/RetryStrategyResult"
18059               }
18060             }
18061           },
18062           "additionalProperties": false,
18063           "required": [
18064             "results"
18065           ]
18066         }
18067       }
18068     }
18069   },
18070   {
18071     "Name": "SSHClient",
18072     "Version": 2,
18073     "Schema": {
18074       "type": "object",
18075       "properties": {
18076         "AllAddresses": {
18077           "type": "object",
18078           "properties": {
18079             "Params": {
18080               "$ref": "#/definitions/Entities"
18081             },
18082             "Result": {
18083               "$ref": "#/definitions/SSHAddressesResults"
18084             }
18085           }
18086         },
18087         "PrivateAddress": {
18088           "type": "object",
18089           "properties": {
18090             "Params": {
18091               "$ref": "#/definitions/Entities"
18092             },
18093             "Result": {
18094               "$ref": "#/definitions/SSHAddressResults"
18095             }
18096           }
18097         },
18098         "Proxy": {
18099           "type": "object",
18100           "properties": {
18101             "Result": {
18102               "$ref": "#/definitions/SSHProxyResult"
18103             }
18104           }
18105         },
18106         "PublicAddress": {
18107           "type": "object",
18108           "properties": {
18109             "Params": {
18110               "$ref": "#/definitions/Entities"
18111             },
18112             "Result": {
18113               "$ref": "#/definitions/SSHAddressResults"
18114             }
18115           }
18116         },
18117         "PublicKeys": {
18118           "type": "object",
18119           "properties": {
18120             "Params": {
18121               "$ref": "#/definitions/Entities"
18122             },
18123             "Result": {
18124               "$ref": "#/definitions/SSHPublicKeysResults"
18125             }
18126           }
18127         }
18128       },
18129       "definitions": {
18130         "Entities": {
18131           "type": "object",
18132           "properties": {
18133             "entities": {
18134               "type": "array",
18135               "items": {
18136                 "$ref": "#/definitions/Entity"
18137               }
18138             }
18139           },
18140           "additionalProperties": false,
18141           "required": [
18142             "entities"
18143           ]
18144         },
18145         "Entity": {
18146           "type": "object",
18147           "properties": {
18148             "tag": {
18149               "type": "string"
18150             }
18151           },
18152           "additionalProperties": false,
18153           "required": [
18154             "tag"
18155           ]
18156         },
18157         "Error": {
18158           "type": "object",
18159           "properties": {
18160             "code": {
18161               "type": "string"
18162             },
18163             "info": {
18164               "$ref": "#/definitions/ErrorInfo"
18165             },
18166             "message": {
18167               "type": "string"
18168             }
18169           },
18170           "additionalProperties": false,
18171           "required": [
18172             "message",
18173             "code"
18174           ]
18175         },
18176         "ErrorInfo": {
18177           "type": "object",
18178           "properties": {
18179             "macaroon": {
18180               "$ref": "#/definitions/Macaroon"
18181             },
18182             "macaroon-path": {
18183               "type": "string"
18184             }
18185           },
18186           "additionalProperties": false
18187         },
18188         "Macaroon": {
18189           "type": "object",
18190           "additionalProperties": false
18191         },
18192         "SSHAddressResult": {
18193           "type": "object",
18194           "properties": {
18195             "address": {
18196               "type": "string"
18197             },
18198             "error": {
18199               "$ref": "#/definitions/Error"
18200             }
18201           },
18202           "additionalProperties": false
18203         },
18204         "SSHAddressResults": {
18205           "type": "object",
18206           "properties": {
18207             "results": {
18208               "type": "array",
18209               "items": {
18210                 "$ref": "#/definitions/SSHAddressResult"
18211               }
18212             }
18213           },
18214           "additionalProperties": false,
18215           "required": [
18216             "results"
18217           ]
18218         },
18219         "SSHAddressesResult": {
18220           "type": "object",
18221           "properties": {
18222             "addresses": {
18223               "type": "array",
18224               "items": {
18225                 "type": "string"
18226               }
18227             },
18228             "error": {
18229               "$ref": "#/definitions/Error"
18230             }
18231           },
18232           "additionalProperties": false,
18233           "required": [
18234             "addresses"
18235           ]
18236         },
18237         "SSHAddressesResults": {
18238           "type": "object",
18239           "properties": {
18240             "results": {
18241               "type": "array",
18242               "items": {
18243                 "$ref": "#/definitions/SSHAddressesResult"
18244               }
18245             }
18246           },
18247           "additionalProperties": false,
18248           "required": [
18249             "results"
18250           ]
18251         },
18252         "SSHProxyResult": {
18253           "type": "object",
18254           "properties": {
18255             "use-proxy": {
18256               "type": "boolean"
18257             }
18258           },
18259           "additionalProperties": false,
18260           "required": [
18261             "use-proxy"
18262           ]
18263         },
18264         "SSHPublicKeysResult": {
18265           "type": "object",
18266           "properties": {
18267             "error": {
18268               "$ref": "#/definitions/Error"
18269             },
18270             "public-keys": {
18271               "type": "array",
18272               "items": {
18273                 "type": "string"
18274               }
18275             }
18276           },
18277           "additionalProperties": false
18278         },
18279         "SSHPublicKeysResults": {
18280           "type": "object",
18281           "properties": {
18282             "results": {
18283               "type": "array",
18284               "items": {
18285                 "$ref": "#/definitions/SSHPublicKeysResult"
18286               }
18287             }
18288           },
18289           "additionalProperties": false,
18290           "required": [
18291             "results"
18292           ]
18293         }
18294       }
18295     }
18296   },
18297   {
18298     "Name": "Singular",
18299     "Version": 1,
18300     "Schema": {
18301       "type": "object",
18302       "properties": {
18303         "Claim": {
18304           "type": "object",
18305           "properties": {
18306             "Params": {
18307               "$ref": "#/definitions/SingularClaims"
18308             },
18309             "Result": {
18310               "$ref": "#/definitions/ErrorResults"
18311             }
18312           }
18313         },
18314         "Wait": {
18315           "type": "object",
18316           "properties": {
18317             "Params": {
18318               "$ref": "#/definitions/Entities"
18319             },
18320             "Result": {
18321               "$ref": "#/definitions/ErrorResults"
18322             }
18323           }
18324         }
18325       },
18326       "definitions": {
18327         "Entities": {
18328           "type": "object",
18329           "properties": {
18330             "entities": {
18331               "type": "array",
18332               "items": {
18333                 "$ref": "#/definitions/Entity"
18334               }
18335             }
18336           },
18337           "additionalProperties": false,
18338           "required": [
18339             "entities"
18340           ]
18341         },
18342         "Entity": {
18343           "type": "object",
18344           "properties": {
18345             "tag": {
18346               "type": "string"
18347             }
18348           },
18349           "additionalProperties": false,
18350           "required": [
18351             "tag"
18352           ]
18353         },
18354         "Error": {
18355           "type": "object",
18356           "properties": {
18357             "code": {
18358               "type": "string"
18359             },
18360             "info": {
18361               "$ref": "#/definitions/ErrorInfo"
18362             },
18363             "message": {
18364               "type": "string"
18365             }
18366           },
18367           "additionalProperties": false,
18368           "required": [
18369             "message",
18370             "code"
18371           ]
18372         },
18373         "ErrorInfo": {
18374           "type": "object",
18375           "properties": {
18376             "macaroon": {
18377               "$ref": "#/definitions/Macaroon"
18378             },
18379             "macaroon-path": {
18380               "type": "string"
18381             }
18382           },
18383           "additionalProperties": false
18384         },
18385         "ErrorResult": {
18386           "type": "object",
18387           "properties": {
18388             "error": {
18389               "$ref": "#/definitions/Error"
18390             }
18391           },
18392           "additionalProperties": false
18393         },
18394         "ErrorResults": {
18395           "type": "object",
18396           "properties": {
18397             "results": {
18398               "type": "array",
18399               "items": {
18400                 "$ref": "#/definitions/ErrorResult"
18401               }
18402             }
18403           },
18404           "additionalProperties": false,
18405           "required": [
18406             "results"
18407           ]
18408         },
18409         "Macaroon": {
18410           "type": "object",
18411           "additionalProperties": false
18412         },
18413         "SingularClaim": {
18414           "type": "object",
18415           "properties": {
18416             "controller-tag": {
18417               "type": "string"
18418             },
18419             "duration": {
18420               "type": "integer"
18421             },
18422             "model-tag": {
18423               "type": "string"
18424             }
18425           },
18426           "additionalProperties": false,
18427           "required": [
18428             "model-tag",
18429             "controller-tag",
18430             "duration"
18431           ]
18432         },
18433         "SingularClaims": {
18434           "type": "object",
18435           "properties": {
18436             "claims": {
18437               "type": "array",
18438               "items": {
18439                 "$ref": "#/definitions/SingularClaim"
18440               }
18441             }
18442           },
18443           "additionalProperties": false,
18444           "required": [
18445             "claims"
18446           ]
18447         }
18448       }
18449     }
18450   },
18451   {
18452     "Name": "Spaces",
18453     "Version": 2,
18454     "Schema": {
18455       "type": "object",
18456       "properties": {
18457         "CreateSpaces": {
18458           "type": "object",
18459           "properties": {
18460             "Params": {
18461               "$ref": "#/definitions/CreateSpacesParams"
18462             },
18463             "Result": {
18464               "$ref": "#/definitions/ErrorResults"
18465             }
18466           }
18467         },
18468         "ListSpaces": {
18469           "type": "object",
18470           "properties": {
18471             "Result": {
18472               "$ref": "#/definitions/ListSpacesResults"
18473             }
18474           }
18475         }
18476       },
18477       "definitions": {
18478         "CreateSpaceParams": {
18479           "type": "object",
18480           "properties": {
18481             "provider-id": {
18482               "type": "string"
18483             },
18484             "public": {
18485               "type": "boolean"
18486             },
18487             "space-tag": {
18488               "type": "string"
18489             },
18490             "subnet-tags": {
18491               "type": "array",
18492               "items": {
18493                 "type": "string"
18494               }
18495             }
18496           },
18497           "additionalProperties": false,
18498           "required": [
18499             "subnet-tags",
18500             "space-tag",
18501             "public"
18502           ]
18503         },
18504         "CreateSpacesParams": {
18505           "type": "object",
18506           "properties": {
18507             "spaces": {
18508               "type": "array",
18509               "items": {
18510                 "$ref": "#/definitions/CreateSpaceParams"
18511               }
18512             }
18513           },
18514           "additionalProperties": false,
18515           "required": [
18516             "spaces"
18517           ]
18518         },
18519         "Error": {
18520           "type": "object",
18521           "properties": {
18522             "code": {
18523               "type": "string"
18524             },
18525             "info": {
18526               "$ref": "#/definitions/ErrorInfo"
18527             },
18528             "message": {
18529               "type": "string"
18530             }
18531           },
18532           "additionalProperties": false,
18533           "required": [
18534             "message",
18535             "code"
18536           ]
18537         },
18538         "ErrorInfo": {
18539           "type": "object",
18540           "properties": {
18541             "macaroon": {
18542               "$ref": "#/definitions/Macaroon"
18543             },
18544             "macaroon-path": {
18545               "type": "string"
18546             }
18547           },
18548           "additionalProperties": false
18549         },
18550         "ErrorResult": {
18551           "type": "object",
18552           "properties": {
18553             "error": {
18554               "$ref": "#/definitions/Error"
18555             }
18556           },
18557           "additionalProperties": false
18558         },
18559         "ErrorResults": {
18560           "type": "object",
18561           "properties": {
18562             "results": {
18563               "type": "array",
18564               "items": {
18565                 "$ref": "#/definitions/ErrorResult"
18566               }
18567             }
18568           },
18569           "additionalProperties": false,
18570           "required": [
18571             "results"
18572           ]
18573         },
18574         "ListSpacesResults": {
18575           "type": "object",
18576           "properties": {
18577             "results": {
18578               "type": "array",
18579               "items": {
18580                 "$ref": "#/definitions/Space"
18581               }
18582             }
18583           },
18584           "additionalProperties": false,
18585           "required": [
18586             "results"
18587           ]
18588         },
18589         "Macaroon": {
18590           "type": "object",
18591           "additionalProperties": false
18592         },
18593         "Space": {
18594           "type": "object",
18595           "properties": {
18596             "error": {
18597               "$ref": "#/definitions/Error"
18598             },
18599             "name": {
18600               "type": "string"
18601             },
18602             "subnets": {
18603               "type": "array",
18604               "items": {
18605                 "$ref": "#/definitions/Subnet"
18606               }
18607             }
18608           },
18609           "additionalProperties": false,
18610           "required": [
18611             "name",
18612             "subnets"
18613           ]
18614         },
18615         "Subnet": {
18616           "type": "object",
18617           "properties": {
18618             "cidr": {
18619               "type": "string"
18620             },
18621             "life": {
18622               "type": "string"
18623             },
18624             "provider-id": {
18625               "type": "string"
18626             },
18627             "space-tag": {
18628               "type": "string"
18629             },
18630             "status": {
18631               "type": "string"
18632             },
18633             "vlan-tag": {
18634               "type": "integer"
18635             },
18636             "zones": {
18637               "type": "array",
18638               "items": {
18639                 "type": "string"
18640               }
18641             }
18642           },
18643           "additionalProperties": false,
18644           "required": [
18645             "cidr",
18646             "vlan-tag",
18647             "life",
18648             "space-tag",
18649             "zones"
18650           ]
18651         }
18652       }
18653     }
18654   },
18655   {
18656     "Name": "StatusHistory",
18657     "Version": 2,
18658     "Schema": {
18659       "type": "object",
18660       "properties": {
18661         "Prune": {
18662           "type": "object",
18663           "properties": {
18664             "Params": {
18665               "$ref": "#/definitions/StatusHistoryPruneArgs"
18666             }
18667           }
18668         }
18669       },
18670       "definitions": {
18671         "StatusHistoryPruneArgs": {
18672           "type": "object",
18673           "properties": {
18674             "max-history-mb": {
18675               "type": "integer"
18676             },
18677             "max-history-time": {
18678               "type": "integer"
18679             }
18680           },
18681           "additionalProperties": false,
18682           "required": [
18683             "max-history-time",
18684             "max-history-mb"
18685           ]
18686         }
18687       }
18688     }
18689   },
18690   {
18691     "Name": "Storage",
18692     "Version": 3,
18693     "Schema": {
18694       "type": "object",
18695       "properties": {
18696         "AddToUnit": {
18697           "type": "object",
18698           "properties": {
18699             "Params": {
18700               "$ref": "#/definitions/StoragesAddParams"
18701             },
18702             "Result": {
18703               "$ref": "#/definitions/ErrorResults"
18704             }
18705           }
18706         },
18707         "CreatePool": {
18708           "type": "object",
18709           "properties": {
18710             "Params": {
18711               "$ref": "#/definitions/StoragePool"
18712             }
18713           }
18714         },
18715         "ListFilesystems": {
18716           "type": "object",
18717           "properties": {
18718             "Params": {
18719               "$ref": "#/definitions/FilesystemFilters"
18720             },
18721             "Result": {
18722               "$ref": "#/definitions/FilesystemDetailsListResults"
18723             }
18724           }
18725         },
18726         "ListPools": {
18727           "type": "object",
18728           "properties": {
18729             "Params": {
18730               "$ref": "#/definitions/StoragePoolFilters"
18731             },
18732             "Result": {
18733               "$ref": "#/definitions/StoragePoolsResults"
18734             }
18735           }
18736         },
18737         "ListStorageDetails": {
18738           "type": "object",
18739           "properties": {
18740             "Params": {
18741               "$ref": "#/definitions/StorageFilters"
18742             },
18743             "Result": {
18744               "$ref": "#/definitions/StorageDetailsListResults"
18745             }
18746           }
18747         },
18748         "ListVolumes": {
18749           "type": "object",
18750           "properties": {
18751             "Params": {
18752               "$ref": "#/definitions/VolumeFilters"
18753             },
18754             "Result": {
18755               "$ref": "#/definitions/VolumeDetailsListResults"
18756             }
18757           }
18758         },
18759         "StorageDetails": {
18760           "type": "object",
18761           "properties": {
18762             "Params": {
18763               "$ref": "#/definitions/Entities"
18764             },
18765             "Result": {
18766               "$ref": "#/definitions/StorageDetailsResults"
18767             }
18768           }
18769         }
18770       },
18771       "definitions": {
18772         "Entities": {
18773           "type": "object",
18774           "properties": {
18775             "entities": {
18776               "type": "array",
18777               "items": {
18778                 "$ref": "#/definitions/Entity"
18779               }
18780             }
18781           },
18782           "additionalProperties": false,
18783           "required": [
18784             "entities"
18785           ]
18786         },
18787         "Entity": {
18788           "type": "object",
18789           "properties": {
18790             "tag": {
18791               "type": "string"
18792             }
18793           },
18794           "additionalProperties": false,
18795           "required": [
18796             "tag"
18797           ]
18798         },
18799         "EntityStatus": {
18800           "type": "object",
18801           "properties": {
18802             "data": {
18803               "type": "object",
18804               "patternProperties": {
18805                 ".*": {
18806                   "type": "object",
18807                   "additionalProperties": true
18808                 }
18809               }
18810             },
18811             "info": {
18812               "type": "string"
18813             },
18814             "since": {
18815               "type": "string",
18816               "format": "date-time"
18817             },
18818             "status": {
18819               "type": "string"
18820             }
18821           },
18822           "additionalProperties": false,
18823           "required": [
18824             "status",
18825             "info",
18826             "since"
18827           ]
18828         },
18829         "Error": {
18830           "type": "object",
18831           "properties": {
18832             "code": {
18833               "type": "string"
18834             },
18835             "info": {
18836               "$ref": "#/definitions/ErrorInfo"
18837             },
18838             "message": {
18839               "type": "string"
18840             }
18841           },
18842           "additionalProperties": false,
18843           "required": [
18844             "message",
18845             "code"
18846           ]
18847         },
18848         "ErrorInfo": {
18849           "type": "object",
18850           "properties": {
18851             "macaroon": {
18852               "$ref": "#/definitions/Macaroon"
18853             },
18854             "macaroon-path": {
18855               "type": "string"
18856             }
18857           },
18858           "additionalProperties": false
18859         },
18860         "ErrorResult": {
18861           "type": "object",
18862           "properties": {
18863             "error": {
18864               "$ref": "#/definitions/Error"
18865             }
18866           },
18867           "additionalProperties": false
18868         },
18869         "ErrorResults": {
18870           "type": "object",
18871           "properties": {
18872             "results": {
18873               "type": "array",
18874               "items": {
18875                 "$ref": "#/definitions/ErrorResult"
18876               }
18877             }
18878           },
18879           "additionalProperties": false,
18880           "required": [
18881             "results"
18882           ]
18883         },
18884         "FilesystemAttachmentInfo": {
18885           "type": "object",
18886           "properties": {
18887             "mount-point": {
18888               "type": "string"
18889             },
18890             "read-only": {
18891               "type": "boolean"
18892             }
18893           },
18894           "additionalProperties": false
18895         },
18896         "FilesystemDetails": {
18897           "type": "object",
18898           "properties": {
18899             "filesystem-tag": {
18900               "type": "string"
18901             },
18902             "info": {
18903               "$ref": "#/definitions/FilesystemInfo"
18904             },
18905             "machine-attachments": {
18906               "type": "object",
18907               "patternProperties": {
18908                 ".*": {
18909                   "$ref": "#/definitions/FilesystemAttachmentInfo"
18910                 }
18911               }
18912             },
18913             "status": {
18914               "$ref": "#/definitions/EntityStatus"
18915             },
18916             "storage": {
18917               "$ref": "#/definitions/StorageDetails"
18918             },
18919             "volume-tag": {
18920               "type": "string"
18921             }
18922           },
18923           "additionalProperties": false,
18924           "required": [
18925             "filesystem-tag",
18926             "info",
18927             "status"
18928           ]
18929         },
18930         "FilesystemDetailsListResult": {
18931           "type": "object",
18932           "properties": {
18933             "error": {
18934               "$ref": "#/definitions/Error"
18935             },
18936             "result": {
18937               "type": "array",
18938               "items": {
18939                 "$ref": "#/definitions/FilesystemDetails"
18940               }
18941             }
18942           },
18943           "additionalProperties": false
18944         },
18945         "FilesystemDetailsListResults": {
18946           "type": "object",
18947           "properties": {
18948             "results": {
18949               "type": "array",
18950               "items": {
18951                 "$ref": "#/definitions/FilesystemDetailsListResult"
18952               }
18953             }
18954           },
18955           "additionalProperties": false
18956         },
18957         "FilesystemFilter": {
18958           "type": "object",
18959           "properties": {
18960             "machines": {
18961               "type": "array",
18962               "items": {
18963                 "type": "string"
18964               }
18965             }
18966           },
18967           "additionalProperties": false
18968         },
18969         "FilesystemFilters": {
18970           "type": "object",
18971           "properties": {
18972             "filters": {
18973               "type": "array",
18974               "items": {
18975                 "$ref": "#/definitions/FilesystemFilter"
18976               }
18977             }
18978           },
18979           "additionalProperties": false
18980         },
18981         "FilesystemInfo": {
18982           "type": "object",
18983           "properties": {
18984             "filesystem-id": {
18985               "type": "string"
18986             },
18987             "size": {
18988               "type": "integer"
18989             }
18990           },
18991           "additionalProperties": false,
18992           "required": [
18993             "filesystem-id",
18994             "size"
18995           ]
18996         },
18997         "Macaroon": {
18998           "type": "object",
18999           "additionalProperties": false
19000         },
19001         "StorageAddParams": {
19002           "type": "object",
19003           "properties": {
19004             "name": {
19005               "type": "string"
19006             },
19007             "storage": {
19008               "$ref": "#/definitions/StorageConstraints"
19009             },
19010             "unit": {
19011               "type": "string"
19012             }
19013           },
19014           "additionalProperties": false,
19015           "required": [
19016             "unit",
19017             "name",
19018             "storage"
19019           ]
19020         },
19021         "StorageAttachmentDetails": {
19022           "type": "object",
19023           "properties": {
19024             "location": {
19025               "type": "string"
19026             },
19027             "machine-tag": {
19028               "type": "string"
19029             },
19030             "storage-tag": {
19031               "type": "string"
19032             },
19033             "unit-tag": {
19034               "type": "string"
19035             }
19036           },
19037           "additionalProperties": false,
19038           "required": [
19039             "storage-tag",
19040             "unit-tag",
19041             "machine-tag"
19042           ]
19043         },
19044         "StorageConstraints": {
19045           "type": "object",
19046           "properties": {
19047             "count": {
19048               "type": "integer"
19049             },
19050             "pool": {
19051               "type": "string"
19052             },
19053             "size": {
19054               "type": "integer"
19055             }
19056           },
19057           "additionalProperties": false
19058         },
19059         "StorageDetails": {
19060           "type": "object",
19061           "properties": {
19062             "attachments": {
19063               "type": "object",
19064               "patternProperties": {
19065                 ".*": {
19066                   "$ref": "#/definitions/StorageAttachmentDetails"
19067                 }
19068               }
19069             },
19070             "kind": {
19071               "type": "integer"
19072             },
19073             "owner-tag": {
19074               "type": "string"
19075             },
19076             "persistent": {
19077               "type": "boolean"
19078             },
19079             "status": {
19080               "$ref": "#/definitions/EntityStatus"
19081             },
19082             "storage-tag": {
19083               "type": "string"
19084             }
19085           },
19086           "additionalProperties": false,
19087           "required": [
19088             "storage-tag",
19089             "owner-tag",
19090             "kind",
19091             "status",
19092             "persistent"
19093           ]
19094         },
19095         "StorageDetailsListResult": {
19096           "type": "object",
19097           "properties": {
19098             "error": {
19099               "$ref": "#/definitions/Error"
19100             },
19101             "result": {
19102               "type": "array",
19103               "items": {
19104                 "$ref": "#/definitions/StorageDetails"
19105               }
19106             }
19107           },
19108           "additionalProperties": false
19109         },
19110         "StorageDetailsListResults": {
19111           "type": "object",
19112           "properties": {
19113             "results": {
19114               "type": "array",
19115               "items": {
19116                 "$ref": "#/definitions/StorageDetailsListResult"
19117               }
19118             }
19119           },
19120           "additionalProperties": false
19121         },
19122         "StorageDetailsResult": {
19123           "type": "object",
19124           "properties": {
19125             "error": {
19126               "$ref": "#/definitions/Error"
19127             },
19128             "result": {
19129               "$ref": "#/definitions/StorageDetails"
19130             }
19131           },
19132           "additionalProperties": false
19133         },
19134         "StorageDetailsResults": {
19135           "type": "object",
19136           "properties": {
19137             "results": {
19138               "type": "array",
19139               "items": {
19140                 "$ref": "#/definitions/StorageDetailsResult"
19141               }
19142             }
19143           },
19144           "additionalProperties": false
19145         },
19146         "StorageFilter": {
19147           "type": "object",
19148           "additionalProperties": false
19149         },
19150         "StorageFilters": {
19151           "type": "object",
19152           "properties": {
19153             "filters": {
19154               "type": "array",
19155               "items": {
19156                 "$ref": "#/definitions/StorageFilter"
19157               }
19158             }
19159           },
19160           "additionalProperties": false
19161         },
19162         "StoragePool": {
19163           "type": "object",
19164           "properties": {
19165             "attrs": {
19166               "type": "object",
19167               "patternProperties": {
19168                 ".*": {
19169                   "type": "object",
19170                   "additionalProperties": true
19171                 }
19172               }
19173             },
19174             "name": {
19175               "type": "string"
19176             },
19177             "provider": {
19178               "type": "string"
19179             }
19180           },
19181           "additionalProperties": false,
19182           "required": [
19183             "name",
19184             "provider",
19185             "attrs"
19186           ]
19187         },
19188         "StoragePoolFilter": {
19189           "type": "object",
19190           "properties": {
19191             "names": {
19192               "type": "array",
19193               "items": {
19194                 "type": "string"
19195               }
19196             },
19197             "providers": {
19198               "type": "array",
19199               "items": {
19200                 "type": "string"
19201               }
19202             }
19203           },
19204           "additionalProperties": false
19205         },
19206         "StoragePoolFilters": {
19207           "type": "object",
19208           "properties": {
19209             "filters": {
19210               "type": "array",
19211               "items": {
19212                 "$ref": "#/definitions/StoragePoolFilter"
19213               }
19214             }
19215           },
19216           "additionalProperties": false
19217         },
19218         "StoragePoolsResult": {
19219           "type": "object",
19220           "properties": {
19221             "error": {
19222               "$ref": "#/definitions/Error"
19223             },
19224             "storage-pools": {
19225               "type": "array",
19226               "items": {
19227                 "$ref": "#/definitions/StoragePool"
19228               }
19229             }
19230           },
19231           "additionalProperties": false
19232         },
19233         "StoragePoolsResults": {
19234           "type": "object",
19235           "properties": {
19236             "results": {
19237               "type": "array",
19238               "items": {
19239                 "$ref": "#/definitions/StoragePoolsResult"
19240               }
19241             }
19242           },
19243           "additionalProperties": false
19244         },
19245         "StoragesAddParams": {
19246           "type": "object",
19247           "properties": {
19248             "storages": {
19249               "type": "array",
19250               "items": {
19251                 "$ref": "#/definitions/StorageAddParams"
19252               }
19253             }
19254           },
19255           "additionalProperties": false,
19256           "required": [
19257             "storages"
19258           ]
19259         },
19260         "VolumeAttachmentInfo": {
19261           "type": "object",
19262           "properties": {
19263             "bus-address": {
19264               "type": "string"
19265             },
19266             "device-link": {
19267               "type": "string"
19268             },
19269             "device-name": {
19270               "type": "string"
19271             },
19272             "read-only": {
19273               "type": "boolean"
19274             }
19275           },
19276           "additionalProperties": false
19277         },
19278         "VolumeDetails": {
19279           "type": "object",
19280           "properties": {
19281             "info": {
19282               "$ref": "#/definitions/VolumeInfo"
19283             },
19284             "machine-attachments": {
19285               "type": "object",
19286               "patternProperties": {
19287                 ".*": {
19288                   "$ref": "#/definitions/VolumeAttachmentInfo"
19289                 }
19290               }
19291             },
19292             "status": {
19293               "$ref": "#/definitions/EntityStatus"
19294             },
19295             "storage": {
19296               "$ref": "#/definitions/StorageDetails"
19297             },
19298             "volume-tag": {
19299               "type": "string"
19300             }
19301           },
19302           "additionalProperties": false,
19303           "required": [
19304             "volume-tag",
19305             "info",
19306             "status"
19307           ]
19308         },
19309         "VolumeDetailsListResult": {
19310           "type": "object",
19311           "properties": {
19312             "error": {
19313               "$ref": "#/definitions/Error"
19314             },
19315             "result": {
19316               "type": "array",
19317               "items": {
19318                 "$ref": "#/definitions/VolumeDetails"
19319               }
19320             }
19321           },
19322           "additionalProperties": false
19323         },
19324         "VolumeDetailsListResults": {
19325           "type": "object",
19326           "properties": {
19327             "results": {
19328               "type": "array",
19329               "items": {
19330                 "$ref": "#/definitions/VolumeDetailsListResult"
19331               }
19332             }
19333           },
19334           "additionalProperties": false
19335         },
19336         "VolumeFilter": {
19337           "type": "object",
19338           "properties": {
19339             "machines": {
19340               "type": "array",
19341               "items": {
19342                 "type": "string"
19343               }
19344             }
19345           },
19346           "additionalProperties": false
19347         },
19348         "VolumeFilters": {
19349           "type": "object",
19350           "properties": {
19351             "filters": {
19352               "type": "array",
19353               "items": {
19354                 "$ref": "#/definitions/VolumeFilter"
19355               }
19356             }
19357           },
19358           "additionalProperties": false
19359         },
19360         "VolumeInfo": {
19361           "type": "object",
19362           "properties": {
19363             "hardware-id": {
19364               "type": "string"
19365             },
19366             "persistent": {
19367               "type": "boolean"
19368             },
19369             "size": {
19370               "type": "integer"
19371             },
19372             "volume-id": {
19373               "type": "string"
19374             }
19375           },
19376           "additionalProperties": false,
19377           "required": [
19378             "volume-id",
19379             "size",
19380             "persistent"
19381           ]
19382         }
19383       }
19384     }
19385   },
19386   {
19387     "Name": "StorageProvisioner",
19388     "Version": 3,
19389     "Schema": {
19390       "type": "object",
19391       "properties": {
19392         "AttachmentLife": {
19393           "type": "object",
19394           "properties": {
19395             "Params": {
19396               "$ref": "#/definitions/MachineStorageIds"
19397             },
19398             "Result": {
19399               "$ref": "#/definitions/LifeResults"
19400             }
19401           }
19402         },
19403         "EnsureDead": {
19404           "type": "object",
19405           "properties": {
19406             "Params": {
19407               "$ref": "#/definitions/Entities"
19408             },
19409             "Result": {
19410               "$ref": "#/definitions/ErrorResults"
19411             }
19412           }
19413         },
19414         "FilesystemAttachmentParams": {
19415           "type": "object",
19416           "properties": {
19417             "Params": {
19418               "$ref": "#/definitions/MachineStorageIds"
19419             },
19420             "Result": {
19421               "$ref": "#/definitions/FilesystemAttachmentParamsResults"
19422             }
19423           }
19424         },
19425         "FilesystemAttachments": {
19426           "type": "object",
19427           "properties": {
19428             "Params": {
19429               "$ref": "#/definitions/MachineStorageIds"
19430             },
19431             "Result": {
19432               "$ref": "#/definitions/FilesystemAttachmentResults"
19433             }
19434           }
19435         },
19436         "FilesystemParams": {
19437           "type": "object",
19438           "properties": {
19439             "Params": {
19440               "$ref": "#/definitions/Entities"
19441             },
19442             "Result": {
19443               "$ref": "#/definitions/FilesystemParamsResults"
19444             }
19445           }
19446         },
19447         "Filesystems": {
19448           "type": "object",
19449           "properties": {
19450             "Params": {
19451               "$ref": "#/definitions/Entities"
19452             },
19453             "Result": {
19454               "$ref": "#/definitions/FilesystemResults"
19455             }
19456           }
19457         },
19458         "InstanceId": {
19459           "type": "object",
19460           "properties": {
19461             "Params": {
19462               "$ref": "#/definitions/Entities"
19463             },
19464             "Result": {
19465               "$ref": "#/definitions/StringResults"
19466             }
19467           }
19468         },
19469         "Life": {
19470           "type": "object",
19471           "properties": {
19472             "Params": {
19473               "$ref": "#/definitions/Entities"
19474             },
19475             "Result": {
19476               "$ref": "#/definitions/LifeResults"
19477             }
19478           }
19479         },
19480         "Remove": {
19481           "type": "object",
19482           "properties": {
19483             "Params": {
19484               "$ref": "#/definitions/Entities"
19485             },
19486             "Result": {
19487               "$ref": "#/definitions/ErrorResults"
19488             }
19489           }
19490         },
19491         "RemoveAttachment": {
19492           "type": "object",
19493           "properties": {
19494             "Params": {
19495               "$ref": "#/definitions/MachineStorageIds"
19496             },
19497             "Result": {
19498               "$ref": "#/definitions/ErrorResults"
19499             }
19500           }
19501         },
19502         "SetFilesystemAttachmentInfo": {
19503           "type": "object",
19504           "properties": {
19505             "Params": {
19506               "$ref": "#/definitions/FilesystemAttachments"
19507             },
19508             "Result": {
19509               "$ref": "#/definitions/ErrorResults"
19510             }
19511           }
19512         },
19513         "SetFilesystemInfo": {
19514           "type": "object",
19515           "properties": {
19516             "Params": {
19517               "$ref": "#/definitions/Filesystems"
19518             },
19519             "Result": {
19520               "$ref": "#/definitions/ErrorResults"
19521             }
19522           }
19523         },
19524         "SetStatus": {
19525           "type": "object",
19526           "properties": {
19527             "Params": {
19528               "$ref": "#/definitions/SetStatus"
19529             },
19530             "Result": {
19531               "$ref": "#/definitions/ErrorResults"
19532             }
19533           }
19534         },
19535         "SetVolumeAttachmentInfo": {
19536           "type": "object",
19537           "properties": {
19538             "Params": {
19539               "$ref": "#/definitions/VolumeAttachments"
19540             },
19541             "Result": {
19542               "$ref": "#/definitions/ErrorResults"
19543             }
19544           }
19545         },
19546         "SetVolumeInfo": {
19547           "type": "object",
19548           "properties": {
19549             "Params": {
19550               "$ref": "#/definitions/Volumes"
19551             },
19552             "Result": {
19553               "$ref": "#/definitions/ErrorResults"
19554             }
19555           }
19556         },
19557         "UpdateStatus": {
19558           "type": "object",
19559           "properties": {
19560             "Params": {
19561               "$ref": "#/definitions/SetStatus"
19562             },
19563             "Result": {
19564               "$ref": "#/definitions/ErrorResults"
19565             }
19566           }
19567         },
19568         "VolumeAttachmentParams": {
19569           "type": "object",
19570           "properties": {
19571             "Params": {
19572               "$ref": "#/definitions/MachineStorageIds"
19573             },
19574             "Result": {
19575               "$ref": "#/definitions/VolumeAttachmentParamsResults"
19576             }
19577           }
19578         },
19579         "VolumeAttachments": {
19580           "type": "object",
19581           "properties": {
19582             "Params": {
19583               "$ref": "#/definitions/MachineStorageIds"
19584             },
19585             "Result": {
19586               "$ref": "#/definitions/VolumeAttachmentResults"
19587             }
19588           }
19589         },
19590         "VolumeBlockDevices": {
19591           "type": "object",
19592           "properties": {
19593             "Params": {
19594               "$ref": "#/definitions/MachineStorageIds"
19595             },
19596             "Result": {
19597               "$ref": "#/definitions/BlockDeviceResults"
19598             }
19599           }
19600         },
19601         "VolumeParams": {
19602           "type": "object",
19603           "properties": {
19604             "Params": {
19605               "$ref": "#/definitions/Entities"
19606             },
19607             "Result": {
19608               "$ref": "#/definitions/VolumeParamsResults"
19609             }
19610           }
19611         },
19612         "Volumes": {
19613           "type": "object",
19614           "properties": {
19615             "Params": {
19616               "$ref": "#/definitions/Entities"
19617             },
19618             "Result": {
19619               "$ref": "#/definitions/VolumeResults"
19620             }
19621           }
19622         },
19623         "WatchBlockDevices": {
19624           "type": "object",
19625           "properties": {
19626             "Params": {
19627               "$ref": "#/definitions/Entities"
19628             },
19629             "Result": {
19630               "$ref": "#/definitions/NotifyWatchResults"
19631             }
19632           }
19633         },
19634         "WatchFilesystemAttachments": {
19635           "type": "object",
19636           "properties": {
19637             "Params": {
19638               "$ref": "#/definitions/Entities"
19639             },
19640             "Result": {
19641               "$ref": "#/definitions/MachineStorageIdsWatchResults"
19642             }
19643           }
19644         },
19645         "WatchFilesystems": {
19646           "type": "object",
19647           "properties": {
19648             "Params": {
19649               "$ref": "#/definitions/Entities"
19650             },
19651             "Result": {
19652               "$ref": "#/definitions/StringsWatchResults"
19653             }
19654           }
19655         },
19656         "WatchMachines": {
19657           "type": "object",
19658           "properties": {
19659             "Params": {
19660               "$ref": "#/definitions/Entities"
19661             },
19662             "Result": {
19663               "$ref": "#/definitions/NotifyWatchResults"
19664             }
19665           }
19666         },
19667         "WatchVolumeAttachments": {
19668           "type": "object",
19669           "properties": {
19670             "Params": {
19671               "$ref": "#/definitions/Entities"
19672             },
19673             "Result": {
19674               "$ref": "#/definitions/MachineStorageIdsWatchResults"
19675             }
19676           }
19677         },
19678         "WatchVolumes": {
19679           "type": "object",
19680           "properties": {
19681             "Params": {
19682               "$ref": "#/definitions/Entities"
19683             },
19684             "Result": {
19685               "$ref": "#/definitions/StringsWatchResults"
19686             }
19687           }
19688         }
19689       },
19690       "definitions": {
19691         "BlockDevice": {
19692           "type": "object",
19693           "properties": {
19694             "BusAddress": {
19695               "type": "string"
19696             },
19697             "DeviceLinks": {
19698               "type": "array",
19699               "items": {
19700                 "type": "string"
19701               }
19702             },
19703             "DeviceName": {
19704               "type": "string"
19705             },
19706             "FilesystemType": {
19707               "type": "string"
19708             },
19709             "HardwareId": {
19710               "type": "string"
19711             },
19712             "InUse": {
19713               "type": "boolean"
19714             },
19715             "Label": {
19716               "type": "string"
19717             },
19718             "MountPoint": {
19719               "type": "string"
19720             },
19721             "Size": {
19722               "type": "integer"
19723             },
19724             "UUID": {
19725               "type": "string"
19726             }
19727           },
19728           "additionalProperties": false,
19729           "required": [
19730             "DeviceName",
19731             "DeviceLinks",
19732             "Label",
19733             "UUID",
19734             "HardwareId",
19735             "BusAddress",
19736             "Size",
19737             "FilesystemType",
19738             "InUse",
19739             "MountPoint"
19740           ]
19741         },
19742         "BlockDeviceResult": {
19743           "type": "object",
19744           "properties": {
19745             "error": {
19746               "$ref": "#/definitions/Error"
19747             },
19748             "result": {
19749               "$ref": "#/definitions/BlockDevice"
19750             }
19751           },
19752           "additionalProperties": false,
19753           "required": [
19754             "result"
19755           ]
19756         },
19757         "BlockDeviceResults": {
19758           "type": "object",
19759           "properties": {
19760             "results": {
19761               "type": "array",
19762               "items": {
19763                 "$ref": "#/definitions/BlockDeviceResult"
19764               }
19765             }
19766           },
19767           "additionalProperties": false
19768         },
19769         "Entities": {
19770           "type": "object",
19771           "properties": {
19772             "entities": {
19773               "type": "array",
19774               "items": {
19775                 "$ref": "#/definitions/Entity"
19776               }
19777             }
19778           },
19779           "additionalProperties": false,
19780           "required": [
19781             "entities"
19782           ]
19783         },
19784         "Entity": {
19785           "type": "object",
19786           "properties": {
19787             "tag": {
19788               "type": "string"
19789             }
19790           },
19791           "additionalProperties": false,
19792           "required": [
19793             "tag"
19794           ]
19795         },
19796         "EntityStatusArgs": {
19797           "type": "object",
19798           "properties": {
19799             "data": {
19800               "type": "object",
19801               "patternProperties": {
19802                 ".*": {
19803                   "type": "object",
19804                   "additionalProperties": true
19805                 }
19806               }
19807             },
19808             "info": {
19809               "type": "string"
19810             },
19811             "status": {
19812               "type": "string"
19813             },
19814             "tag": {
19815               "type": "string"
19816             }
19817           },
19818           "additionalProperties": false,
19819           "required": [
19820             "tag",
19821             "status",
19822             "info",
19823             "data"
19824           ]
19825         },
19826         "Error": {
19827           "type": "object",
19828           "properties": {
19829             "code": {
19830               "type": "string"
19831             },
19832             "info": {
19833               "$ref": "#/definitions/ErrorInfo"
19834             },
19835             "message": {
19836               "type": "string"
19837             }
19838           },
19839           "additionalProperties": false,
19840           "required": [
19841             "message",
19842             "code"
19843           ]
19844         },
19845         "ErrorInfo": {
19846           "type": "object",
19847           "properties": {
19848             "macaroon": {
19849               "$ref": "#/definitions/Macaroon"
19850             },
19851             "macaroon-path": {
19852               "type": "string"
19853             }
19854           },
19855           "additionalProperties": false
19856         },
19857         "ErrorResult": {
19858           "type": "object",
19859           "properties": {
19860             "error": {
19861               "$ref": "#/definitions/Error"
19862             }
19863           },
19864           "additionalProperties": false
19865         },
19866         "ErrorResults": {
19867           "type": "object",
19868           "properties": {
19869             "results": {
19870               "type": "array",
19871               "items": {
19872                 "$ref": "#/definitions/ErrorResult"
19873               }
19874             }
19875           },
19876           "additionalProperties": false,
19877           "required": [
19878             "results"
19879           ]
19880         },
19881         "Filesystem": {
19882           "type": "object",
19883           "properties": {
19884             "filesystem-tag": {
19885               "type": "string"
19886             },
19887             "info": {
19888               "$ref": "#/definitions/FilesystemInfo"
19889             },
19890             "volume-tag": {
19891               "type": "string"
19892             }
19893           },
19894           "additionalProperties": false,
19895           "required": [
19896             "filesystem-tag",
19897             "info"
19898           ]
19899         },
19900         "FilesystemAttachment": {
19901           "type": "object",
19902           "properties": {
19903             "filesystem-tag": {
19904               "type": "string"
19905             },
19906             "info": {
19907               "$ref": "#/definitions/FilesystemAttachmentInfo"
19908             },
19909             "machine-tag": {
19910               "type": "string"
19911             }
19912           },
19913           "additionalProperties": false,
19914           "required": [
19915             "filesystem-tag",
19916             "machine-tag",
19917             "info"
19918           ]
19919         },
19920         "FilesystemAttachmentInfo": {
19921           "type": "object",
19922           "properties": {
19923             "mount-point": {
19924               "type": "string"
19925             },
19926             "read-only": {
19927               "type": "boolean"
19928             }
19929           },
19930           "additionalProperties": false
19931         },
19932         "FilesystemAttachmentParams": {
19933           "type": "object",
19934           "properties": {
19935             "filesystem-id": {
19936               "type": "string"
19937             },
19938             "filesystem-tag": {
19939               "type": "string"
19940             },
19941             "instance-id": {
19942               "type": "string"
19943             },
19944             "machine-tag": {
19945               "type": "string"
19946             },
19947             "mount-point": {
19948               "type": "string"
19949             },
19950             "provider": {
19951               "type": "string"
19952             },
19953             "read-only": {
19954               "type": "boolean"
19955             }
19956           },
19957           "additionalProperties": false,
19958           "required": [
19959             "filesystem-tag",
19960             "machine-tag",
19961             "provider"
19962           ]
19963         },
19964         "FilesystemAttachmentParamsResult": {
19965           "type": "object",
19966           "properties": {
19967             "error": {
19968               "$ref": "#/definitions/Error"
19969             },
19970             "result": {
19971               "$ref": "#/definitions/FilesystemAttachmentParams"
19972             }
19973           },
19974           "additionalProperties": false,
19975           "required": [
19976             "result"
19977           ]
19978         },
19979         "FilesystemAttachmentParamsResults": {
19980           "type": "object",
19981           "properties": {
19982             "results": {
19983               "type": "array",
19984               "items": {
19985                 "$ref": "#/definitions/FilesystemAttachmentParamsResult"
19986               }
19987             }
19988           },
19989           "additionalProperties": false
19990         },
19991         "FilesystemAttachmentResult": {
19992           "type": "object",
19993           "properties": {
19994             "error": {
19995               "$ref": "#/definitions/Error"
19996             },
19997             "result": {
19998               "$ref": "#/definitions/FilesystemAttachment"
19999             }
20000           },
20001           "additionalProperties": false,
20002           "required": [
20003             "result"
20004           ]
20005         },
20006         "FilesystemAttachmentResults": {
20007           "type": "object",
20008           "properties": {
20009             "results": {
20010               "type": "array",
20011               "items": {
20012                 "$ref": "#/definitions/FilesystemAttachmentResult"
20013               }
20014             }
20015           },
20016           "additionalProperties": false
20017         },
20018         "FilesystemAttachments": {
20019           "type": "object",
20020           "properties": {
20021             "filesystem-attachments": {
20022               "type": "array",
20023               "items": {
20024                 "$ref": "#/definitions/FilesystemAttachment"
20025               }
20026             }
20027           },
20028           "additionalProperties": false,
20029           "required": [
20030             "filesystem-attachments"
20031           ]
20032         },
20033         "FilesystemInfo": {
20034           "type": "object",
20035           "properties": {
20036             "filesystem-id": {
20037               "type": "string"
20038             },
20039             "size": {
20040               "type": "integer"
20041             }
20042           },
20043           "additionalProperties": false,
20044           "required": [
20045             "filesystem-id",
20046             "size"
20047           ]
20048         },
20049         "FilesystemParams": {
20050           "type": "object",
20051           "properties": {
20052             "attachment": {
20053               "$ref": "#/definitions/FilesystemAttachmentParams"
20054             },
20055             "attributes": {
20056               "type": "object",
20057               "patternProperties": {
20058                 ".*": {
20059                   "type": "object",
20060                   "additionalProperties": true
20061                 }
20062               }
20063             },
20064             "filesystem-tag": {
20065               "type": "string"
20066             },
20067             "provider": {
20068               "type": "string"
20069             },
20070             "size": {
20071               "type": "integer"
20072             },
20073             "tags": {
20074               "type": "object",
20075               "patternProperties": {
20076                 ".*": {
20077                   "type": "string"
20078                 }
20079               }
20080             },
20081             "volume-tag": {
20082               "type": "string"
20083             }
20084           },
20085           "additionalProperties": false,
20086           "required": [
20087             "filesystem-tag",
20088             "size",
20089             "provider"
20090           ]
20091         },
20092         "FilesystemParamsResult": {
20093           "type": "object",
20094           "properties": {
20095             "error": {
20096               "$ref": "#/definitions/Error"
20097             },
20098             "result": {
20099               "$ref": "#/definitions/FilesystemParams"
20100             }
20101           },
20102           "additionalProperties": false,
20103           "required": [
20104             "result"
20105           ]
20106         },
20107         "FilesystemParamsResults": {
20108           "type": "object",
20109           "properties": {
20110             "results": {
20111               "type": "array",
20112               "items": {
20113                 "$ref": "#/definitions/FilesystemParamsResult"
20114               }
20115             }
20116           },
20117           "additionalProperties": false
20118         },
20119         "FilesystemResult": {
20120           "type": "object",
20121           "properties": {
20122             "error": {
20123               "$ref": "#/definitions/Error"
20124             },
20125             "result": {
20126               "$ref": "#/definitions/Filesystem"
20127             }
20128           },
20129           "additionalProperties": false,
20130           "required": [
20131             "result"
20132           ]
20133         },
20134         "FilesystemResults": {
20135           "type": "object",
20136           "properties": {
20137             "results": {
20138               "type": "array",
20139               "items": {
20140                 "$ref": "#/definitions/FilesystemResult"
20141               }
20142             }
20143           },
20144           "additionalProperties": false
20145         },
20146         "Filesystems": {
20147           "type": "object",
20148           "properties": {
20149             "filesystems": {
20150               "type": "array",
20151               "items": {
20152                 "$ref": "#/definitions/Filesystem"
20153               }
20154             }
20155           },
20156           "additionalProperties": false,
20157           "required": [
20158             "filesystems"
20159           ]
20160         },
20161         "LifeResult": {
20162           "type": "object",
20163           "properties": {
20164             "error": {
20165               "$ref": "#/definitions/Error"
20166             },
20167             "life": {
20168               "type": "string"
20169             }
20170           },
20171           "additionalProperties": false,
20172           "required": [
20173             "life"
20174           ]
20175         },
20176         "LifeResults": {
20177           "type": "object",
20178           "properties": {
20179             "results": {
20180               "type": "array",
20181               "items": {
20182                 "$ref": "#/definitions/LifeResult"
20183               }
20184             }
20185           },
20186           "additionalProperties": false,
20187           "required": [
20188             "results"
20189           ]
20190         },
20191         "Macaroon": {
20192           "type": "object",
20193           "additionalProperties": false
20194         },
20195         "MachineStorageId": {
20196           "type": "object",
20197           "properties": {
20198             "attachment-tag": {
20199               "type": "string"
20200             },
20201             "machine-tag": {
20202               "type": "string"
20203             }
20204           },
20205           "additionalProperties": false,
20206           "required": [
20207             "machine-tag",
20208             "attachment-tag"
20209           ]
20210         },
20211         "MachineStorageIds": {
20212           "type": "object",
20213           "properties": {
20214             "ids": {
20215               "type": "array",
20216               "items": {
20217                 "$ref": "#/definitions/MachineStorageId"
20218               }
20219             }
20220           },
20221           "additionalProperties": false,
20222           "required": [
20223             "ids"
20224           ]
20225         },
20226         "MachineStorageIdsWatchResult": {
20227           "type": "object",
20228           "properties": {
20229             "changes": {
20230               "type": "array",
20231               "items": {
20232                 "$ref": "#/definitions/MachineStorageId"
20233               }
20234             },
20235             "error": {
20236               "$ref": "#/definitions/Error"
20237             },
20238             "watcher-id": {
20239               "type": "string"
20240             }
20241           },
20242           "additionalProperties": false,
20243           "required": [
20244             "watcher-id",
20245             "changes"
20246           ]
20247         },
20248         "MachineStorageIdsWatchResults": {
20249           "type": "object",
20250           "properties": {
20251             "results": {
20252               "type": "array",
20253               "items": {
20254                 "$ref": "#/definitions/MachineStorageIdsWatchResult"
20255               }
20256             }
20257           },
20258           "additionalProperties": false,
20259           "required": [
20260             "results"
20261           ]
20262         },
20263         "NotifyWatchResult": {
20264           "type": "object",
20265           "properties": {
20266             "NotifyWatcherId": {
20267               "type": "string"
20268             },
20269             "error": {
20270               "$ref": "#/definitions/Error"
20271             }
20272           },
20273           "additionalProperties": false,
20274           "required": [
20275             "NotifyWatcherId"
20276           ]
20277         },
20278         "NotifyWatchResults": {
20279           "type": "object",
20280           "properties": {
20281             "results": {
20282               "type": "array",
20283               "items": {
20284                 "$ref": "#/definitions/NotifyWatchResult"
20285               }
20286             }
20287           },
20288           "additionalProperties": false,
20289           "required": [
20290             "results"
20291           ]
20292         },
20293         "SetStatus": {
20294           "type": "object",
20295           "properties": {
20296             "entities": {
20297               "type": "array",
20298               "items": {
20299                 "$ref": "#/definitions/EntityStatusArgs"
20300               }
20301             }
20302           },
20303           "additionalProperties": false,
20304           "required": [
20305             "entities"
20306           ]
20307         },
20308         "StringResult": {
20309           "type": "object",
20310           "properties": {
20311             "error": {
20312               "$ref": "#/definitions/Error"
20313             },
20314             "result": {
20315               "type": "string"
20316             }
20317           },
20318           "additionalProperties": false,
20319           "required": [
20320             "result"
20321           ]
20322         },
20323         "StringResults": {
20324           "type": "object",
20325           "properties": {
20326             "results": {
20327               "type": "array",
20328               "items": {
20329                 "$ref": "#/definitions/StringResult"
20330               }
20331             }
20332           },
20333           "additionalProperties": false,
20334           "required": [
20335             "results"
20336           ]
20337         },
20338         "StringsWatchResult": {
20339           "type": "object",
20340           "properties": {
20341             "changes": {
20342               "type": "array",
20343               "items": {
20344                 "type": "string"
20345               }
20346             },
20347             "error": {
20348               "$ref": "#/definitions/Error"
20349             },
20350             "watcher-id": {
20351               "type": "string"
20352             }
20353           },
20354           "additionalProperties": false,
20355           "required": [
20356             "watcher-id"
20357           ]
20358         },
20359         "StringsWatchResults": {
20360           "type": "object",
20361           "properties": {
20362             "results": {
20363               "type": "array",
20364               "items": {
20365                 "$ref": "#/definitions/StringsWatchResult"
20366               }
20367             }
20368           },
20369           "additionalProperties": false,
20370           "required": [
20371             "results"
20372           ]
20373         },
20374         "Volume": {
20375           "type": "object",
20376           "properties": {
20377             "info": {
20378               "$ref": "#/definitions/VolumeInfo"
20379             },
20380             "volume-tag": {
20381               "type": "string"
20382             }
20383           },
20384           "additionalProperties": false,
20385           "required": [
20386             "volume-tag",
20387             "info"
20388           ]
20389         },
20390         "VolumeAttachment": {
20391           "type": "object",
20392           "properties": {
20393             "info": {
20394               "$ref": "#/definitions/VolumeAttachmentInfo"
20395             },
20396             "machine-tag": {
20397               "type": "string"
20398             },
20399             "volume-tag": {
20400               "type": "string"
20401             }
20402           },
20403           "additionalProperties": false,
20404           "required": [
20405             "volume-tag",
20406             "machine-tag",
20407             "info"
20408           ]
20409         },
20410         "VolumeAttachmentInfo": {
20411           "type": "object",
20412           "properties": {
20413             "bus-address": {
20414               "type": "string"
20415             },
20416             "device-link": {
20417               "type": "string"
20418             },
20419             "device-name": {
20420               "type": "string"
20421             },
20422             "read-only": {
20423               "type": "boolean"
20424             }
20425           },
20426           "additionalProperties": false
20427         },
20428         "VolumeAttachmentParams": {
20429           "type": "object",
20430           "properties": {
20431             "instance-id": {
20432               "type": "string"
20433             },
20434             "machine-tag": {
20435               "type": "string"
20436             },
20437             "provider": {
20438               "type": "string"
20439             },
20440             "read-only": {
20441               "type": "boolean"
20442             },
20443             "volume-id": {
20444               "type": "string"
20445             },
20446             "volume-tag": {
20447               "type": "string"
20448             }
20449           },
20450           "additionalProperties": false,
20451           "required": [
20452             "volume-tag",
20453             "machine-tag",
20454             "provider"
20455           ]
20456         },
20457         "VolumeAttachmentParamsResult": {
20458           "type": "object",
20459           "properties": {
20460             "error": {
20461               "$ref": "#/definitions/Error"
20462             },
20463             "result": {
20464               "$ref": "#/definitions/VolumeAttachmentParams"
20465             }
20466           },
20467           "additionalProperties": false,
20468           "required": [
20469             "result"
20470           ]
20471         },
20472         "VolumeAttachmentParamsResults": {
20473           "type": "object",
20474           "properties": {
20475             "results": {
20476               "type": "array",
20477               "items": {
20478                 "$ref": "#/definitions/VolumeAttachmentParamsResult"
20479               }
20480             }
20481           },
20482           "additionalProperties": false
20483         },
20484         "VolumeAttachmentResult": {
20485           "type": "object",
20486           "properties": {
20487             "error": {
20488               "$ref": "#/definitions/Error"
20489             },
20490             "result": {
20491               "$ref": "#/definitions/VolumeAttachment"
20492             }
20493           },
20494           "additionalProperties": false,
20495           "required": [
20496             "result"
20497           ]
20498         },
20499         "VolumeAttachmentResults": {
20500           "type": "object",
20501           "properties": {
20502             "results": {
20503               "type": "array",
20504               "items": {
20505                 "$ref": "#/definitions/VolumeAttachmentResult"
20506               }
20507             }
20508           },
20509           "additionalProperties": false
20510         },
20511         "VolumeAttachments": {
20512           "type": "object",
20513           "properties": {
20514             "volume-attachments": {
20515               "type": "array",
20516               "items": {
20517                 "$ref": "#/definitions/VolumeAttachment"
20518               }
20519             }
20520           },
20521           "additionalProperties": false,
20522           "required": [
20523             "volume-attachments"
20524           ]
20525         },
20526         "VolumeInfo": {
20527           "type": "object",
20528           "properties": {
20529             "hardware-id": {
20530               "type": "string"
20531             },
20532             "persistent": {
20533               "type": "boolean"
20534             },
20535             "size": {
20536               "type": "integer"
20537             },
20538             "volume-id": {
20539               "type": "string"
20540             }
20541           },
20542           "additionalProperties": false,
20543           "required": [
20544             "volume-id",
20545             "size",
20546             "persistent"
20547           ]
20548         },
20549         "VolumeParams": {
20550           "type": "object",
20551           "properties": {
20552             "attachment": {
20553               "$ref": "#/definitions/VolumeAttachmentParams"
20554             },
20555             "attributes": {
20556               "type": "object",
20557               "patternProperties": {
20558                 ".*": {
20559                   "type": "object",
20560                   "additionalProperties": true
20561                 }
20562               }
20563             },
20564             "provider": {
20565               "type": "string"
20566             },
20567             "size": {
20568               "type": "integer"
20569             },
20570             "tags": {
20571               "type": "object",
20572               "patternProperties": {
20573                 ".*": {
20574                   "type": "string"
20575                 }
20576               }
20577             },
20578             "volume-tag": {
20579               "type": "string"
20580             }
20581           },
20582           "additionalProperties": false,
20583           "required": [
20584             "volume-tag",
20585             "size",
20586             "provider"
20587           ]
20588         },
20589         "VolumeParamsResult": {
20590           "type": "object",
20591           "properties": {
20592             "error": {
20593               "$ref": "#/definitions/Error"
20594             },
20595             "result": {
20596               "$ref": "#/definitions/VolumeParams"
20597             }
20598           },
20599           "additionalProperties": false,
20600           "required": [
20601             "result"
20602           ]
20603         },
20604         "VolumeParamsResults": {
20605           "type": "object",
20606           "properties": {
20607             "results": {
20608               "type": "array",
20609               "items": {
20610                 "$ref": "#/definitions/VolumeParamsResult"
20611               }
20612             }
20613           },
20614           "additionalProperties": false
20615         },
20616         "VolumeResult": {
20617           "type": "object",
20618           "properties": {
20619             "error": {
20620               "$ref": "#/definitions/Error"
20621             },
20622             "result": {
20623               "$ref": "#/definitions/Volume"
20624             }
20625           },
20626           "additionalProperties": false,
20627           "required": [
20628             "result"
20629           ]
20630         },
20631         "VolumeResults": {
20632           "type": "object",
20633           "properties": {
20634             "results": {
20635               "type": "array",
20636               "items": {
20637                 "$ref": "#/definitions/VolumeResult"
20638               }
20639             }
20640           },
20641           "additionalProperties": false
20642         },
20643         "Volumes": {
20644           "type": "object",
20645           "properties": {
20646             "volumes": {
20647               "type": "array",
20648               "items": {
20649                 "$ref": "#/definitions/Volume"
20650               }
20651             }
20652           },
20653           "additionalProperties": false,
20654           "required": [
20655             "volumes"
20656           ]
20657         }
20658       }
20659     }
20660   },
20661   {
20662     "Name": "StringsWatcher",
20663     "Version": 1,
20664     "Schema": {
20665       "type": "object",
20666       "properties": {
20667         "Next": {
20668           "type": "object",
20669           "properties": {
20670             "Result": {
20671               "$ref": "#/definitions/StringsWatchResult"
20672             }
20673           }
20674         },
20675         "Stop": {
20676           "type": "object"
20677         }
20678       },
20679       "definitions": {
20680         "Error": {
20681           "type": "object",
20682           "properties": {
20683             "code": {
20684               "type": "string"
20685             },
20686             "info": {
20687               "$ref": "#/definitions/ErrorInfo"
20688             },
20689             "message": {
20690               "type": "string"
20691             }
20692           },
20693           "additionalProperties": false,
20694           "required": [
20695             "message",
20696             "code"
20697           ]
20698         },
20699         "ErrorInfo": {
20700           "type": "object",
20701           "properties": {
20702             "macaroon": {
20703               "$ref": "#/definitions/Macaroon"
20704             },
20705             "macaroon-path": {
20706               "type": "string"
20707             }
20708           },
20709           "additionalProperties": false
20710         },
20711         "Macaroon": {
20712           "type": "object",
20713           "additionalProperties": false
20714         },
20715         "StringsWatchResult": {
20716           "type": "object",
20717           "properties": {
20718             "changes": {
20719               "type": "array",
20720               "items": {
20721                 "type": "string"
20722               }
20723             },
20724             "error": {
20725               "$ref": "#/definitions/Error"
20726             },
20727             "watcher-id": {
20728               "type": "string"
20729             }
20730           },
20731           "additionalProperties": false,
20732           "required": [
20733             "watcher-id"
20734           ]
20735         }
20736       }
20737     }
20738   },
20739   {
20740     "Name": "Subnets",
20741     "Version": 2,
20742     "Schema": {
20743       "type": "object",
20744       "properties": {
20745         "AddSubnets": {
20746           "type": "object",
20747           "properties": {
20748             "Params": {
20749               "$ref": "#/definitions/AddSubnetsParams"
20750             },
20751             "Result": {
20752               "$ref": "#/definitions/ErrorResults"
20753             }
20754           }
20755         },
20756         "AllSpaces": {
20757           "type": "object",
20758           "properties": {
20759             "Result": {
20760               "$ref": "#/definitions/SpaceResults"
20761             }
20762           }
20763         },
20764         "AllZones": {
20765           "type": "object",
20766           "properties": {
20767             "Result": {
20768               "$ref": "#/definitions/ZoneResults"
20769             }
20770           }
20771         },
20772         "ListSubnets": {
20773           "type": "object",
20774           "properties": {
20775             "Params": {
20776               "$ref": "#/definitions/SubnetsFilters"
20777             },
20778             "Result": {
20779               "$ref": "#/definitions/ListSubnetsResults"
20780             }
20781           }
20782         }
20783       },
20784       "definitions": {
20785         "AddSubnetParams": {
20786           "type": "object",
20787           "properties": {
20788             "space-tag": {
20789               "type": "string"
20790             },
20791             "subnet-provider-id": {
20792               "type": "string"
20793             },
20794             "subnet-tag": {
20795               "type": "string"
20796             },
20797             "zones": {
20798               "type": "array",
20799               "items": {
20800                 "type": "string"
20801               }
20802             }
20803           },
20804           "additionalProperties": false,
20805           "required": [
20806             "space-tag"
20807           ]
20808         },
20809         "AddSubnetsParams": {
20810           "type": "object",
20811           "properties": {
20812             "subnets": {
20813               "type": "array",
20814               "items": {
20815                 "$ref": "#/definitions/AddSubnetParams"
20816               }
20817             }
20818           },
20819           "additionalProperties": false,
20820           "required": [
20821             "subnets"
20822           ]
20823         },
20824         "Error": {
20825           "type": "object",
20826           "properties": {
20827             "code": {
20828               "type": "string"
20829             },
20830             "info": {
20831               "$ref": "#/definitions/ErrorInfo"
20832             },
20833             "message": {
20834               "type": "string"
20835             }
20836           },
20837           "additionalProperties": false,
20838           "required": [
20839             "message",
20840             "code"
20841           ]
20842         },
20843         "ErrorInfo": {
20844           "type": "object",
20845           "properties": {
20846             "macaroon": {
20847               "$ref": "#/definitions/Macaroon"
20848             },
20849             "macaroon-path": {
20850               "type": "string"
20851             }
20852           },
20853           "additionalProperties": false
20854         },
20855         "ErrorResult": {
20856           "type": "object",
20857           "properties": {
20858             "error": {
20859               "$ref": "#/definitions/Error"
20860             }
20861           },
20862           "additionalProperties": false
20863         },
20864         "ErrorResults": {
20865           "type": "object",
20866           "properties": {
20867             "results": {
20868               "type": "array",
20869               "items": {
20870                 "$ref": "#/definitions/ErrorResult"
20871               }
20872             }
20873           },
20874           "additionalProperties": false,
20875           "required": [
20876             "results"
20877           ]
20878         },
20879         "ListSubnetsResults": {
20880           "type": "object",
20881           "properties": {
20882             "results": {
20883               "type": "array",
20884               "items": {
20885                 "$ref": "#/definitions/Subnet"
20886               }
20887             }
20888           },
20889           "additionalProperties": false,
20890           "required": [
20891             "results"
20892           ]
20893         },
20894         "Macaroon": {
20895           "type": "object",
20896           "additionalProperties": false
20897         },
20898         "SpaceResult": {
20899           "type": "object",
20900           "properties": {
20901             "error": {
20902               "$ref": "#/definitions/Error"
20903             },
20904             "tag": {
20905               "type": "string"
20906             }
20907           },
20908           "additionalProperties": false,
20909           "required": [
20910             "tag"
20911           ]
20912         },
20913         "SpaceResults": {
20914           "type": "object",
20915           "properties": {
20916             "results": {
20917               "type": "array",
20918               "items": {
20919                 "$ref": "#/definitions/SpaceResult"
20920               }
20921             }
20922           },
20923           "additionalProperties": false,
20924           "required": [
20925             "results"
20926           ]
20927         },
20928         "Subnet": {
20929           "type": "object",
20930           "properties": {
20931             "cidr": {
20932               "type": "string"
20933             },
20934             "life": {
20935               "type": "string"
20936             },
20937             "provider-id": {
20938               "type": "string"
20939             },
20940             "space-tag": {
20941               "type": "string"
20942             },
20943             "status": {
20944               "type": "string"
20945             },
20946             "vlan-tag": {
20947               "type": "integer"
20948             },
20949             "zones": {
20950               "type": "array",
20951               "items": {
20952                 "type": "string"
20953               }
20954             }
20955           },
20956           "additionalProperties": false,
20957           "required": [
20958             "cidr",
20959             "vlan-tag",
20960             "life",
20961             "space-tag",
20962             "zones"
20963           ]
20964         },
20965         "SubnetsFilters": {
20966           "type": "object",
20967           "properties": {
20968             "space-tag": {
20969               "type": "string"
20970             },
20971             "zone": {
20972               "type": "string"
20973             }
20974           },
20975           "additionalProperties": false
20976         },
20977         "ZoneResult": {
20978           "type": "object",
20979           "properties": {
20980             "available": {
20981               "type": "boolean"
20982             },
20983             "error": {
20984               "$ref": "#/definitions/Error"
20985             },
20986             "name": {
20987               "type": "string"
20988             }
20989           },
20990           "additionalProperties": false,
20991           "required": [
20992             "name",
20993             "available"
20994           ]
20995         },
20996         "ZoneResults": {
20997           "type": "object",
20998           "properties": {
20999             "results": {
21000               "type": "array",
21001               "items": {
21002                 "$ref": "#/definitions/ZoneResult"
21003               }
21004             }
21005           },
21006           "additionalProperties": false,
21007           "required": [
21008             "results"
21009           ]
21010         }
21011       }
21012     }
21013   },
21014   {
21015     "Name": "Undertaker",
21016     "Version": 1,
21017     "Schema": {
21018       "type": "object",
21019       "properties": {
21020         "ModelConfig": {
21021           "type": "object",
21022           "properties": {
21023             "Result": {
21024               "$ref": "#/definitions/ModelConfigResult"
21025             }
21026           }
21027         },
21028         "ModelInfo": {
21029           "type": "object",
21030           "properties": {
21031             "Result": {
21032               "$ref": "#/definitions/UndertakerModelInfoResult"
21033             }
21034           }
21035         },
21036         "ProcessDyingModel": {
21037           "type": "object"
21038         },
21039         "RemoveModel": {
21040           "type": "object"
21041         },
21042         "SetStatus": {
21043           "type": "object",
21044           "properties": {
21045             "Params": {
21046               "$ref": "#/definitions/SetStatus"
21047             },
21048             "Result": {
21049               "$ref": "#/definitions/ErrorResults"
21050             }
21051           }
21052         },
21053         "UpdateStatus": {
21054           "type": "object",
21055           "properties": {
21056             "Params": {
21057               "$ref": "#/definitions/SetStatus"
21058             },
21059             "Result": {
21060               "$ref": "#/definitions/ErrorResults"
21061             }
21062           }
21063         },
21064         "WatchModelResources": {
21065           "type": "object",
21066           "properties": {
21067             "Result": {
21068               "$ref": "#/definitions/NotifyWatchResults"
21069             }
21070           }
21071         }
21072       },
21073       "definitions": {
21074         "EntityStatusArgs": {
21075           "type": "object",
21076           "properties": {
21077             "data": {
21078               "type": "object",
21079               "patternProperties": {
21080                 ".*": {
21081                   "type": "object",
21082                   "additionalProperties": true
21083                 }
21084               }
21085             },
21086             "info": {
21087               "type": "string"
21088             },
21089             "status": {
21090               "type": "string"
21091             },
21092             "tag": {
21093               "type": "string"
21094             }
21095           },
21096           "additionalProperties": false,
21097           "required": [
21098             "tag",
21099             "status",
21100             "info",
21101             "data"
21102           ]
21103         },
21104         "Error": {
21105           "type": "object",
21106           "properties": {
21107             "code": {
21108               "type": "string"
21109             },
21110             "info": {
21111               "$ref": "#/definitions/ErrorInfo"
21112             },
21113             "message": {
21114               "type": "string"
21115             }
21116           },
21117           "additionalProperties": false,
21118           "required": [
21119             "message",
21120             "code"
21121           ]
21122         },
21123         "ErrorInfo": {
21124           "type": "object",
21125           "properties": {
21126             "macaroon": {
21127               "$ref": "#/definitions/Macaroon"
21128             },
21129             "macaroon-path": {
21130               "type": "string"
21131             }
21132           },
21133           "additionalProperties": false
21134         },
21135         "ErrorResult": {
21136           "type": "object",
21137           "properties": {
21138             "error": {
21139               "$ref": "#/definitions/Error"
21140             }
21141           },
21142           "additionalProperties": false
21143         },
21144         "ErrorResults": {
21145           "type": "object",
21146           "properties": {
21147             "results": {
21148               "type": "array",
21149               "items": {
21150                 "$ref": "#/definitions/ErrorResult"
21151               }
21152             }
21153           },
21154           "additionalProperties": false,
21155           "required": [
21156             "results"
21157           ]
21158         },
21159         "Macaroon": {
21160           "type": "object",
21161           "additionalProperties": false
21162         },
21163         "ModelConfigResult": {
21164           "type": "object",
21165           "properties": {
21166             "config": {
21167               "type": "object",
21168               "patternProperties": {
21169                 ".*": {
21170                   "type": "object",
21171                   "additionalProperties": true
21172                 }
21173               }
21174             }
21175           },
21176           "additionalProperties": false,
21177           "required": [
21178             "config"
21179           ]
21180         },
21181         "NotifyWatchResult": {
21182           "type": "object",
21183           "properties": {
21184             "NotifyWatcherId": {
21185               "type": "string"
21186             },
21187             "error": {
21188               "$ref": "#/definitions/Error"
21189             }
21190           },
21191           "additionalProperties": false,
21192           "required": [
21193             "NotifyWatcherId"
21194           ]
21195         },
21196         "NotifyWatchResults": {
21197           "type": "object",
21198           "properties": {
21199             "results": {
21200               "type": "array",
21201               "items": {
21202                 "$ref": "#/definitions/NotifyWatchResult"
21203               }
21204             }
21205           },
21206           "additionalProperties": false,
21207           "required": [
21208             "results"
21209           ]
21210         },
21211         "SetStatus": {
21212           "type": "object",
21213           "properties": {
21214             "entities": {
21215               "type": "array",
21216               "items": {
21217                 "$ref": "#/definitions/EntityStatusArgs"
21218               }
21219             }
21220           },
21221           "additionalProperties": false,
21222           "required": [
21223             "entities"
21224           ]
21225         },
21226         "UndertakerModelInfo": {
21227           "type": "object",
21228           "properties": {
21229             "global-name": {
21230               "type": "string"
21231             },
21232             "is-system": {
21233               "type": "boolean"
21234             },
21235             "life": {
21236               "type": "string"
21237             },
21238             "name": {
21239               "type": "string"
21240             },
21241             "uuid": {
21242               "type": "string"
21243             }
21244           },
21245           "additionalProperties": false,
21246           "required": [
21247             "uuid",
21248             "name",
21249             "global-name",
21250             "is-system",
21251             "life"
21252           ]
21253         },
21254         "UndertakerModelInfoResult": {
21255           "type": "object",
21256           "properties": {
21257             "error": {
21258               "$ref": "#/definitions/Error"
21259             },
21260             "result": {
21261               "$ref": "#/definitions/UndertakerModelInfo"
21262             }
21263           },
21264           "additionalProperties": false,
21265           "required": [
21266             "result"
21267           ]
21268         }
21269       }
21270     }
21271   },
21272   {
21273     "Name": "UnitAssigner",
21274     "Version": 1,
21275     "Schema": {
21276       "type": "object",
21277       "properties": {
21278         "AssignUnits": {
21279           "type": "object",
21280           "properties": {
21281             "Params": {
21282               "$ref": "#/definitions/Entities"
21283             },
21284             "Result": {
21285               "$ref": "#/definitions/ErrorResults"
21286             }
21287           }
21288         },
21289         "SetAgentStatus": {
21290           "type": "object",
21291           "properties": {
21292             "Params": {
21293               "$ref": "#/definitions/SetStatus"
21294             },
21295             "Result": {
21296               "$ref": "#/definitions/ErrorResults"
21297             }
21298           }
21299         },
21300         "WatchUnitAssignments": {
21301           "type": "object",
21302           "properties": {
21303             "Result": {
21304               "$ref": "#/definitions/StringsWatchResult"
21305             }
21306           }
21307         }
21308       },
21309       "definitions": {
21310         "Entities": {
21311           "type": "object",
21312           "properties": {
21313             "entities": {
21314               "type": "array",
21315               "items": {
21316                 "$ref": "#/definitions/Entity"
21317               }
21318             }
21319           },
21320           "additionalProperties": false,
21321           "required": [
21322             "entities"
21323           ]
21324         },
21325         "Entity": {
21326           "type": "object",
21327           "properties": {
21328             "tag": {
21329               "type": "string"
21330             }
21331           },
21332           "additionalProperties": false,
21333           "required": [
21334             "tag"
21335           ]
21336         },
21337         "EntityStatusArgs": {
21338           "type": "object",
21339           "properties": {
21340             "data": {
21341               "type": "object",
21342               "patternProperties": {
21343                 ".*": {
21344                   "type": "object",
21345                   "additionalProperties": true
21346                 }
21347               }
21348             },
21349             "info": {
21350               "type": "string"
21351             },
21352             "status": {
21353               "type": "string"
21354             },
21355             "tag": {
21356               "type": "string"
21357             }
21358           },
21359           "additionalProperties": false,
21360           "required": [
21361             "tag",
21362             "status",
21363             "info",
21364             "data"
21365           ]
21366         },
21367         "Error": {
21368           "type": "object",
21369           "properties": {
21370             "code": {
21371               "type": "string"
21372             },
21373             "info": {
21374               "$ref": "#/definitions/ErrorInfo"
21375             },
21376             "message": {
21377               "type": "string"
21378             }
21379           },
21380           "additionalProperties": false,
21381           "required": [
21382             "message",
21383             "code"
21384           ]
21385         },
21386         "ErrorInfo": {
21387           "type": "object",
21388           "properties": {
21389             "macaroon": {
21390               "$ref": "#/definitions/Macaroon"
21391             },
21392             "macaroon-path": {
21393               "type": "string"
21394             }
21395           },
21396           "additionalProperties": false
21397         },
21398         "ErrorResult": {
21399           "type": "object",
21400           "properties": {
21401             "error": {
21402               "$ref": "#/definitions/Error"
21403             }
21404           },
21405           "additionalProperties": false
21406         },
21407         "ErrorResults": {
21408           "type": "object",
21409           "properties": {
21410             "results": {
21411               "type": "array",
21412               "items": {
21413                 "$ref": "#/definitions/ErrorResult"
21414               }
21415             }
21416           },
21417           "additionalProperties": false,
21418           "required": [
21419             "results"
21420           ]
21421         },
21422         "Macaroon": {
21423           "type": "object",
21424           "additionalProperties": false
21425         },
21426         "SetStatus": {
21427           "type": "object",
21428           "properties": {
21429             "entities": {
21430               "type": "array",
21431               "items": {
21432                 "$ref": "#/definitions/EntityStatusArgs"
21433               }
21434             }
21435           },
21436           "additionalProperties": false,
21437           "required": [
21438             "entities"
21439           ]
21440         },
21441         "StringsWatchResult": {
21442           "type": "object",
21443           "properties": {
21444             "changes": {
21445               "type": "array",
21446               "items": {
21447                 "type": "string"
21448               }
21449             },
21450             "error": {
21451               "$ref": "#/definitions/Error"
21452             },
21453             "watcher-id": {
21454               "type": "string"
21455             }
21456           },
21457           "additionalProperties": false,
21458           "required": [
21459             "watcher-id"
21460           ]
21461         }
21462       }
21463     }
21464   },
21465   {
21466     "Name": "Uniter",
21467     "Version": 4,
21468     "Schema": {
21469       "type": "object",
21470       "properties": {
21471         "APIAddresses": {
21472           "type": "object",
21473           "properties": {
21474             "Result": {
21475               "$ref": "#/definitions/StringsResult"
21476             }
21477           }
21478         },
21479         "APIHostPorts": {
21480           "type": "object",
21481           "properties": {
21482             "Result": {
21483               "$ref": "#/definitions/APIHostPortsResult"
21484             }
21485           }
21486         },
21487         "Actions": {
21488           "type": "object",
21489           "properties": {
21490             "Params": {
21491               "$ref": "#/definitions/Entities"
21492             },
21493             "Result": {
21494               "$ref": "#/definitions/ActionResults"
21495             }
21496           }
21497         },
21498         "AddMetricBatches": {
21499           "type": "object",
21500           "properties": {
21501             "Params": {
21502               "$ref": "#/definitions/MetricBatchParams"
21503             },
21504             "Result": {
21505               "$ref": "#/definitions/ErrorResults"
21506             }
21507           }
21508         },
21509         "AddUnitStorage": {
21510           "type": "object",
21511           "properties": {
21512             "Params": {
21513               "$ref": "#/definitions/StoragesAddParams"
21514             },
21515             "Result": {
21516               "$ref": "#/definitions/ErrorResults"
21517             }
21518           }
21519         },
21520         "AllMachinePorts": {
21521           "type": "object",
21522           "properties": {
21523             "Params": {
21524               "$ref": "#/definitions/Entities"
21525             },
21526             "Result": {
21527               "$ref": "#/definitions/MachinePortsResults"
21528             }
21529           }
21530         },
21531         "ApplicationStatus": {
21532           "type": "object",
21533           "properties": {
21534             "Params": {
21535               "$ref": "#/definitions/Entities"
21536             },
21537             "Result": {
21538               "$ref": "#/definitions/ApplicationStatusResults"
21539             }
21540           }
21541         },
21542         "AssignedMachine": {
21543           "type": "object",
21544           "properties": {
21545             "Params": {
21546               "$ref": "#/definitions/Entities"
21547             },
21548             "Result": {
21549               "$ref": "#/definitions/StringResults"
21550             }
21551           }
21552         },
21553         "AvailabilityZone": {
21554           "type": "object",
21555           "properties": {
21556             "Params": {
21557               "$ref": "#/definitions/Entities"
21558             },
21559             "Result": {
21560               "$ref": "#/definitions/StringResults"
21561             }
21562           }
21563         },
21564         "BeginActions": {
21565           "type": "object",
21566           "properties": {
21567             "Params": {
21568               "$ref": "#/definitions/Entities"
21569             },
21570             "Result": {
21571               "$ref": "#/definitions/ErrorResults"
21572             }
21573           }
21574         },
21575         "CACert": {
21576           "type": "object",
21577           "properties": {
21578             "Result": {
21579               "$ref": "#/definitions/BytesResult"
21580             }
21581           }
21582         },
21583         "CharmArchiveSha256": {
21584           "type": "object",
21585           "properties": {
21586             "Params": {
21587               "$ref": "#/definitions/CharmURLs"
21588             },
21589             "Result": {
21590               "$ref": "#/definitions/StringResults"
21591             }
21592           }
21593         },
21594         "CharmModifiedVersion": {
21595           "type": "object",
21596           "properties": {
21597             "Params": {
21598               "$ref": "#/definitions/Entities"
21599             },
21600             "Result": {
21601               "$ref": "#/definitions/IntResults"
21602             }
21603           }
21604         },
21605         "CharmURL": {
21606           "type": "object",
21607           "properties": {
21608             "Params": {
21609               "$ref": "#/definitions/Entities"
21610             },
21611             "Result": {
21612               "$ref": "#/definitions/StringBoolResults"
21613             }
21614           }
21615         },
21616         "ClearResolved": {
21617           "type": "object",
21618           "properties": {
21619             "Params": {
21620               "$ref": "#/definitions/Entities"
21621             },
21622             "Result": {
21623               "$ref": "#/definitions/ErrorResults"
21624             }
21625           }
21626         },
21627         "ClosePorts": {
21628           "type": "object",
21629           "properties": {
21630             "Params": {
21631               "$ref": "#/definitions/EntitiesPortRanges"
21632             },
21633             "Result": {
21634               "$ref": "#/definitions/ErrorResults"
21635             }
21636           }
21637         },
21638         "ConfigSettings": {
21639           "type": "object",
21640           "properties": {
21641             "Params": {
21642               "$ref": "#/definitions/Entities"
21643             },
21644             "Result": {
21645               "$ref": "#/definitions/ConfigSettingsResults"
21646             }
21647           }
21648         },
21649         "CurrentModel": {
21650           "type": "object",
21651           "properties": {
21652             "Result": {
21653               "$ref": "#/definitions/ModelResult"
21654             }
21655           }
21656         },
21657         "Destroy": {
21658           "type": "object",
21659           "properties": {
21660             "Params": {
21661               "$ref": "#/definitions/Entities"
21662             },
21663             "Result": {
21664               "$ref": "#/definitions/ErrorResults"
21665             }
21666           }
21667         },
21668         "DestroyAllSubordinates": {
21669           "type": "object",
21670           "properties": {
21671             "Params": {
21672               "$ref": "#/definitions/Entities"
21673             },
21674             "Result": {
21675               "$ref": "#/definitions/ErrorResults"
21676             }
21677           }
21678         },
21679         "DestroyUnitStorageAttachments": {
21680           "type": "object",
21681           "properties": {
21682             "Params": {
21683               "$ref": "#/definitions/Entities"
21684             },
21685             "Result": {
21686               "$ref": "#/definitions/ErrorResults"
21687             }
21688           }
21689         },
21690         "EnsureDead": {
21691           "type": "object",
21692           "properties": {
21693             "Params": {
21694               "$ref": "#/definitions/Entities"
21695             },
21696             "Result": {
21697               "$ref": "#/definitions/ErrorResults"
21698             }
21699           }
21700         },
21701         "EnterScope": {
21702           "type": "object",
21703           "properties": {
21704             "Params": {
21705               "$ref": "#/definitions/RelationUnits"
21706             },
21707             "Result": {
21708               "$ref": "#/definitions/ErrorResults"
21709             }
21710           }
21711         },
21712         "FinishActions": {
21713           "type": "object",
21714           "properties": {
21715             "Params": {
21716               "$ref": "#/definitions/ActionExecutionResults"
21717             },
21718             "Result": {
21719               "$ref": "#/definitions/ErrorResults"
21720             }
21721           }
21722         },
21723         "GetMeterStatus": {
21724           "type": "object",
21725           "properties": {
21726             "Params": {
21727               "$ref": "#/definitions/Entities"
21728             },
21729             "Result": {
21730               "$ref": "#/definitions/MeterStatusResults"
21731             }
21732           }
21733         },
21734         "GetPrincipal": {
21735           "type": "object",
21736           "properties": {
21737             "Params": {
21738               "$ref": "#/definitions/Entities"
21739             },
21740             "Result": {
21741               "$ref": "#/definitions/StringBoolResults"
21742             }
21743           }
21744         },
21745         "HasSubordinates": {
21746           "type": "object",
21747           "properties": {
21748             "Params": {
21749               "$ref": "#/definitions/Entities"
21750             },
21751             "Result": {
21752               "$ref": "#/definitions/BoolResults"
21753             }
21754           }
21755         },
21756         "JoinedRelations": {
21757           "type": "object",
21758           "properties": {
21759             "Params": {
21760               "$ref": "#/definitions/Entities"
21761             },
21762             "Result": {
21763               "$ref": "#/definitions/StringsResults"
21764             }
21765           }
21766         },
21767         "LeaveScope": {
21768           "type": "object",
21769           "properties": {
21770             "Params": {
21771               "$ref": "#/definitions/RelationUnits"
21772             },
21773             "Result": {
21774               "$ref": "#/definitions/ErrorResults"
21775             }
21776           }
21777         },
21778         "Life": {
21779           "type": "object",
21780           "properties": {
21781             "Params": {
21782               "$ref": "#/definitions/Entities"
21783             },
21784             "Result": {
21785               "$ref": "#/definitions/LifeResults"
21786             }
21787           }
21788         },
21789         "Merge": {
21790           "type": "object",
21791           "properties": {
21792             "Params": {
21793               "$ref": "#/definitions/MergeLeadershipSettingsBulkParams"
21794             },
21795             "Result": {
21796               "$ref": "#/definitions/ErrorResults"
21797             }
21798           }
21799         },
21800         "ModelConfig": {
21801           "type": "object",
21802           "properties": {
21803             "Result": {
21804               "$ref": "#/definitions/ModelConfigResult"
21805             }
21806           }
21807         },
21808         "ModelUUID": {
21809           "type": "object",
21810           "properties": {
21811             "Result": {
21812               "$ref": "#/definitions/StringResult"
21813             }
21814           }
21815         },
21816         "NetworkConfig": {
21817           "type": "object",
21818           "properties": {
21819             "Params": {
21820               "$ref": "#/definitions/UnitsNetworkConfig"
21821             },
21822             "Result": {
21823               "$ref": "#/definitions/UnitNetworkConfigResults"
21824             }
21825           }
21826         },
21827         "OpenPorts": {
21828           "type": "object",
21829           "properties": {
21830             "Params": {
21831               "$ref": "#/definitions/EntitiesPortRanges"
21832             },
21833             "Result": {
21834               "$ref": "#/definitions/ErrorResults"
21835             }
21836           }
21837         },
21838         "PrivateAddress": {
21839           "type": "object",
21840           "properties": {
21841             "Params": {
21842               "$ref": "#/definitions/Entities"
21843             },
21844             "Result": {
21845               "$ref": "#/definitions/StringResults"
21846             }
21847           }
21848         },
21849         "ProviderType": {
21850           "type": "object",
21851           "properties": {
21852             "Result": {
21853               "$ref": "#/definitions/StringResult"
21854             }
21855           }
21856         },
21857         "PublicAddress": {
21858           "type": "object",
21859           "properties": {
21860             "Params": {
21861               "$ref": "#/definitions/Entities"
21862             },
21863             "Result": {
21864               "$ref": "#/definitions/StringResults"
21865             }
21866           }
21867         },
21868         "Read": {
21869           "type": "object",
21870           "properties": {
21871             "Params": {
21872               "$ref": "#/definitions/Entities"
21873             },
21874             "Result": {
21875               "$ref": "#/definitions/GetLeadershipSettingsBulkResults"
21876             }
21877           }
21878         },
21879         "ReadRemoteSettings": {
21880           "type": "object",
21881           "properties": {
21882             "Params": {
21883               "$ref": "#/definitions/RelationUnitPairs"
21884             },
21885             "Result": {
21886               "$ref": "#/definitions/SettingsResults"
21887             }
21888           }
21889         },
21890         "ReadSettings": {
21891           "type": "object",
21892           "properties": {
21893             "Params": {
21894               "$ref": "#/definitions/RelationUnits"
21895             },
21896             "Result": {
21897               "$ref": "#/definitions/SettingsResults"
21898             }
21899           }
21900         },
21901         "Relation": {
21902           "type": "object",
21903           "properties": {
21904             "Params": {
21905               "$ref": "#/definitions/RelationUnits"
21906             },
21907             "Result": {
21908               "$ref": "#/definitions/RelationResults"
21909             }
21910           }
21911         },
21912         "RelationById": {
21913           "type": "object",
21914           "properties": {
21915             "Params": {
21916               "$ref": "#/definitions/RelationIds"
21917             },
21918             "Result": {
21919               "$ref": "#/definitions/RelationResults"
21920             }
21921           }
21922         },
21923         "RemoveStorageAttachments": {
21924           "type": "object",
21925           "properties": {
21926             "Params": {
21927               "$ref": "#/definitions/StorageAttachmentIds"
21928             },
21929             "Result": {
21930               "$ref": "#/definitions/ErrorResults"
21931             }
21932           }
21933         },
21934         "RequestReboot": {
21935           "type": "object",
21936           "properties": {
21937             "Params": {
21938               "$ref": "#/definitions/Entities"
21939             },
21940             "Result": {
21941               "$ref": "#/definitions/ErrorResults"
21942             }
21943           }
21944         },
21945         "Resolved": {
21946           "type": "object",
21947           "properties": {
21948             "Params": {
21949               "$ref": "#/definitions/Entities"
21950             },
21951             "Result": {
21952               "$ref": "#/definitions/ResolvedModeResults"
21953             }
21954           }
21955         },
21956         "SetAgentStatus": {
21957           "type": "object",
21958           "properties": {
21959             "Params": {
21960               "$ref": "#/definitions/SetStatus"
21961             },
21962             "Result": {
21963               "$ref": "#/definitions/ErrorResults"
21964             }
21965           }
21966         },
21967         "SetApplicationStatus": {
21968           "type": "object",
21969           "properties": {
21970             "Params": {
21971               "$ref": "#/definitions/SetStatus"
21972             },
21973             "Result": {
21974               "$ref": "#/definitions/ErrorResults"
21975             }
21976           }
21977         },
21978         "SetCharmURL": {
21979           "type": "object",
21980           "properties": {
21981             "Params": {
21982               "$ref": "#/definitions/EntitiesCharmURL"
21983             },
21984             "Result": {
21985               "$ref": "#/definitions/ErrorResults"
21986             }
21987           }
21988         },
21989         "SetStatus": {
21990           "type": "object",
21991           "properties": {
21992             "Params": {
21993               "$ref": "#/definitions/SetStatus"
21994             },
21995             "Result": {
21996               "$ref": "#/definitions/ErrorResults"
21997             }
21998           }
21999         },
22000         "SetUnitStatus": {
22001           "type": "object",
22002           "properties": {
22003             "Params": {
22004               "$ref": "#/definitions/SetStatus"
22005             },
22006             "Result": {
22007               "$ref": "#/definitions/ErrorResults"
22008             }
22009           }
22010         },
22011         "SetWorkloadVersion": {
22012           "type": "object",
22013           "properties": {
22014             "Params": {
22015               "$ref": "#/definitions/EntityWorkloadVersions"
22016             },
22017             "Result": {
22018               "$ref": "#/definitions/ErrorResults"
22019             }
22020           }
22021         },
22022         "StorageAttachmentLife": {
22023           "type": "object",
22024           "properties": {
22025             "Params": {
22026               "$ref": "#/definitions/StorageAttachmentIds"
22027             },
22028             "Result": {
22029               "$ref": "#/definitions/LifeResults"
22030             }
22031           }
22032         },
22033         "StorageAttachments": {
22034           "type": "object",
22035           "properties": {
22036             "Params": {
22037               "$ref": "#/definitions/StorageAttachmentIds"
22038             },
22039             "Result": {
22040               "$ref": "#/definitions/StorageAttachmentResults"
22041             }
22042           }
22043         },
22044         "UnitStatus": {
22045           "type": "object",
22046           "properties": {
22047             "Params": {
22048               "$ref": "#/definitions/Entities"
22049             },
22050             "Result": {
22051               "$ref": "#/definitions/StatusResults"
22052             }
22053           }
22054         },
22055         "UnitStorageAttachments": {
22056           "type": "object",
22057           "properties": {
22058             "Params": {
22059               "$ref": "#/definitions/Entities"
22060             },
22061             "Result": {
22062               "$ref": "#/definitions/StorageAttachmentIdsResults"
22063             }
22064           }
22065         },
22066         "UpdateSettings": {
22067           "type": "object",
22068           "properties": {
22069             "Params": {
22070               "$ref": "#/definitions/RelationUnitsSettings"
22071             },
22072             "Result": {
22073               "$ref": "#/definitions/ErrorResults"
22074             }
22075           }
22076         },
22077         "Watch": {
22078           "type": "object",
22079           "properties": {
22080             "Params": {
22081               "$ref": "#/definitions/Entities"
22082             },
22083             "Result": {
22084               "$ref": "#/definitions/NotifyWatchResults"
22085             }
22086           }
22087         },
22088         "WatchAPIHostPorts": {
22089           "type": "object",
22090           "properties": {
22091             "Result": {
22092               "$ref": "#/definitions/NotifyWatchResult"
22093             }
22094           }
22095         },
22096         "WatchActionNotifications": {
22097           "type": "object",
22098           "properties": {
22099             "Params": {
22100               "$ref": "#/definitions/Entities"
22101             },
22102             "Result": {
22103               "$ref": "#/definitions/StringsWatchResults"
22104             }
22105           }
22106         },
22107         "WatchApplicationRelations": {
22108           "type": "object",
22109           "properties": {
22110             "Params": {
22111               "$ref": "#/definitions/Entities"
22112             },
22113             "Result": {
22114               "$ref": "#/definitions/StringsWatchResults"
22115             }
22116           }
22117         },
22118         "WatchConfigSettings": {
22119           "type": "object",
22120           "properties": {
22121             "Params": {
22122               "$ref": "#/definitions/Entities"
22123             },
22124             "Result": {
22125               "$ref": "#/definitions/NotifyWatchResults"
22126             }
22127           }
22128         },
22129         "WatchForModelConfigChanges": {
22130           "type": "object",
22131           "properties": {
22132             "Result": {
22133               "$ref": "#/definitions/NotifyWatchResult"
22134             }
22135           }
22136         },
22137         "WatchLeadershipSettings": {
22138           "type": "object",
22139           "properties": {
22140             "Params": {
22141               "$ref": "#/definitions/Entities"
22142             },
22143             "Result": {
22144               "$ref": "#/definitions/NotifyWatchResults"
22145             }
22146           }
22147         },
22148         "WatchMeterStatus": {
22149           "type": "object",
22150           "properties": {
22151             "Params": {
22152               "$ref": "#/definitions/Entities"
22153             },
22154             "Result": {
22155               "$ref": "#/definitions/NotifyWatchResults"
22156             }
22157           }
22158         },
22159         "WatchRelationUnits": {
22160           "type": "object",
22161           "properties": {
22162             "Params": {
22163               "$ref": "#/definitions/RelationUnits"
22164             },
22165             "Result": {
22166               "$ref": "#/definitions/RelationUnitsWatchResults"
22167             }
22168           }
22169         },
22170         "WatchStorageAttachments": {
22171           "type": "object",
22172           "properties": {
22173             "Params": {
22174               "$ref": "#/definitions/StorageAttachmentIds"
22175             },
22176             "Result": {
22177               "$ref": "#/definitions/NotifyWatchResults"
22178             }
22179           }
22180         },
22181         "WatchUnitAddresses": {
22182           "type": "object",
22183           "properties": {
22184             "Params": {
22185               "$ref": "#/definitions/Entities"
22186             },
22187             "Result": {
22188               "$ref": "#/definitions/NotifyWatchResults"
22189             }
22190           }
22191         },
22192         "WatchUnitStorageAttachments": {
22193           "type": "object",
22194           "properties": {
22195             "Params": {
22196               "$ref": "#/definitions/Entities"
22197             },
22198             "Result": {
22199               "$ref": "#/definitions/StringsWatchResults"
22200             }
22201           }
22202         },
22203         "WorkloadVersion": {
22204           "type": "object",
22205           "properties": {
22206             "Params": {
22207               "$ref": "#/definitions/Entities"
22208             },
22209             "Result": {
22210               "$ref": "#/definitions/StringResults"
22211             }
22212           }
22213         }
22214       },
22215       "definitions": {
22216         "APIHostPortsResult": {
22217           "type": "object",
22218           "properties": {
22219             "servers": {
22220               "type": "array",
22221               "items": {
22222                 "type": "array",
22223                 "items": {
22224                   "$ref": "#/definitions/HostPort"
22225                 }
22226               }
22227             }
22228           },
22229           "additionalProperties": false,
22230           "required": [
22231             "servers"
22232           ]
22233         },
22234         "Action": {
22235           "type": "object",
22236           "properties": {
22237             "name": {
22238               "type": "string"
22239             },
22240             "parameters": {
22241               "type": "object",
22242               "patternProperties": {
22243                 ".*": {
22244                   "type": "object",
22245                   "additionalProperties": true
22246                 }
22247               }
22248             },
22249             "receiver": {
22250               "type": "string"
22251             },
22252             "tag": {
22253               "type": "string"
22254             }
22255           },
22256           "additionalProperties": false,
22257           "required": [
22258             "tag",
22259             "receiver",
22260             "name"
22261           ]
22262         },
22263         "ActionExecutionResult": {
22264           "type": "object",
22265           "properties": {
22266             "action-tag": {
22267               "type": "string"
22268             },
22269             "message": {
22270               "type": "string"
22271             },
22272             "results": {
22273               "type": "object",
22274               "patternProperties": {
22275                 ".*": {
22276                   "type": "object",
22277                   "additionalProperties": true
22278                 }
22279               }
22280             },
22281             "status": {
22282               "type": "string"
22283             }
22284           },
22285           "additionalProperties": false,
22286           "required": [
22287             "action-tag",
22288             "status"
22289           ]
22290         },
22291         "ActionExecutionResults": {
22292           "type": "object",
22293           "properties": {
22294             "results": {
22295               "type": "array",
22296               "items": {
22297                 "$ref": "#/definitions/ActionExecutionResult"
22298               }
22299             }
22300           },
22301           "additionalProperties": false
22302         },
22303         "ActionResult": {
22304           "type": "object",
22305           "properties": {
22306             "action": {
22307               "$ref": "#/definitions/Action"
22308             },
22309             "completed": {
22310               "type": "string",
22311               "format": "date-time"
22312             },
22313             "enqueued": {
22314               "type": "string",
22315               "format": "date-time"
22316             },
22317             "error": {
22318               "$ref": "#/definitions/Error"
22319             },
22320             "message": {
22321               "type": "string"
22322             },
22323             "output": {
22324               "type": "object",
22325               "patternProperties": {
22326                 ".*": {
22327                   "type": "object",
22328                   "additionalProperties": true
22329                 }
22330               }
22331             },
22332             "started": {
22333               "type": "string",
22334               "format": "date-time"
22335             },
22336             "status": {
22337               "type": "string"
22338             }
22339           },
22340           "additionalProperties": false
22341         },
22342         "ActionResults": {
22343           "type": "object",
22344           "properties": {
22345             "results": {
22346               "type": "array",
22347               "items": {
22348                 "$ref": "#/definitions/ActionResult"
22349               }
22350             }
22351           },
22352           "additionalProperties": false
22353         },
22354         "Address": {
22355           "type": "object",
22356           "properties": {
22357             "scope": {
22358               "type": "string"
22359             },
22360             "space-name": {
22361               "type": "string"
22362             },
22363             "type": {
22364               "type": "string"
22365             },
22366             "value": {
22367               "type": "string"
22368             }
22369           },
22370           "additionalProperties": false,
22371           "required": [
22372             "value",
22373             "type",
22374             "scope"
22375           ]
22376         },
22377         "ApplicationStatusResult": {
22378           "type": "object",
22379           "properties": {
22380             "application": {
22381               "$ref": "#/definitions/StatusResult"
22382             },
22383             "error": {
22384               "$ref": "#/definitions/Error"
22385             },
22386             "units": {
22387               "type": "object",
22388               "patternProperties": {
22389                 ".*": {
22390                   "$ref": "#/definitions/StatusResult"
22391                 }
22392               }
22393             }
22394           },
22395           "additionalProperties": false,
22396           "required": [
22397             "application",
22398             "units"
22399           ]
22400         },
22401         "ApplicationStatusResults": {
22402           "type": "object",
22403           "properties": {
22404             "results": {
22405               "type": "array",
22406               "items": {
22407                 "$ref": "#/definitions/ApplicationStatusResult"
22408               }
22409             }
22410           },
22411           "additionalProperties": false,
22412           "required": [
22413             "results"
22414           ]
22415         },
22416         "BoolResult": {
22417           "type": "object",
22418           "properties": {
22419             "error": {
22420               "$ref": "#/definitions/Error"
22421             },
22422             "result": {
22423               "type": "boolean"
22424             }
22425           },
22426           "additionalProperties": false,
22427           "required": [
22428             "result"
22429           ]
22430         },
22431         "BoolResults": {
22432           "type": "object",
22433           "properties": {
22434             "results": {
22435               "type": "array",
22436               "items": {
22437                 "$ref": "#/definitions/BoolResult"
22438               }
22439             }
22440           },
22441           "additionalProperties": false,
22442           "required": [
22443             "results"
22444           ]
22445         },
22446         "BytesResult": {
22447           "type": "object",
22448           "properties": {
22449             "result": {
22450               "type": "array",
22451               "items": {
22452                 "type": "integer"
22453               }
22454             }
22455           },
22456           "additionalProperties": false,
22457           "required": [
22458             "result"
22459           ]
22460         },
22461         "CharmRelation": {
22462           "type": "object",
22463           "properties": {
22464             "interface": {
22465               "type": "string"
22466             },
22467             "limit": {
22468               "type": "integer"
22469             },
22470             "name": {
22471               "type": "string"
22472             },
22473             "optional": {
22474               "type": "boolean"
22475             },
22476             "role": {
22477               "type": "string"
22478             },
22479             "scope": {
22480               "type": "string"
22481             }
22482           },
22483           "additionalProperties": false,
22484           "required": [
22485             "name",
22486             "role",
22487             "interface",
22488             "optional",
22489             "limit",
22490             "scope"
22491           ]
22492         },
22493         "CharmURL": {
22494           "type": "object",
22495           "properties": {
22496             "url": {
22497               "type": "string"
22498             }
22499           },
22500           "additionalProperties": false,
22501           "required": [
22502             "url"
22503           ]
22504         },
22505         "CharmURLs": {
22506           "type": "object",
22507           "properties": {
22508             "urls": {
22509               "type": "array",
22510               "items": {
22511                 "$ref": "#/definitions/CharmURL"
22512               }
22513             }
22514           },
22515           "additionalProperties": false,
22516           "required": [
22517             "urls"
22518           ]
22519         },
22520         "ConfigSettingsResult": {
22521           "type": "object",
22522           "properties": {
22523             "error": {
22524               "$ref": "#/definitions/Error"
22525             },
22526             "settings": {
22527               "type": "object",
22528               "patternProperties": {
22529                 ".*": {
22530                   "type": "object",
22531                   "additionalProperties": true
22532                 }
22533               }
22534             }
22535           },
22536           "additionalProperties": false,
22537           "required": [
22538             "settings"
22539           ]
22540         },
22541         "ConfigSettingsResults": {
22542           "type": "object",
22543           "properties": {
22544             "results": {
22545               "type": "array",
22546               "items": {
22547                 "$ref": "#/definitions/ConfigSettingsResult"
22548               }
22549             }
22550           },
22551           "additionalProperties": false,
22552           "required": [
22553             "results"
22554           ]
22555         },
22556         "Endpoint": {
22557           "type": "object",
22558           "properties": {
22559             "application-name": {
22560               "type": "string"
22561             },
22562             "relation": {
22563               "$ref": "#/definitions/CharmRelation"
22564             }
22565           },
22566           "additionalProperties": false,
22567           "required": [
22568             "application-name",
22569             "relation"
22570           ]
22571         },
22572         "Entities": {
22573           "type": "object",
22574           "properties": {
22575             "entities": {
22576               "type": "array",
22577               "items": {
22578                 "$ref": "#/definitions/Entity"
22579               }
22580             }
22581           },
22582           "additionalProperties": false,
22583           "required": [
22584             "entities"
22585           ]
22586         },
22587         "EntitiesCharmURL": {
22588           "type": "object",
22589           "properties": {
22590             "entities": {
22591               "type": "array",
22592               "items": {
22593                 "$ref": "#/definitions/EntityCharmURL"
22594               }
22595             }
22596           },
22597           "additionalProperties": false,
22598           "required": [
22599             "entities"
22600           ]
22601         },
22602         "EntitiesPortRanges": {
22603           "type": "object",
22604           "properties": {
22605             "entities": {
22606               "type": "array",
22607               "items": {
22608                 "$ref": "#/definitions/EntityPortRange"
22609               }
22610             }
22611           },
22612           "additionalProperties": false,
22613           "required": [
22614             "entities"
22615           ]
22616         },
22617         "Entity": {
22618           "type": "object",
22619           "properties": {
22620             "tag": {
22621               "type": "string"
22622             }
22623           },
22624           "additionalProperties": false,
22625           "required": [
22626             "tag"
22627           ]
22628         },
22629         "EntityCharmURL": {
22630           "type": "object",
22631           "properties": {
22632             "charm-url": {
22633               "type": "string"
22634             },
22635             "tag": {
22636               "type": "string"
22637             }
22638           },
22639           "additionalProperties": false,
22640           "required": [
22641             "tag",
22642             "charm-url"
22643           ]
22644         },
22645         "EntityPortRange": {
22646           "type": "object",
22647           "properties": {
22648             "from-port": {
22649               "type": "integer"
22650             },
22651             "protocol": {
22652               "type": "string"
22653             },
22654             "tag": {
22655               "type": "string"
22656             },
22657             "to-port": {
22658               "type": "integer"
22659             }
22660           },
22661           "additionalProperties": false,
22662           "required": [
22663             "tag",
22664             "protocol",
22665             "from-port",
22666             "to-port"
22667           ]
22668         },
22669         "EntityStatusArgs": {
22670           "type": "object",
22671           "properties": {
22672             "data": {
22673               "type": "object",
22674               "patternProperties": {
22675                 ".*": {
22676                   "type": "object",
22677                   "additionalProperties": true
22678                 }
22679               }
22680             },
22681             "info": {
22682               "type": "string"
22683             },
22684             "status": {
22685               "type": "string"
22686             },
22687             "tag": {
22688               "type": "string"
22689             }
22690           },
22691           "additionalProperties": false,
22692           "required": [
22693             "tag",
22694             "status",
22695             "info",
22696             "data"
22697           ]
22698         },
22699         "EntityWorkloadVersion": {
22700           "type": "object",
22701           "properties": {
22702             "tag": {
22703               "type": "string"
22704             },
22705             "workload-version": {
22706               "type": "string"
22707             }
22708           },
22709           "additionalProperties": false,
22710           "required": [
22711             "tag",
22712             "workload-version"
22713           ]
22714         },
22715         "EntityWorkloadVersions": {
22716           "type": "object",
22717           "properties": {
22718             "entities": {
22719               "type": "array",
22720               "items": {
22721                 "$ref": "#/definitions/EntityWorkloadVersion"
22722               }
22723             }
22724           },
22725           "additionalProperties": false,
22726           "required": [
22727             "entities"
22728           ]
22729         },
22730         "Error": {
22731           "type": "object",
22732           "properties": {
22733             "code": {
22734               "type": "string"
22735             },
22736             "info": {
22737               "$ref": "#/definitions/ErrorInfo"
22738             },
22739             "message": {
22740               "type": "string"
22741             }
22742           },
22743           "additionalProperties": false,
22744           "required": [
22745             "message",
22746             "code"
22747           ]
22748         },
22749         "ErrorInfo": {
22750           "type": "object",
22751           "properties": {
22752             "macaroon": {
22753               "$ref": "#/definitions/Macaroon"
22754             },
22755             "macaroon-path": {
22756               "type": "string"
22757             }
22758           },
22759           "additionalProperties": false
22760         },
22761         "ErrorResult": {
22762           "type": "object",
22763           "properties": {
22764             "error": {
22765               "$ref": "#/definitions/Error"
22766             }
22767           },
22768           "additionalProperties": false
22769         },
22770         "ErrorResults": {
22771           "type": "object",
22772           "properties": {
22773             "results": {
22774               "type": "array",
22775               "items": {
22776                 "$ref": "#/definitions/ErrorResult"
22777               }
22778             }
22779           },
22780           "additionalProperties": false,
22781           "required": [
22782             "results"
22783           ]
22784         },
22785         "GetLeadershipSettingsBulkResults": {
22786           "type": "object",
22787           "properties": {
22788             "results": {
22789               "type": "array",
22790               "items": {
22791                 "$ref": "#/definitions/GetLeadershipSettingsResult"
22792               }
22793             }
22794           },
22795           "additionalProperties": false,
22796           "required": [
22797             "results"
22798           ]
22799         },
22800         "GetLeadershipSettingsResult": {
22801           "type": "object",
22802           "properties": {
22803             "error": {
22804               "$ref": "#/definitions/Error"
22805             },
22806             "settings": {
22807               "type": "object",
22808               "patternProperties": {
22809                 ".*": {
22810                   "type": "string"
22811                 }
22812               }
22813             }
22814           },
22815           "additionalProperties": false,
22816           "required": [
22817             "settings"
22818           ]
22819         },
22820         "HostPort": {
22821           "type": "object",
22822           "properties": {
22823             "Address": {
22824               "$ref": "#/definitions/Address"
22825             },
22826             "port": {
22827               "type": "integer"
22828             }
22829           },
22830           "additionalProperties": false,
22831           "required": [
22832             "Address",
22833             "port"
22834           ]
22835         },
22836         "IntResult": {
22837           "type": "object",
22838           "properties": {
22839             "error": {
22840               "$ref": "#/definitions/Error"
22841             },
22842             "result": {
22843               "type": "integer"
22844             }
22845           },
22846           "additionalProperties": false,
22847           "required": [
22848             "result"
22849           ]
22850         },
22851         "IntResults": {
22852           "type": "object",
22853           "properties": {
22854             "results": {
22855               "type": "array",
22856               "items": {
22857                 "$ref": "#/definitions/IntResult"
22858               }
22859             }
22860           },
22861           "additionalProperties": false,
22862           "required": [
22863             "results"
22864           ]
22865         },
22866         "LifeResult": {
22867           "type": "object",
22868           "properties": {
22869             "error": {
22870               "$ref": "#/definitions/Error"
22871             },
22872             "life": {
22873               "type": "string"
22874             }
22875           },
22876           "additionalProperties": false,
22877           "required": [
22878             "life"
22879           ]
22880         },
22881         "LifeResults": {
22882           "type": "object",
22883           "properties": {
22884             "results": {
22885               "type": "array",
22886               "items": {
22887                 "$ref": "#/definitions/LifeResult"
22888               }
22889             }
22890           },
22891           "additionalProperties": false,
22892           "required": [
22893             "results"
22894           ]
22895         },
22896         "Macaroon": {
22897           "type": "object",
22898           "additionalProperties": false
22899         },
22900         "MachinePortRange": {
22901           "type": "object",
22902           "properties": {
22903             "port-range": {
22904               "$ref": "#/definitions/PortRange"
22905             },
22906             "relation-tag": {
22907               "type": "string"
22908             },
22909             "unit-tag": {
22910               "type": "string"
22911             }
22912           },
22913           "additionalProperties": false,
22914           "required": [
22915             "unit-tag",
22916             "relation-tag",
22917             "port-range"
22918           ]
22919         },
22920         "MachinePortsResult": {
22921           "type": "object",
22922           "properties": {
22923             "error": {
22924               "$ref": "#/definitions/Error"
22925             },
22926             "ports": {
22927               "type": "array",
22928               "items": {
22929                 "$ref": "#/definitions/MachinePortRange"
22930               }
22931             }
22932           },
22933           "additionalProperties": false,
22934           "required": [
22935             "ports"
22936           ]
22937         },
22938         "MachinePortsResults": {
22939           "type": "object",
22940           "properties": {
22941             "results": {
22942               "type": "array",
22943               "items": {
22944                 "$ref": "#/definitions/MachinePortsResult"
22945               }
22946             }
22947           },
22948           "additionalProperties": false,
22949           "required": [
22950             "results"
22951           ]
22952         },
22953         "MergeLeadershipSettingsBulkParams": {
22954           "type": "object",
22955           "properties": {
22956             "params": {
22957               "type": "array",
22958               "items": {
22959                 "$ref": "#/definitions/MergeLeadershipSettingsParam"
22960               }
22961             }
22962           },
22963           "additionalProperties": false,
22964           "required": [
22965             "params"
22966           ]
22967         },
22968         "MergeLeadershipSettingsParam": {
22969           "type": "object",
22970           "properties": {
22971             "application-tag": {
22972               "type": "string"
22973             },
22974             "settings": {
22975               "type": "object",
22976               "patternProperties": {
22977                 ".*": {
22978                   "type": "string"
22979                 }
22980               }
22981             }
22982           },
22983           "additionalProperties": false,
22984           "required": [
22985             "application-tag",
22986             "settings"
22987           ]
22988         },
22989         "MeterStatusResult": {
22990           "type": "object",
22991           "properties": {
22992             "code": {
22993               "type": "string"
22994             },
22995             "error": {
22996               "$ref": "#/definitions/Error"
22997             },
22998             "info": {
22999               "type": "string"
23000             }
23001           },
23002           "additionalProperties": false,
23003           "required": [
23004             "code",
23005             "info"
23006           ]
23007         },
23008         "MeterStatusResults": {
23009           "type": "object",
23010           "properties": {
23011             "results": {
23012               "type": "array",
23013               "items": {
23014                 "$ref": "#/definitions/MeterStatusResult"
23015               }
23016             }
23017           },
23018           "additionalProperties": false,
23019           "required": [
23020             "results"
23021           ]
23022         },
23023         "Metric": {
23024           "type": "object",
23025           "properties": {
23026             "key": {
23027               "type": "string"
23028             },
23029             "time": {
23030               "type": "string",
23031               "format": "date-time"
23032             },
23033             "value": {
23034               "type": "string"
23035             }
23036           },
23037           "additionalProperties": false,
23038           "required": [
23039             "key",
23040             "value",
23041             "time"
23042           ]
23043         },
23044         "MetricBatch": {
23045           "type": "object",
23046           "properties": {
23047             "charm-url": {
23048               "type": "string"
23049             },
23050             "created": {
23051               "type": "string",
23052               "format": "date-time"
23053             },
23054             "metrics": {
23055               "type": "array",
23056               "items": {
23057                 "$ref": "#/definitions/Metric"
23058               }
23059             },
23060             "uuid": {
23061               "type": "string"
23062             }
23063           },
23064           "additionalProperties": false,
23065           "required": [
23066             "uuid",
23067             "charm-url",
23068             "created",
23069             "metrics"
23070           ]
23071         },
23072         "MetricBatchParam": {
23073           "type": "object",
23074           "properties": {
23075             "batch": {
23076               "$ref": "#/definitions/MetricBatch"
23077             },
23078             "tag": {
23079               "type": "string"
23080             }
23081           },
23082           "additionalProperties": false,
23083           "required": [
23084             "tag",
23085             "batch"
23086           ]
23087         },
23088         "MetricBatchParams": {
23089           "type": "object",
23090           "properties": {
23091             "batches": {
23092               "type": "array",
23093               "items": {
23094                 "$ref": "#/definitions/MetricBatchParam"
23095               }
23096             }
23097           },
23098           "additionalProperties": false,
23099           "required": [
23100             "batches"
23101           ]
23102         },
23103         "ModelConfigResult": {
23104           "type": "object",
23105           "properties": {
23106             "config": {
23107               "type": "object",
23108               "patternProperties": {
23109                 ".*": {
23110                   "type": "object",
23111                   "additionalProperties": true
23112                 }
23113               }
23114             }
23115           },
23116           "additionalProperties": false,
23117           "required": [
23118             "config"
23119           ]
23120         },
23121         "ModelResult": {
23122           "type": "object",
23123           "properties": {
23124             "error": {
23125               "$ref": "#/definitions/Error"
23126             },
23127             "name": {
23128               "type": "string"
23129             },
23130             "uuid": {
23131               "type": "string"
23132             }
23133           },
23134           "additionalProperties": false,
23135           "required": [
23136             "name",
23137             "uuid"
23138           ]
23139         },
23140         "NetworkConfig": {
23141           "type": "object",
23142           "properties": {
23143             "address": {
23144               "type": "string"
23145             },
23146             "cidr": {
23147               "type": "string"
23148             },
23149             "config-type": {
23150               "type": "string"
23151             },
23152             "device-index": {
23153               "type": "integer"
23154             },
23155             "disabled": {
23156               "type": "boolean"
23157             },
23158             "dns-search-domains": {
23159               "type": "array",
23160               "items": {
23161                 "type": "string"
23162               }
23163             },
23164             "dns-servers": {
23165               "type": "array",
23166               "items": {
23167                 "type": "string"
23168               }
23169             },
23170             "gateway-address": {
23171               "type": "string"
23172             },
23173             "interface-name": {
23174               "type": "string"
23175             },
23176             "interface-type": {
23177               "type": "string"
23178             },
23179             "mac-address": {
23180               "type": "string"
23181             },
23182             "mtu": {
23183               "type": "integer"
23184             },
23185             "no-auto-start": {
23186               "type": "boolean"
23187             },
23188             "parent-interface-name": {
23189               "type": "string"
23190             },
23191             "provider-address-id": {
23192               "type": "string"
23193             },
23194             "provider-id": {
23195               "type": "string"
23196             },
23197             "provider-space-id": {
23198               "type": "string"
23199             },
23200             "provider-subnet-id": {
23201               "type": "string"
23202             },
23203             "provider-vlan-id": {
23204               "type": "string"
23205             },
23206             "vlan-tag": {
23207               "type": "integer"
23208             }
23209           },
23210           "additionalProperties": false,
23211           "required": [
23212             "device-index",
23213             "mac-address",
23214             "cidr",
23215             "mtu",
23216             "provider-id",
23217             "provider-subnet-id",
23218             "provider-space-id",
23219             "provider-address-id",
23220             "provider-vlan-id",
23221             "vlan-tag",
23222             "interface-name",
23223             "parent-interface-name",
23224             "interface-type",
23225             "disabled"
23226           ]
23227         },
23228         "NotifyWatchResult": {
23229           "type": "object",
23230           "properties": {
23231             "NotifyWatcherId": {
23232               "type": "string"
23233             },
23234             "error": {
23235               "$ref": "#/definitions/Error"
23236             }
23237           },
23238           "additionalProperties": false,
23239           "required": [
23240             "NotifyWatcherId"
23241           ]
23242         },
23243         "NotifyWatchResults": {
23244           "type": "object",
23245           "properties": {
23246             "results": {
23247               "type": "array",
23248               "items": {
23249                 "$ref": "#/definitions/NotifyWatchResult"
23250               }
23251             }
23252           },
23253           "additionalProperties": false,
23254           "required": [
23255             "results"
23256           ]
23257         },
23258         "PortRange": {
23259           "type": "object",
23260           "properties": {
23261             "from-port": {
23262               "type": "integer"
23263             },
23264             "protocol": {
23265               "type": "string"
23266             },
23267             "to-port": {
23268               "type": "integer"
23269             }
23270           },
23271           "additionalProperties": false,
23272           "required": [
23273             "from-port",
23274             "to-port",
23275             "protocol"
23276           ]
23277         },
23278         "RelationIds": {
23279           "type": "object",
23280           "properties": {
23281             "relation-ids": {
23282               "type": "array",
23283               "items": {
23284                 "type": "integer"
23285               }
23286             }
23287           },
23288           "additionalProperties": false,
23289           "required": [
23290             "relation-ids"
23291           ]
23292         },
23293         "RelationResult": {
23294           "type": "object",
23295           "properties": {
23296             "endpoint": {
23297               "$ref": "#/definitions/Endpoint"
23298             },
23299             "error": {
23300               "$ref": "#/definitions/Error"
23301             },
23302             "id": {
23303               "type": "integer"
23304             },
23305             "key": {
23306               "type": "string"
23307             },
23308             "life": {
23309               "type": "string"
23310             }
23311           },
23312           "additionalProperties": false,
23313           "required": [
23314             "life",
23315             "id",
23316             "key",
23317             "endpoint"
23318           ]
23319         },
23320         "RelationResults": {
23321           "type": "object",
23322           "properties": {
23323             "results": {
23324               "type": "array",
23325               "items": {
23326                 "$ref": "#/definitions/RelationResult"
23327               }
23328             }
23329           },
23330           "additionalProperties": false,
23331           "required": [
23332             "results"
23333           ]
23334         },
23335         "RelationUnit": {
23336           "type": "object",
23337           "properties": {
23338             "relation": {
23339               "type": "string"
23340             },
23341             "unit": {
23342               "type": "string"
23343             }
23344           },
23345           "additionalProperties": false,
23346           "required": [
23347             "relation",
23348             "unit"
23349           ]
23350         },
23351         "RelationUnitPair": {
23352           "type": "object",
23353           "properties": {
23354             "local-unit": {
23355               "type": "string"
23356             },
23357             "relation": {
23358               "type": "string"
23359             },
23360             "remote-unit": {
23361               "type": "string"
23362             }
23363           },
23364           "additionalProperties": false,
23365           "required": [
23366             "relation",
23367             "local-unit",
23368             "remote-unit"
23369           ]
23370         },
23371         "RelationUnitPairs": {
23372           "type": "object",
23373           "properties": {
23374             "relation-unit-pairs": {
23375               "type": "array",
23376               "items": {
23377                 "$ref": "#/definitions/RelationUnitPair"
23378               }
23379             }
23380           },
23381           "additionalProperties": false,
23382           "required": [
23383             "relation-unit-pairs"
23384           ]
23385         },
23386         "RelationUnitSettings": {
23387           "type": "object",
23388           "properties": {
23389             "relation": {
23390               "type": "string"
23391             },
23392             "settings": {
23393               "type": "object",
23394               "patternProperties": {
23395                 ".*": {
23396                   "type": "string"
23397                 }
23398               }
23399             },
23400             "unit": {
23401               "type": "string"
23402             }
23403           },
23404           "additionalProperties": false,
23405           "required": [
23406             "relation",
23407             "unit",
23408             "settings"
23409           ]
23410         },
23411         "RelationUnits": {
23412           "type": "object",
23413           "properties": {
23414             "relation-units": {
23415               "type": "array",
23416               "items": {
23417                 "$ref": "#/definitions/RelationUnit"
23418               }
23419             }
23420           },
23421           "additionalProperties": false,
23422           "required": [
23423             "relation-units"
23424           ]
23425         },
23426         "RelationUnitsChange": {
23427           "type": "object",
23428           "properties": {
23429             "changed": {
23430               "type": "object",
23431               "patternProperties": {
23432                 ".*": {
23433                   "$ref": "#/definitions/UnitSettings"
23434                 }
23435               }
23436             },
23437             "departed": {
23438               "type": "array",
23439               "items": {
23440                 "type": "string"
23441               }
23442             }
23443           },
23444           "additionalProperties": false,
23445           "required": [
23446             "changed"
23447           ]
23448         },
23449         "RelationUnitsSettings": {
23450           "type": "object",
23451           "properties": {
23452             "relation-units": {
23453               "type": "array",
23454               "items": {
23455                 "$ref": "#/definitions/RelationUnitSettings"
23456               }
23457             }
23458           },
23459           "additionalProperties": false,
23460           "required": [
23461             "relation-units"
23462           ]
23463         },
23464         "RelationUnitsWatchResult": {
23465           "type": "object",
23466           "properties": {
23467             "changes": {
23468               "$ref": "#/definitions/RelationUnitsChange"
23469             },
23470             "error": {
23471               "$ref": "#/definitions/Error"
23472             },
23473             "watcher-id": {
23474               "type": "string"
23475             }
23476           },
23477           "additionalProperties": false,
23478           "required": [
23479             "watcher-id",
23480             "changes"
23481           ]
23482         },
23483         "RelationUnitsWatchResults": {
23484           "type": "object",
23485           "properties": {
23486             "results": {
23487               "type": "array",
23488               "items": {
23489                 "$ref": "#/definitions/RelationUnitsWatchResult"
23490               }
23491             }
23492           },
23493           "additionalProperties": false,
23494           "required": [
23495             "results"
23496           ]
23497         },
23498         "ResolvedModeResult": {
23499           "type": "object",
23500           "properties": {
23501             "error": {
23502               "$ref": "#/definitions/Error"
23503             },
23504             "mode": {
23505               "type": "string"
23506             }
23507           },
23508           "additionalProperties": false,
23509           "required": [
23510             "mode"
23511           ]
23512         },
23513         "ResolvedModeResults": {
23514           "type": "object",
23515           "properties": {
23516             "results": {
23517               "type": "array",
23518               "items": {
23519                 "$ref": "#/definitions/ResolvedModeResult"
23520               }
23521             }
23522           },
23523           "additionalProperties": false,
23524           "required": [
23525             "results"
23526           ]
23527         },
23528         "SetStatus": {
23529           "type": "object",
23530           "properties": {
23531             "entities": {
23532               "type": "array",
23533               "items": {
23534                 "$ref": "#/definitions/EntityStatusArgs"
23535               }
23536             }
23537           },
23538           "additionalProperties": false,
23539           "required": [
23540             "entities"
23541           ]
23542         },
23543         "SettingsResult": {
23544           "type": "object",
23545           "properties": {
23546             "error": {
23547               "$ref": "#/definitions/Error"
23548             },
23549             "settings": {
23550               "type": "object",
23551               "patternProperties": {
23552                 ".*": {
23553                   "type": "string"
23554                 }
23555               }
23556             }
23557           },
23558           "additionalProperties": false,
23559           "required": [
23560             "settings"
23561           ]
23562         },
23563         "SettingsResults": {
23564           "type": "object",
23565           "properties": {
23566             "results": {
23567               "type": "array",
23568               "items": {
23569                 "$ref": "#/definitions/SettingsResult"
23570               }
23571             }
23572           },
23573           "additionalProperties": false,
23574           "required": [
23575             "results"
23576           ]
23577         },
23578         "StatusResult": {
23579           "type": "object",
23580           "properties": {
23581             "data": {
23582               "type": "object",
23583               "patternProperties": {
23584                 ".*": {
23585                   "type": "object",
23586                   "additionalProperties": true
23587                 }
23588               }
23589             },
23590             "error": {
23591               "$ref": "#/definitions/Error"
23592             },
23593             "id": {
23594               "type": "string"
23595             },
23596             "info": {
23597               "type": "string"
23598             },
23599             "life": {
23600               "type": "string"
23601             },
23602             "since": {
23603               "type": "string",
23604               "format": "date-time"
23605             },
23606             "status": {
23607               "type": "string"
23608             }
23609           },
23610           "additionalProperties": false,
23611           "required": [
23612             "id",
23613             "life",
23614             "status",
23615             "info",
23616             "data",
23617             "since"
23618           ]
23619         },
23620         "StatusResults": {
23621           "type": "object",
23622           "properties": {
23623             "results": {
23624               "type": "array",
23625               "items": {
23626                 "$ref": "#/definitions/StatusResult"
23627               }
23628             }
23629           },
23630           "additionalProperties": false,
23631           "required": [
23632             "results"
23633           ]
23634         },
23635         "StorageAddParams": {
23636           "type": "object",
23637           "properties": {
23638             "name": {
23639               "type": "string"
23640             },
23641             "storage": {
23642               "$ref": "#/definitions/StorageConstraints"
23643             },
23644             "unit": {
23645               "type": "string"
23646             }
23647           },
23648           "additionalProperties": false,
23649           "required": [
23650             "unit",
23651             "name",
23652             "storage"
23653           ]
23654         },
23655         "StorageAttachment": {
23656           "type": "object",
23657           "properties": {
23658             "kind": {
23659               "type": "integer"
23660             },
23661             "life": {
23662               "type": "string"
23663             },
23664             "location": {
23665               "type": "string"
23666             },
23667             "owner-tag": {
23668               "type": "string"
23669             },
23670             "storage-tag": {
23671               "type": "string"
23672             },
23673             "unit-tag": {
23674               "type": "string"
23675             }
23676           },
23677           "additionalProperties": false,
23678           "required": [
23679             "storage-tag",
23680             "owner-tag",
23681             "unit-tag",
23682             "kind",
23683             "location",
23684             "life"
23685           ]
23686         },
23687         "StorageAttachmentId": {
23688           "type": "object",
23689           "properties": {
23690             "storage-tag": {
23691               "type": "string"
23692             },
23693             "unit-tag": {
23694               "type": "string"
23695             }
23696           },
23697           "additionalProperties": false,
23698           "required": [
23699             "storage-tag",
23700             "unit-tag"
23701           ]
23702         },
23703         "StorageAttachmentIds": {
23704           "type": "object",
23705           "properties": {
23706             "ids": {
23707               "type": "array",
23708               "items": {
23709                 "$ref": "#/definitions/StorageAttachmentId"
23710               }
23711             }
23712           },
23713           "additionalProperties": false,
23714           "required": [
23715             "ids"
23716           ]
23717         },
23718         "StorageAttachmentIdsResult": {
23719           "type": "object",
23720           "properties": {
23721             "error": {
23722               "$ref": "#/definitions/Error"
23723             },
23724             "result": {
23725               "$ref": "#/definitions/StorageAttachmentIds"
23726             }
23727           },
23728           "additionalProperties": false,
23729           "required": [
23730             "result"
23731           ]
23732         },
23733         "StorageAttachmentIdsResults": {
23734           "type": "object",
23735           "properties": {
23736             "results": {
23737               "type": "array",
23738               "items": {
23739                 "$ref": "#/definitions/StorageAttachmentIdsResult"
23740               }
23741             }
23742           },
23743           "additionalProperties": false
23744         },
23745         "StorageAttachmentResult": {
23746           "type": "object",
23747           "properties": {
23748             "error": {
23749               "$ref": "#/definitions/Error"
23750             },
23751             "result": {
23752               "$ref": "#/definitions/StorageAttachment"
23753             }
23754           },
23755           "additionalProperties": false,
23756           "required": [
23757             "result"
23758           ]
23759         },
23760         "StorageAttachmentResults": {
23761           "type": "object",
23762           "properties": {
23763             "results": {
23764               "type": "array",
23765               "items": {
23766                 "$ref": "#/definitions/StorageAttachmentResult"
23767               }
23768             }
23769           },
23770           "additionalProperties": false
23771         },
23772         "StorageConstraints": {
23773           "type": "object",
23774           "properties": {
23775             "count": {
23776               "type": "integer"
23777             },
23778             "pool": {
23779               "type": "string"
23780             },
23781             "size": {
23782               "type": "integer"
23783             }
23784           },
23785           "additionalProperties": false
23786         },
23787         "StoragesAddParams": {
23788           "type": "object",
23789           "properties": {
23790             "storages": {
23791               "type": "array",
23792               "items": {
23793                 "$ref": "#/definitions/StorageAddParams"
23794               }
23795             }
23796           },
23797           "additionalProperties": false,
23798           "required": [
23799             "storages"
23800           ]
23801         },
23802         "StringBoolResult": {
23803           "type": "object",
23804           "properties": {
23805             "error": {
23806               "$ref": "#/definitions/Error"
23807             },
23808             "ok": {
23809               "type": "boolean"
23810             },
23811             "result": {
23812               "type": "string"
23813             }
23814           },
23815           "additionalProperties": false,
23816           "required": [
23817             "result",
23818             "ok"
23819           ]
23820         },
23821         "StringBoolResults": {
23822           "type": "object",
23823           "properties": {
23824             "results": {
23825               "type": "array",
23826               "items": {
23827                 "$ref": "#/definitions/StringBoolResult"
23828               }
23829             }
23830           },
23831           "additionalProperties": false,
23832           "required": [
23833             "results"
23834           ]
23835         },
23836         "StringResult": {
23837           "type": "object",
23838           "properties": {
23839             "error": {
23840               "$ref": "#/definitions/Error"
23841             },
23842             "result": {
23843               "type": "string"
23844             }
23845           },
23846           "additionalProperties": false,
23847           "required": [
23848             "result"
23849           ]
23850         },
23851         "StringResults": {
23852           "type": "object",
23853           "properties": {
23854             "results": {
23855               "type": "array",
23856               "items": {
23857                 "$ref": "#/definitions/StringResult"
23858               }
23859             }
23860           },
23861           "additionalProperties": false,
23862           "required": [
23863             "results"
23864           ]
23865         },
23866         "StringsResult": {
23867           "type": "object",
23868           "properties": {
23869             "error": {
23870               "$ref": "#/definitions/Error"
23871             },
23872             "result": {
23873               "type": "array",
23874               "items": {
23875                 "type": "string"
23876               }
23877             }
23878           },
23879           "additionalProperties": false
23880         },
23881         "StringsResults": {
23882           "type": "object",
23883           "properties": {
23884             "results": {
23885               "type": "array",
23886               "items": {
23887                 "$ref": "#/definitions/StringsResult"
23888               }
23889             }
23890           },
23891           "additionalProperties": false,
23892           "required": [
23893             "results"
23894           ]
23895         },
23896         "StringsWatchResult": {
23897           "type": "object",
23898           "properties": {
23899             "changes": {
23900               "type": "array",
23901               "items": {
23902                 "type": "string"
23903               }
23904             },
23905             "error": {
23906               "$ref": "#/definitions/Error"
23907             },
23908             "watcher-id": {
23909               "type": "string"
23910             }
23911           },
23912           "additionalProperties": false,
23913           "required": [
23914             "watcher-id"
23915           ]
23916         },
23917         "StringsWatchResults": {
23918           "type": "object",
23919           "properties": {
23920             "results": {
23921               "type": "array",
23922               "items": {
23923                 "$ref": "#/definitions/StringsWatchResult"
23924               }
23925             }
23926           },
23927           "additionalProperties": false,
23928           "required": [
23929             "results"
23930           ]
23931         },
23932         "UnitNetworkConfig": {
23933           "type": "object",
23934           "properties": {
23935             "binding-name": {
23936               "type": "string"
23937             },
23938             "unit-tag": {
23939               "type": "string"
23940             }
23941           },
23942           "additionalProperties": false,
23943           "required": [
23944             "unit-tag",
23945             "binding-name"
23946           ]
23947         },
23948         "UnitNetworkConfigResult": {
23949           "type": "object",
23950           "properties": {
23951             "error": {
23952               "$ref": "#/definitions/Error"
23953             },
23954             "info": {
23955               "type": "array",
23956               "items": {
23957                 "$ref": "#/definitions/NetworkConfig"
23958               }
23959             }
23960           },
23961           "additionalProperties": false,
23962           "required": [
23963             "info"
23964           ]
23965         },
23966         "UnitNetworkConfigResults": {
23967           "type": "object",
23968           "properties": {
23969             "results": {
23970               "type": "array",
23971               "items": {
23972                 "$ref": "#/definitions/UnitNetworkConfigResult"
23973               }
23974             }
23975           },
23976           "additionalProperties": false,
23977           "required": [
23978             "results"
23979           ]
23980         },
23981         "UnitSettings": {
23982           "type": "object",
23983           "properties": {
23984             "version": {
23985               "type": "integer"
23986             }
23987           },
23988           "additionalProperties": false,
23989           "required": [
23990             "version"
23991           ]
23992         },
23993         "UnitsNetworkConfig": {
23994           "type": "object",
23995           "properties": {
23996             "args": {
23997               "type": "array",
23998               "items": {
23999                 "$ref": "#/definitions/UnitNetworkConfig"
24000               }
24001             }
24002           },
24003           "additionalProperties": false,
24004           "required": [
24005             "args"
24006           ]
24007         }
24008       }
24009     }
24010   },
24011   {
24012     "Name": "Upgrader",
24013     "Version": 1,
24014     "Schema": {
24015       "type": "object",
24016       "properties": {
24017         "DesiredVersion": {
24018           "type": "object",
24019           "properties": {
24020             "Params": {
24021               "$ref": "#/definitions/Entities"
24022             },
24023             "Result": {
24024               "$ref": "#/definitions/VersionResults"
24025             }
24026           }
24027         },
24028         "SetTools": {
24029           "type": "object",
24030           "properties": {
24031             "Params": {
24032               "$ref": "#/definitions/EntitiesVersion"
24033             },
24034             "Result": {
24035               "$ref": "#/definitions/ErrorResults"
24036             }
24037           }
24038         },
24039         "Tools": {
24040           "type": "object",
24041           "properties": {
24042             "Params": {
24043               "$ref": "#/definitions/Entities"
24044             },
24045             "Result": {
24046               "$ref": "#/definitions/ToolsResults"
24047             }
24048           }
24049         },
24050         "WatchAPIVersion": {
24051           "type": "object",
24052           "properties": {
24053             "Params": {
24054               "$ref": "#/definitions/Entities"
24055             },
24056             "Result": {
24057               "$ref": "#/definitions/NotifyWatchResults"
24058             }
24059           }
24060         }
24061       },
24062       "definitions": {
24063         "Binary": {
24064           "type": "object",
24065           "properties": {
24066             "Arch": {
24067               "type": "string"
24068             },
24069             "Number": {
24070               "$ref": "#/definitions/Number"
24071             },
24072             "Series": {
24073               "type": "string"
24074             }
24075           },
24076           "additionalProperties": false,
24077           "required": [
24078             "Number",
24079             "Series",
24080             "Arch"
24081           ]
24082         },
24083         "Entities": {
24084           "type": "object",
24085           "properties": {
24086             "entities": {
24087               "type": "array",
24088               "items": {
24089                 "$ref": "#/definitions/Entity"
24090               }
24091             }
24092           },
24093           "additionalProperties": false,
24094           "required": [
24095             "entities"
24096           ]
24097         },
24098         "EntitiesVersion": {
24099           "type": "object",
24100           "properties": {
24101             "agent-tools": {
24102               "type": "array",
24103               "items": {
24104                 "$ref": "#/definitions/EntityVersion"
24105               }
24106             }
24107           },
24108           "additionalProperties": false,
24109           "required": [
24110             "agent-tools"
24111           ]
24112         },
24113         "Entity": {
24114           "type": "object",
24115           "properties": {
24116             "tag": {
24117               "type": "string"
24118             }
24119           },
24120           "additionalProperties": false,
24121           "required": [
24122             "tag"
24123           ]
24124         },
24125         "EntityVersion": {
24126           "type": "object",
24127           "properties": {
24128             "tag": {
24129               "type": "string"
24130             },
24131             "tools": {
24132               "$ref": "#/definitions/Version"
24133             }
24134           },
24135           "additionalProperties": false,
24136           "required": [
24137             "tag",
24138             "tools"
24139           ]
24140         },
24141         "Error": {
24142           "type": "object",
24143           "properties": {
24144             "code": {
24145               "type": "string"
24146             },
24147             "info": {
24148               "$ref": "#/definitions/ErrorInfo"
24149             },
24150             "message": {
24151               "type": "string"
24152             }
24153           },
24154           "additionalProperties": false,
24155           "required": [
24156             "message",
24157             "code"
24158           ]
24159         },
24160         "ErrorInfo": {
24161           "type": "object",
24162           "properties": {
24163             "macaroon": {
24164               "$ref": "#/definitions/Macaroon"
24165             },
24166             "macaroon-path": {
24167               "type": "string"
24168             }
24169           },
24170           "additionalProperties": false
24171         },
24172         "ErrorResult": {
24173           "type": "object",
24174           "properties": {
24175             "error": {
24176               "$ref": "#/definitions/Error"
24177             }
24178           },
24179           "additionalProperties": false
24180         },
24181         "ErrorResults": {
24182           "type": "object",
24183           "properties": {
24184             "results": {
24185               "type": "array",
24186               "items": {
24187                 "$ref": "#/definitions/ErrorResult"
24188               }
24189             }
24190           },
24191           "additionalProperties": false,
24192           "required": [
24193             "results"
24194           ]
24195         },
24196         "Macaroon": {
24197           "type": "object",
24198           "additionalProperties": false
24199         },
24200         "NotifyWatchResult": {
24201           "type": "object",
24202           "properties": {
24203             "NotifyWatcherId": {
24204               "type": "string"
24205             },
24206             "error": {
24207               "$ref": "#/definitions/Error"
24208             }
24209           },
24210           "additionalProperties": false,
24211           "required": [
24212             "NotifyWatcherId"
24213           ]
24214         },
24215         "NotifyWatchResults": {
24216           "type": "object",
24217           "properties": {
24218             "results": {
24219               "type": "array",
24220               "items": {
24221                 "$ref": "#/definitions/NotifyWatchResult"
24222               }
24223             }
24224           },
24225           "additionalProperties": false,
24226           "required": [
24227             "results"
24228           ]
24229         },
24230         "Number": {
24231           "type": "object",
24232           "properties": {
24233             "Build": {
24234               "type": "integer"
24235             },
24236             "Major": {
24237               "type": "integer"
24238             },
24239             "Minor": {
24240               "type": "integer"
24241             },
24242             "Patch": {
24243               "type": "integer"
24244             },
24245             "Tag": {
24246               "type": "string"
24247             }
24248           },
24249           "additionalProperties": false,
24250           "required": [
24251             "Major",
24252             "Minor",
24253             "Tag",
24254             "Patch",
24255             "Build"
24256           ]
24257         },
24258         "Tools": {
24259           "type": "object",
24260           "properties": {
24261             "sha256": {
24262               "type": "string"
24263             },
24264             "size": {
24265               "type": "integer"
24266             },
24267             "url": {
24268               "type": "string"
24269             },
24270             "version": {
24271               "$ref": "#/definitions/Binary"
24272             }
24273           },
24274           "additionalProperties": false,
24275           "required": [
24276             "version",
24277             "url",
24278             "size"
24279           ]
24280         },
24281         "ToolsResult": {
24282           "type": "object",
24283           "properties": {
24284             "disable-ssl-hostname-verification": {
24285               "type": "boolean"
24286             },
24287             "error": {
24288               "$ref": "#/definitions/Error"
24289             },
24290             "tools": {
24291               "type": "array",
24292               "items": {
24293                 "$ref": "#/definitions/Tools"
24294               }
24295             }
24296           },
24297           "additionalProperties": false,
24298           "required": [
24299             "tools",
24300             "disable-ssl-hostname-verification"
24301           ]
24302         },
24303         "ToolsResults": {
24304           "type": "object",
24305           "properties": {
24306             "results": {
24307               "type": "array",
24308               "items": {
24309                 "$ref": "#/definitions/ToolsResult"
24310               }
24311             }
24312           },
24313           "additionalProperties": false,
24314           "required": [
24315             "results"
24316           ]
24317         },
24318         "Version": {
24319           "type": "object",
24320           "properties": {
24321             "version": {
24322               "$ref": "#/definitions/Binary"
24323             }
24324           },
24325           "additionalProperties": false,
24326           "required": [
24327             "version"
24328           ]
24329         },
24330         "VersionResult": {
24331           "type": "object",
24332           "properties": {
24333             "error": {
24334               "$ref": "#/definitions/Error"
24335             },
24336             "version": {
24337               "$ref": "#/definitions/Number"
24338             }
24339           },
24340           "additionalProperties": false
24341         },
24342         "VersionResults": {
24343           "type": "object",
24344           "properties": {
24345             "results": {
24346               "type": "array",
24347               "items": {
24348                 "$ref": "#/definitions/VersionResult"
24349               }
24350             }
24351           },
24352           "additionalProperties": false,
24353           "required": [
24354             "results"
24355           ]
24356         }
24357       }
24358     }
24359   },
24360   {
24361     "Name": "UserManager",
24362     "Version": 1,
24363     "Schema": {
24364       "type": "object",
24365       "properties": {
24366         "AddUser": {
24367           "type": "object",
24368           "properties": {
24369             "Params": {
24370               "$ref": "#/definitions/AddUsers"
24371             },
24372             "Result": {
24373               "$ref": "#/definitions/AddUserResults"
24374             }
24375           }
24376         },
24377         "DisableUser": {
24378           "type": "object",
24379           "properties": {
24380             "Params": {
24381               "$ref": "#/definitions/Entities"
24382             },
24383             "Result": {
24384               "$ref": "#/definitions/ErrorResults"
24385             }
24386           }
24387         },
24388         "EnableUser": {
24389           "type": "object",
24390           "properties": {
24391             "Params": {
24392               "$ref": "#/definitions/Entities"
24393             },
24394             "Result": {
24395               "$ref": "#/definitions/ErrorResults"
24396             }
24397           }
24398         },
24399         "RemoveUser": {
24400           "type": "object",
24401           "properties": {
24402             "Params": {
24403               "$ref": "#/definitions/Entities"
24404             },
24405             "Result": {
24406               "$ref": "#/definitions/ErrorResults"
24407             }
24408           }
24409         },
24410         "SetPassword": {
24411           "type": "object",
24412           "properties": {
24413             "Params": {
24414               "$ref": "#/definitions/EntityPasswords"
24415             },
24416             "Result": {
24417               "$ref": "#/definitions/ErrorResults"
24418             }
24419           }
24420         },
24421         "UserInfo": {
24422           "type": "object",
24423           "properties": {
24424             "Params": {
24425               "$ref": "#/definitions/UserInfoRequest"
24426             },
24427             "Result": {
24428               "$ref": "#/definitions/UserInfoResults"
24429             }
24430           }
24431         }
24432       },
24433       "definitions": {
24434         "AddUser": {
24435           "type": "object",
24436           "properties": {
24437             "display-name": {
24438               "type": "string"
24439             },
24440             "password": {
24441               "type": "string"
24442             },
24443             "username": {
24444               "type": "string"
24445             }
24446           },
24447           "additionalProperties": false,
24448           "required": [
24449             "username",
24450             "display-name"
24451           ]
24452         },
24453         "AddUserResult": {
24454           "type": "object",
24455           "properties": {
24456             "error": {
24457               "$ref": "#/definitions/Error"
24458             },
24459             "secret-key": {
24460               "type": "array",
24461               "items": {
24462                 "type": "integer"
24463               }
24464             },
24465             "tag": {
24466               "type": "string"
24467             }
24468           },
24469           "additionalProperties": false
24470         },
24471         "AddUserResults": {
24472           "type": "object",
24473           "properties": {
24474             "results": {
24475               "type": "array",
24476               "items": {
24477                 "$ref": "#/definitions/AddUserResult"
24478               }
24479             }
24480           },
24481           "additionalProperties": false,
24482           "required": [
24483             "results"
24484           ]
24485         },
24486         "AddUsers": {
24487           "type": "object",
24488           "properties": {
24489             "users": {
24490               "type": "array",
24491               "items": {
24492                 "$ref": "#/definitions/AddUser"
24493               }
24494             }
24495           },
24496           "additionalProperties": false,
24497           "required": [
24498             "users"
24499           ]
24500         },
24501         "Entities": {
24502           "type": "object",
24503           "properties": {
24504             "entities": {
24505               "type": "array",
24506               "items": {
24507                 "$ref": "#/definitions/Entity"
24508               }
24509             }
24510           },
24511           "additionalProperties": false,
24512           "required": [
24513             "entities"
24514           ]
24515         },
24516         "Entity": {
24517           "type": "object",
24518           "properties": {
24519             "tag": {
24520               "type": "string"
24521             }
24522           },
24523           "additionalProperties": false,
24524           "required": [
24525             "tag"
24526           ]
24527         },
24528         "EntityPassword": {
24529           "type": "object",
24530           "properties": {
24531             "password": {
24532               "type": "string"
24533             },
24534             "tag": {
24535               "type": "string"
24536             }
24537           },
24538           "additionalProperties": false,
24539           "required": [
24540             "tag",
24541             "password"
24542           ]
24543         },
24544         "EntityPasswords": {
24545           "type": "object",
24546           "properties": {
24547             "changes": {
24548               "type": "array",
24549               "items": {
24550                 "$ref": "#/definitions/EntityPassword"
24551               }
24552             }
24553           },
24554           "additionalProperties": false,
24555           "required": [
24556             "changes"
24557           ]
24558         },
24559         "Error": {
24560           "type": "object",
24561           "properties": {
24562             "code": {
24563               "type": "string"
24564             },
24565             "info": {
24566               "$ref": "#/definitions/ErrorInfo"
24567             },
24568             "message": {
24569               "type": "string"
24570             }
24571           },
24572           "additionalProperties": false,
24573           "required": [
24574             "message",
24575             "code"
24576           ]
24577         },
24578         "ErrorInfo": {
24579           "type": "object",
24580           "properties": {
24581             "macaroon": {
24582               "$ref": "#/definitions/Macaroon"
24583             },
24584             "macaroon-path": {
24585               "type": "string"
24586             }
24587           },
24588           "additionalProperties": false
24589         },
24590         "ErrorResult": {
24591           "type": "object",
24592           "properties": {
24593             "error": {
24594               "$ref": "#/definitions/Error"
24595             }
24596           },
24597           "additionalProperties": false
24598         },
24599         "ErrorResults": {
24600           "type": "object",
24601           "properties": {
24602             "results": {
24603               "type": "array",
24604               "items": {
24605                 "$ref": "#/definitions/ErrorResult"
24606               }
24607             }
24608           },
24609           "additionalProperties": false,
24610           "required": [
24611             "results"
24612           ]
24613         },
24614         "Macaroon": {
24615           "type": "object",
24616           "additionalProperties": false
24617         },
24618         "UserInfo": {
24619           "type": "object",
24620           "properties": {
24621             "access": {
24622               "type": "string"
24623             },
24624             "created-by": {
24625               "type": "string"
24626             },
24627             "date-created": {
24628               "type": "string",
24629               "format": "date-time"
24630             },
24631             "disabled": {
24632               "type": "boolean"
24633             },
24634             "display-name": {
24635               "type": "string"
24636             },
24637             "last-connection": {
24638               "type": "string",
24639               "format": "date-time"
24640             },
24641             "username": {
24642               "type": "string"
24643             }
24644           },
24645           "additionalProperties": false,
24646           "required": [
24647             "username",
24648             "display-name",
24649             "access",
24650             "created-by",
24651             "date-created",
24652             "disabled"
24653           ]
24654         },
24655         "UserInfoRequest": {
24656           "type": "object",
24657           "properties": {
24658             "entities": {
24659               "type": "array",
24660               "items": {
24661                 "$ref": "#/definitions/Entity"
24662               }
24663             },
24664             "include-disabled": {
24665               "type": "boolean"
24666             }
24667           },
24668           "additionalProperties": false,
24669           "required": [
24670             "entities",
24671             "include-disabled"
24672           ]
24673         },
24674         "UserInfoResult": {
24675           "type": "object",
24676           "properties": {
24677             "error": {
24678               "$ref": "#/definitions/Error"
24679             },
24680             "result": {
24681               "$ref": "#/definitions/UserInfo"
24682             }
24683           },
24684           "additionalProperties": false
24685         },
24686         "UserInfoResults": {
24687           "type": "object",
24688           "properties": {
24689             "results": {
24690               "type": "array",
24691               "items": {
24692                 "$ref": "#/definitions/UserInfoResult"
24693               }
24694             }
24695           },
24696           "additionalProperties": false,
24697           "required": [
24698             "results"
24699           ]
24700         }
24701       }
24702     }
24703   },
24704   {
24705     "Name": "VolumeAttachmentsWatcher",
24706     "Version": 2,
24707     "Schema": {
24708       "type": "object",
24709       "properties": {
24710         "Next": {
24711           "type": "object",
24712           "properties": {
24713             "Result": {
24714               "$ref": "#/definitions/MachineStorageIdsWatchResult"
24715             }
24716           }
24717         },
24718         "Stop": {
24719           "type": "object"
24720         }
24721       },
24722       "definitions": {
24723         "Error": {
24724           "type": "object",
24725           "properties": {
24726             "code": {
24727               "type": "string"
24728             },
24729             "info": {
24730               "$ref": "#/definitions/ErrorInfo"
24731             },
24732             "message": {
24733               "type": "string"
24734             }
24735           },
24736           "additionalProperties": false,
24737           "required": [
24738             "message",
24739             "code"
24740           ]
24741         },
24742         "ErrorInfo": {
24743           "type": "object",
24744           "properties": {
24745             "macaroon": {
24746               "$ref": "#/definitions/Macaroon"
24747             },
24748             "macaroon-path": {
24749               "type": "string"
24750             }
24751           },
24752           "additionalProperties": false
24753         },
24754         "Macaroon": {
24755           "type": "object",
24756           "additionalProperties": false
24757         },
24758         "MachineStorageId": {
24759           "type": "object",
24760           "properties": {
24761             "attachment-tag": {
24762               "type": "string"
24763             },
24764             "machine-tag": {
24765               "type": "string"
24766             }
24767           },
24768           "additionalProperties": false,
24769           "required": [
24770             "machine-tag",
24771             "attachment-tag"
24772           ]
24773         },
24774         "MachineStorageIdsWatchResult": {
24775           "type": "object",
24776           "properties": {
24777             "changes": {
24778               "type": "array",
24779               "items": {
24780                 "$ref": "#/definitions/MachineStorageId"
24781               }
24782             },
24783             "error": {
24784               "$ref": "#/definitions/Error"
24785             },
24786             "watcher-id": {
24787               "type": "string"
24788             }
24789           },
24790           "additionalProperties": false,
24791           "required": [
24792             "watcher-id",
24793             "changes"
24794           ]
24795         }
24796       }
24797     }
24798   }
24799 ]