Merge changes Iacd2f028,I43a6d573,Ibb6c93bb
[osm/N2VC.git] / modules / libjuju / juju / client / schemas-juju-2.2-rc1.json
1 [
2   {
3     "Name": "Action",
4     "Version": 2,
5     "Schema": {
6       "type": "object",
7       "properties": {
8         "Actions": {
9           "type": "object",
10           "properties": {
11             "Params": {
12               "$ref": "#/definitions/Entities"
13             },
14             "Result": {
15               "$ref": "#/definitions/ActionResults"
16             }
17           }
18         },
19         "ApplicationsCharmsActions": {
20           "type": "object",
21           "properties": {
22             "Params": {
23               "$ref": "#/definitions/Entities"
24             },
25             "Result": {
26               "$ref": "#/definitions/ApplicationsCharmActionsResults"
27             }
28           }
29         },
30         "Cancel": {
31           "type": "object",
32           "properties": {
33             "Params": {
34               "$ref": "#/definitions/Entities"
35             },
36             "Result": {
37               "$ref": "#/definitions/ActionResults"
38             }
39           }
40         },
41         "Enqueue": {
42           "type": "object",
43           "properties": {
44             "Params": {
45               "$ref": "#/definitions/Actions"
46             },
47             "Result": {
48               "$ref": "#/definitions/ActionResults"
49             }
50           }
51         },
52         "FindActionTagsByPrefix": {
53           "type": "object",
54           "properties": {
55             "Params": {
56               "$ref": "#/definitions/FindTags"
57             },
58             "Result": {
59               "$ref": "#/definitions/FindTagsResults"
60             }
61           }
62         },
63         "FindActionsByNames": {
64           "type": "object",
65           "properties": {
66             "Params": {
67               "$ref": "#/definitions/FindActionsByNames"
68             },
69             "Result": {
70               "$ref": "#/definitions/ActionsByNames"
71             }
72           }
73         },
74         "ListAll": {
75           "type": "object",
76           "properties": {
77             "Params": {
78               "$ref": "#/definitions/Entities"
79             },
80             "Result": {
81               "$ref": "#/definitions/ActionsByReceivers"
82             }
83           }
84         },
85         "ListCompleted": {
86           "type": "object",
87           "properties": {
88             "Params": {
89               "$ref": "#/definitions/Entities"
90             },
91             "Result": {
92               "$ref": "#/definitions/ActionsByReceivers"
93             }
94           }
95         },
96         "ListPending": {
97           "type": "object",
98           "properties": {
99             "Params": {
100               "$ref": "#/definitions/Entities"
101             },
102             "Result": {
103               "$ref": "#/definitions/ActionsByReceivers"
104             }
105           }
106         },
107         "ListRunning": {
108           "type": "object",
109           "properties": {
110             "Params": {
111               "$ref": "#/definitions/Entities"
112             },
113             "Result": {
114               "$ref": "#/definitions/ActionsByReceivers"
115             }
116           }
117         },
118         "Run": {
119           "type": "object",
120           "properties": {
121             "Params": {
122               "$ref": "#/definitions/RunParams"
123             },
124             "Result": {
125               "$ref": "#/definitions/ActionResults"
126             }
127           }
128         },
129         "RunOnAllMachines": {
130           "type": "object",
131           "properties": {
132             "Params": {
133               "$ref": "#/definitions/RunParams"
134             },
135             "Result": {
136               "$ref": "#/definitions/ActionResults"
137             }
138           }
139         }
140       },
141       "definitions": {
142         "Action": {
143           "type": "object",
144           "properties": {
145             "name": {
146               "type": "string"
147             },
148             "parameters": {
149               "type": "object",
150               "patternProperties": {
151                 ".*": {
152                   "type": "object",
153                   "additionalProperties": true
154                 }
155               }
156             },
157             "receiver": {
158               "type": "string"
159             },
160             "tag": {
161               "type": "string"
162             }
163           },
164           "additionalProperties": false,
165           "required": [
166             "tag",
167             "receiver",
168             "name"
169           ]
170         },
171         "ActionResult": {
172           "type": "object",
173           "properties": {
174             "action": {
175               "$ref": "#/definitions/Action"
176             },
177             "completed": {
178               "type": "string",
179               "format": "date-time"
180             },
181             "enqueued": {
182               "type": "string",
183               "format": "date-time"
184             },
185             "error": {
186               "$ref": "#/definitions/Error"
187             },
188             "message": {
189               "type": "string"
190             },
191             "output": {
192               "type": "object",
193               "patternProperties": {
194                 ".*": {
195                   "type": "object",
196                   "additionalProperties": true
197                 }
198               }
199             },
200             "started": {
201               "type": "string",
202               "format": "date-time"
203             },
204             "status": {
205               "type": "string"
206             }
207           },
208           "additionalProperties": false
209         },
210         "ActionResults": {
211           "type": "object",
212           "properties": {
213             "results": {
214               "type": "array",
215               "items": {
216                 "$ref": "#/definitions/ActionResult"
217               }
218             }
219           },
220           "additionalProperties": false
221         },
222         "ActionSpec": {
223           "type": "object",
224           "properties": {
225             "description": {
226               "type": "string"
227             },
228             "params": {
229               "type": "object",
230               "patternProperties": {
231                 ".*": {
232                   "type": "object",
233                   "additionalProperties": true
234                 }
235               }
236             }
237           },
238           "additionalProperties": false,
239           "required": [
240             "description",
241             "params"
242           ]
243         },
244         "Actions": {
245           "type": "object",
246           "properties": {
247             "actions": {
248               "type": "array",
249               "items": {
250                 "$ref": "#/definitions/Action"
251               }
252             }
253           },
254           "additionalProperties": false
255         },
256         "ActionsByName": {
257           "type": "object",
258           "properties": {
259             "actions": {
260               "type": "array",
261               "items": {
262                 "$ref": "#/definitions/ActionResult"
263               }
264             },
265             "error": {
266               "$ref": "#/definitions/Error"
267             },
268             "name": {
269               "type": "string"
270             }
271           },
272           "additionalProperties": false
273         },
274         "ActionsByNames": {
275           "type": "object",
276           "properties": {
277             "actions": {
278               "type": "array",
279               "items": {
280                 "$ref": "#/definitions/ActionsByName"
281               }
282             }
283           },
284           "additionalProperties": false
285         },
286         "ActionsByReceiver": {
287           "type": "object",
288           "properties": {
289             "actions": {
290               "type": "array",
291               "items": {
292                 "$ref": "#/definitions/ActionResult"
293               }
294             },
295             "error": {
296               "$ref": "#/definitions/Error"
297             },
298             "receiver": {
299               "type": "string"
300             }
301           },
302           "additionalProperties": false
303         },
304         "ActionsByReceivers": {
305           "type": "object",
306           "properties": {
307             "actions": {
308               "type": "array",
309               "items": {
310                 "$ref": "#/definitions/ActionsByReceiver"
311               }
312             }
313           },
314           "additionalProperties": false
315         },
316         "ApplicationCharmActionsResult": {
317           "type": "object",
318           "properties": {
319             "actions": {
320               "type": "object",
321               "patternProperties": {
322                 ".*": {
323                   "$ref": "#/definitions/ActionSpec"
324                 }
325               }
326             },
327             "application-tag": {
328               "type": "string"
329             },
330             "error": {
331               "$ref": "#/definitions/Error"
332             }
333           },
334           "additionalProperties": false
335         },
336         "ApplicationsCharmActionsResults": {
337           "type": "object",
338           "properties": {
339             "results": {
340               "type": "array",
341               "items": {
342                 "$ref": "#/definitions/ApplicationCharmActionsResult"
343               }
344             }
345           },
346           "additionalProperties": false
347         },
348         "Entities": {
349           "type": "object",
350           "properties": {
351             "entities": {
352               "type": "array",
353               "items": {
354                 "$ref": "#/definitions/Entity"
355               }
356             }
357           },
358           "additionalProperties": false,
359           "required": [
360             "entities"
361           ]
362         },
363         "Entity": {
364           "type": "object",
365           "properties": {
366             "tag": {
367               "type": "string"
368             }
369           },
370           "additionalProperties": false,
371           "required": [
372             "tag"
373           ]
374         },
375         "Error": {
376           "type": "object",
377           "properties": {
378             "code": {
379               "type": "string"
380             },
381             "info": {
382               "$ref": "#/definitions/ErrorInfo"
383             },
384             "message": {
385               "type": "string"
386             }
387           },
388           "additionalProperties": false,
389           "required": [
390             "message",
391             "code"
392           ]
393         },
394         "ErrorInfo": {
395           "type": "object",
396           "properties": {
397             "macaroon": {
398               "$ref": "#/definitions/Macaroon"
399             },
400             "macaroon-path": {
401               "type": "string"
402             }
403           },
404           "additionalProperties": false
405         },
406         "FindActionsByNames": {
407           "type": "object",
408           "properties": {
409             "names": {
410               "type": "array",
411               "items": {
412                 "type": "string"
413               }
414             }
415           },
416           "additionalProperties": false
417         },
418         "FindTags": {
419           "type": "object",
420           "properties": {
421             "prefixes": {
422               "type": "array",
423               "items": {
424                 "type": "string"
425               }
426             }
427           },
428           "additionalProperties": false,
429           "required": [
430             "prefixes"
431           ]
432         },
433         "FindTagsResults": {
434           "type": "object",
435           "properties": {
436             "matches": {
437               "type": "object",
438               "patternProperties": {
439                 ".*": {
440                   "type": "array",
441                   "items": {
442                     "$ref": "#/definitions/Entity"
443                   }
444                 }
445               }
446             }
447           },
448           "additionalProperties": false,
449           "required": [
450             "matches"
451           ]
452         },
453         "Macaroon": {
454           "type": "object",
455           "additionalProperties": false
456         },
457         "RunParams": {
458           "type": "object",
459           "properties": {
460             "applications": {
461               "type": "array",
462               "items": {
463                 "type": "string"
464               }
465             },
466             "commands": {
467               "type": "string"
468             },
469             "machines": {
470               "type": "array",
471               "items": {
472                 "type": "string"
473               }
474             },
475             "timeout": {
476               "type": "integer"
477             },
478             "units": {
479               "type": "array",
480               "items": {
481                 "type": "string"
482               }
483             }
484           },
485           "additionalProperties": false,
486           "required": [
487             "commands",
488             "timeout"
489           ]
490         }
491       }
492     }
493   },
494   {
495     "Name": "Agent",
496     "Version": 2,
497     "Schema": {
498       "type": "object",
499       "properties": {
500         "ClearReboot": {
501           "type": "object",
502           "properties": {
503             "Params": {
504               "$ref": "#/definitions/Entities"
505             },
506             "Result": {
507               "$ref": "#/definitions/ErrorResults"
508             }
509           }
510         },
511         "CloudSpec": {
512           "type": "object",
513           "properties": {
514             "Params": {
515               "$ref": "#/definitions/Entities"
516             },
517             "Result": {
518               "$ref": "#/definitions/CloudSpecResults"
519             }
520           }
521         },
522         "ControllerConfig": {
523           "type": "object",
524           "properties": {
525             "Result": {
526               "$ref": "#/definitions/ControllerConfigResult"
527             }
528           }
529         },
530         "GetCloudSpec": {
531           "type": "object",
532           "properties": {
533             "Params": {
534               "$ref": "#/definitions/ModelTag"
535             },
536             "Result": {
537               "$ref": "#/definitions/CloudSpecResult"
538             }
539           }
540         },
541         "GetEntities": {
542           "type": "object",
543           "properties": {
544             "Params": {
545               "$ref": "#/definitions/Entities"
546             },
547             "Result": {
548               "$ref": "#/definitions/AgentGetEntitiesResults"
549             }
550           }
551         },
552         "IsMaster": {
553           "type": "object",
554           "properties": {
555             "Result": {
556               "$ref": "#/definitions/IsMasterResult"
557             }
558           }
559         },
560         "ModelConfig": {
561           "type": "object",
562           "properties": {
563             "Result": {
564               "$ref": "#/definitions/ModelConfigResult"
565             }
566           }
567         },
568         "SetPasswords": {
569           "type": "object",
570           "properties": {
571             "Params": {
572               "$ref": "#/definitions/EntityPasswords"
573             },
574             "Result": {
575               "$ref": "#/definitions/ErrorResults"
576             }
577           }
578         },
579         "StateServingInfo": {
580           "type": "object",
581           "properties": {
582             "Result": {
583               "$ref": "#/definitions/StateServingInfo"
584             }
585           }
586         },
587         "WatchCredentials": {
588           "type": "object",
589           "properties": {
590             "Params": {
591               "$ref": "#/definitions/Entities"
592             },
593             "Result": {
594               "$ref": "#/definitions/NotifyWatchResults"
595             }
596           }
597         },
598         "WatchForModelConfigChanges": {
599           "type": "object",
600           "properties": {
601             "Result": {
602               "$ref": "#/definitions/NotifyWatchResult"
603             }
604           }
605         }
606       },
607       "definitions": {
608         "AgentGetEntitiesResult": {
609           "type": "object",
610           "properties": {
611             "container-type": {
612               "type": "string"
613             },
614             "error": {
615               "$ref": "#/definitions/Error"
616             },
617             "jobs": {
618               "type": "array",
619               "items": {
620                 "type": "string"
621               }
622             },
623             "life": {
624               "type": "string"
625             }
626           },
627           "additionalProperties": false,
628           "required": [
629             "life",
630             "jobs",
631             "container-type"
632           ]
633         },
634         "AgentGetEntitiesResults": {
635           "type": "object",
636           "properties": {
637             "entities": {
638               "type": "array",
639               "items": {
640                 "$ref": "#/definitions/AgentGetEntitiesResult"
641               }
642             }
643           },
644           "additionalProperties": false,
645           "required": [
646             "entities"
647           ]
648         },
649         "CloudCredential": {
650           "type": "object",
651           "properties": {
652             "attrs": {
653               "type": "object",
654               "patternProperties": {
655                 ".*": {
656                   "type": "string"
657                 }
658               }
659             },
660             "auth-type": {
661               "type": "string"
662             },
663             "redacted": {
664               "type": "array",
665               "items": {
666                 "type": "string"
667               }
668             }
669           },
670           "additionalProperties": false,
671           "required": [
672             "auth-type"
673           ]
674         },
675         "CloudSpec": {
676           "type": "object",
677           "properties": {
678             "credential": {
679               "$ref": "#/definitions/CloudCredential"
680             },
681             "endpoint": {
682               "type": "string"
683             },
684             "identity-endpoint": {
685               "type": "string"
686             },
687             "name": {
688               "type": "string"
689             },
690             "region": {
691               "type": "string"
692             },
693             "storage-endpoint": {
694               "type": "string"
695             },
696             "type": {
697               "type": "string"
698             }
699           },
700           "additionalProperties": false,
701           "required": [
702             "type",
703             "name"
704           ]
705         },
706         "CloudSpecResult": {
707           "type": "object",
708           "properties": {
709             "error": {
710               "$ref": "#/definitions/Error"
711             },
712             "result": {
713               "$ref": "#/definitions/CloudSpec"
714             }
715           },
716           "additionalProperties": false
717         },
718         "CloudSpecResults": {
719           "type": "object",
720           "properties": {
721             "results": {
722               "type": "array",
723               "items": {
724                 "$ref": "#/definitions/CloudSpecResult"
725               }
726             }
727           },
728           "additionalProperties": false
729         },
730         "ControllerConfigResult": {
731           "type": "object",
732           "properties": {
733             "config": {
734               "type": "object",
735               "patternProperties": {
736                 ".*": {
737                   "type": "object",
738                   "additionalProperties": true
739                 }
740               }
741             }
742           },
743           "additionalProperties": false,
744           "required": [
745             "config"
746           ]
747         },
748         "Entities": {
749           "type": "object",
750           "properties": {
751             "entities": {
752               "type": "array",
753               "items": {
754                 "$ref": "#/definitions/Entity"
755               }
756             }
757           },
758           "additionalProperties": false,
759           "required": [
760             "entities"
761           ]
762         },
763         "Entity": {
764           "type": "object",
765           "properties": {
766             "tag": {
767               "type": "string"
768             }
769           },
770           "additionalProperties": false,
771           "required": [
772             "tag"
773           ]
774         },
775         "EntityPassword": {
776           "type": "object",
777           "properties": {
778             "password": {
779               "type": "string"
780             },
781             "tag": {
782               "type": "string"
783             }
784           },
785           "additionalProperties": false,
786           "required": [
787             "tag",
788             "password"
789           ]
790         },
791         "EntityPasswords": {
792           "type": "object",
793           "properties": {
794             "changes": {
795               "type": "array",
796               "items": {
797                 "$ref": "#/definitions/EntityPassword"
798               }
799             }
800           },
801           "additionalProperties": false,
802           "required": [
803             "changes"
804           ]
805         },
806         "Error": {
807           "type": "object",
808           "properties": {
809             "code": {
810               "type": "string"
811             },
812             "info": {
813               "$ref": "#/definitions/ErrorInfo"
814             },
815             "message": {
816               "type": "string"
817             }
818           },
819           "additionalProperties": false,
820           "required": [
821             "message",
822             "code"
823           ]
824         },
825         "ErrorInfo": {
826           "type": "object",
827           "properties": {
828             "macaroon": {
829               "$ref": "#/definitions/Macaroon"
830             },
831             "macaroon-path": {
832               "type": "string"
833             }
834           },
835           "additionalProperties": false
836         },
837         "ErrorResult": {
838           "type": "object",
839           "properties": {
840             "error": {
841               "$ref": "#/definitions/Error"
842             }
843           },
844           "additionalProperties": false
845         },
846         "ErrorResults": {
847           "type": "object",
848           "properties": {
849             "results": {
850               "type": "array",
851               "items": {
852                 "$ref": "#/definitions/ErrorResult"
853               }
854             }
855           },
856           "additionalProperties": false,
857           "required": [
858             "results"
859           ]
860         },
861         "IsMasterResult": {
862           "type": "object",
863           "properties": {
864             "master": {
865               "type": "boolean"
866             }
867           },
868           "additionalProperties": false,
869           "required": [
870             "master"
871           ]
872         },
873         "Macaroon": {
874           "type": "object",
875           "additionalProperties": false
876         },
877         "ModelConfigResult": {
878           "type": "object",
879           "properties": {
880             "config": {
881               "type": "object",
882               "patternProperties": {
883                 ".*": {
884                   "type": "object",
885                   "additionalProperties": true
886                 }
887               }
888             }
889           },
890           "additionalProperties": false,
891           "required": [
892             "config"
893           ]
894         },
895         "ModelTag": {
896           "type": "object",
897           "additionalProperties": false
898         },
899         "NotifyWatchResult": {
900           "type": "object",
901           "properties": {
902             "NotifyWatcherId": {
903               "type": "string"
904             },
905             "error": {
906               "$ref": "#/definitions/Error"
907             }
908           },
909           "additionalProperties": false,
910           "required": [
911             "NotifyWatcherId"
912           ]
913         },
914         "NotifyWatchResults": {
915           "type": "object",
916           "properties": {
917             "results": {
918               "type": "array",
919               "items": {
920                 "$ref": "#/definitions/NotifyWatchResult"
921               }
922             }
923           },
924           "additionalProperties": false,
925           "required": [
926             "results"
927           ]
928         },
929         "StateServingInfo": {
930           "type": "object",
931           "properties": {
932             "api-port": {
933               "type": "integer"
934             },
935             "ca-private-key": {
936               "type": "string"
937             },
938             "cert": {
939               "type": "string"
940             },
941             "private-key": {
942               "type": "string"
943             },
944             "shared-secret": {
945               "type": "string"
946             },
947             "state-port": {
948               "type": "integer"
949             },
950             "system-identity": {
951               "type": "string"
952             }
953           },
954           "additionalProperties": false,
955           "required": [
956             "api-port",
957             "state-port",
958             "cert",
959             "private-key",
960             "ca-private-key",
961             "shared-secret",
962             "system-identity"
963           ]
964         }
965       }
966     }
967   },
968   {
969     "Name": "AgentTools",
970     "Version": 1,
971     "Schema": {
972       "type": "object",
973       "properties": {
974         "UpdateToolsAvailable": {
975           "type": "object"
976         }
977       }
978     }
979   },
980   {
981     "Name": "AllModelWatcher",
982     "Version": 2,
983     "Schema": {
984       "type": "object",
985       "properties": {
986         "Next": {
987           "type": "object",
988           "properties": {
989             "Result": {
990               "$ref": "#/definitions/AllWatcherNextResults"
991             }
992           }
993         },
994         "Stop": {
995           "type": "object"
996         }
997       },
998       "definitions": {
999         "AllWatcherNextResults": {
1000           "type": "object",
1001           "properties": {
1002             "deltas": {
1003               "type": "array",
1004               "items": {
1005                 "$ref": "#/definitions/Delta"
1006               }
1007             }
1008           },
1009           "additionalProperties": false,
1010           "required": [
1011             "deltas"
1012           ]
1013         },
1014         "Delta": {
1015           "type": "object",
1016           "properties": {
1017             "entity": {
1018               "type": "object",
1019               "additionalProperties": true
1020             },
1021             "removed": {
1022               "type": "boolean"
1023             }
1024           },
1025           "additionalProperties": false,
1026           "required": [
1027             "removed",
1028             "entity"
1029           ]
1030         }
1031       }
1032     }
1033   },
1034   {
1035     "Name": "AllWatcher",
1036     "Version": 1,
1037     "Schema": {
1038       "type": "object",
1039       "properties": {
1040         "Next": {
1041           "type": "object",
1042           "properties": {
1043             "Result": {
1044               "$ref": "#/definitions/AllWatcherNextResults"
1045             }
1046           }
1047         },
1048         "Stop": {
1049           "type": "object"
1050         }
1051       },
1052       "definitions": {
1053         "AllWatcherNextResults": {
1054           "type": "object",
1055           "properties": {
1056             "deltas": {
1057               "type": "array",
1058               "items": {
1059                 "$ref": "#/definitions/Delta"
1060               }
1061             }
1062           },
1063           "additionalProperties": false,
1064           "required": [
1065             "deltas"
1066           ]
1067         },
1068         "Delta": {
1069           "type": "object",
1070           "properties": {
1071             "entity": {
1072               "type": "object",
1073               "additionalProperties": true
1074             },
1075             "removed": {
1076               "type": "boolean"
1077             }
1078           },
1079           "additionalProperties": false,
1080           "required": [
1081             "removed",
1082             "entity"
1083           ]
1084         }
1085       }
1086     }
1087   },
1088   {
1089     "Name": "Annotations",
1090     "Version": 2,
1091     "Schema": {
1092       "type": "object",
1093       "properties": {
1094         "Get": {
1095           "type": "object",
1096           "properties": {
1097             "Params": {
1098               "$ref": "#/definitions/Entities"
1099             },
1100             "Result": {
1101               "$ref": "#/definitions/AnnotationsGetResults"
1102             }
1103           }
1104         },
1105         "Set": {
1106           "type": "object",
1107           "properties": {
1108             "Params": {
1109               "$ref": "#/definitions/AnnotationsSet"
1110             },
1111             "Result": {
1112               "$ref": "#/definitions/ErrorResults"
1113             }
1114           }
1115         }
1116       },
1117       "definitions": {
1118         "AnnotationsGetResult": {
1119           "type": "object",
1120           "properties": {
1121             "annotations": {
1122               "type": "object",
1123               "patternProperties": {
1124                 ".*": {
1125                   "type": "string"
1126                 }
1127               }
1128             },
1129             "entity": {
1130               "type": "string"
1131             },
1132             "error": {
1133               "$ref": "#/definitions/ErrorResult"
1134             }
1135           },
1136           "additionalProperties": false,
1137           "required": [
1138             "entity",
1139             "annotations"
1140           ]
1141         },
1142         "AnnotationsGetResults": {
1143           "type": "object",
1144           "properties": {
1145             "results": {
1146               "type": "array",
1147               "items": {
1148                 "$ref": "#/definitions/AnnotationsGetResult"
1149               }
1150             }
1151           },
1152           "additionalProperties": false,
1153           "required": [
1154             "results"
1155           ]
1156         },
1157         "AnnotationsSet": {
1158           "type": "object",
1159           "properties": {
1160             "annotations": {
1161               "type": "array",
1162               "items": {
1163                 "$ref": "#/definitions/EntityAnnotations"
1164               }
1165             }
1166           },
1167           "additionalProperties": false,
1168           "required": [
1169             "annotations"
1170           ]
1171         },
1172         "Entities": {
1173           "type": "object",
1174           "properties": {
1175             "entities": {
1176               "type": "array",
1177               "items": {
1178                 "$ref": "#/definitions/Entity"
1179               }
1180             }
1181           },
1182           "additionalProperties": false,
1183           "required": [
1184             "entities"
1185           ]
1186         },
1187         "Entity": {
1188           "type": "object",
1189           "properties": {
1190             "tag": {
1191               "type": "string"
1192             }
1193           },
1194           "additionalProperties": false,
1195           "required": [
1196             "tag"
1197           ]
1198         },
1199         "EntityAnnotations": {
1200           "type": "object",
1201           "properties": {
1202             "annotations": {
1203               "type": "object",
1204               "patternProperties": {
1205                 ".*": {
1206                   "type": "string"
1207                 }
1208               }
1209             },
1210             "entity": {
1211               "type": "string"
1212             }
1213           },
1214           "additionalProperties": false,
1215           "required": [
1216             "entity",
1217             "annotations"
1218           ]
1219         },
1220         "Error": {
1221           "type": "object",
1222           "properties": {
1223             "code": {
1224               "type": "string"
1225             },
1226             "info": {
1227               "$ref": "#/definitions/ErrorInfo"
1228             },
1229             "message": {
1230               "type": "string"
1231             }
1232           },
1233           "additionalProperties": false,
1234           "required": [
1235             "message",
1236             "code"
1237           ]
1238         },
1239         "ErrorInfo": {
1240           "type": "object",
1241           "properties": {
1242             "macaroon": {
1243               "$ref": "#/definitions/Macaroon"
1244             },
1245             "macaroon-path": {
1246               "type": "string"
1247             }
1248           },
1249           "additionalProperties": false
1250         },
1251         "ErrorResult": {
1252           "type": "object",
1253           "properties": {
1254             "error": {
1255               "$ref": "#/definitions/Error"
1256             }
1257           },
1258           "additionalProperties": false
1259         },
1260         "ErrorResults": {
1261           "type": "object",
1262           "properties": {
1263             "results": {
1264               "type": "array",
1265               "items": {
1266                 "$ref": "#/definitions/ErrorResult"
1267               }
1268             }
1269           },
1270           "additionalProperties": false,
1271           "required": [
1272             "results"
1273           ]
1274         },
1275         "Macaroon": {
1276           "type": "object",
1277           "additionalProperties": false
1278         }
1279       }
1280     }
1281   },
1282   {
1283     "Name": "Application",
1284     "Version": 4,
1285     "Schema": {
1286       "type": "object",
1287       "properties": {
1288         "AddRelation": {
1289           "type": "object",
1290           "properties": {
1291             "Params": {
1292               "$ref": "#/definitions/AddRelation"
1293             },
1294             "Result": {
1295               "$ref": "#/definitions/AddRelationResults"
1296             }
1297           }
1298         },
1299         "AddUnits": {
1300           "type": "object",
1301           "properties": {
1302             "Params": {
1303               "$ref": "#/definitions/AddApplicationUnits"
1304             },
1305             "Result": {
1306               "$ref": "#/definitions/AddApplicationUnitsResults"
1307             }
1308           }
1309         },
1310         "CharmRelations": {
1311           "type": "object",
1312           "properties": {
1313             "Params": {
1314               "$ref": "#/definitions/ApplicationCharmRelations"
1315             },
1316             "Result": {
1317               "$ref": "#/definitions/ApplicationCharmRelationsResults"
1318             }
1319           }
1320         },
1321         "Consume": {
1322           "type": "object",
1323           "properties": {
1324             "Params": {
1325               "$ref": "#/definitions/ConsumeApplicationArgs"
1326             },
1327             "Result": {
1328               "$ref": "#/definitions/ConsumeApplicationResults"
1329             }
1330           }
1331         },
1332         "Deploy": {
1333           "type": "object",
1334           "properties": {
1335             "Params": {
1336               "$ref": "#/definitions/ApplicationsDeploy"
1337             },
1338             "Result": {
1339               "$ref": "#/definitions/ErrorResults"
1340             }
1341           }
1342         },
1343         "Destroy": {
1344           "type": "object",
1345           "properties": {
1346             "Params": {
1347               "$ref": "#/definitions/ApplicationDestroy"
1348             }
1349           }
1350         },
1351         "DestroyApplication": {
1352           "type": "object",
1353           "properties": {
1354             "Params": {
1355               "$ref": "#/definitions/Entities"
1356             },
1357             "Result": {
1358               "$ref": "#/definitions/DestroyApplicationResults"
1359             }
1360           }
1361         },
1362         "DestroyRelation": {
1363           "type": "object",
1364           "properties": {
1365             "Params": {
1366               "$ref": "#/definitions/DestroyRelation"
1367             }
1368           }
1369         },
1370         "DestroyUnit": {
1371           "type": "object",
1372           "properties": {
1373             "Params": {
1374               "$ref": "#/definitions/Entities"
1375             },
1376             "Result": {
1377               "$ref": "#/definitions/DestroyUnitResults"
1378             }
1379           }
1380         },
1381         "DestroyUnits": {
1382           "type": "object",
1383           "properties": {
1384             "Params": {
1385               "$ref": "#/definitions/DestroyApplicationUnits"
1386             }
1387           }
1388         },
1389         "Expose": {
1390           "type": "object",
1391           "properties": {
1392             "Params": {
1393               "$ref": "#/definitions/ApplicationExpose"
1394             }
1395           }
1396         },
1397         "Get": {
1398           "type": "object",
1399           "properties": {
1400             "Params": {
1401               "$ref": "#/definitions/ApplicationGet"
1402             },
1403             "Result": {
1404               "$ref": "#/definitions/ApplicationGetResults"
1405             }
1406           }
1407         },
1408         "GetCharmURL": {
1409           "type": "object",
1410           "properties": {
1411             "Params": {
1412               "$ref": "#/definitions/ApplicationGet"
1413             },
1414             "Result": {
1415               "$ref": "#/definitions/StringResult"
1416             }
1417           }
1418         },
1419         "GetConstraints": {
1420           "type": "object",
1421           "properties": {
1422             "Params": {
1423               "$ref": "#/definitions/GetApplicationConstraints"
1424             },
1425             "Result": {
1426               "$ref": "#/definitions/GetConstraintsResults"
1427             }
1428           }
1429         },
1430         "RemoteApplicationInfo": {
1431           "type": "object",
1432           "properties": {
1433             "Params": {
1434               "$ref": "#/definitions/ApplicationURLs"
1435             },
1436             "Result": {
1437               "$ref": "#/definitions/RemoteApplicationInfoResults"
1438             }
1439           }
1440         },
1441         "Set": {
1442           "type": "object",
1443           "properties": {
1444             "Params": {
1445               "$ref": "#/definitions/ApplicationSet"
1446             }
1447           }
1448         },
1449         "SetCharm": {
1450           "type": "object",
1451           "properties": {
1452             "Params": {
1453               "$ref": "#/definitions/ApplicationSetCharm"
1454             }
1455           }
1456         },
1457         "SetConstraints": {
1458           "type": "object",
1459           "properties": {
1460             "Params": {
1461               "$ref": "#/definitions/SetConstraints"
1462             }
1463           }
1464         },
1465         "SetMetricCredentials": {
1466           "type": "object",
1467           "properties": {
1468             "Params": {
1469               "$ref": "#/definitions/ApplicationMetricCredentials"
1470             },
1471             "Result": {
1472               "$ref": "#/definitions/ErrorResults"
1473             }
1474           }
1475         },
1476         "Unexpose": {
1477           "type": "object",
1478           "properties": {
1479             "Params": {
1480               "$ref": "#/definitions/ApplicationUnexpose"
1481             }
1482           }
1483         },
1484         "Unset": {
1485           "type": "object",
1486           "properties": {
1487             "Params": {
1488               "$ref": "#/definitions/ApplicationUnset"
1489             }
1490           }
1491         },
1492         "Update": {
1493           "type": "object",
1494           "properties": {
1495             "Params": {
1496               "$ref": "#/definitions/ApplicationUpdate"
1497             }
1498           }
1499         }
1500       },
1501       "definitions": {
1502         "AddApplicationUnits": {
1503           "type": "object",
1504           "properties": {
1505             "application": {
1506               "type": "string"
1507             },
1508             "num-units": {
1509               "type": "integer"
1510             },
1511             "placement": {
1512               "type": "array",
1513               "items": {
1514                 "$ref": "#/definitions/Placement"
1515               }
1516             }
1517           },
1518           "additionalProperties": false,
1519           "required": [
1520             "application",
1521             "num-units",
1522             "placement"
1523           ]
1524         },
1525         "AddApplicationUnitsResults": {
1526           "type": "object",
1527           "properties": {
1528             "units": {
1529               "type": "array",
1530               "items": {
1531                 "type": "string"
1532               }
1533             }
1534           },
1535           "additionalProperties": false,
1536           "required": [
1537             "units"
1538           ]
1539         },
1540         "AddRelation": {
1541           "type": "object",
1542           "properties": {
1543             "endpoints": {
1544               "type": "array",
1545               "items": {
1546                 "type": "string"
1547               }
1548             }
1549           },
1550           "additionalProperties": false,
1551           "required": [
1552             "endpoints"
1553           ]
1554         },
1555         "AddRelationResults": {
1556           "type": "object",
1557           "properties": {
1558             "endpoints": {
1559               "type": "object",
1560               "patternProperties": {
1561                 ".*": {
1562                   "$ref": "#/definitions/CharmRelation"
1563                 }
1564               }
1565             }
1566           },
1567           "additionalProperties": false,
1568           "required": [
1569             "endpoints"
1570           ]
1571         },
1572         "ApplicationCharmRelations": {
1573           "type": "object",
1574           "properties": {
1575             "application": {
1576               "type": "string"
1577             }
1578           },
1579           "additionalProperties": false,
1580           "required": [
1581             "application"
1582           ]
1583         },
1584         "ApplicationCharmRelationsResults": {
1585           "type": "object",
1586           "properties": {
1587             "charm-relations": {
1588               "type": "array",
1589               "items": {
1590                 "type": "string"
1591               }
1592             }
1593           },
1594           "additionalProperties": false,
1595           "required": [
1596             "charm-relations"
1597           ]
1598         },
1599         "ApplicationDeploy": {
1600           "type": "object",
1601           "properties": {
1602             "application": {
1603               "type": "string"
1604             },
1605             "channel": {
1606               "type": "string"
1607             },
1608             "charm-url": {
1609               "type": "string"
1610             },
1611             "config": {
1612               "type": "object",
1613               "patternProperties": {
1614                 ".*": {
1615                   "type": "string"
1616                 }
1617               }
1618             },
1619             "config-yaml": {
1620               "type": "string"
1621             },
1622             "constraints": {
1623               "$ref": "#/definitions/Value"
1624             },
1625             "endpoint-bindings": {
1626               "type": "object",
1627               "patternProperties": {
1628                 ".*": {
1629                   "type": "string"
1630                 }
1631               }
1632             },
1633             "num-units": {
1634               "type": "integer"
1635             },
1636             "placement": {
1637               "type": "array",
1638               "items": {
1639                 "$ref": "#/definitions/Placement"
1640               }
1641             },
1642             "resources": {
1643               "type": "object",
1644               "patternProperties": {
1645                 ".*": {
1646                   "type": "string"
1647                 }
1648               }
1649             },
1650             "series": {
1651               "type": "string"
1652             },
1653             "storage": {
1654               "type": "object",
1655               "patternProperties": {
1656                 ".*": {
1657                   "$ref": "#/definitions/Constraints"
1658                 }
1659               }
1660             }
1661           },
1662           "additionalProperties": false,
1663           "required": [
1664             "application",
1665             "series",
1666             "charm-url",
1667             "channel",
1668             "num-units",
1669             "config-yaml",
1670             "constraints"
1671           ]
1672         },
1673         "ApplicationDestroy": {
1674           "type": "object",
1675           "properties": {
1676             "application": {
1677               "type": "string"
1678             }
1679           },
1680           "additionalProperties": false,
1681           "required": [
1682             "application"
1683           ]
1684         },
1685         "ApplicationExpose": {
1686           "type": "object",
1687           "properties": {
1688             "application": {
1689               "type": "string"
1690             }
1691           },
1692           "additionalProperties": false,
1693           "required": [
1694             "application"
1695           ]
1696         },
1697         "ApplicationGet": {
1698           "type": "object",
1699           "properties": {
1700             "application": {
1701               "type": "string"
1702             }
1703           },
1704           "additionalProperties": false,
1705           "required": [
1706             "application"
1707           ]
1708         },
1709         "ApplicationGetResults": {
1710           "type": "object",
1711           "properties": {
1712             "application": {
1713               "type": "string"
1714             },
1715             "charm": {
1716               "type": "string"
1717             },
1718             "config": {
1719               "type": "object",
1720               "patternProperties": {
1721                 ".*": {
1722                   "type": "object",
1723                   "additionalProperties": true
1724                 }
1725               }
1726             },
1727             "constraints": {
1728               "$ref": "#/definitions/Value"
1729             },
1730             "series": {
1731               "type": "string"
1732             }
1733           },
1734           "additionalProperties": false,
1735           "required": [
1736             "application",
1737             "charm",
1738             "config",
1739             "constraints",
1740             "series"
1741           ]
1742         },
1743         "ApplicationMetricCredential": {
1744           "type": "object",
1745           "properties": {
1746             "application": {
1747               "type": "string"
1748             },
1749             "metrics-credentials": {
1750               "type": "array",
1751               "items": {
1752                 "type": "integer"
1753               }
1754             }
1755           },
1756           "additionalProperties": false,
1757           "required": [
1758             "application",
1759             "metrics-credentials"
1760           ]
1761         },
1762         "ApplicationMetricCredentials": {
1763           "type": "object",
1764           "properties": {
1765             "creds": {
1766               "type": "array",
1767               "items": {
1768                 "$ref": "#/definitions/ApplicationMetricCredential"
1769               }
1770             }
1771           },
1772           "additionalProperties": false,
1773           "required": [
1774             "creds"
1775           ]
1776         },
1777         "ApplicationSet": {
1778           "type": "object",
1779           "properties": {
1780             "application": {
1781               "type": "string"
1782             },
1783             "options": {
1784               "type": "object",
1785               "patternProperties": {
1786                 ".*": {
1787                   "type": "string"
1788                 }
1789               }
1790             }
1791           },
1792           "additionalProperties": false,
1793           "required": [
1794             "application",
1795             "options"
1796           ]
1797         },
1798         "ApplicationSetCharm": {
1799           "type": "object",
1800           "properties": {
1801             "application": {
1802               "type": "string"
1803             },
1804             "channel": {
1805               "type": "string"
1806             },
1807             "charm-url": {
1808               "type": "string"
1809             },
1810             "config-settings": {
1811               "type": "object",
1812               "patternProperties": {
1813                 ".*": {
1814                   "type": "string"
1815                 }
1816               }
1817             },
1818             "config-settings-yaml": {
1819               "type": "string"
1820             },
1821             "force-series": {
1822               "type": "boolean"
1823             },
1824             "force-units": {
1825               "type": "boolean"
1826             },
1827             "resource-ids": {
1828               "type": "object",
1829               "patternProperties": {
1830                 ".*": {
1831                   "type": "string"
1832                 }
1833               }
1834             },
1835             "storage-constraints": {
1836               "type": "object",
1837               "patternProperties": {
1838                 ".*": {
1839                   "$ref": "#/definitions/StorageConstraints"
1840                 }
1841               }
1842             }
1843           },
1844           "additionalProperties": false,
1845           "required": [
1846             "application",
1847             "charm-url",
1848             "channel",
1849             "force-units",
1850             "force-series"
1851           ]
1852         },
1853         "ApplicationURLs": {
1854           "type": "object",
1855           "properties": {
1856             "application-urls": {
1857               "type": "array",
1858               "items": {
1859                 "type": "string"
1860               }
1861             }
1862           },
1863           "additionalProperties": false
1864         },
1865         "ApplicationUnexpose": {
1866           "type": "object",
1867           "properties": {
1868             "application": {
1869               "type": "string"
1870             }
1871           },
1872           "additionalProperties": false,
1873           "required": [
1874             "application"
1875           ]
1876         },
1877         "ApplicationUnset": {
1878           "type": "object",
1879           "properties": {
1880             "application": {
1881               "type": "string"
1882             },
1883             "options": {
1884               "type": "array",
1885               "items": {
1886                 "type": "string"
1887               }
1888             }
1889           },
1890           "additionalProperties": false,
1891           "required": [
1892             "application",
1893             "options"
1894           ]
1895         },
1896         "ApplicationUpdate": {
1897           "type": "object",
1898           "properties": {
1899             "application": {
1900               "type": "string"
1901             },
1902             "charm-url": {
1903               "type": "string"
1904             },
1905             "constraints": {
1906               "$ref": "#/definitions/Value"
1907             },
1908             "force-charm-url": {
1909               "type": "boolean"
1910             },
1911             "force-series": {
1912               "type": "boolean"
1913             },
1914             "min-units": {
1915               "type": "integer"
1916             },
1917             "settings": {
1918               "type": "object",
1919               "patternProperties": {
1920                 ".*": {
1921                   "type": "string"
1922                 }
1923               }
1924             },
1925             "settings-yaml": {
1926               "type": "string"
1927             }
1928           },
1929           "additionalProperties": false,
1930           "required": [
1931             "application",
1932             "charm-url",
1933             "force-charm-url",
1934             "force-series",
1935             "settings-yaml"
1936           ]
1937         },
1938         "ApplicationsDeploy": {
1939           "type": "object",
1940           "properties": {
1941             "applications": {
1942               "type": "array",
1943               "items": {
1944                 "$ref": "#/definitions/ApplicationDeploy"
1945               }
1946             }
1947           },
1948           "additionalProperties": false,
1949           "required": [
1950             "applications"
1951           ]
1952         },
1953         "CharmRelation": {
1954           "type": "object",
1955           "properties": {
1956             "interface": {
1957               "type": "string"
1958             },
1959             "limit": {
1960               "type": "integer"
1961             },
1962             "name": {
1963               "type": "string"
1964             },
1965             "optional": {
1966               "type": "boolean"
1967             },
1968             "role": {
1969               "type": "string"
1970             },
1971             "scope": {
1972               "type": "string"
1973             }
1974           },
1975           "additionalProperties": false,
1976           "required": [
1977             "name",
1978             "role",
1979             "interface",
1980             "optional",
1981             "limit",
1982             "scope"
1983           ]
1984         },
1985         "Constraints": {
1986           "type": "object",
1987           "properties": {
1988             "Count": {
1989               "type": "integer"
1990             },
1991             "Pool": {
1992               "type": "string"
1993             },
1994             "Size": {
1995               "type": "integer"
1996             }
1997           },
1998           "additionalProperties": false,
1999           "required": [
2000             "Pool",
2001             "Size",
2002             "Count"
2003           ]
2004         },
2005         "ConsumeApplicationArg": {
2006           "type": "object",
2007           "properties": {
2008             "application-alias": {
2009               "type": "string"
2010             },
2011             "application-url": {
2012               "type": "string"
2013             }
2014           },
2015           "additionalProperties": false,
2016           "required": [
2017             "application-url"
2018           ]
2019         },
2020         "ConsumeApplicationArgs": {
2021           "type": "object",
2022           "properties": {
2023             "args": {
2024               "type": "array",
2025               "items": {
2026                 "$ref": "#/definitions/ConsumeApplicationArg"
2027               }
2028             }
2029           },
2030           "additionalProperties": false
2031         },
2032         "ConsumeApplicationResult": {
2033           "type": "object",
2034           "properties": {
2035             "error": {
2036               "$ref": "#/definitions/Error"
2037             },
2038             "local-name": {
2039               "type": "string"
2040             }
2041           },
2042           "additionalProperties": false
2043         },
2044         "ConsumeApplicationResults": {
2045           "type": "object",
2046           "properties": {
2047             "results": {
2048               "type": "array",
2049               "items": {
2050                 "$ref": "#/definitions/ConsumeApplicationResult"
2051               }
2052             }
2053           },
2054           "additionalProperties": false,
2055           "required": [
2056             "results"
2057           ]
2058         },
2059         "DestroyApplicationInfo": {
2060           "type": "object",
2061           "properties": {
2062             "destroyed-storage": {
2063               "type": "array",
2064               "items": {
2065                 "$ref": "#/definitions/Entity"
2066               }
2067             },
2068             "destroyed-units": {
2069               "type": "array",
2070               "items": {
2071                 "$ref": "#/definitions/Entity"
2072               }
2073             },
2074             "detached-storage": {
2075               "type": "array",
2076               "items": {
2077                 "$ref": "#/definitions/Entity"
2078               }
2079             }
2080           },
2081           "additionalProperties": false
2082         },
2083         "DestroyApplicationResult": {
2084           "type": "object",
2085           "properties": {
2086             "error": {
2087               "$ref": "#/definitions/Error"
2088             },
2089             "info": {
2090               "$ref": "#/definitions/DestroyApplicationInfo"
2091             }
2092           },
2093           "additionalProperties": false
2094         },
2095         "DestroyApplicationResults": {
2096           "type": "object",
2097           "properties": {
2098             "results": {
2099               "type": "array",
2100               "items": {
2101                 "$ref": "#/definitions/DestroyApplicationResult"
2102               }
2103             }
2104           },
2105           "additionalProperties": false
2106         },
2107         "DestroyApplicationUnits": {
2108           "type": "object",
2109           "properties": {
2110             "unit-names": {
2111               "type": "array",
2112               "items": {
2113                 "type": "string"
2114               }
2115             }
2116           },
2117           "additionalProperties": false,
2118           "required": [
2119             "unit-names"
2120           ]
2121         },
2122         "DestroyRelation": {
2123           "type": "object",
2124           "properties": {
2125             "endpoints": {
2126               "type": "array",
2127               "items": {
2128                 "type": "string"
2129               }
2130             }
2131           },
2132           "additionalProperties": false,
2133           "required": [
2134             "endpoints"
2135           ]
2136         },
2137         "DestroyUnitInfo": {
2138           "type": "object",
2139           "properties": {
2140             "destroyed-storage": {
2141               "type": "array",
2142               "items": {
2143                 "$ref": "#/definitions/Entity"
2144               }
2145             },
2146             "detached-storage": {
2147               "type": "array",
2148               "items": {
2149                 "$ref": "#/definitions/Entity"
2150               }
2151             }
2152           },
2153           "additionalProperties": false
2154         },
2155         "DestroyUnitResult": {
2156           "type": "object",
2157           "properties": {
2158             "error": {
2159               "$ref": "#/definitions/Error"
2160             },
2161             "info": {
2162               "$ref": "#/definitions/DestroyUnitInfo"
2163             }
2164           },
2165           "additionalProperties": false
2166         },
2167         "DestroyUnitResults": {
2168           "type": "object",
2169           "properties": {
2170             "results": {
2171               "type": "array",
2172               "items": {
2173                 "$ref": "#/definitions/DestroyUnitResult"
2174               }
2175             }
2176           },
2177           "additionalProperties": false
2178         },
2179         "Entities": {
2180           "type": "object",
2181           "properties": {
2182             "entities": {
2183               "type": "array",
2184               "items": {
2185                 "$ref": "#/definitions/Entity"
2186               }
2187             }
2188           },
2189           "additionalProperties": false,
2190           "required": [
2191             "entities"
2192           ]
2193         },
2194         "Entity": {
2195           "type": "object",
2196           "properties": {
2197             "tag": {
2198               "type": "string"
2199             }
2200           },
2201           "additionalProperties": false,
2202           "required": [
2203             "tag"
2204           ]
2205         },
2206         "Error": {
2207           "type": "object",
2208           "properties": {
2209             "code": {
2210               "type": "string"
2211             },
2212             "info": {
2213               "$ref": "#/definitions/ErrorInfo"
2214             },
2215             "message": {
2216               "type": "string"
2217             }
2218           },
2219           "additionalProperties": false,
2220           "required": [
2221             "message",
2222             "code"
2223           ]
2224         },
2225         "ErrorInfo": {
2226           "type": "object",
2227           "properties": {
2228             "macaroon": {
2229               "$ref": "#/definitions/Macaroon"
2230             },
2231             "macaroon-path": {
2232               "type": "string"
2233             }
2234           },
2235           "additionalProperties": false
2236         },
2237         "ErrorResult": {
2238           "type": "object",
2239           "properties": {
2240             "error": {
2241               "$ref": "#/definitions/Error"
2242             }
2243           },
2244           "additionalProperties": false
2245         },
2246         "ErrorResults": {
2247           "type": "object",
2248           "properties": {
2249             "results": {
2250               "type": "array",
2251               "items": {
2252                 "$ref": "#/definitions/ErrorResult"
2253               }
2254             }
2255           },
2256           "additionalProperties": false,
2257           "required": [
2258             "results"
2259           ]
2260         },
2261         "GetApplicationConstraints": {
2262           "type": "object",
2263           "properties": {
2264             "application": {
2265               "type": "string"
2266             }
2267           },
2268           "additionalProperties": false,
2269           "required": [
2270             "application"
2271           ]
2272         },
2273         "GetConstraintsResults": {
2274           "type": "object",
2275           "properties": {
2276             "constraints": {
2277               "$ref": "#/definitions/Value"
2278             }
2279           },
2280           "additionalProperties": false,
2281           "required": [
2282             "constraints"
2283           ]
2284         },
2285         "Macaroon": {
2286           "type": "object",
2287           "additionalProperties": false
2288         },
2289         "Placement": {
2290           "type": "object",
2291           "properties": {
2292             "directive": {
2293               "type": "string"
2294             },
2295             "scope": {
2296               "type": "string"
2297             }
2298           },
2299           "additionalProperties": false,
2300           "required": [
2301             "scope",
2302             "directive"
2303           ]
2304         },
2305         "RemoteApplicationInfo": {
2306           "type": "object",
2307           "properties": {
2308             "application-url": {
2309               "type": "string"
2310             },
2311             "description": {
2312               "type": "string"
2313             },
2314             "endpoints": {
2315               "type": "array",
2316               "items": {
2317                 "$ref": "#/definitions/RemoteEndpoint"
2318               }
2319             },
2320             "icon-url-path": {
2321               "type": "string"
2322             },
2323             "model-tag": {
2324               "type": "string"
2325             },
2326             "name": {
2327               "type": "string"
2328             },
2329             "source-model-label": {
2330               "type": "string"
2331             }
2332           },
2333           "additionalProperties": false,
2334           "required": [
2335             "model-tag",
2336             "name",
2337             "description",
2338             "application-url",
2339             "endpoints",
2340             "icon-url-path"
2341           ]
2342         },
2343         "RemoteApplicationInfoResult": {
2344           "type": "object",
2345           "properties": {
2346             "error": {
2347               "$ref": "#/definitions/Error"
2348             },
2349             "result": {
2350               "$ref": "#/definitions/RemoteApplicationInfo"
2351             }
2352           },
2353           "additionalProperties": false
2354         },
2355         "RemoteApplicationInfoResults": {
2356           "type": "object",
2357           "properties": {
2358             "results": {
2359               "type": "array",
2360               "items": {
2361                 "$ref": "#/definitions/RemoteApplicationInfoResult"
2362               }
2363             }
2364           },
2365           "additionalProperties": false,
2366           "required": [
2367             "results"
2368           ]
2369         },
2370         "RemoteEndpoint": {
2371           "type": "object",
2372           "properties": {
2373             "interface": {
2374               "type": "string"
2375             },
2376             "limit": {
2377               "type": "integer"
2378             },
2379             "name": {
2380               "type": "string"
2381             },
2382             "role": {
2383               "type": "string"
2384             },
2385             "scope": {
2386               "type": "string"
2387             }
2388           },
2389           "additionalProperties": false,
2390           "required": [
2391             "name",
2392             "role",
2393             "interface",
2394             "limit",
2395             "scope"
2396           ]
2397         },
2398         "SetConstraints": {
2399           "type": "object",
2400           "properties": {
2401             "application": {
2402               "type": "string"
2403             },
2404             "constraints": {
2405               "$ref": "#/definitions/Value"
2406             }
2407           },
2408           "additionalProperties": false,
2409           "required": [
2410             "application",
2411             "constraints"
2412           ]
2413         },
2414         "StorageConstraints": {
2415           "type": "object",
2416           "properties": {
2417             "count": {
2418               "type": "integer"
2419             },
2420             "pool": {
2421               "type": "string"
2422             },
2423             "size": {
2424               "type": "integer"
2425             }
2426           },
2427           "additionalProperties": false
2428         },
2429         "StringResult": {
2430           "type": "object",
2431           "properties": {
2432             "error": {
2433               "$ref": "#/definitions/Error"
2434             },
2435             "result": {
2436               "type": "string"
2437             }
2438           },
2439           "additionalProperties": false,
2440           "required": [
2441             "result"
2442           ]
2443         },
2444         "Value": {
2445           "type": "object",
2446           "properties": {
2447             "arch": {
2448               "type": "string"
2449             },
2450             "container": {
2451               "type": "string"
2452             },
2453             "cores": {
2454               "type": "integer"
2455             },
2456             "cpu-power": {
2457               "type": "integer"
2458             },
2459             "instance-type": {
2460               "type": "string"
2461             },
2462             "mem": {
2463               "type": "integer"
2464             },
2465             "root-disk": {
2466               "type": "integer"
2467             },
2468             "spaces": {
2469               "type": "array",
2470               "items": {
2471                 "type": "string"
2472               }
2473             },
2474             "tags": {
2475               "type": "array",
2476               "items": {
2477                 "type": "string"
2478               }
2479             },
2480             "virt-type": {
2481               "type": "string"
2482             }
2483           },
2484           "additionalProperties": false
2485         }
2486       }
2487     }
2488   },
2489   {
2490     "Name": "ApplicationScaler",
2491     "Version": 1,
2492     "Schema": {
2493       "type": "object",
2494       "properties": {
2495         "Rescale": {
2496           "type": "object",
2497           "properties": {
2498             "Params": {
2499               "$ref": "#/definitions/Entities"
2500             },
2501             "Result": {
2502               "$ref": "#/definitions/ErrorResults"
2503             }
2504           }
2505         },
2506         "Watch": {
2507           "type": "object",
2508           "properties": {
2509             "Result": {
2510               "$ref": "#/definitions/StringsWatchResult"
2511             }
2512           }
2513         }
2514       },
2515       "definitions": {
2516         "Entities": {
2517           "type": "object",
2518           "properties": {
2519             "entities": {
2520               "type": "array",
2521               "items": {
2522                 "$ref": "#/definitions/Entity"
2523               }
2524             }
2525           },
2526           "additionalProperties": false,
2527           "required": [
2528             "entities"
2529           ]
2530         },
2531         "Entity": {
2532           "type": "object",
2533           "properties": {
2534             "tag": {
2535               "type": "string"
2536             }
2537           },
2538           "additionalProperties": false,
2539           "required": [
2540             "tag"
2541           ]
2542         },
2543         "Error": {
2544           "type": "object",
2545           "properties": {
2546             "code": {
2547               "type": "string"
2548             },
2549             "info": {
2550               "$ref": "#/definitions/ErrorInfo"
2551             },
2552             "message": {
2553               "type": "string"
2554             }
2555           },
2556           "additionalProperties": false,
2557           "required": [
2558             "message",
2559             "code"
2560           ]
2561         },
2562         "ErrorInfo": {
2563           "type": "object",
2564           "properties": {
2565             "macaroon": {
2566               "$ref": "#/definitions/Macaroon"
2567             },
2568             "macaroon-path": {
2569               "type": "string"
2570             }
2571           },
2572           "additionalProperties": false
2573         },
2574         "ErrorResult": {
2575           "type": "object",
2576           "properties": {
2577             "error": {
2578               "$ref": "#/definitions/Error"
2579             }
2580           },
2581           "additionalProperties": false
2582         },
2583         "ErrorResults": {
2584           "type": "object",
2585           "properties": {
2586             "results": {
2587               "type": "array",
2588               "items": {
2589                 "$ref": "#/definitions/ErrorResult"
2590               }
2591             }
2592           },
2593           "additionalProperties": false,
2594           "required": [
2595             "results"
2596           ]
2597         },
2598         "Macaroon": {
2599           "type": "object",
2600           "additionalProperties": false
2601         },
2602         "StringsWatchResult": {
2603           "type": "object",
2604           "properties": {
2605             "changes": {
2606               "type": "array",
2607               "items": {
2608                 "type": "string"
2609               }
2610             },
2611             "error": {
2612               "$ref": "#/definitions/Error"
2613             },
2614             "watcher-id": {
2615               "type": "string"
2616             }
2617           },
2618           "additionalProperties": false,
2619           "required": [
2620             "watcher-id"
2621           ]
2622         }
2623       }
2624     }
2625   },
2626   {
2627     "Name": "Backups",
2628     "Version": 1,
2629     "Schema": {
2630       "type": "object",
2631       "properties": {
2632         "Create": {
2633           "type": "object",
2634           "properties": {
2635             "Params": {
2636               "$ref": "#/definitions/BackupsCreateArgs"
2637             },
2638             "Result": {
2639               "$ref": "#/definitions/BackupsMetadataResult"
2640             }
2641           }
2642         },
2643         "FinishRestore": {
2644           "type": "object"
2645         },
2646         "Info": {
2647           "type": "object",
2648           "properties": {
2649             "Params": {
2650               "$ref": "#/definitions/BackupsInfoArgs"
2651             },
2652             "Result": {
2653               "$ref": "#/definitions/BackupsMetadataResult"
2654             }
2655           }
2656         },
2657         "List": {
2658           "type": "object",
2659           "properties": {
2660             "Params": {
2661               "$ref": "#/definitions/BackupsListArgs"
2662             },
2663             "Result": {
2664               "$ref": "#/definitions/BackupsListResult"
2665             }
2666           }
2667         },
2668         "PrepareRestore": {
2669           "type": "object"
2670         },
2671         "Remove": {
2672           "type": "object",
2673           "properties": {
2674             "Params": {
2675               "$ref": "#/definitions/BackupsRemoveArgs"
2676             }
2677           }
2678         },
2679         "Restore": {
2680           "type": "object",
2681           "properties": {
2682             "Params": {
2683               "$ref": "#/definitions/RestoreArgs"
2684             }
2685           }
2686         }
2687       },
2688       "definitions": {
2689         "BackupsCreateArgs": {
2690           "type": "object",
2691           "properties": {
2692             "notes": {
2693               "type": "string"
2694             }
2695           },
2696           "additionalProperties": false,
2697           "required": [
2698             "notes"
2699           ]
2700         },
2701         "BackupsInfoArgs": {
2702           "type": "object",
2703           "properties": {
2704             "id": {
2705               "type": "string"
2706             }
2707           },
2708           "additionalProperties": false,
2709           "required": [
2710             "id"
2711           ]
2712         },
2713         "BackupsListArgs": {
2714           "type": "object",
2715           "additionalProperties": false
2716         },
2717         "BackupsListResult": {
2718           "type": "object",
2719           "properties": {
2720             "list": {
2721               "type": "array",
2722               "items": {
2723                 "$ref": "#/definitions/BackupsMetadataResult"
2724               }
2725             }
2726           },
2727           "additionalProperties": false,
2728           "required": [
2729             "list"
2730           ]
2731         },
2732         "BackupsMetadataResult": {
2733           "type": "object",
2734           "properties": {
2735             "ca-cert": {
2736               "type": "string"
2737             },
2738             "ca-private-key": {
2739               "type": "string"
2740             },
2741             "checksum": {
2742               "type": "string"
2743             },
2744             "checksum-format": {
2745               "type": "string"
2746             },
2747             "finished": {
2748               "type": "string",
2749               "format": "date-time"
2750             },
2751             "hostname": {
2752               "type": "string"
2753             },
2754             "id": {
2755               "type": "string"
2756             },
2757             "machine": {
2758               "type": "string"
2759             },
2760             "model": {
2761               "type": "string"
2762             },
2763             "notes": {
2764               "type": "string"
2765             },
2766             "series": {
2767               "type": "string"
2768             },
2769             "size": {
2770               "type": "integer"
2771             },
2772             "started": {
2773               "type": "string",
2774               "format": "date-time"
2775             },
2776             "stored": {
2777               "type": "string",
2778               "format": "date-time"
2779             },
2780             "version": {
2781               "$ref": "#/definitions/Number"
2782             }
2783           },
2784           "additionalProperties": false,
2785           "required": [
2786             "id",
2787             "checksum",
2788             "checksum-format",
2789             "size",
2790             "stored",
2791             "started",
2792             "finished",
2793             "notes",
2794             "model",
2795             "machine",
2796             "hostname",
2797             "version",
2798             "series",
2799             "ca-cert",
2800             "ca-private-key"
2801           ]
2802         },
2803         "BackupsRemoveArgs": {
2804           "type": "object",
2805           "properties": {
2806             "id": {
2807               "type": "string"
2808             }
2809           },
2810           "additionalProperties": false,
2811           "required": [
2812             "id"
2813           ]
2814         },
2815         "Number": {
2816           "type": "object",
2817           "properties": {
2818             "Build": {
2819               "type": "integer"
2820             },
2821             "Major": {
2822               "type": "integer"
2823             },
2824             "Minor": {
2825               "type": "integer"
2826             },
2827             "Patch": {
2828               "type": "integer"
2829             },
2830             "Tag": {
2831               "type": "string"
2832             }
2833           },
2834           "additionalProperties": false,
2835           "required": [
2836             "Major",
2837             "Minor",
2838             "Tag",
2839             "Patch",
2840             "Build"
2841           ]
2842         },
2843         "RestoreArgs": {
2844           "type": "object",
2845           "properties": {
2846             "backup-id": {
2847               "type": "string"
2848             }
2849           },
2850           "additionalProperties": false,
2851           "required": [
2852             "backup-id"
2853           ]
2854         }
2855       }
2856     }
2857   },
2858   {
2859     "Name": "Block",
2860     "Version": 2,
2861     "Schema": {
2862       "type": "object",
2863       "properties": {
2864         "List": {
2865           "type": "object",
2866           "properties": {
2867             "Result": {
2868               "$ref": "#/definitions/BlockResults"
2869             }
2870           }
2871         },
2872         "SwitchBlockOff": {
2873           "type": "object",
2874           "properties": {
2875             "Params": {
2876               "$ref": "#/definitions/BlockSwitchParams"
2877             },
2878             "Result": {
2879               "$ref": "#/definitions/ErrorResult"
2880             }
2881           }
2882         },
2883         "SwitchBlockOn": {
2884           "type": "object",
2885           "properties": {
2886             "Params": {
2887               "$ref": "#/definitions/BlockSwitchParams"
2888             },
2889             "Result": {
2890               "$ref": "#/definitions/ErrorResult"
2891             }
2892           }
2893         }
2894       },
2895       "definitions": {
2896         "Block": {
2897           "type": "object",
2898           "properties": {
2899             "id": {
2900               "type": "string"
2901             },
2902             "message": {
2903               "type": "string"
2904             },
2905             "tag": {
2906               "type": "string"
2907             },
2908             "type": {
2909               "type": "string"
2910             }
2911           },
2912           "additionalProperties": false,
2913           "required": [
2914             "id",
2915             "tag",
2916             "type"
2917           ]
2918         },
2919         "BlockResult": {
2920           "type": "object",
2921           "properties": {
2922             "error": {
2923               "$ref": "#/definitions/Error"
2924             },
2925             "result": {
2926               "$ref": "#/definitions/Block"
2927             }
2928           },
2929           "additionalProperties": false,
2930           "required": [
2931             "result"
2932           ]
2933         },
2934         "BlockResults": {
2935           "type": "object",
2936           "properties": {
2937             "results": {
2938               "type": "array",
2939               "items": {
2940                 "$ref": "#/definitions/BlockResult"
2941               }
2942             }
2943           },
2944           "additionalProperties": false
2945         },
2946         "BlockSwitchParams": {
2947           "type": "object",
2948           "properties": {
2949             "message": {
2950               "type": "string"
2951             },
2952             "type": {
2953               "type": "string"
2954             }
2955           },
2956           "additionalProperties": false,
2957           "required": [
2958             "type"
2959           ]
2960         },
2961         "Error": {
2962           "type": "object",
2963           "properties": {
2964             "code": {
2965               "type": "string"
2966             },
2967             "info": {
2968               "$ref": "#/definitions/ErrorInfo"
2969             },
2970             "message": {
2971               "type": "string"
2972             }
2973           },
2974           "additionalProperties": false,
2975           "required": [
2976             "message",
2977             "code"
2978           ]
2979         },
2980         "ErrorInfo": {
2981           "type": "object",
2982           "properties": {
2983             "macaroon": {
2984               "$ref": "#/definitions/Macaroon"
2985             },
2986             "macaroon-path": {
2987               "type": "string"
2988             }
2989           },
2990           "additionalProperties": false
2991         },
2992         "ErrorResult": {
2993           "type": "object",
2994           "properties": {
2995             "error": {
2996               "$ref": "#/definitions/Error"
2997             }
2998           },
2999           "additionalProperties": false
3000         },
3001         "Macaroon": {
3002           "type": "object",
3003           "additionalProperties": false
3004         }
3005       }
3006     }
3007   },
3008   {
3009     "Name": "Bundle",
3010     "Version": 1,
3011     "Schema": {
3012       "type": "object",
3013       "properties": {
3014         "GetChanges": {
3015           "type": "object",
3016           "properties": {
3017             "Params": {
3018               "$ref": "#/definitions/BundleChangesParams"
3019             },
3020             "Result": {
3021               "$ref": "#/definitions/BundleChangesResults"
3022             }
3023           }
3024         }
3025       },
3026       "definitions": {
3027         "BundleChange": {
3028           "type": "object",
3029           "properties": {
3030             "args": {
3031               "type": "array",
3032               "items": {
3033                 "type": "object",
3034                 "additionalProperties": true
3035               }
3036             },
3037             "id": {
3038               "type": "string"
3039             },
3040             "method": {
3041               "type": "string"
3042             },
3043             "requires": {
3044               "type": "array",
3045               "items": {
3046                 "type": "string"
3047               }
3048             }
3049           },
3050           "additionalProperties": false,
3051           "required": [
3052             "id",
3053             "method",
3054             "args",
3055             "requires"
3056           ]
3057         },
3058         "BundleChangesParams": {
3059           "type": "object",
3060           "properties": {
3061             "yaml": {
3062               "type": "string"
3063             }
3064           },
3065           "additionalProperties": false,
3066           "required": [
3067             "yaml"
3068           ]
3069         },
3070         "BundleChangesResults": {
3071           "type": "object",
3072           "properties": {
3073             "changes": {
3074               "type": "array",
3075               "items": {
3076                 "$ref": "#/definitions/BundleChange"
3077               }
3078             },
3079             "errors": {
3080               "type": "array",
3081               "items": {
3082                 "type": "string"
3083               }
3084             }
3085           },
3086           "additionalProperties": false
3087         }
3088       }
3089     }
3090   },
3091   {
3092     "Name": "CharmRevisionUpdater",
3093     "Version": 2,
3094     "Schema": {
3095       "type": "object",
3096       "properties": {
3097         "UpdateLatestRevisions": {
3098           "type": "object",
3099           "properties": {
3100             "Result": {
3101               "$ref": "#/definitions/ErrorResult"
3102             }
3103           }
3104         }
3105       },
3106       "definitions": {
3107         "Error": {
3108           "type": "object",
3109           "properties": {
3110             "code": {
3111               "type": "string"
3112             },
3113             "info": {
3114               "$ref": "#/definitions/ErrorInfo"
3115             },
3116             "message": {
3117               "type": "string"
3118             }
3119           },
3120           "additionalProperties": false,
3121           "required": [
3122             "message",
3123             "code"
3124           ]
3125         },
3126         "ErrorInfo": {
3127           "type": "object",
3128           "properties": {
3129             "macaroon": {
3130               "$ref": "#/definitions/Macaroon"
3131             },
3132             "macaroon-path": {
3133               "type": "string"
3134             }
3135           },
3136           "additionalProperties": false
3137         },
3138         "ErrorResult": {
3139           "type": "object",
3140           "properties": {
3141             "error": {
3142               "$ref": "#/definitions/Error"
3143             }
3144           },
3145           "additionalProperties": false
3146         },
3147         "Macaroon": {
3148           "type": "object",
3149           "additionalProperties": false
3150         }
3151       }
3152     }
3153   },
3154   {
3155     "Name": "Charms",
3156     "Version": 2,
3157     "Schema": {
3158       "type": "object",
3159       "properties": {
3160         "CharmInfo": {
3161           "type": "object",
3162           "properties": {
3163             "Params": {
3164               "$ref": "#/definitions/CharmURL"
3165             },
3166             "Result": {
3167               "$ref": "#/definitions/CharmInfo"
3168             }
3169           }
3170         },
3171         "IsMetered": {
3172           "type": "object",
3173           "properties": {
3174             "Params": {
3175               "$ref": "#/definitions/CharmURL"
3176             },
3177             "Result": {
3178               "$ref": "#/definitions/IsMeteredResult"
3179             }
3180           }
3181         },
3182         "List": {
3183           "type": "object",
3184           "properties": {
3185             "Params": {
3186               "$ref": "#/definitions/CharmsList"
3187             },
3188             "Result": {
3189               "$ref": "#/definitions/CharmsListResult"
3190             }
3191           }
3192         }
3193       },
3194       "definitions": {
3195         "CharmActionSpec": {
3196           "type": "object",
3197           "properties": {
3198             "description": {
3199               "type": "string"
3200             },
3201             "params": {
3202               "type": "object",
3203               "patternProperties": {
3204                 ".*": {
3205                   "type": "object",
3206                   "additionalProperties": true
3207                 }
3208               }
3209             }
3210           },
3211           "additionalProperties": false,
3212           "required": [
3213             "description",
3214             "params"
3215           ]
3216         },
3217         "CharmActions": {
3218           "type": "object",
3219           "properties": {
3220             "specs": {
3221               "type": "object",
3222               "patternProperties": {
3223                 ".*": {
3224                   "$ref": "#/definitions/CharmActionSpec"
3225                 }
3226               }
3227             }
3228           },
3229           "additionalProperties": false
3230         },
3231         "CharmInfo": {
3232           "type": "object",
3233           "properties": {
3234             "actions": {
3235               "$ref": "#/definitions/CharmActions"
3236             },
3237             "config": {
3238               "type": "object",
3239               "patternProperties": {
3240                 ".*": {
3241                   "$ref": "#/definitions/CharmOption"
3242                 }
3243               }
3244             },
3245             "meta": {
3246               "$ref": "#/definitions/CharmMeta"
3247             },
3248             "metrics": {
3249               "$ref": "#/definitions/CharmMetrics"
3250             },
3251             "revision": {
3252               "type": "integer"
3253             },
3254             "url": {
3255               "type": "string"
3256             }
3257           },
3258           "additionalProperties": false,
3259           "required": [
3260             "revision",
3261             "url",
3262             "config"
3263           ]
3264         },
3265         "CharmMeta": {
3266           "type": "object",
3267           "properties": {
3268             "categories": {
3269               "type": "array",
3270               "items": {
3271                 "type": "string"
3272               }
3273             },
3274             "description": {
3275               "type": "string"
3276             },
3277             "extra-bindings": {
3278               "type": "object",
3279               "patternProperties": {
3280                 ".*": {
3281                   "type": "string"
3282                 }
3283               }
3284             },
3285             "min-juju-version": {
3286               "type": "string"
3287             },
3288             "name": {
3289               "type": "string"
3290             },
3291             "payload-classes": {
3292               "type": "object",
3293               "patternProperties": {
3294                 ".*": {
3295                   "$ref": "#/definitions/CharmPayloadClass"
3296                 }
3297               }
3298             },
3299             "peers": {
3300               "type": "object",
3301               "patternProperties": {
3302                 ".*": {
3303                   "$ref": "#/definitions/CharmRelation"
3304                 }
3305               }
3306             },
3307             "provides": {
3308               "type": "object",
3309               "patternProperties": {
3310                 ".*": {
3311                   "$ref": "#/definitions/CharmRelation"
3312                 }
3313               }
3314             },
3315             "requires": {
3316               "type": "object",
3317               "patternProperties": {
3318                 ".*": {
3319                   "$ref": "#/definitions/CharmRelation"
3320                 }
3321               }
3322             },
3323             "resources": {
3324               "type": "object",
3325               "patternProperties": {
3326                 ".*": {
3327                   "$ref": "#/definitions/CharmResourceMeta"
3328                 }
3329               }
3330             },
3331             "series": {
3332               "type": "array",
3333               "items": {
3334                 "type": "string"
3335               }
3336             },
3337             "storage": {
3338               "type": "object",
3339               "patternProperties": {
3340                 ".*": {
3341                   "$ref": "#/definitions/CharmStorage"
3342                 }
3343               }
3344             },
3345             "subordinate": {
3346               "type": "boolean"
3347             },
3348             "summary": {
3349               "type": "string"
3350             },
3351             "tags": {
3352               "type": "array",
3353               "items": {
3354                 "type": "string"
3355               }
3356             },
3357             "terms": {
3358               "type": "array",
3359               "items": {
3360                 "type": "string"
3361               }
3362             }
3363           },
3364           "additionalProperties": false,
3365           "required": [
3366             "name",
3367             "summary",
3368             "description",
3369             "subordinate"
3370           ]
3371         },
3372         "CharmMetric": {
3373           "type": "object",
3374           "properties": {
3375             "description": {
3376               "type": "string"
3377             },
3378             "type": {
3379               "type": "string"
3380             }
3381           },
3382           "additionalProperties": false,
3383           "required": [
3384             "type",
3385             "description"
3386           ]
3387         },
3388         "CharmMetrics": {
3389           "type": "object",
3390           "properties": {
3391             "metrics": {
3392               "type": "object",
3393               "patternProperties": {
3394                 ".*": {
3395                   "$ref": "#/definitions/CharmMetric"
3396                 }
3397               }
3398             },
3399             "plan": {
3400               "$ref": "#/definitions/CharmPlan"
3401             }
3402           },
3403           "additionalProperties": false,
3404           "required": [
3405             "metrics",
3406             "plan"
3407           ]
3408         },
3409         "CharmOption": {
3410           "type": "object",
3411           "properties": {
3412             "default": {
3413               "type": "object",
3414               "additionalProperties": true
3415             },
3416             "description": {
3417               "type": "string"
3418             },
3419             "type": {
3420               "type": "string"
3421             }
3422           },
3423           "additionalProperties": false,
3424           "required": [
3425             "type"
3426           ]
3427         },
3428         "CharmPayloadClass": {
3429           "type": "object",
3430           "properties": {
3431             "name": {
3432               "type": "string"
3433             },
3434             "type": {
3435               "type": "string"
3436             }
3437           },
3438           "additionalProperties": false,
3439           "required": [
3440             "name",
3441             "type"
3442           ]
3443         },
3444         "CharmPlan": {
3445           "type": "object",
3446           "properties": {
3447             "required": {
3448               "type": "boolean"
3449             }
3450           },
3451           "additionalProperties": false,
3452           "required": [
3453             "required"
3454           ]
3455         },
3456         "CharmRelation": {
3457           "type": "object",
3458           "properties": {
3459             "interface": {
3460               "type": "string"
3461             },
3462             "limit": {
3463               "type": "integer"
3464             },
3465             "name": {
3466               "type": "string"
3467             },
3468             "optional": {
3469               "type": "boolean"
3470             },
3471             "role": {
3472               "type": "string"
3473             },
3474             "scope": {
3475               "type": "string"
3476             }
3477           },
3478           "additionalProperties": false,
3479           "required": [
3480             "name",
3481             "role",
3482             "interface",
3483             "optional",
3484             "limit",
3485             "scope"
3486           ]
3487         },
3488         "CharmResourceMeta": {
3489           "type": "object",
3490           "properties": {
3491             "description": {
3492               "type": "string"
3493             },
3494             "name": {
3495               "type": "string"
3496             },
3497             "path": {
3498               "type": "string"
3499             },
3500             "type": {
3501               "type": "string"
3502             }
3503           },
3504           "additionalProperties": false,
3505           "required": [
3506             "name",
3507             "type",
3508             "path",
3509             "description"
3510           ]
3511         },
3512         "CharmStorage": {
3513           "type": "object",
3514           "properties": {
3515             "count-max": {
3516               "type": "integer"
3517             },
3518             "count-min": {
3519               "type": "integer"
3520             },
3521             "description": {
3522               "type": "string"
3523             },
3524             "location": {
3525               "type": "string"
3526             },
3527             "minimum-size": {
3528               "type": "integer"
3529             },
3530             "name": {
3531               "type": "string"
3532             },
3533             "properties": {
3534               "type": "array",
3535               "items": {
3536                 "type": "string"
3537               }
3538             },
3539             "read-only": {
3540               "type": "boolean"
3541             },
3542             "shared": {
3543               "type": "boolean"
3544             },
3545             "type": {
3546               "type": "string"
3547             }
3548           },
3549           "additionalProperties": false,
3550           "required": [
3551             "name",
3552             "description",
3553             "type",
3554             "shared",
3555             "read-only",
3556             "count-min",
3557             "count-max",
3558             "minimum-size"
3559           ]
3560         },
3561         "CharmURL": {
3562           "type": "object",
3563           "properties": {
3564             "url": {
3565               "type": "string"
3566             }
3567           },
3568           "additionalProperties": false,
3569           "required": [
3570             "url"
3571           ]
3572         },
3573         "CharmsList": {
3574           "type": "object",
3575           "properties": {
3576             "names": {
3577               "type": "array",
3578               "items": {
3579                 "type": "string"
3580               }
3581             }
3582           },
3583           "additionalProperties": false,
3584           "required": [
3585             "names"
3586           ]
3587         },
3588         "CharmsListResult": {
3589           "type": "object",
3590           "properties": {
3591             "charm-urls": {
3592               "type": "array",
3593               "items": {
3594                 "type": "string"
3595               }
3596             }
3597           },
3598           "additionalProperties": false,
3599           "required": [
3600             "charm-urls"
3601           ]
3602         },
3603         "IsMeteredResult": {
3604           "type": "object",
3605           "properties": {
3606             "metered": {
3607               "type": "boolean"
3608             }
3609           },
3610           "additionalProperties": false,
3611           "required": [
3612             "metered"
3613           ]
3614         }
3615       }
3616     }
3617   },
3618   {
3619     "Name": "Cleaner",
3620     "Version": 2,
3621     "Schema": {
3622       "type": "object",
3623       "properties": {
3624         "Cleanup": {
3625           "type": "object"
3626         },
3627         "WatchCleanups": {
3628           "type": "object",
3629           "properties": {
3630             "Result": {
3631               "$ref": "#/definitions/NotifyWatchResult"
3632             }
3633           }
3634         }
3635       },
3636       "definitions": {
3637         "Error": {
3638           "type": "object",
3639           "properties": {
3640             "code": {
3641               "type": "string"
3642             },
3643             "info": {
3644               "$ref": "#/definitions/ErrorInfo"
3645             },
3646             "message": {
3647               "type": "string"
3648             }
3649           },
3650           "additionalProperties": false,
3651           "required": [
3652             "message",
3653             "code"
3654           ]
3655         },
3656         "ErrorInfo": {
3657           "type": "object",
3658           "properties": {
3659             "macaroon": {
3660               "$ref": "#/definitions/Macaroon"
3661             },
3662             "macaroon-path": {
3663               "type": "string"
3664             }
3665           },
3666           "additionalProperties": false
3667         },
3668         "Macaroon": {
3669           "type": "object",
3670           "additionalProperties": false
3671         },
3672         "NotifyWatchResult": {
3673           "type": "object",
3674           "properties": {
3675             "NotifyWatcherId": {
3676               "type": "string"
3677             },
3678             "error": {
3679               "$ref": "#/definitions/Error"
3680             }
3681           },
3682           "additionalProperties": false,
3683           "required": [
3684             "NotifyWatcherId"
3685           ]
3686         }
3687       }
3688     }
3689   },
3690   {
3691     "Name": "Client",
3692     "Version": 1,
3693     "Schema": {
3694       "type": "object",
3695       "properties": {
3696         "APIHostPorts": {
3697           "type": "object",
3698           "properties": {
3699             "Result": {
3700               "$ref": "#/definitions/APIHostPortsResult"
3701             }
3702           }
3703         },
3704         "AbortCurrentUpgrade": {
3705           "type": "object"
3706         },
3707         "AddCharm": {
3708           "type": "object",
3709           "properties": {
3710             "Params": {
3711               "$ref": "#/definitions/AddCharm"
3712             }
3713           }
3714         },
3715         "AddCharmWithAuthorization": {
3716           "type": "object",
3717           "properties": {
3718             "Params": {
3719               "$ref": "#/definitions/AddCharmWithAuthorization"
3720             }
3721           }
3722         },
3723         "AddMachines": {
3724           "type": "object",
3725           "properties": {
3726             "Params": {
3727               "$ref": "#/definitions/AddMachines"
3728             },
3729             "Result": {
3730               "$ref": "#/definitions/AddMachinesResults"
3731             }
3732           }
3733         },
3734         "AddMachinesV2": {
3735           "type": "object",
3736           "properties": {
3737             "Params": {
3738               "$ref": "#/definitions/AddMachines"
3739             },
3740             "Result": {
3741               "$ref": "#/definitions/AddMachinesResults"
3742             }
3743           }
3744         },
3745         "AgentVersion": {
3746           "type": "object",
3747           "properties": {
3748             "Result": {
3749               "$ref": "#/definitions/AgentVersionResult"
3750             }
3751           }
3752         },
3753         "CACert": {
3754           "type": "object",
3755           "properties": {
3756             "Result": {
3757               "$ref": "#/definitions/BytesResult"
3758             }
3759           }
3760         },
3761         "DestroyMachines": {
3762           "type": "object",
3763           "properties": {
3764             "Params": {
3765               "$ref": "#/definitions/DestroyMachines"
3766             }
3767           }
3768         },
3769         "FindTools": {
3770           "type": "object",
3771           "properties": {
3772             "Params": {
3773               "$ref": "#/definitions/FindToolsParams"
3774             },
3775             "Result": {
3776               "$ref": "#/definitions/FindToolsResult"
3777             }
3778           }
3779         },
3780         "FullStatus": {
3781           "type": "object",
3782           "properties": {
3783             "Params": {
3784               "$ref": "#/definitions/StatusParams"
3785             },
3786             "Result": {
3787               "$ref": "#/definitions/FullStatus"
3788             }
3789           }
3790         },
3791         "GetBundleChanges": {
3792           "type": "object",
3793           "properties": {
3794             "Params": {
3795               "$ref": "#/definitions/BundleChangesParams"
3796             },
3797             "Result": {
3798               "$ref": "#/definitions/BundleChangesResults"
3799             }
3800           }
3801         },
3802         "GetModelConstraints": {
3803           "type": "object",
3804           "properties": {
3805             "Result": {
3806               "$ref": "#/definitions/GetConstraintsResults"
3807             }
3808           }
3809         },
3810         "InjectMachines": {
3811           "type": "object",
3812           "properties": {
3813             "Params": {
3814               "$ref": "#/definitions/AddMachines"
3815             },
3816             "Result": {
3817               "$ref": "#/definitions/AddMachinesResults"
3818             }
3819           }
3820         },
3821         "ModelGet": {
3822           "type": "object",
3823           "properties": {
3824             "Result": {
3825               "$ref": "#/definitions/ModelConfigResults"
3826             }
3827           }
3828         },
3829         "ModelInfo": {
3830           "type": "object",
3831           "properties": {
3832             "Result": {
3833               "$ref": "#/definitions/ModelInfo"
3834             }
3835           }
3836         },
3837         "ModelSet": {
3838           "type": "object",
3839           "properties": {
3840             "Params": {
3841               "$ref": "#/definitions/ModelSet"
3842             }
3843           }
3844         },
3845         "ModelUnset": {
3846           "type": "object",
3847           "properties": {
3848             "Params": {
3849               "$ref": "#/definitions/ModelUnset"
3850             }
3851           }
3852         },
3853         "ModelUserInfo": {
3854           "type": "object",
3855           "properties": {
3856             "Result": {
3857               "$ref": "#/definitions/ModelUserInfoResults"
3858             }
3859           }
3860         },
3861         "PrivateAddress": {
3862           "type": "object",
3863           "properties": {
3864             "Params": {
3865               "$ref": "#/definitions/PrivateAddress"
3866             },
3867             "Result": {
3868               "$ref": "#/definitions/PrivateAddressResults"
3869             }
3870           }
3871         },
3872         "ProvisioningScript": {
3873           "type": "object",
3874           "properties": {
3875             "Params": {
3876               "$ref": "#/definitions/ProvisioningScriptParams"
3877             },
3878             "Result": {
3879               "$ref": "#/definitions/ProvisioningScriptResult"
3880             }
3881           }
3882         },
3883         "PublicAddress": {
3884           "type": "object",
3885           "properties": {
3886             "Params": {
3887               "$ref": "#/definitions/PublicAddress"
3888             },
3889             "Result": {
3890               "$ref": "#/definitions/PublicAddressResults"
3891             }
3892           }
3893         },
3894         "ResolveCharms": {
3895           "type": "object",
3896           "properties": {
3897             "Params": {
3898               "$ref": "#/definitions/ResolveCharms"
3899             },
3900             "Result": {
3901               "$ref": "#/definitions/ResolveCharmResults"
3902             }
3903           }
3904         },
3905         "Resolved": {
3906           "type": "object",
3907           "properties": {
3908             "Params": {
3909               "$ref": "#/definitions/Resolved"
3910             }
3911           }
3912         },
3913         "RetryProvisioning": {
3914           "type": "object",
3915           "properties": {
3916             "Params": {
3917               "$ref": "#/definitions/Entities"
3918             },
3919             "Result": {
3920               "$ref": "#/definitions/ErrorResults"
3921             }
3922           }
3923         },
3924         "SLALevel": {
3925           "type": "object",
3926           "properties": {
3927             "Result": {
3928               "$ref": "#/definitions/StringResult"
3929             }
3930           }
3931         },
3932         "SetModelAgentVersion": {
3933           "type": "object",
3934           "properties": {
3935             "Params": {
3936               "$ref": "#/definitions/SetModelAgentVersion"
3937             }
3938           }
3939         },
3940         "SetModelConstraints": {
3941           "type": "object",
3942           "properties": {
3943             "Params": {
3944               "$ref": "#/definitions/SetConstraints"
3945             }
3946           }
3947         },
3948         "SetSLALevel": {
3949           "type": "object",
3950           "properties": {
3951             "Params": {
3952               "$ref": "#/definitions/ModelSLA"
3953             }
3954           }
3955         },
3956         "StatusHistory": {
3957           "type": "object",
3958           "properties": {
3959             "Params": {
3960               "$ref": "#/definitions/StatusHistoryRequests"
3961             },
3962             "Result": {
3963               "$ref": "#/definitions/StatusHistoryResults"
3964             }
3965           }
3966         },
3967         "WatchAll": {
3968           "type": "object",
3969           "properties": {
3970             "Result": {
3971               "$ref": "#/definitions/AllWatcherId"
3972             }
3973           }
3974         }
3975       },
3976       "definitions": {
3977         "APIHostPortsResult": {
3978           "type": "object",
3979           "properties": {
3980             "servers": {
3981               "type": "array",
3982               "items": {
3983                 "type": "array",
3984                 "items": {
3985                   "$ref": "#/definitions/HostPort"
3986                 }
3987               }
3988             }
3989           },
3990           "additionalProperties": false,
3991           "required": [
3992             "servers"
3993           ]
3994         },
3995         "AddCharm": {
3996           "type": "object",
3997           "properties": {
3998             "channel": {
3999               "type": "string"
4000             },
4001             "url": {
4002               "type": "string"
4003             }
4004           },
4005           "additionalProperties": false,
4006           "required": [
4007             "url",
4008             "channel"
4009           ]
4010         },
4011         "AddCharmWithAuthorization": {
4012           "type": "object",
4013           "properties": {
4014             "channel": {
4015               "type": "string"
4016             },
4017             "macaroon": {
4018               "$ref": "#/definitions/Macaroon"
4019             },
4020             "url": {
4021               "type": "string"
4022             }
4023           },
4024           "additionalProperties": false,
4025           "required": [
4026             "url",
4027             "channel",
4028             "macaroon"
4029           ]
4030         },
4031         "AddMachineParams": {
4032           "type": "object",
4033           "properties": {
4034             "addresses": {
4035               "type": "array",
4036               "items": {
4037                 "$ref": "#/definitions/Address"
4038               }
4039             },
4040             "constraints": {
4041               "$ref": "#/definitions/Value"
4042             },
4043             "container-type": {
4044               "type": "string"
4045             },
4046             "disks": {
4047               "type": "array",
4048               "items": {
4049                 "$ref": "#/definitions/Constraints"
4050               }
4051             },
4052             "hardware-characteristics": {
4053               "$ref": "#/definitions/HardwareCharacteristics"
4054             },
4055             "instance-id": {
4056               "type": "string"
4057             },
4058             "jobs": {
4059               "type": "array",
4060               "items": {
4061                 "type": "string"
4062               }
4063             },
4064             "nonce": {
4065               "type": "string"
4066             },
4067             "parent-id": {
4068               "type": "string"
4069             },
4070             "placement": {
4071               "$ref": "#/definitions/Placement"
4072             },
4073             "series": {
4074               "type": "string"
4075             }
4076           },
4077           "additionalProperties": false,
4078           "required": [
4079             "series",
4080             "constraints",
4081             "jobs",
4082             "parent-id",
4083             "container-type",
4084             "instance-id",
4085             "nonce",
4086             "hardware-characteristics",
4087             "addresses"
4088           ]
4089         },
4090         "AddMachines": {
4091           "type": "object",
4092           "properties": {
4093             "params": {
4094               "type": "array",
4095               "items": {
4096                 "$ref": "#/definitions/AddMachineParams"
4097               }
4098             }
4099           },
4100           "additionalProperties": false,
4101           "required": [
4102             "params"
4103           ]
4104         },
4105         "AddMachinesResult": {
4106           "type": "object",
4107           "properties": {
4108             "error": {
4109               "$ref": "#/definitions/Error"
4110             },
4111             "machine": {
4112               "type": "string"
4113             }
4114           },
4115           "additionalProperties": false,
4116           "required": [
4117             "machine"
4118           ]
4119         },
4120         "AddMachinesResults": {
4121           "type": "object",
4122           "properties": {
4123             "machines": {
4124               "type": "array",
4125               "items": {
4126                 "$ref": "#/definitions/AddMachinesResult"
4127               }
4128             }
4129           },
4130           "additionalProperties": false,
4131           "required": [
4132             "machines"
4133           ]
4134         },
4135         "Address": {
4136           "type": "object",
4137           "properties": {
4138             "scope": {
4139               "type": "string"
4140             },
4141             "space-name": {
4142               "type": "string"
4143             },
4144             "type": {
4145               "type": "string"
4146             },
4147             "value": {
4148               "type": "string"
4149             }
4150           },
4151           "additionalProperties": false,
4152           "required": [
4153             "value",
4154             "type",
4155             "scope"
4156           ]
4157         },
4158         "AgentVersionResult": {
4159           "type": "object",
4160           "properties": {
4161             "version": {
4162               "$ref": "#/definitions/Number"
4163             }
4164           },
4165           "additionalProperties": false,
4166           "required": [
4167             "version"
4168           ]
4169         },
4170         "AllWatcherId": {
4171           "type": "object",
4172           "properties": {
4173             "watcher-id": {
4174               "type": "string"
4175             }
4176           },
4177           "additionalProperties": false,
4178           "required": [
4179             "watcher-id"
4180           ]
4181         },
4182         "ApplicationStatus": {
4183           "type": "object",
4184           "properties": {
4185             "can-upgrade-to": {
4186               "type": "string"
4187             },
4188             "charm": {
4189               "type": "string"
4190             },
4191             "err": {
4192               "type": "object",
4193               "additionalProperties": true
4194             },
4195             "exposed": {
4196               "type": "boolean"
4197             },
4198             "life": {
4199               "type": "string"
4200             },
4201             "meter-statuses": {
4202               "type": "object",
4203               "patternProperties": {
4204                 ".*": {
4205                   "$ref": "#/definitions/MeterStatus"
4206                 }
4207               }
4208             },
4209             "relations": {
4210               "type": "object",
4211               "patternProperties": {
4212                 ".*": {
4213                   "type": "array",
4214                   "items": {
4215                     "type": "string"
4216                   }
4217                 }
4218               }
4219             },
4220             "series": {
4221               "type": "string"
4222             },
4223             "status": {
4224               "$ref": "#/definitions/DetailedStatus"
4225             },
4226             "subordinate-to": {
4227               "type": "array",
4228               "items": {
4229                 "type": "string"
4230               }
4231             },
4232             "units": {
4233               "type": "object",
4234               "patternProperties": {
4235                 ".*": {
4236                   "$ref": "#/definitions/UnitStatus"
4237                 }
4238               }
4239             },
4240             "workload-version": {
4241               "type": "string"
4242             }
4243           },
4244           "additionalProperties": false,
4245           "required": [
4246             "charm",
4247             "series",
4248             "exposed",
4249             "life",
4250             "relations",
4251             "can-upgrade-to",
4252             "subordinate-to",
4253             "units",
4254             "meter-statuses",
4255             "status",
4256             "workload-version"
4257           ]
4258         },
4259         "Binary": {
4260           "type": "object",
4261           "properties": {
4262             "Arch": {
4263               "type": "string"
4264             },
4265             "Number": {
4266               "$ref": "#/definitions/Number"
4267             },
4268             "Series": {
4269               "type": "string"
4270             }
4271           },
4272           "additionalProperties": false,
4273           "required": [
4274             "Number",
4275             "Series",
4276             "Arch"
4277           ]
4278         },
4279         "BundleChange": {
4280           "type": "object",
4281           "properties": {
4282             "args": {
4283               "type": "array",
4284               "items": {
4285                 "type": "object",
4286                 "additionalProperties": true
4287               }
4288             },
4289             "id": {
4290               "type": "string"
4291             },
4292             "method": {
4293               "type": "string"
4294             },
4295             "requires": {
4296               "type": "array",
4297               "items": {
4298                 "type": "string"
4299               }
4300             }
4301           },
4302           "additionalProperties": false,
4303           "required": [
4304             "id",
4305             "method",
4306             "args",
4307             "requires"
4308           ]
4309         },
4310         "BundleChangesParams": {
4311           "type": "object",
4312           "properties": {
4313             "yaml": {
4314               "type": "string"
4315             }
4316           },
4317           "additionalProperties": false,
4318           "required": [
4319             "yaml"
4320           ]
4321         },
4322         "BundleChangesResults": {
4323           "type": "object",
4324           "properties": {
4325             "changes": {
4326               "type": "array",
4327               "items": {
4328                 "$ref": "#/definitions/BundleChange"
4329               }
4330             },
4331             "errors": {
4332               "type": "array",
4333               "items": {
4334                 "type": "string"
4335               }
4336             }
4337           },
4338           "additionalProperties": false
4339         },
4340         "BytesResult": {
4341           "type": "object",
4342           "properties": {
4343             "result": {
4344               "type": "array",
4345               "items": {
4346                 "type": "integer"
4347               }
4348             }
4349           },
4350           "additionalProperties": false,
4351           "required": [
4352             "result"
4353           ]
4354         },
4355         "ConfigValue": {
4356           "type": "object",
4357           "properties": {
4358             "source": {
4359               "type": "string"
4360             },
4361             "value": {
4362               "type": "object",
4363               "additionalProperties": true
4364             }
4365           },
4366           "additionalProperties": false,
4367           "required": [
4368             "value",
4369             "source"
4370           ]
4371         },
4372         "Constraints": {
4373           "type": "object",
4374           "properties": {
4375             "Count": {
4376               "type": "integer"
4377             },
4378             "Pool": {
4379               "type": "string"
4380             },
4381             "Size": {
4382               "type": "integer"
4383             }
4384           },
4385           "additionalProperties": false,
4386           "required": [
4387             "Pool",
4388             "Size",
4389             "Count"
4390           ]
4391         },
4392         "DestroyMachines": {
4393           "type": "object",
4394           "properties": {
4395             "force": {
4396               "type": "boolean"
4397             },
4398             "machine-names": {
4399               "type": "array",
4400               "items": {
4401                 "type": "string"
4402               }
4403             }
4404           },
4405           "additionalProperties": false,
4406           "required": [
4407             "machine-names",
4408             "force"
4409           ]
4410         },
4411         "DetailedStatus": {
4412           "type": "object",
4413           "properties": {
4414             "data": {
4415               "type": "object",
4416               "patternProperties": {
4417                 ".*": {
4418                   "type": "object",
4419                   "additionalProperties": true
4420                 }
4421               }
4422             },
4423             "err": {
4424               "type": "object",
4425               "additionalProperties": true
4426             },
4427             "info": {
4428               "type": "string"
4429             },
4430             "kind": {
4431               "type": "string"
4432             },
4433             "life": {
4434               "type": "string"
4435             },
4436             "since": {
4437               "type": "string",
4438               "format": "date-time"
4439             },
4440             "status": {
4441               "type": "string"
4442             },
4443             "version": {
4444               "type": "string"
4445             }
4446           },
4447           "additionalProperties": false,
4448           "required": [
4449             "status",
4450             "info",
4451             "data",
4452             "since",
4453             "kind",
4454             "version",
4455             "life"
4456           ]
4457         },
4458         "EndpointStatus": {
4459           "type": "object",
4460           "properties": {
4461             "application": {
4462               "type": "string"
4463             },
4464             "name": {
4465               "type": "string"
4466             },
4467             "role": {
4468               "type": "string"
4469             },
4470             "subordinate": {
4471               "type": "boolean"
4472             }
4473           },
4474           "additionalProperties": false,
4475           "required": [
4476             "application",
4477             "name",
4478             "role",
4479             "subordinate"
4480           ]
4481         },
4482         "Entities": {
4483           "type": "object",
4484           "properties": {
4485             "entities": {
4486               "type": "array",
4487               "items": {
4488                 "$ref": "#/definitions/Entity"
4489               }
4490             }
4491           },
4492           "additionalProperties": false,
4493           "required": [
4494             "entities"
4495           ]
4496         },
4497         "Entity": {
4498           "type": "object",
4499           "properties": {
4500             "tag": {
4501               "type": "string"
4502             }
4503           },
4504           "additionalProperties": false,
4505           "required": [
4506             "tag"
4507           ]
4508         },
4509         "EntityStatus": {
4510           "type": "object",
4511           "properties": {
4512             "data": {
4513               "type": "object",
4514               "patternProperties": {
4515                 ".*": {
4516                   "type": "object",
4517                   "additionalProperties": true
4518                 }
4519               }
4520             },
4521             "info": {
4522               "type": "string"
4523             },
4524             "since": {
4525               "type": "string",
4526               "format": "date-time"
4527             },
4528             "status": {
4529               "type": "string"
4530             }
4531           },
4532           "additionalProperties": false,
4533           "required": [
4534             "status",
4535             "info",
4536             "since"
4537           ]
4538         },
4539         "Error": {
4540           "type": "object",
4541           "properties": {
4542             "code": {
4543               "type": "string"
4544             },
4545             "info": {
4546               "$ref": "#/definitions/ErrorInfo"
4547             },
4548             "message": {
4549               "type": "string"
4550             }
4551           },
4552           "additionalProperties": false,
4553           "required": [
4554             "message",
4555             "code"
4556           ]
4557         },
4558         "ErrorInfo": {
4559           "type": "object",
4560           "properties": {
4561             "macaroon": {
4562               "$ref": "#/definitions/Macaroon"
4563             },
4564             "macaroon-path": {
4565               "type": "string"
4566             }
4567           },
4568           "additionalProperties": false
4569         },
4570         "ErrorResult": {
4571           "type": "object",
4572           "properties": {
4573             "error": {
4574               "$ref": "#/definitions/Error"
4575             }
4576           },
4577           "additionalProperties": false
4578         },
4579         "ErrorResults": {
4580           "type": "object",
4581           "properties": {
4582             "results": {
4583               "type": "array",
4584               "items": {
4585                 "$ref": "#/definitions/ErrorResult"
4586               }
4587             }
4588           },
4589           "additionalProperties": false,
4590           "required": [
4591             "results"
4592           ]
4593         },
4594         "FindToolsParams": {
4595           "type": "object",
4596           "properties": {
4597             "arch": {
4598               "type": "string"
4599             },
4600             "major": {
4601               "type": "integer"
4602             },
4603             "minor": {
4604               "type": "integer"
4605             },
4606             "number": {
4607               "$ref": "#/definitions/Number"
4608             },
4609             "series": {
4610               "type": "string"
4611             }
4612           },
4613           "additionalProperties": false,
4614           "required": [
4615             "number",
4616             "major",
4617             "minor",
4618             "arch",
4619             "series"
4620           ]
4621         },
4622         "FindToolsResult": {
4623           "type": "object",
4624           "properties": {
4625             "error": {
4626               "$ref": "#/definitions/Error"
4627             },
4628             "list": {
4629               "type": "array",
4630               "items": {
4631                 "$ref": "#/definitions/Tools"
4632               }
4633             }
4634           },
4635           "additionalProperties": false,
4636           "required": [
4637             "list"
4638           ]
4639         },
4640         "FullStatus": {
4641           "type": "object",
4642           "properties": {
4643             "applications": {
4644               "type": "object",
4645               "patternProperties": {
4646                 ".*": {
4647                   "$ref": "#/definitions/ApplicationStatus"
4648                 }
4649               }
4650             },
4651             "machines": {
4652               "type": "object",
4653               "patternProperties": {
4654                 ".*": {
4655                   "$ref": "#/definitions/MachineStatus"
4656                 }
4657               }
4658             },
4659             "model": {
4660               "$ref": "#/definitions/ModelStatusInfo"
4661             },
4662             "relations": {
4663               "type": "array",
4664               "items": {
4665                 "$ref": "#/definitions/RelationStatus"
4666               }
4667             },
4668             "remote-applications": {
4669               "type": "object",
4670               "patternProperties": {
4671                 ".*": {
4672                   "$ref": "#/definitions/RemoteApplicationStatus"
4673                 }
4674               }
4675             }
4676           },
4677           "additionalProperties": false,
4678           "required": [
4679             "model",
4680             "machines",
4681             "applications",
4682             "remote-applications",
4683             "relations"
4684           ]
4685         },
4686         "GetConstraintsResults": {
4687           "type": "object",
4688           "properties": {
4689             "constraints": {
4690               "$ref": "#/definitions/Value"
4691             }
4692           },
4693           "additionalProperties": false,
4694           "required": [
4695             "constraints"
4696           ]
4697         },
4698         "HardwareCharacteristics": {
4699           "type": "object",
4700           "properties": {
4701             "arch": {
4702               "type": "string"
4703             },
4704             "availability-zone": {
4705               "type": "string"
4706             },
4707             "cpu-cores": {
4708               "type": "integer"
4709             },
4710             "cpu-power": {
4711               "type": "integer"
4712             },
4713             "mem": {
4714               "type": "integer"
4715             },
4716             "root-disk": {
4717               "type": "integer"
4718             },
4719             "tags": {
4720               "type": "array",
4721               "items": {
4722                 "type": "string"
4723               }
4724             }
4725           },
4726           "additionalProperties": false
4727         },
4728         "History": {
4729           "type": "object",
4730           "properties": {
4731             "error": {
4732               "$ref": "#/definitions/Error"
4733             },
4734             "statuses": {
4735               "type": "array",
4736               "items": {
4737                 "$ref": "#/definitions/DetailedStatus"
4738               }
4739             }
4740           },
4741           "additionalProperties": false,
4742           "required": [
4743             "statuses"
4744           ]
4745         },
4746         "HostPort": {
4747           "type": "object",
4748           "properties": {
4749             "Address": {
4750               "$ref": "#/definitions/Address"
4751             },
4752             "port": {
4753               "type": "integer"
4754             }
4755           },
4756           "additionalProperties": false,
4757           "required": [
4758             "Address",
4759             "port"
4760           ]
4761         },
4762         "Macaroon": {
4763           "type": "object",
4764           "additionalProperties": false
4765         },
4766         "MachineHardware": {
4767           "type": "object",
4768           "properties": {
4769             "arch": {
4770               "type": "string"
4771             },
4772             "availability-zone": {
4773               "type": "string"
4774             },
4775             "cores": {
4776               "type": "integer"
4777             },
4778             "cpu-power": {
4779               "type": "integer"
4780             },
4781             "mem": {
4782               "type": "integer"
4783             },
4784             "root-disk": {
4785               "type": "integer"
4786             },
4787             "tags": {
4788               "type": "array",
4789               "items": {
4790                 "type": "string"
4791               }
4792             }
4793           },
4794           "additionalProperties": false
4795         },
4796         "MachineStatus": {
4797           "type": "object",
4798           "properties": {
4799             "agent-status": {
4800               "$ref": "#/definitions/DetailedStatus"
4801             },
4802             "constraints": {
4803               "type": "string"
4804             },
4805             "containers": {
4806               "type": "object",
4807               "patternProperties": {
4808                 ".*": {
4809                   "$ref": "#/definitions/MachineStatus"
4810                 }
4811               }
4812             },
4813             "dns-name": {
4814               "type": "string"
4815             },
4816             "hardware": {
4817               "type": "string"
4818             },
4819             "has-vote": {
4820               "type": "boolean"
4821             },
4822             "id": {
4823               "type": "string"
4824             },
4825             "instance-id": {
4826               "type": "string"
4827             },
4828             "instance-status": {
4829               "$ref": "#/definitions/DetailedStatus"
4830             },
4831             "ip-addresses": {
4832               "type": "array",
4833               "items": {
4834                 "type": "string"
4835               }
4836             },
4837             "jobs": {
4838               "type": "array",
4839               "items": {
4840                 "type": "string"
4841               }
4842             },
4843             "network-interfaces": {
4844               "type": "object",
4845               "patternProperties": {
4846                 ".*": {
4847                   "$ref": "#/definitions/NetworkInterface"
4848                 }
4849               }
4850             },
4851             "series": {
4852               "type": "string"
4853             },
4854             "wants-vote": {
4855               "type": "boolean"
4856             }
4857           },
4858           "additionalProperties": false,
4859           "required": [
4860             "agent-status",
4861             "instance-status",
4862             "dns-name",
4863             "instance-id",
4864             "series",
4865             "id",
4866             "containers",
4867             "constraints",
4868             "hardware",
4869             "jobs",
4870             "has-vote",
4871             "wants-vote"
4872           ]
4873         },
4874         "MeterStatus": {
4875           "type": "object",
4876           "properties": {
4877             "color": {
4878               "type": "string"
4879             },
4880             "message": {
4881               "type": "string"
4882             }
4883           },
4884           "additionalProperties": false,
4885           "required": [
4886             "color",
4887             "message"
4888           ]
4889         },
4890         "ModelConfigResults": {
4891           "type": "object",
4892           "properties": {
4893             "config": {
4894               "type": "object",
4895               "patternProperties": {
4896                 ".*": {
4897                   "$ref": "#/definitions/ConfigValue"
4898                 }
4899               }
4900             }
4901           },
4902           "additionalProperties": false,
4903           "required": [
4904             "config"
4905           ]
4906         },
4907         "ModelInfo": {
4908           "type": "object",
4909           "properties": {
4910             "agent-version": {
4911               "$ref": "#/definitions/Number"
4912             },
4913             "cloud-credential-tag": {
4914               "type": "string"
4915             },
4916             "cloud-region": {
4917               "type": "string"
4918             },
4919             "cloud-tag": {
4920               "type": "string"
4921             },
4922             "controller-uuid": {
4923               "type": "string"
4924             },
4925             "default-series": {
4926               "type": "string"
4927             },
4928             "life": {
4929               "type": "string"
4930             },
4931             "machines": {
4932               "type": "array",
4933               "items": {
4934                 "$ref": "#/definitions/ModelMachineInfo"
4935               }
4936             },
4937             "migration": {
4938               "$ref": "#/definitions/ModelMigrationStatus"
4939             },
4940             "name": {
4941               "type": "string"
4942             },
4943             "owner-tag": {
4944               "type": "string"
4945             },
4946             "provider-type": {
4947               "type": "string"
4948             },
4949             "sla": {
4950               "$ref": "#/definitions/ModelSLAInfo"
4951             },
4952             "status": {
4953               "$ref": "#/definitions/EntityStatus"
4954             },
4955             "users": {
4956               "type": "array",
4957               "items": {
4958                 "$ref": "#/definitions/ModelUserInfo"
4959               }
4960             },
4961             "uuid": {
4962               "type": "string"
4963             }
4964           },
4965           "additionalProperties": false,
4966           "required": [
4967             "name",
4968             "uuid",
4969             "controller-uuid",
4970             "cloud-tag",
4971             "owner-tag",
4972             "life",
4973             "users",
4974             "machines",
4975             "sla",
4976             "agent-version"
4977           ]
4978         },
4979         "ModelMachineInfo": {
4980           "type": "object",
4981           "properties": {
4982             "hardware": {
4983               "$ref": "#/definitions/MachineHardware"
4984             },
4985             "has-vote": {
4986               "type": "boolean"
4987             },
4988             "id": {
4989               "type": "string"
4990             },
4991             "instance-id": {
4992               "type": "string"
4993             },
4994             "status": {
4995               "type": "string"
4996             },
4997             "wants-vote": {
4998               "type": "boolean"
4999             }
5000           },
5001           "additionalProperties": false,
5002           "required": [
5003             "id"
5004           ]
5005         },
5006         "ModelMigrationStatus": {
5007           "type": "object",
5008           "properties": {
5009             "end": {
5010               "type": "string",
5011               "format": "date-time"
5012             },
5013             "start": {
5014               "type": "string",
5015               "format": "date-time"
5016             },
5017             "status": {
5018               "type": "string"
5019             }
5020           },
5021           "additionalProperties": false,
5022           "required": [
5023             "status",
5024             "start"
5025           ]
5026         },
5027         "ModelSLA": {
5028           "type": "object",
5029           "properties": {
5030             "ModelSLAInfo": {
5031               "$ref": "#/definitions/ModelSLAInfo"
5032             },
5033             "creds": {
5034               "type": "array",
5035               "items": {
5036                 "type": "integer"
5037               }
5038             }
5039           },
5040           "additionalProperties": false,
5041           "required": [
5042             "ModelSLAInfo",
5043             "creds"
5044           ]
5045         },
5046         "ModelSLAInfo": {
5047           "type": "object",
5048           "properties": {
5049             "level": {
5050               "type": "string"
5051             },
5052             "owner": {
5053               "type": "string"
5054             }
5055           },
5056           "additionalProperties": false,
5057           "required": [
5058             "level",
5059             "owner"
5060           ]
5061         },
5062         "ModelSet": {
5063           "type": "object",
5064           "properties": {
5065             "config": {
5066               "type": "object",
5067               "patternProperties": {
5068                 ".*": {
5069                   "type": "object",
5070                   "additionalProperties": true
5071                 }
5072               }
5073             }
5074           },
5075           "additionalProperties": false,
5076           "required": [
5077             "config"
5078           ]
5079         },
5080         "ModelStatusInfo": {
5081           "type": "object",
5082           "properties": {
5083             "available-version": {
5084               "type": "string"
5085             },
5086             "cloud-tag": {
5087               "type": "string"
5088             },
5089             "meter-status": {
5090               "$ref": "#/definitions/MeterStatus"
5091             },
5092             "model-status": {
5093               "$ref": "#/definitions/DetailedStatus"
5094             },
5095             "name": {
5096               "type": "string"
5097             },
5098             "region": {
5099               "type": "string"
5100             },
5101             "sla": {
5102               "type": "string"
5103             },
5104             "version": {
5105               "type": "string"
5106             }
5107           },
5108           "additionalProperties": false,
5109           "required": [
5110             "name",
5111             "cloud-tag",
5112             "version",
5113             "available-version",
5114             "model-status",
5115             "meter-status",
5116             "sla"
5117           ]
5118         },
5119         "ModelUnset": {
5120           "type": "object",
5121           "properties": {
5122             "keys": {
5123               "type": "array",
5124               "items": {
5125                 "type": "string"
5126               }
5127             }
5128           },
5129           "additionalProperties": false,
5130           "required": [
5131             "keys"
5132           ]
5133         },
5134         "ModelUserInfo": {
5135           "type": "object",
5136           "properties": {
5137             "access": {
5138               "type": "string"
5139             },
5140             "display-name": {
5141               "type": "string"
5142             },
5143             "last-connection": {
5144               "type": "string",
5145               "format": "date-time"
5146             },
5147             "user": {
5148               "type": "string"
5149             }
5150           },
5151           "additionalProperties": false,
5152           "required": [
5153             "user",
5154             "display-name",
5155             "last-connection",
5156             "access"
5157           ]
5158         },
5159         "ModelUserInfoResult": {
5160           "type": "object",
5161           "properties": {
5162             "error": {
5163               "$ref": "#/definitions/Error"
5164             },
5165             "result": {
5166               "$ref": "#/definitions/ModelUserInfo"
5167             }
5168           },
5169           "additionalProperties": false
5170         },
5171         "ModelUserInfoResults": {
5172           "type": "object",
5173           "properties": {
5174             "results": {
5175               "type": "array",
5176               "items": {
5177                 "$ref": "#/definitions/ModelUserInfoResult"
5178               }
5179             }
5180           },
5181           "additionalProperties": false,
5182           "required": [
5183             "results"
5184           ]
5185         },
5186         "NetworkInterface": {
5187           "type": "object",
5188           "properties": {
5189             "dns-nameservers": {
5190               "type": "array",
5191               "items": {
5192                 "type": "string"
5193               }
5194             },
5195             "gateway": {
5196               "type": "string"
5197             },
5198             "ip-addresses": {
5199               "type": "array",
5200               "items": {
5201                 "type": "string"
5202               }
5203             },
5204             "is-up": {
5205               "type": "boolean"
5206             },
5207             "mac-address": {
5208               "type": "string"
5209             },
5210             "space": {
5211               "type": "string"
5212             }
5213           },
5214           "additionalProperties": false,
5215           "required": [
5216             "ip-addresses",
5217             "mac-address",
5218             "is-up"
5219           ]
5220         },
5221         "Number": {
5222           "type": "object",
5223           "properties": {
5224             "Build": {
5225               "type": "integer"
5226             },
5227             "Major": {
5228               "type": "integer"
5229             },
5230             "Minor": {
5231               "type": "integer"
5232             },
5233             "Patch": {
5234               "type": "integer"
5235             },
5236             "Tag": {
5237               "type": "string"
5238             }
5239           },
5240           "additionalProperties": false,
5241           "required": [
5242             "Major",
5243             "Minor",
5244             "Tag",
5245             "Patch",
5246             "Build"
5247           ]
5248         },
5249         "Placement": {
5250           "type": "object",
5251           "properties": {
5252             "directive": {
5253               "type": "string"
5254             },
5255             "scope": {
5256               "type": "string"
5257             }
5258           },
5259           "additionalProperties": false,
5260           "required": [
5261             "scope",
5262             "directive"
5263           ]
5264         },
5265         "PrivateAddress": {
5266           "type": "object",
5267           "properties": {
5268             "target": {
5269               "type": "string"
5270             }
5271           },
5272           "additionalProperties": false,
5273           "required": [
5274             "target"
5275           ]
5276         },
5277         "PrivateAddressResults": {
5278           "type": "object",
5279           "properties": {
5280             "private-address": {
5281               "type": "string"
5282             }
5283           },
5284           "additionalProperties": false,
5285           "required": [
5286             "private-address"
5287           ]
5288         },
5289         "ProvisioningScriptParams": {
5290           "type": "object",
5291           "properties": {
5292             "data-dir": {
5293               "type": "string"
5294             },
5295             "disable-package-commands": {
5296               "type": "boolean"
5297             },
5298             "machine-id": {
5299               "type": "string"
5300             },
5301             "nonce": {
5302               "type": "string"
5303             }
5304           },
5305           "additionalProperties": false,
5306           "required": [
5307             "machine-id",
5308             "nonce",
5309             "data-dir",
5310             "disable-package-commands"
5311           ]
5312         },
5313         "ProvisioningScriptResult": {
5314           "type": "object",
5315           "properties": {
5316             "script": {
5317               "type": "string"
5318             }
5319           },
5320           "additionalProperties": false,
5321           "required": [
5322             "script"
5323           ]
5324         },
5325         "PublicAddress": {
5326           "type": "object",
5327           "properties": {
5328             "target": {
5329               "type": "string"
5330             }
5331           },
5332           "additionalProperties": false,
5333           "required": [
5334             "target"
5335           ]
5336         },
5337         "PublicAddressResults": {
5338           "type": "object",
5339           "properties": {
5340             "public-address": {
5341               "type": "string"
5342             }
5343           },
5344           "additionalProperties": false,
5345           "required": [
5346             "public-address"
5347           ]
5348         },
5349         "RelationStatus": {
5350           "type": "object",
5351           "properties": {
5352             "endpoints": {
5353               "type": "array",
5354               "items": {
5355                 "$ref": "#/definitions/EndpointStatus"
5356               }
5357             },
5358             "id": {
5359               "type": "integer"
5360             },
5361             "interface": {
5362               "type": "string"
5363             },
5364             "key": {
5365               "type": "string"
5366             },
5367             "scope": {
5368               "type": "string"
5369             }
5370           },
5371           "additionalProperties": false,
5372           "required": [
5373             "id",
5374             "key",
5375             "interface",
5376             "scope",
5377             "endpoints"
5378           ]
5379         },
5380         "RemoteApplicationStatus": {
5381           "type": "object",
5382           "properties": {
5383             "application-name": {
5384               "type": "string"
5385             },
5386             "application-url": {
5387               "type": "string"
5388             },
5389             "endpoints": {
5390               "type": "array",
5391               "items": {
5392                 "$ref": "#/definitions/RemoteEndpoint"
5393               }
5394             },
5395             "err": {
5396               "type": "object",
5397               "additionalProperties": true
5398             },
5399             "life": {
5400               "type": "string"
5401             },
5402             "relations": {
5403               "type": "object",
5404               "patternProperties": {
5405                 ".*": {
5406                   "type": "array",
5407                   "items": {
5408                     "type": "string"
5409                   }
5410                 }
5411               }
5412             },
5413             "status": {
5414               "$ref": "#/definitions/DetailedStatus"
5415             }
5416           },
5417           "additionalProperties": false,
5418           "required": [
5419             "application-url",
5420             "application-name",
5421             "endpoints",
5422             "life",
5423             "relations",
5424             "status"
5425           ]
5426         },
5427         "RemoteEndpoint": {
5428           "type": "object",
5429           "properties": {
5430             "interface": {
5431               "type": "string"
5432             },
5433             "limit": {
5434               "type": "integer"
5435             },
5436             "name": {
5437               "type": "string"
5438             },
5439             "role": {
5440               "type": "string"
5441             },
5442             "scope": {
5443               "type": "string"
5444             }
5445           },
5446           "additionalProperties": false,
5447           "required": [
5448             "name",
5449             "role",
5450             "interface",
5451             "limit",
5452             "scope"
5453           ]
5454         },
5455         "ResolveCharmResult": {
5456           "type": "object",
5457           "properties": {
5458             "error": {
5459               "type": "string"
5460             },
5461             "url": {
5462               "type": "string"
5463             }
5464           },
5465           "additionalProperties": false
5466         },
5467         "ResolveCharmResults": {
5468           "type": "object",
5469           "properties": {
5470             "urls": {
5471               "type": "array",
5472               "items": {
5473                 "$ref": "#/definitions/ResolveCharmResult"
5474               }
5475             }
5476           },
5477           "additionalProperties": false,
5478           "required": [
5479             "urls"
5480           ]
5481         },
5482         "ResolveCharms": {
5483           "type": "object",
5484           "properties": {
5485             "references": {
5486               "type": "array",
5487               "items": {
5488                 "type": "string"
5489               }
5490             }
5491           },
5492           "additionalProperties": false,
5493           "required": [
5494             "references"
5495           ]
5496         },
5497         "Resolved": {
5498           "type": "object",
5499           "properties": {
5500             "retry": {
5501               "type": "boolean"
5502             },
5503             "unit-name": {
5504               "type": "string"
5505             }
5506           },
5507           "additionalProperties": false,
5508           "required": [
5509             "unit-name",
5510             "retry"
5511           ]
5512         },
5513         "SetConstraints": {
5514           "type": "object",
5515           "properties": {
5516             "application": {
5517               "type": "string"
5518             },
5519             "constraints": {
5520               "$ref": "#/definitions/Value"
5521             }
5522           },
5523           "additionalProperties": false,
5524           "required": [
5525             "application",
5526             "constraints"
5527           ]
5528         },
5529         "SetModelAgentVersion": {
5530           "type": "object",
5531           "properties": {
5532             "version": {
5533               "$ref": "#/definitions/Number"
5534             }
5535           },
5536           "additionalProperties": false,
5537           "required": [
5538             "version"
5539           ]
5540         },
5541         "StatusHistoryFilter": {
5542           "type": "object",
5543           "properties": {
5544             "date": {
5545               "type": "string",
5546               "format": "date-time"
5547             },
5548             "delta": {
5549               "type": "integer"
5550             },
5551             "exclude": {
5552               "type": "array",
5553               "items": {
5554                 "type": "string"
5555               }
5556             },
5557             "size": {
5558               "type": "integer"
5559             }
5560           },
5561           "additionalProperties": false,
5562           "required": [
5563             "size",
5564             "date",
5565             "delta",
5566             "exclude"
5567           ]
5568         },
5569         "StatusHistoryRequest": {
5570           "type": "object",
5571           "properties": {
5572             "filter": {
5573               "$ref": "#/definitions/StatusHistoryFilter"
5574             },
5575             "historyKind": {
5576               "type": "string"
5577             },
5578             "size": {
5579               "type": "integer"
5580             },
5581             "tag": {
5582               "type": "string"
5583             }
5584           },
5585           "additionalProperties": false,
5586           "required": [
5587             "historyKind",
5588             "size",
5589             "filter",
5590             "tag"
5591           ]
5592         },
5593         "StatusHistoryRequests": {
5594           "type": "object",
5595           "properties": {
5596             "requests": {
5597               "type": "array",
5598               "items": {
5599                 "$ref": "#/definitions/StatusHistoryRequest"
5600               }
5601             }
5602           },
5603           "additionalProperties": false,
5604           "required": [
5605             "requests"
5606           ]
5607         },
5608         "StatusHistoryResult": {
5609           "type": "object",
5610           "properties": {
5611             "error": {
5612               "$ref": "#/definitions/Error"
5613             },
5614             "history": {
5615               "$ref": "#/definitions/History"
5616             }
5617           },
5618           "additionalProperties": false,
5619           "required": [
5620             "history"
5621           ]
5622         },
5623         "StatusHistoryResults": {
5624           "type": "object",
5625           "properties": {
5626             "results": {
5627               "type": "array",
5628               "items": {
5629                 "$ref": "#/definitions/StatusHistoryResult"
5630               }
5631             }
5632           },
5633           "additionalProperties": false,
5634           "required": [
5635             "results"
5636           ]
5637         },
5638         "StatusParams": {
5639           "type": "object",
5640           "properties": {
5641             "patterns": {
5642               "type": "array",
5643               "items": {
5644                 "type": "string"
5645               }
5646             }
5647           },
5648           "additionalProperties": false,
5649           "required": [
5650             "patterns"
5651           ]
5652         },
5653         "StringResult": {
5654           "type": "object",
5655           "properties": {
5656             "error": {
5657               "$ref": "#/definitions/Error"
5658             },
5659             "result": {
5660               "type": "string"
5661             }
5662           },
5663           "additionalProperties": false,
5664           "required": [
5665             "result"
5666           ]
5667         },
5668         "Tools": {
5669           "type": "object",
5670           "properties": {
5671             "sha256": {
5672               "type": "string"
5673             },
5674             "size": {
5675               "type": "integer"
5676             },
5677             "url": {
5678               "type": "string"
5679             },
5680             "version": {
5681               "$ref": "#/definitions/Binary"
5682             }
5683           },
5684           "additionalProperties": false,
5685           "required": [
5686             "version",
5687             "url",
5688             "size"
5689           ]
5690         },
5691         "UnitStatus": {
5692           "type": "object",
5693           "properties": {
5694             "agent-status": {
5695               "$ref": "#/definitions/DetailedStatus"
5696             },
5697             "charm": {
5698               "type": "string"
5699             },
5700             "leader": {
5701               "type": "boolean"
5702             },
5703             "machine": {
5704               "type": "string"
5705             },
5706             "opened-ports": {
5707               "type": "array",
5708               "items": {
5709                 "type": "string"
5710               }
5711             },
5712             "public-address": {
5713               "type": "string"
5714             },
5715             "subordinates": {
5716               "type": "object",
5717               "patternProperties": {
5718                 ".*": {
5719                   "$ref": "#/definitions/UnitStatus"
5720                 }
5721               }
5722             },
5723             "workload-status": {
5724               "$ref": "#/definitions/DetailedStatus"
5725             },
5726             "workload-version": {
5727               "type": "string"
5728             }
5729           },
5730           "additionalProperties": false,
5731           "required": [
5732             "agent-status",
5733             "workload-status",
5734             "workload-version",
5735             "machine",
5736             "opened-ports",
5737             "public-address",
5738             "charm",
5739             "subordinates"
5740           ]
5741         },
5742         "Value": {
5743           "type": "object",
5744           "properties": {
5745             "arch": {
5746               "type": "string"
5747             },
5748             "container": {
5749               "type": "string"
5750             },
5751             "cores": {
5752               "type": "integer"
5753             },
5754             "cpu-power": {
5755               "type": "integer"
5756             },
5757             "instance-type": {
5758               "type": "string"
5759             },
5760             "mem": {
5761               "type": "integer"
5762             },
5763             "root-disk": {
5764               "type": "integer"
5765             },
5766             "spaces": {
5767               "type": "array",
5768               "items": {
5769                 "type": "string"
5770               }
5771             },
5772             "tags": {
5773               "type": "array",
5774               "items": {
5775                 "type": "string"
5776               }
5777             },
5778             "virt-type": {
5779               "type": "string"
5780             }
5781           },
5782           "additionalProperties": false
5783         }
5784       }
5785     }
5786   },
5787   {
5788     "Name": "Cloud",
5789     "Version": 1,
5790     "Schema": {
5791       "type": "object",
5792       "properties": {
5793         "Cloud": {
5794           "type": "object",
5795           "properties": {
5796             "Params": {
5797               "$ref": "#/definitions/Entities"
5798             },
5799             "Result": {
5800               "$ref": "#/definitions/CloudResults"
5801             }
5802           }
5803         },
5804         "Clouds": {
5805           "type": "object",
5806           "properties": {
5807             "Result": {
5808               "$ref": "#/definitions/CloudsResult"
5809             }
5810           }
5811         },
5812         "Credential": {
5813           "type": "object",
5814           "properties": {
5815             "Params": {
5816               "$ref": "#/definitions/Entities"
5817             },
5818             "Result": {
5819               "$ref": "#/definitions/CloudCredentialResults"
5820             }
5821           }
5822         },
5823         "DefaultCloud": {
5824           "type": "object",
5825           "properties": {
5826             "Result": {
5827               "$ref": "#/definitions/StringResult"
5828             }
5829           }
5830         },
5831         "InstanceTypes": {
5832           "type": "object",
5833           "properties": {
5834             "Params": {
5835               "$ref": "#/definitions/CloudInstanceTypesConstraints"
5836             },
5837             "Result": {
5838               "$ref": "#/definitions/InstanceTypesResults"
5839             }
5840           }
5841         },
5842         "RevokeCredentials": {
5843           "type": "object",
5844           "properties": {
5845             "Params": {
5846               "$ref": "#/definitions/Entities"
5847             },
5848             "Result": {
5849               "$ref": "#/definitions/ErrorResults"
5850             }
5851           }
5852         },
5853         "UpdateCredentials": {
5854           "type": "object",
5855           "properties": {
5856             "Params": {
5857               "$ref": "#/definitions/UpdateCloudCredentials"
5858             },
5859             "Result": {
5860               "$ref": "#/definitions/ErrorResults"
5861             }
5862           }
5863         },
5864         "UserCredentials": {
5865           "type": "object",
5866           "properties": {
5867             "Params": {
5868               "$ref": "#/definitions/UserClouds"
5869             },
5870             "Result": {
5871               "$ref": "#/definitions/StringsResults"
5872             }
5873           }
5874         }
5875       },
5876       "definitions": {
5877         "Cloud": {
5878           "type": "object",
5879           "properties": {
5880             "auth-types": {
5881               "type": "array",
5882               "items": {
5883                 "type": "string"
5884               }
5885             },
5886             "endpoint": {
5887               "type": "string"
5888             },
5889             "identity-endpoint": {
5890               "type": "string"
5891             },
5892             "regions": {
5893               "type": "array",
5894               "items": {
5895                 "$ref": "#/definitions/CloudRegion"
5896               }
5897             },
5898             "storage-endpoint": {
5899               "type": "string"
5900             },
5901             "type": {
5902               "type": "string"
5903             }
5904           },
5905           "additionalProperties": false,
5906           "required": [
5907             "type"
5908           ]
5909         },
5910         "CloudCredential": {
5911           "type": "object",
5912           "properties": {
5913             "attrs": {
5914               "type": "object",
5915               "patternProperties": {
5916                 ".*": {
5917                   "type": "string"
5918                 }
5919               }
5920             },
5921             "auth-type": {
5922               "type": "string"
5923             },
5924             "redacted": {
5925               "type": "array",
5926               "items": {
5927                 "type": "string"
5928               }
5929             }
5930           },
5931           "additionalProperties": false,
5932           "required": [
5933             "auth-type"
5934           ]
5935         },
5936         "CloudCredentialResult": {
5937           "type": "object",
5938           "properties": {
5939             "error": {
5940               "$ref": "#/definitions/Error"
5941             },
5942             "result": {
5943               "$ref": "#/definitions/CloudCredential"
5944             }
5945           },
5946           "additionalProperties": false
5947         },
5948         "CloudCredentialResults": {
5949           "type": "object",
5950           "properties": {
5951             "results": {
5952               "type": "array",
5953               "items": {
5954                 "$ref": "#/definitions/CloudCredentialResult"
5955               }
5956             }
5957           },
5958           "additionalProperties": false
5959         },
5960         "CloudInstanceTypesConstraint": {
5961           "type": "object",
5962           "properties": {
5963             "cloud-tag": {
5964               "type": "string"
5965             },
5966             "constraints": {
5967               "$ref": "#/definitions/Value"
5968             },
5969             "region": {
5970               "type": "string"
5971             }
5972           },
5973           "additionalProperties": false,
5974           "required": [
5975             "cloud-tag",
5976             "region"
5977           ]
5978         },
5979         "CloudInstanceTypesConstraints": {
5980           "type": "object",
5981           "properties": {
5982             "constraints": {
5983               "type": "array",
5984               "items": {
5985                 "$ref": "#/definitions/CloudInstanceTypesConstraint"
5986               }
5987             }
5988           },
5989           "additionalProperties": false,
5990           "required": [
5991             "constraints"
5992           ]
5993         },
5994         "CloudRegion": {
5995           "type": "object",
5996           "properties": {
5997             "endpoint": {
5998               "type": "string"
5999             },
6000             "identity-endpoint": {
6001               "type": "string"
6002             },
6003             "name": {
6004               "type": "string"
6005             },
6006             "storage-endpoint": {
6007               "type": "string"
6008             }
6009           },
6010           "additionalProperties": false,
6011           "required": [
6012             "name"
6013           ]
6014         },
6015         "CloudResult": {
6016           "type": "object",
6017           "properties": {
6018             "cloud": {
6019               "$ref": "#/definitions/Cloud"
6020             },
6021             "error": {
6022               "$ref": "#/definitions/Error"
6023             }
6024           },
6025           "additionalProperties": false
6026         },
6027         "CloudResults": {
6028           "type": "object",
6029           "properties": {
6030             "results": {
6031               "type": "array",
6032               "items": {
6033                 "$ref": "#/definitions/CloudResult"
6034               }
6035             }
6036           },
6037           "additionalProperties": false
6038         },
6039         "CloudsResult": {
6040           "type": "object",
6041           "properties": {
6042             "clouds": {
6043               "type": "object",
6044               "patternProperties": {
6045                 ".*": {
6046                   "$ref": "#/definitions/Cloud"
6047                 }
6048               }
6049             }
6050           },
6051           "additionalProperties": false
6052         },
6053         "Entities": {
6054           "type": "object",
6055           "properties": {
6056             "entities": {
6057               "type": "array",
6058               "items": {
6059                 "$ref": "#/definitions/Entity"
6060               }
6061             }
6062           },
6063           "additionalProperties": false,
6064           "required": [
6065             "entities"
6066           ]
6067         },
6068         "Entity": {
6069           "type": "object",
6070           "properties": {
6071             "tag": {
6072               "type": "string"
6073             }
6074           },
6075           "additionalProperties": false,
6076           "required": [
6077             "tag"
6078           ]
6079         },
6080         "Error": {
6081           "type": "object",
6082           "properties": {
6083             "code": {
6084               "type": "string"
6085             },
6086             "info": {
6087               "$ref": "#/definitions/ErrorInfo"
6088             },
6089             "message": {
6090               "type": "string"
6091             }
6092           },
6093           "additionalProperties": false,
6094           "required": [
6095             "message",
6096             "code"
6097           ]
6098         },
6099         "ErrorInfo": {
6100           "type": "object",
6101           "properties": {
6102             "macaroon": {
6103               "$ref": "#/definitions/Macaroon"
6104             },
6105             "macaroon-path": {
6106               "type": "string"
6107             }
6108           },
6109           "additionalProperties": false
6110         },
6111         "ErrorResult": {
6112           "type": "object",
6113           "properties": {
6114             "error": {
6115               "$ref": "#/definitions/Error"
6116             }
6117           },
6118           "additionalProperties": false
6119         },
6120         "ErrorResults": {
6121           "type": "object",
6122           "properties": {
6123             "results": {
6124               "type": "array",
6125               "items": {
6126                 "$ref": "#/definitions/ErrorResult"
6127               }
6128             }
6129           },
6130           "additionalProperties": false,
6131           "required": [
6132             "results"
6133           ]
6134         },
6135         "InstanceType": {
6136           "type": "object",
6137           "properties": {
6138             "arches": {
6139               "type": "array",
6140               "items": {
6141                 "type": "string"
6142               }
6143             },
6144             "cost": {
6145               "type": "integer"
6146             },
6147             "cpu-cores": {
6148               "type": "integer"
6149             },
6150             "deprecated": {
6151               "type": "boolean"
6152             },
6153             "memory": {
6154               "type": "integer"
6155             },
6156             "name": {
6157               "type": "string"
6158             },
6159             "root-disk": {
6160               "type": "integer"
6161             },
6162             "virt-type": {
6163               "type": "string"
6164             }
6165           },
6166           "additionalProperties": false,
6167           "required": [
6168             "arches",
6169             "cpu-cores",
6170             "memory"
6171           ]
6172         },
6173         "InstanceTypesResult": {
6174           "type": "object",
6175           "properties": {
6176             "cost-currency": {
6177               "type": "string"
6178             },
6179             "cost-divisor": {
6180               "type": "integer"
6181             },
6182             "cost-unit": {
6183               "type": "string"
6184             },
6185             "error": {
6186               "$ref": "#/definitions/Error"
6187             },
6188             "instance-types": {
6189               "type": "array",
6190               "items": {
6191                 "$ref": "#/definitions/InstanceType"
6192               }
6193             }
6194           },
6195           "additionalProperties": false
6196         },
6197         "InstanceTypesResults": {
6198           "type": "object",
6199           "properties": {
6200             "results": {
6201               "type": "array",
6202               "items": {
6203                 "$ref": "#/definitions/InstanceTypesResult"
6204               }
6205             }
6206           },
6207           "additionalProperties": false,
6208           "required": [
6209             "results"
6210           ]
6211         },
6212         "Macaroon": {
6213           "type": "object",
6214           "additionalProperties": false
6215         },
6216         "StringResult": {
6217           "type": "object",
6218           "properties": {
6219             "error": {
6220               "$ref": "#/definitions/Error"
6221             },
6222             "result": {
6223               "type": "string"
6224             }
6225           },
6226           "additionalProperties": false,
6227           "required": [
6228             "result"
6229           ]
6230         },
6231         "StringsResult": {
6232           "type": "object",
6233           "properties": {
6234             "error": {
6235               "$ref": "#/definitions/Error"
6236             },
6237             "result": {
6238               "type": "array",
6239               "items": {
6240                 "type": "string"
6241               }
6242             }
6243           },
6244           "additionalProperties": false
6245         },
6246         "StringsResults": {
6247           "type": "object",
6248           "properties": {
6249             "results": {
6250               "type": "array",
6251               "items": {
6252                 "$ref": "#/definitions/StringsResult"
6253               }
6254             }
6255           },
6256           "additionalProperties": false,
6257           "required": [
6258             "results"
6259           ]
6260         },
6261         "UpdateCloudCredential": {
6262           "type": "object",
6263           "properties": {
6264             "credential": {
6265               "$ref": "#/definitions/CloudCredential"
6266             },
6267             "tag": {
6268               "type": "string"
6269             }
6270           },
6271           "additionalProperties": false,
6272           "required": [
6273             "tag",
6274             "credential"
6275           ]
6276         },
6277         "UpdateCloudCredentials": {
6278           "type": "object",
6279           "properties": {
6280             "credentials": {
6281               "type": "array",
6282               "items": {
6283                 "$ref": "#/definitions/UpdateCloudCredential"
6284               }
6285             }
6286           },
6287           "additionalProperties": false
6288         },
6289         "UserCloud": {
6290           "type": "object",
6291           "properties": {
6292             "cloud-tag": {
6293               "type": "string"
6294             },
6295             "user-tag": {
6296               "type": "string"
6297             }
6298           },
6299           "additionalProperties": false,
6300           "required": [
6301             "user-tag",
6302             "cloud-tag"
6303           ]
6304         },
6305         "UserClouds": {
6306           "type": "object",
6307           "properties": {
6308             "user-clouds": {
6309               "type": "array",
6310               "items": {
6311                 "$ref": "#/definitions/UserCloud"
6312               }
6313             }
6314           },
6315           "additionalProperties": false
6316         },
6317         "Value": {
6318           "type": "object",
6319           "properties": {
6320             "arch": {
6321               "type": "string"
6322             },
6323             "container": {
6324               "type": "string"
6325             },
6326             "cores": {
6327               "type": "integer"
6328             },
6329             "cpu-power": {
6330               "type": "integer"
6331             },
6332             "instance-type": {
6333               "type": "string"
6334             },
6335             "mem": {
6336               "type": "integer"
6337             },
6338             "root-disk": {
6339               "type": "integer"
6340             },
6341             "spaces": {
6342               "type": "array",
6343               "items": {
6344                 "type": "string"
6345               }
6346             },
6347             "tags": {
6348               "type": "array",
6349               "items": {
6350                 "type": "string"
6351               }
6352             },
6353             "virt-type": {
6354               "type": "string"
6355             }
6356           },
6357           "additionalProperties": false
6358         }
6359       }
6360     }
6361   },
6362   {
6363     "Name": "Controller",
6364     "Version": 3,
6365     "Schema": {
6366       "type": "object",
6367       "properties": {
6368         "AllModels": {
6369           "type": "object",
6370           "properties": {
6371             "Result": {
6372               "$ref": "#/definitions/UserModelList"
6373             }
6374           }
6375         },
6376         "CloudSpec": {
6377           "type": "object",
6378           "properties": {
6379             "Params": {
6380               "$ref": "#/definitions/Entities"
6381             },
6382             "Result": {
6383               "$ref": "#/definitions/CloudSpecResults"
6384             }
6385           }
6386         },
6387         "ControllerConfig": {
6388           "type": "object",
6389           "properties": {
6390             "Result": {
6391               "$ref": "#/definitions/ControllerConfigResult"
6392             }
6393           }
6394         },
6395         "DestroyController": {
6396           "type": "object",
6397           "properties": {
6398             "Params": {
6399               "$ref": "#/definitions/DestroyControllerArgs"
6400             }
6401           }
6402         },
6403         "GetCloudSpec": {
6404           "type": "object",
6405           "properties": {
6406             "Params": {
6407               "$ref": "#/definitions/ModelTag"
6408             },
6409             "Result": {
6410               "$ref": "#/definitions/CloudSpecResult"
6411             }
6412           }
6413         },
6414         "GetControllerAccess": {
6415           "type": "object",
6416           "properties": {
6417             "Params": {
6418               "$ref": "#/definitions/Entities"
6419             },
6420             "Result": {
6421               "$ref": "#/definitions/UserAccessResults"
6422             }
6423           }
6424         },
6425         "HostedModelConfigs": {
6426           "type": "object",
6427           "properties": {
6428             "Result": {
6429               "$ref": "#/definitions/HostedModelConfigsResults"
6430             }
6431           }
6432         },
6433         "InitiateMigration": {
6434           "type": "object",
6435           "properties": {
6436             "Params": {
6437               "$ref": "#/definitions/InitiateMigrationArgs"
6438             },
6439             "Result": {
6440               "$ref": "#/definitions/InitiateMigrationResults"
6441             }
6442           }
6443         },
6444         "ListBlockedModels": {
6445           "type": "object",
6446           "properties": {
6447             "Result": {
6448               "$ref": "#/definitions/ModelBlockInfoList"
6449             }
6450           }
6451         },
6452         "ModelConfig": {
6453           "type": "object",
6454           "properties": {
6455             "Result": {
6456               "$ref": "#/definitions/ModelConfigResults"
6457             }
6458           }
6459         },
6460         "ModelStatus": {
6461           "type": "object",
6462           "properties": {
6463             "Params": {
6464               "$ref": "#/definitions/Entities"
6465             },
6466             "Result": {
6467               "$ref": "#/definitions/ModelStatusResults"
6468             }
6469           }
6470         },
6471         "ModifyControllerAccess": {
6472           "type": "object",
6473           "properties": {
6474             "Params": {
6475               "$ref": "#/definitions/ModifyControllerAccessRequest"
6476             },
6477             "Result": {
6478               "$ref": "#/definitions/ErrorResults"
6479             }
6480           }
6481         },
6482         "RemoveBlocks": {
6483           "type": "object",
6484           "properties": {
6485             "Params": {
6486               "$ref": "#/definitions/RemoveBlocksArgs"
6487             }
6488           }
6489         },
6490         "WatchAllModels": {
6491           "type": "object",
6492           "properties": {
6493             "Result": {
6494               "$ref": "#/definitions/AllWatcherId"
6495             }
6496           }
6497         }
6498       },
6499       "definitions": {
6500         "AllWatcherId": {
6501           "type": "object",
6502           "properties": {
6503             "watcher-id": {
6504               "type": "string"
6505             }
6506           },
6507           "additionalProperties": false,
6508           "required": [
6509             "watcher-id"
6510           ]
6511         },
6512         "CloudCredential": {
6513           "type": "object",
6514           "properties": {
6515             "attrs": {
6516               "type": "object",
6517               "patternProperties": {
6518                 ".*": {
6519                   "type": "string"
6520                 }
6521               }
6522             },
6523             "auth-type": {
6524               "type": "string"
6525             },
6526             "redacted": {
6527               "type": "array",
6528               "items": {
6529                 "type": "string"
6530               }
6531             }
6532           },
6533           "additionalProperties": false,
6534           "required": [
6535             "auth-type"
6536           ]
6537         },
6538         "CloudSpec": {
6539           "type": "object",
6540           "properties": {
6541             "credential": {
6542               "$ref": "#/definitions/CloudCredential"
6543             },
6544             "endpoint": {
6545               "type": "string"
6546             },
6547             "identity-endpoint": {
6548               "type": "string"
6549             },
6550             "name": {
6551               "type": "string"
6552             },
6553             "region": {
6554               "type": "string"
6555             },
6556             "storage-endpoint": {
6557               "type": "string"
6558             },
6559             "type": {
6560               "type": "string"
6561             }
6562           },
6563           "additionalProperties": false,
6564           "required": [
6565             "type",
6566             "name"
6567           ]
6568         },
6569         "CloudSpecResult": {
6570           "type": "object",
6571           "properties": {
6572             "error": {
6573               "$ref": "#/definitions/Error"
6574             },
6575             "result": {
6576               "$ref": "#/definitions/CloudSpec"
6577             }
6578           },
6579           "additionalProperties": false
6580         },
6581         "CloudSpecResults": {
6582           "type": "object",
6583           "properties": {
6584             "results": {
6585               "type": "array",
6586               "items": {
6587                 "$ref": "#/definitions/CloudSpecResult"
6588               }
6589             }
6590           },
6591           "additionalProperties": false
6592         },
6593         "ConfigValue": {
6594           "type": "object",
6595           "properties": {
6596             "source": {
6597               "type": "string"
6598             },
6599             "value": {
6600               "type": "object",
6601               "additionalProperties": true
6602             }
6603           },
6604           "additionalProperties": false,
6605           "required": [
6606             "value",
6607             "source"
6608           ]
6609         },
6610         "ControllerConfigResult": {
6611           "type": "object",
6612           "properties": {
6613             "config": {
6614               "type": "object",
6615               "patternProperties": {
6616                 ".*": {
6617                   "type": "object",
6618                   "additionalProperties": true
6619                 }
6620               }
6621             }
6622           },
6623           "additionalProperties": false,
6624           "required": [
6625             "config"
6626           ]
6627         },
6628         "DestroyControllerArgs": {
6629           "type": "object",
6630           "properties": {
6631             "destroy-models": {
6632               "type": "boolean"
6633             }
6634           },
6635           "additionalProperties": false,
6636           "required": [
6637             "destroy-models"
6638           ]
6639         },
6640         "Entities": {
6641           "type": "object",
6642           "properties": {
6643             "entities": {
6644               "type": "array",
6645               "items": {
6646                 "$ref": "#/definitions/Entity"
6647               }
6648             }
6649           },
6650           "additionalProperties": false,
6651           "required": [
6652             "entities"
6653           ]
6654         },
6655         "Entity": {
6656           "type": "object",
6657           "properties": {
6658             "tag": {
6659               "type": "string"
6660             }
6661           },
6662           "additionalProperties": false,
6663           "required": [
6664             "tag"
6665           ]
6666         },
6667         "Error": {
6668           "type": "object",
6669           "properties": {
6670             "code": {
6671               "type": "string"
6672             },
6673             "info": {
6674               "$ref": "#/definitions/ErrorInfo"
6675             },
6676             "message": {
6677               "type": "string"
6678             }
6679           },
6680           "additionalProperties": false,
6681           "required": [
6682             "message",
6683             "code"
6684           ]
6685         },
6686         "ErrorInfo": {
6687           "type": "object",
6688           "properties": {
6689             "macaroon": {
6690               "$ref": "#/definitions/Macaroon"
6691             },
6692             "macaroon-path": {
6693               "type": "string"
6694             }
6695           },
6696           "additionalProperties": false
6697         },
6698         "ErrorResult": {
6699           "type": "object",
6700           "properties": {
6701             "error": {
6702               "$ref": "#/definitions/Error"
6703             }
6704           },
6705           "additionalProperties": false
6706         },
6707         "ErrorResults": {
6708           "type": "object",
6709           "properties": {
6710             "results": {
6711               "type": "array",
6712               "items": {
6713                 "$ref": "#/definitions/ErrorResult"
6714               }
6715             }
6716           },
6717           "additionalProperties": false,
6718           "required": [
6719             "results"
6720           ]
6721         },
6722         "HostedModelConfig": {
6723           "type": "object",
6724           "properties": {
6725             "cloud-spec": {
6726               "$ref": "#/definitions/CloudSpec"
6727             },
6728             "config": {
6729               "type": "object",
6730               "patternProperties": {
6731                 ".*": {
6732                   "type": "object",
6733                   "additionalProperties": true
6734                 }
6735               }
6736             },
6737             "error": {
6738               "$ref": "#/definitions/Error"
6739             },
6740             "name": {
6741               "type": "string"
6742             },
6743             "owner": {
6744               "type": "string"
6745             }
6746           },
6747           "additionalProperties": false,
6748           "required": [
6749             "name",
6750             "owner"
6751           ]
6752         },
6753         "HostedModelConfigsResults": {
6754           "type": "object",
6755           "properties": {
6756             "models": {
6757               "type": "array",
6758               "items": {
6759                 "$ref": "#/definitions/HostedModelConfig"
6760               }
6761             }
6762           },
6763           "additionalProperties": false,
6764           "required": [
6765             "models"
6766           ]
6767         },
6768         "InitiateMigrationArgs": {
6769           "type": "object",
6770           "properties": {
6771             "specs": {
6772               "type": "array",
6773               "items": {
6774                 "$ref": "#/definitions/MigrationSpec"
6775               }
6776             }
6777           },
6778           "additionalProperties": false,
6779           "required": [
6780             "specs"
6781           ]
6782         },
6783         "InitiateMigrationResult": {
6784           "type": "object",
6785           "properties": {
6786             "error": {
6787               "$ref": "#/definitions/Error"
6788             },
6789             "migration-id": {
6790               "type": "string"
6791             },
6792             "model-tag": {
6793               "type": "string"
6794             }
6795           },
6796           "additionalProperties": false,
6797           "required": [
6798             "model-tag",
6799             "migration-id"
6800           ]
6801         },
6802         "InitiateMigrationResults": {
6803           "type": "object",
6804           "properties": {
6805             "results": {
6806               "type": "array",
6807               "items": {
6808                 "$ref": "#/definitions/InitiateMigrationResult"
6809               }
6810             }
6811           },
6812           "additionalProperties": false,
6813           "required": [
6814             "results"
6815           ]
6816         },
6817         "Macaroon": {
6818           "type": "object",
6819           "additionalProperties": false
6820         },
6821         "MachineHardware": {
6822           "type": "object",
6823           "properties": {
6824             "arch": {
6825               "type": "string"
6826             },
6827             "availability-zone": {
6828               "type": "string"
6829             },
6830             "cores": {
6831               "type": "integer"
6832             },
6833             "cpu-power": {
6834               "type": "integer"
6835             },
6836             "mem": {
6837               "type": "integer"
6838             },
6839             "root-disk": {
6840               "type": "integer"
6841             },
6842             "tags": {
6843               "type": "array",
6844               "items": {
6845                 "type": "string"
6846               }
6847             }
6848           },
6849           "additionalProperties": false
6850         },
6851         "MigrationSpec": {
6852           "type": "object",
6853           "properties": {
6854             "model-tag": {
6855               "type": "string"
6856             },
6857             "target-info": {
6858               "$ref": "#/definitions/MigrationTargetInfo"
6859             }
6860           },
6861           "additionalProperties": false,
6862           "required": [
6863             "model-tag",
6864             "target-info"
6865           ]
6866         },
6867         "MigrationTargetInfo": {
6868           "type": "object",
6869           "properties": {
6870             "addrs": {
6871               "type": "array",
6872               "items": {
6873                 "type": "string"
6874               }
6875             },
6876             "auth-tag": {
6877               "type": "string"
6878             },
6879             "ca-cert": {
6880               "type": "string"
6881             },
6882             "controller-tag": {
6883               "type": "string"
6884             },
6885             "macaroons": {
6886               "type": "string"
6887             },
6888             "password": {
6889               "type": "string"
6890             }
6891           },
6892           "additionalProperties": false,
6893           "required": [
6894             "controller-tag",
6895             "addrs",
6896             "ca-cert",
6897             "auth-tag"
6898           ]
6899         },
6900         "Model": {
6901           "type": "object",
6902           "properties": {
6903             "name": {
6904               "type": "string"
6905             },
6906             "owner-tag": {
6907               "type": "string"
6908             },
6909             "uuid": {
6910               "type": "string"
6911             }
6912           },
6913           "additionalProperties": false,
6914           "required": [
6915             "name",
6916             "uuid",
6917             "owner-tag"
6918           ]
6919         },
6920         "ModelBlockInfo": {
6921           "type": "object",
6922           "properties": {
6923             "blocks": {
6924               "type": "array",
6925               "items": {
6926                 "type": "string"
6927               }
6928             },
6929             "model-uuid": {
6930               "type": "string"
6931             },
6932             "name": {
6933               "type": "string"
6934             },
6935             "owner-tag": {
6936               "type": "string"
6937             }
6938           },
6939           "additionalProperties": false,
6940           "required": [
6941             "name",
6942             "model-uuid",
6943             "owner-tag",
6944             "blocks"
6945           ]
6946         },
6947         "ModelBlockInfoList": {
6948           "type": "object",
6949           "properties": {
6950             "models": {
6951               "type": "array",
6952               "items": {
6953                 "$ref": "#/definitions/ModelBlockInfo"
6954               }
6955             }
6956           },
6957           "additionalProperties": false
6958         },
6959         "ModelConfigResults": {
6960           "type": "object",
6961           "properties": {
6962             "config": {
6963               "type": "object",
6964               "patternProperties": {
6965                 ".*": {
6966                   "$ref": "#/definitions/ConfigValue"
6967                 }
6968               }
6969             }
6970           },
6971           "additionalProperties": false,
6972           "required": [
6973             "config"
6974           ]
6975         },
6976         "ModelMachineInfo": {
6977           "type": "object",
6978           "properties": {
6979             "hardware": {
6980               "$ref": "#/definitions/MachineHardware"
6981             },
6982             "has-vote": {
6983               "type": "boolean"
6984             },
6985             "id": {
6986               "type": "string"
6987             },
6988             "instance-id": {
6989               "type": "string"
6990             },
6991             "status": {
6992               "type": "string"
6993             },
6994             "wants-vote": {
6995               "type": "boolean"
6996             }
6997           },
6998           "additionalProperties": false,
6999           "required": [
7000             "id"
7001           ]
7002         },
7003         "ModelStatus": {
7004           "type": "object",
7005           "properties": {
7006             "application-count": {
7007               "type": "integer"
7008             },
7009             "hosted-machine-count": {
7010               "type": "integer"
7011             },
7012             "life": {
7013               "type": "string"
7014             },
7015             "machines": {
7016               "type": "array",
7017               "items": {
7018                 "$ref": "#/definitions/ModelMachineInfo"
7019               }
7020             },
7021             "model-tag": {
7022               "type": "string"
7023             },
7024             "owner-tag": {
7025               "type": "string"
7026             }
7027           },
7028           "additionalProperties": false,
7029           "required": [
7030             "model-tag",
7031             "life",
7032             "hosted-machine-count",
7033             "application-count",
7034             "owner-tag"
7035           ]
7036         },
7037         "ModelStatusResults": {
7038           "type": "object",
7039           "properties": {
7040             "models": {
7041               "type": "array",
7042               "items": {
7043                 "$ref": "#/definitions/ModelStatus"
7044               }
7045             }
7046           },
7047           "additionalProperties": false,
7048           "required": [
7049             "models"
7050           ]
7051         },
7052         "ModelTag": {
7053           "type": "object",
7054           "additionalProperties": false
7055         },
7056         "ModifyControllerAccess": {
7057           "type": "object",
7058           "properties": {
7059             "access": {
7060               "type": "string"
7061             },
7062             "action": {
7063               "type": "string"
7064             },
7065             "user-tag": {
7066               "type": "string"
7067             }
7068           },
7069           "additionalProperties": false,
7070           "required": [
7071             "user-tag",
7072             "action",
7073             "access"
7074           ]
7075         },
7076         "ModifyControllerAccessRequest": {
7077           "type": "object",
7078           "properties": {
7079             "changes": {
7080               "type": "array",
7081               "items": {
7082                 "$ref": "#/definitions/ModifyControllerAccess"
7083               }
7084             }
7085           },
7086           "additionalProperties": false,
7087           "required": [
7088             "changes"
7089           ]
7090         },
7091         "RemoveBlocksArgs": {
7092           "type": "object",
7093           "properties": {
7094             "all": {
7095               "type": "boolean"
7096             }
7097           },
7098           "additionalProperties": false,
7099           "required": [
7100             "all"
7101           ]
7102         },
7103         "UserAccess": {
7104           "type": "object",
7105           "properties": {
7106             "access": {
7107               "type": "string"
7108             },
7109             "user-tag": {
7110               "type": "string"
7111             }
7112           },
7113           "additionalProperties": false,
7114           "required": [
7115             "user-tag",
7116             "access"
7117           ]
7118         },
7119         "UserAccessResult": {
7120           "type": "object",
7121           "properties": {
7122             "error": {
7123               "$ref": "#/definitions/Error"
7124             },
7125             "result": {
7126               "$ref": "#/definitions/UserAccess"
7127             }
7128           },
7129           "additionalProperties": false
7130         },
7131         "UserAccessResults": {
7132           "type": "object",
7133           "properties": {
7134             "results": {
7135               "type": "array",
7136               "items": {
7137                 "$ref": "#/definitions/UserAccessResult"
7138               }
7139             }
7140           },
7141           "additionalProperties": false
7142         },
7143         "UserModel": {
7144           "type": "object",
7145           "properties": {
7146             "last-connection": {
7147               "type": "string",
7148               "format": "date-time"
7149             },
7150             "model": {
7151               "$ref": "#/definitions/Model"
7152             }
7153           },
7154           "additionalProperties": false,
7155           "required": [
7156             "model",
7157             "last-connection"
7158           ]
7159         },
7160         "UserModelList": {
7161           "type": "object",
7162           "properties": {
7163             "user-models": {
7164               "type": "array",
7165               "items": {
7166                 "$ref": "#/definitions/UserModel"
7167               }
7168             }
7169           },
7170           "additionalProperties": false,
7171           "required": [
7172             "user-models"
7173           ]
7174         }
7175       }
7176     }
7177   },
7178   {
7179     "Name": "Deployer",
7180     "Version": 1,
7181     "Schema": {
7182       "type": "object",
7183       "properties": {
7184         "APIAddresses": {
7185           "type": "object",
7186           "properties": {
7187             "Result": {
7188               "$ref": "#/definitions/StringsResult"
7189             }
7190           }
7191         },
7192         "APIHostPorts": {
7193           "type": "object",
7194           "properties": {
7195             "Result": {
7196               "$ref": "#/definitions/APIHostPortsResult"
7197             }
7198           }
7199         },
7200         "CACert": {
7201           "type": "object",
7202           "properties": {
7203             "Result": {
7204               "$ref": "#/definitions/BytesResult"
7205             }
7206           }
7207         },
7208         "ConnectionInfo": {
7209           "type": "object",
7210           "properties": {
7211             "Result": {
7212               "$ref": "#/definitions/DeployerConnectionValues"
7213             }
7214           }
7215         },
7216         "Life": {
7217           "type": "object",
7218           "properties": {
7219             "Params": {
7220               "$ref": "#/definitions/Entities"
7221             },
7222             "Result": {
7223               "$ref": "#/definitions/LifeResults"
7224             }
7225           }
7226         },
7227         "ModelUUID": {
7228           "type": "object",
7229           "properties": {
7230             "Result": {
7231               "$ref": "#/definitions/StringResult"
7232             }
7233           }
7234         },
7235         "Remove": {
7236           "type": "object",
7237           "properties": {
7238             "Params": {
7239               "$ref": "#/definitions/Entities"
7240             },
7241             "Result": {
7242               "$ref": "#/definitions/ErrorResults"
7243             }
7244           }
7245         },
7246         "SetPasswords": {
7247           "type": "object",
7248           "properties": {
7249             "Params": {
7250               "$ref": "#/definitions/EntityPasswords"
7251             },
7252             "Result": {
7253               "$ref": "#/definitions/ErrorResults"
7254             }
7255           }
7256         },
7257         "SetStatus": {
7258           "type": "object",
7259           "properties": {
7260             "Params": {
7261               "$ref": "#/definitions/SetStatus"
7262             },
7263             "Result": {
7264               "$ref": "#/definitions/ErrorResults"
7265             }
7266           }
7267         },
7268         "StateAddresses": {
7269           "type": "object",
7270           "properties": {
7271             "Result": {
7272               "$ref": "#/definitions/StringsResult"
7273             }
7274           }
7275         },
7276         "UpdateStatus": {
7277           "type": "object",
7278           "properties": {
7279             "Params": {
7280               "$ref": "#/definitions/SetStatus"
7281             },
7282             "Result": {
7283               "$ref": "#/definitions/ErrorResults"
7284             }
7285           }
7286         },
7287         "WatchAPIHostPorts": {
7288           "type": "object",
7289           "properties": {
7290             "Result": {
7291               "$ref": "#/definitions/NotifyWatchResult"
7292             }
7293           }
7294         },
7295         "WatchUnits": {
7296           "type": "object",
7297           "properties": {
7298             "Params": {
7299               "$ref": "#/definitions/Entities"
7300             },
7301             "Result": {
7302               "$ref": "#/definitions/StringsWatchResults"
7303             }
7304           }
7305         }
7306       },
7307       "definitions": {
7308         "APIHostPortsResult": {
7309           "type": "object",
7310           "properties": {
7311             "servers": {
7312               "type": "array",
7313               "items": {
7314                 "type": "array",
7315                 "items": {
7316                   "$ref": "#/definitions/HostPort"
7317                 }
7318               }
7319             }
7320           },
7321           "additionalProperties": false,
7322           "required": [
7323             "servers"
7324           ]
7325         },
7326         "Address": {
7327           "type": "object",
7328           "properties": {
7329             "scope": {
7330               "type": "string"
7331             },
7332             "space-name": {
7333               "type": "string"
7334             },
7335             "type": {
7336               "type": "string"
7337             },
7338             "value": {
7339               "type": "string"
7340             }
7341           },
7342           "additionalProperties": false,
7343           "required": [
7344             "value",
7345             "type",
7346             "scope"
7347           ]
7348         },
7349         "BytesResult": {
7350           "type": "object",
7351           "properties": {
7352             "result": {
7353               "type": "array",
7354               "items": {
7355                 "type": "integer"
7356               }
7357             }
7358           },
7359           "additionalProperties": false,
7360           "required": [
7361             "result"
7362           ]
7363         },
7364         "DeployerConnectionValues": {
7365           "type": "object",
7366           "properties": {
7367             "api-addresses": {
7368               "type": "array",
7369               "items": {
7370                 "type": "string"
7371               }
7372             },
7373             "state-addresses": {
7374               "type": "array",
7375               "items": {
7376                 "type": "string"
7377               }
7378             }
7379           },
7380           "additionalProperties": false,
7381           "required": [
7382             "state-addresses",
7383             "api-addresses"
7384           ]
7385         },
7386         "Entities": {
7387           "type": "object",
7388           "properties": {
7389             "entities": {
7390               "type": "array",
7391               "items": {
7392                 "$ref": "#/definitions/Entity"
7393               }
7394             }
7395           },
7396           "additionalProperties": false,
7397           "required": [
7398             "entities"
7399           ]
7400         },
7401         "Entity": {
7402           "type": "object",
7403           "properties": {
7404             "tag": {
7405               "type": "string"
7406             }
7407           },
7408           "additionalProperties": false,
7409           "required": [
7410             "tag"
7411           ]
7412         },
7413         "EntityPassword": {
7414           "type": "object",
7415           "properties": {
7416             "password": {
7417               "type": "string"
7418             },
7419             "tag": {
7420               "type": "string"
7421             }
7422           },
7423           "additionalProperties": false,
7424           "required": [
7425             "tag",
7426             "password"
7427           ]
7428         },
7429         "EntityPasswords": {
7430           "type": "object",
7431           "properties": {
7432             "changes": {
7433               "type": "array",
7434               "items": {
7435                 "$ref": "#/definitions/EntityPassword"
7436               }
7437             }
7438           },
7439           "additionalProperties": false,
7440           "required": [
7441             "changes"
7442           ]
7443         },
7444         "EntityStatusArgs": {
7445           "type": "object",
7446           "properties": {
7447             "data": {
7448               "type": "object",
7449               "patternProperties": {
7450                 ".*": {
7451                   "type": "object",
7452                   "additionalProperties": true
7453                 }
7454               }
7455             },
7456             "info": {
7457               "type": "string"
7458             },
7459             "status": {
7460               "type": "string"
7461             },
7462             "tag": {
7463               "type": "string"
7464             }
7465           },
7466           "additionalProperties": false,
7467           "required": [
7468             "tag",
7469             "status",
7470             "info",
7471             "data"
7472           ]
7473         },
7474         "Error": {
7475           "type": "object",
7476           "properties": {
7477             "code": {
7478               "type": "string"
7479             },
7480             "info": {
7481               "$ref": "#/definitions/ErrorInfo"
7482             },
7483             "message": {
7484               "type": "string"
7485             }
7486           },
7487           "additionalProperties": false,
7488           "required": [
7489             "message",
7490             "code"
7491           ]
7492         },
7493         "ErrorInfo": {
7494           "type": "object",
7495           "properties": {
7496             "macaroon": {
7497               "$ref": "#/definitions/Macaroon"
7498             },
7499             "macaroon-path": {
7500               "type": "string"
7501             }
7502           },
7503           "additionalProperties": false
7504         },
7505         "ErrorResult": {
7506           "type": "object",
7507           "properties": {
7508             "error": {
7509               "$ref": "#/definitions/Error"
7510             }
7511           },
7512           "additionalProperties": false
7513         },
7514         "ErrorResults": {
7515           "type": "object",
7516           "properties": {
7517             "results": {
7518               "type": "array",
7519               "items": {
7520                 "$ref": "#/definitions/ErrorResult"
7521               }
7522             }
7523           },
7524           "additionalProperties": false,
7525           "required": [
7526             "results"
7527           ]
7528         },
7529         "HostPort": {
7530           "type": "object",
7531           "properties": {
7532             "Address": {
7533               "$ref": "#/definitions/Address"
7534             },
7535             "port": {
7536               "type": "integer"
7537             }
7538           },
7539           "additionalProperties": false,
7540           "required": [
7541             "Address",
7542             "port"
7543           ]
7544         },
7545         "LifeResult": {
7546           "type": "object",
7547           "properties": {
7548             "error": {
7549               "$ref": "#/definitions/Error"
7550             },
7551             "life": {
7552               "type": "string"
7553             }
7554           },
7555           "additionalProperties": false,
7556           "required": [
7557             "life"
7558           ]
7559         },
7560         "LifeResults": {
7561           "type": "object",
7562           "properties": {
7563             "results": {
7564               "type": "array",
7565               "items": {
7566                 "$ref": "#/definitions/LifeResult"
7567               }
7568             }
7569           },
7570           "additionalProperties": false,
7571           "required": [
7572             "results"
7573           ]
7574         },
7575         "Macaroon": {
7576           "type": "object",
7577           "additionalProperties": false
7578         },
7579         "NotifyWatchResult": {
7580           "type": "object",
7581           "properties": {
7582             "NotifyWatcherId": {
7583               "type": "string"
7584             },
7585             "error": {
7586               "$ref": "#/definitions/Error"
7587             }
7588           },
7589           "additionalProperties": false,
7590           "required": [
7591             "NotifyWatcherId"
7592           ]
7593         },
7594         "SetStatus": {
7595           "type": "object",
7596           "properties": {
7597             "entities": {
7598               "type": "array",
7599               "items": {
7600                 "$ref": "#/definitions/EntityStatusArgs"
7601               }
7602             }
7603           },
7604           "additionalProperties": false,
7605           "required": [
7606             "entities"
7607           ]
7608         },
7609         "StringResult": {
7610           "type": "object",
7611           "properties": {
7612             "error": {
7613               "$ref": "#/definitions/Error"
7614             },
7615             "result": {
7616               "type": "string"
7617             }
7618           },
7619           "additionalProperties": false,
7620           "required": [
7621             "result"
7622           ]
7623         },
7624         "StringsResult": {
7625           "type": "object",
7626           "properties": {
7627             "error": {
7628               "$ref": "#/definitions/Error"
7629             },
7630             "result": {
7631               "type": "array",
7632               "items": {
7633                 "type": "string"
7634               }
7635             }
7636           },
7637           "additionalProperties": false
7638         },
7639         "StringsWatchResult": {
7640           "type": "object",
7641           "properties": {
7642             "changes": {
7643               "type": "array",
7644               "items": {
7645                 "type": "string"
7646               }
7647             },
7648             "error": {
7649               "$ref": "#/definitions/Error"
7650             },
7651             "watcher-id": {
7652               "type": "string"
7653             }
7654           },
7655           "additionalProperties": false,
7656           "required": [
7657             "watcher-id"
7658           ]
7659         },
7660         "StringsWatchResults": {
7661           "type": "object",
7662           "properties": {
7663             "results": {
7664               "type": "array",
7665               "items": {
7666                 "$ref": "#/definitions/StringsWatchResult"
7667               }
7668             }
7669           },
7670           "additionalProperties": false,
7671           "required": [
7672             "results"
7673           ]
7674         }
7675       }
7676     }
7677   },
7678   {
7679     "Name": "DiscoverSpaces",
7680     "Version": 2,
7681     "Schema": {
7682       "type": "object",
7683       "properties": {
7684         "AddSubnets": {
7685           "type": "object",
7686           "properties": {
7687             "Params": {
7688               "$ref": "#/definitions/AddSubnetsParams"
7689             },
7690             "Result": {
7691               "$ref": "#/definitions/ErrorResults"
7692             }
7693           }
7694         },
7695         "CreateSpaces": {
7696           "type": "object",
7697           "properties": {
7698             "Params": {
7699               "$ref": "#/definitions/CreateSpacesParams"
7700             },
7701             "Result": {
7702               "$ref": "#/definitions/ErrorResults"
7703             }
7704           }
7705         },
7706         "ListSpaces": {
7707           "type": "object",
7708           "properties": {
7709             "Result": {
7710               "$ref": "#/definitions/DiscoverSpacesResults"
7711             }
7712           }
7713         },
7714         "ListSubnets": {
7715           "type": "object",
7716           "properties": {
7717             "Params": {
7718               "$ref": "#/definitions/SubnetsFilters"
7719             },
7720             "Result": {
7721               "$ref": "#/definitions/ListSubnetsResults"
7722             }
7723           }
7724         },
7725         "ModelConfig": {
7726           "type": "object",
7727           "properties": {
7728             "Result": {
7729               "$ref": "#/definitions/ModelConfigResult"
7730             }
7731           }
7732         }
7733       },
7734       "definitions": {
7735         "AddSubnetParams": {
7736           "type": "object",
7737           "properties": {
7738             "provider-network-id": {
7739               "type": "string"
7740             },
7741             "space-tag": {
7742               "type": "string"
7743             },
7744             "subnet-provider-id": {
7745               "type": "string"
7746             },
7747             "subnet-tag": {
7748               "type": "string"
7749             },
7750             "vlan-tag": {
7751               "type": "integer"
7752             },
7753             "zones": {
7754               "type": "array",
7755               "items": {
7756                 "type": "string"
7757               }
7758             }
7759           },
7760           "additionalProperties": false,
7761           "required": [
7762             "space-tag"
7763           ]
7764         },
7765         "AddSubnetsParams": {
7766           "type": "object",
7767           "properties": {
7768             "subnets": {
7769               "type": "array",
7770               "items": {
7771                 "$ref": "#/definitions/AddSubnetParams"
7772               }
7773             }
7774           },
7775           "additionalProperties": false,
7776           "required": [
7777             "subnets"
7778           ]
7779         },
7780         "CreateSpaceParams": {
7781           "type": "object",
7782           "properties": {
7783             "provider-id": {
7784               "type": "string"
7785             },
7786             "public": {
7787               "type": "boolean"
7788             },
7789             "space-tag": {
7790               "type": "string"
7791             },
7792             "subnet-tags": {
7793               "type": "array",
7794               "items": {
7795                 "type": "string"
7796               }
7797             }
7798           },
7799           "additionalProperties": false,
7800           "required": [
7801             "subnet-tags",
7802             "space-tag",
7803             "public"
7804           ]
7805         },
7806         "CreateSpacesParams": {
7807           "type": "object",
7808           "properties": {
7809             "spaces": {
7810               "type": "array",
7811               "items": {
7812                 "$ref": "#/definitions/CreateSpaceParams"
7813               }
7814             }
7815           },
7816           "additionalProperties": false,
7817           "required": [
7818             "spaces"
7819           ]
7820         },
7821         "DiscoverSpacesResults": {
7822           "type": "object",
7823           "properties": {
7824             "results": {
7825               "type": "array",
7826               "items": {
7827                 "$ref": "#/definitions/ProviderSpace"
7828               }
7829             }
7830           },
7831           "additionalProperties": false,
7832           "required": [
7833             "results"
7834           ]
7835         },
7836         "Error": {
7837           "type": "object",
7838           "properties": {
7839             "code": {
7840               "type": "string"
7841             },
7842             "info": {
7843               "$ref": "#/definitions/ErrorInfo"
7844             },
7845             "message": {
7846               "type": "string"
7847             }
7848           },
7849           "additionalProperties": false,
7850           "required": [
7851             "message",
7852             "code"
7853           ]
7854         },
7855         "ErrorInfo": {
7856           "type": "object",
7857           "properties": {
7858             "macaroon": {
7859               "$ref": "#/definitions/Macaroon"
7860             },
7861             "macaroon-path": {
7862               "type": "string"
7863             }
7864           },
7865           "additionalProperties": false
7866         },
7867         "ErrorResult": {
7868           "type": "object",
7869           "properties": {
7870             "error": {
7871               "$ref": "#/definitions/Error"
7872             }
7873           },
7874           "additionalProperties": false
7875         },
7876         "ErrorResults": {
7877           "type": "object",
7878           "properties": {
7879             "results": {
7880               "type": "array",
7881               "items": {
7882                 "$ref": "#/definitions/ErrorResult"
7883               }
7884             }
7885           },
7886           "additionalProperties": false,
7887           "required": [
7888             "results"
7889           ]
7890         },
7891         "ListSubnetsResults": {
7892           "type": "object",
7893           "properties": {
7894             "results": {
7895               "type": "array",
7896               "items": {
7897                 "$ref": "#/definitions/Subnet"
7898               }
7899             }
7900           },
7901           "additionalProperties": false,
7902           "required": [
7903             "results"
7904           ]
7905         },
7906         "Macaroon": {
7907           "type": "object",
7908           "additionalProperties": false
7909         },
7910         "ModelConfigResult": {
7911           "type": "object",
7912           "properties": {
7913             "config": {
7914               "type": "object",
7915               "patternProperties": {
7916                 ".*": {
7917                   "type": "object",
7918                   "additionalProperties": true
7919                 }
7920               }
7921             }
7922           },
7923           "additionalProperties": false,
7924           "required": [
7925             "config"
7926           ]
7927         },
7928         "ProviderSpace": {
7929           "type": "object",
7930           "properties": {
7931             "error": {
7932               "$ref": "#/definitions/Error"
7933             },
7934             "name": {
7935               "type": "string"
7936             },
7937             "provider-id": {
7938               "type": "string"
7939             },
7940             "subnets": {
7941               "type": "array",
7942               "items": {
7943                 "$ref": "#/definitions/Subnet"
7944               }
7945             }
7946           },
7947           "additionalProperties": false,
7948           "required": [
7949             "name",
7950             "provider-id",
7951             "subnets"
7952           ]
7953         },
7954         "Subnet": {
7955           "type": "object",
7956           "properties": {
7957             "cidr": {
7958               "type": "string"
7959             },
7960             "life": {
7961               "type": "string"
7962             },
7963             "provider-id": {
7964               "type": "string"
7965             },
7966             "provider-network-id": {
7967               "type": "string"
7968             },
7969             "provider-space-id": {
7970               "type": "string"
7971             },
7972             "space-tag": {
7973               "type": "string"
7974             },
7975             "status": {
7976               "type": "string"
7977             },
7978             "vlan-tag": {
7979               "type": "integer"
7980             },
7981             "zones": {
7982               "type": "array",
7983               "items": {
7984                 "type": "string"
7985               }
7986             }
7987           },
7988           "additionalProperties": false,
7989           "required": [
7990             "cidr",
7991             "vlan-tag",
7992             "life",
7993             "space-tag",
7994             "zones"
7995           ]
7996         },
7997         "SubnetsFilters": {
7998           "type": "object",
7999           "properties": {
8000             "space-tag": {
8001               "type": "string"
8002             },
8003             "zone": {
8004               "type": "string"
8005             }
8006           },
8007           "additionalProperties": false
8008         }
8009       }
8010     }
8011   },
8012   {
8013     "Name": "DiskManager",
8014     "Version": 2,
8015     "Schema": {
8016       "type": "object",
8017       "properties": {
8018         "SetMachineBlockDevices": {
8019           "type": "object",
8020           "properties": {
8021             "Params": {
8022               "$ref": "#/definitions/SetMachineBlockDevices"
8023             },
8024             "Result": {
8025               "$ref": "#/definitions/ErrorResults"
8026             }
8027           }
8028         }
8029       },
8030       "definitions": {
8031         "BlockDevice": {
8032           "type": "object",
8033           "properties": {
8034             "BusAddress": {
8035               "type": "string"
8036             },
8037             "DeviceLinks": {
8038               "type": "array",
8039               "items": {
8040                 "type": "string"
8041               }
8042             },
8043             "DeviceName": {
8044               "type": "string"
8045             },
8046             "FilesystemType": {
8047               "type": "string"
8048             },
8049             "HardwareId": {
8050               "type": "string"
8051             },
8052             "InUse": {
8053               "type": "boolean"
8054             },
8055             "Label": {
8056               "type": "string"
8057             },
8058             "MountPoint": {
8059               "type": "string"
8060             },
8061             "Size": {
8062               "type": "integer"
8063             },
8064             "UUID": {
8065               "type": "string"
8066             },
8067             "WWN": {
8068               "type": "string"
8069             }
8070           },
8071           "additionalProperties": false,
8072           "required": [
8073             "DeviceName",
8074             "DeviceLinks",
8075             "Label",
8076             "UUID",
8077             "HardwareId",
8078             "WWN",
8079             "BusAddress",
8080             "Size",
8081             "FilesystemType",
8082             "InUse",
8083             "MountPoint"
8084           ]
8085         },
8086         "Error": {
8087           "type": "object",
8088           "properties": {
8089             "code": {
8090               "type": "string"
8091             },
8092             "info": {
8093               "$ref": "#/definitions/ErrorInfo"
8094             },
8095             "message": {
8096               "type": "string"
8097             }
8098           },
8099           "additionalProperties": false,
8100           "required": [
8101             "message",
8102             "code"
8103           ]
8104         },
8105         "ErrorInfo": {
8106           "type": "object",
8107           "properties": {
8108             "macaroon": {
8109               "$ref": "#/definitions/Macaroon"
8110             },
8111             "macaroon-path": {
8112               "type": "string"
8113             }
8114           },
8115           "additionalProperties": false
8116         },
8117         "ErrorResult": {
8118           "type": "object",
8119           "properties": {
8120             "error": {
8121               "$ref": "#/definitions/Error"
8122             }
8123           },
8124           "additionalProperties": false
8125         },
8126         "ErrorResults": {
8127           "type": "object",
8128           "properties": {
8129             "results": {
8130               "type": "array",
8131               "items": {
8132                 "$ref": "#/definitions/ErrorResult"
8133               }
8134             }
8135           },
8136           "additionalProperties": false,
8137           "required": [
8138             "results"
8139           ]
8140         },
8141         "Macaroon": {
8142           "type": "object",
8143           "additionalProperties": false
8144         },
8145         "MachineBlockDevices": {
8146           "type": "object",
8147           "properties": {
8148             "block-devices": {
8149               "type": "array",
8150               "items": {
8151                 "$ref": "#/definitions/BlockDevice"
8152               }
8153             },
8154             "machine": {
8155               "type": "string"
8156             }
8157           },
8158           "additionalProperties": false,
8159           "required": [
8160             "machine"
8161           ]
8162         },
8163         "SetMachineBlockDevices": {
8164           "type": "object",
8165           "properties": {
8166             "machine-block-devices": {
8167               "type": "array",
8168               "items": {
8169                 "$ref": "#/definitions/MachineBlockDevices"
8170               }
8171             }
8172           },
8173           "additionalProperties": false,
8174           "required": [
8175             "machine-block-devices"
8176           ]
8177         }
8178       }
8179     }
8180   },
8181   {
8182     "Name": "EntityWatcher",
8183     "Version": 2,
8184     "Schema": {
8185       "type": "object",
8186       "properties": {
8187         "Next": {
8188           "type": "object",
8189           "properties": {
8190             "Result": {
8191               "$ref": "#/definitions/EntitiesWatchResult"
8192             }
8193           }
8194         },
8195         "Stop": {
8196           "type": "object"
8197         }
8198       },
8199       "definitions": {
8200         "EntitiesWatchResult": {
8201           "type": "object",
8202           "properties": {
8203             "changes": {
8204               "type": "array",
8205               "items": {
8206                 "type": "string"
8207               }
8208             },
8209             "error": {
8210               "$ref": "#/definitions/Error"
8211             },
8212             "watcher-id": {
8213               "type": "string"
8214             }
8215           },
8216           "additionalProperties": false,
8217           "required": [
8218             "watcher-id"
8219           ]
8220         },
8221         "Error": {
8222           "type": "object",
8223           "properties": {
8224             "code": {
8225               "type": "string"
8226             },
8227             "info": {
8228               "$ref": "#/definitions/ErrorInfo"
8229             },
8230             "message": {
8231               "type": "string"
8232             }
8233           },
8234           "additionalProperties": false,
8235           "required": [
8236             "message",
8237             "code"
8238           ]
8239         },
8240         "ErrorInfo": {
8241           "type": "object",
8242           "properties": {
8243             "macaroon": {
8244               "$ref": "#/definitions/Macaroon"
8245             },
8246             "macaroon-path": {
8247               "type": "string"
8248             }
8249           },
8250           "additionalProperties": false
8251         },
8252         "Macaroon": {
8253           "type": "object",
8254           "additionalProperties": false
8255         }
8256       }
8257     }
8258   },
8259   {
8260     "Name": "FilesystemAttachmentsWatcher",
8261     "Version": 2,
8262     "Schema": {
8263       "type": "object",
8264       "properties": {
8265         "Next": {
8266           "type": "object",
8267           "properties": {
8268             "Result": {
8269               "$ref": "#/definitions/MachineStorageIdsWatchResult"
8270             }
8271           }
8272         },
8273         "Stop": {
8274           "type": "object"
8275         }
8276       },
8277       "definitions": {
8278         "Error": {
8279           "type": "object",
8280           "properties": {
8281             "code": {
8282               "type": "string"
8283             },
8284             "info": {
8285               "$ref": "#/definitions/ErrorInfo"
8286             },
8287             "message": {
8288               "type": "string"
8289             }
8290           },
8291           "additionalProperties": false,
8292           "required": [
8293             "message",
8294             "code"
8295           ]
8296         },
8297         "ErrorInfo": {
8298           "type": "object",
8299           "properties": {
8300             "macaroon": {
8301               "$ref": "#/definitions/Macaroon"
8302             },
8303             "macaroon-path": {
8304               "type": "string"
8305             }
8306           },
8307           "additionalProperties": false
8308         },
8309         "Macaroon": {
8310           "type": "object",
8311           "additionalProperties": false
8312         },
8313         "MachineStorageId": {
8314           "type": "object",
8315           "properties": {
8316             "attachment-tag": {
8317               "type": "string"
8318             },
8319             "machine-tag": {
8320               "type": "string"
8321             }
8322           },
8323           "additionalProperties": false,
8324           "required": [
8325             "machine-tag",
8326             "attachment-tag"
8327           ]
8328         },
8329         "MachineStorageIdsWatchResult": {
8330           "type": "object",
8331           "properties": {
8332             "changes": {
8333               "type": "array",
8334               "items": {
8335                 "$ref": "#/definitions/MachineStorageId"
8336               }
8337             },
8338             "error": {
8339               "$ref": "#/definitions/Error"
8340             },
8341             "watcher-id": {
8342               "type": "string"
8343             }
8344           },
8345           "additionalProperties": false,
8346           "required": [
8347             "watcher-id",
8348             "changes"
8349           ]
8350         }
8351       }
8352     }
8353   },
8354   {
8355     "Name": "Firewaller",
8356     "Version": 3,
8357     "Schema": {
8358       "type": "object",
8359       "properties": {
8360         "CloudSpec": {
8361           "type": "object",
8362           "properties": {
8363             "Params": {
8364               "$ref": "#/definitions/Entities"
8365             },
8366             "Result": {
8367               "$ref": "#/definitions/CloudSpecResults"
8368             }
8369           }
8370         },
8371         "GetAssignedMachine": {
8372           "type": "object",
8373           "properties": {
8374             "Params": {
8375               "$ref": "#/definitions/Entities"
8376             },
8377             "Result": {
8378               "$ref": "#/definitions/StringResults"
8379             }
8380           }
8381         },
8382         "GetCloudSpec": {
8383           "type": "object",
8384           "properties": {
8385             "Params": {
8386               "$ref": "#/definitions/ModelTag"
8387             },
8388             "Result": {
8389               "$ref": "#/definitions/CloudSpecResult"
8390             }
8391           }
8392         },
8393         "GetExposed": {
8394           "type": "object",
8395           "properties": {
8396             "Params": {
8397               "$ref": "#/definitions/Entities"
8398             },
8399             "Result": {
8400               "$ref": "#/definitions/BoolResults"
8401             }
8402           }
8403         },
8404         "GetMachineActiveSubnets": {
8405           "type": "object",
8406           "properties": {
8407             "Params": {
8408               "$ref": "#/definitions/Entities"
8409             },
8410             "Result": {
8411               "$ref": "#/definitions/StringsResults"
8412             }
8413           }
8414         },
8415         "GetMachinePorts": {
8416           "type": "object",
8417           "properties": {
8418             "Params": {
8419               "$ref": "#/definitions/MachinePortsParams"
8420             },
8421             "Result": {
8422               "$ref": "#/definitions/MachinePortsResults"
8423             }
8424           }
8425         },
8426         "InstanceId": {
8427           "type": "object",
8428           "properties": {
8429             "Params": {
8430               "$ref": "#/definitions/Entities"
8431             },
8432             "Result": {
8433               "$ref": "#/definitions/StringResults"
8434             }
8435           }
8436         },
8437         "Life": {
8438           "type": "object",
8439           "properties": {
8440             "Params": {
8441               "$ref": "#/definitions/Entities"
8442             },
8443             "Result": {
8444               "$ref": "#/definitions/LifeResults"
8445             }
8446           }
8447         },
8448         "ModelConfig": {
8449           "type": "object",
8450           "properties": {
8451             "Result": {
8452               "$ref": "#/definitions/ModelConfigResult"
8453             }
8454           }
8455         },
8456         "Watch": {
8457           "type": "object",
8458           "properties": {
8459             "Params": {
8460               "$ref": "#/definitions/Entities"
8461             },
8462             "Result": {
8463               "$ref": "#/definitions/NotifyWatchResults"
8464             }
8465           }
8466         },
8467         "WatchForModelConfigChanges": {
8468           "type": "object",
8469           "properties": {
8470             "Result": {
8471               "$ref": "#/definitions/NotifyWatchResult"
8472             }
8473           }
8474         },
8475         "WatchModelMachines": {
8476           "type": "object",
8477           "properties": {
8478             "Result": {
8479               "$ref": "#/definitions/StringsWatchResult"
8480             }
8481           }
8482         },
8483         "WatchOpenedPorts": {
8484           "type": "object",
8485           "properties": {
8486             "Params": {
8487               "$ref": "#/definitions/Entities"
8488             },
8489             "Result": {
8490               "$ref": "#/definitions/StringsWatchResults"
8491             }
8492           }
8493         },
8494         "WatchUnits": {
8495           "type": "object",
8496           "properties": {
8497             "Params": {
8498               "$ref": "#/definitions/Entities"
8499             },
8500             "Result": {
8501               "$ref": "#/definitions/StringsWatchResults"
8502             }
8503           }
8504         }
8505       },
8506       "definitions": {
8507         "BoolResult": {
8508           "type": "object",
8509           "properties": {
8510             "error": {
8511               "$ref": "#/definitions/Error"
8512             },
8513             "result": {
8514               "type": "boolean"
8515             }
8516           },
8517           "additionalProperties": false,
8518           "required": [
8519             "result"
8520           ]
8521         },
8522         "BoolResults": {
8523           "type": "object",
8524           "properties": {
8525             "results": {
8526               "type": "array",
8527               "items": {
8528                 "$ref": "#/definitions/BoolResult"
8529               }
8530             }
8531           },
8532           "additionalProperties": false,
8533           "required": [
8534             "results"
8535           ]
8536         },
8537         "CloudCredential": {
8538           "type": "object",
8539           "properties": {
8540             "attrs": {
8541               "type": "object",
8542               "patternProperties": {
8543                 ".*": {
8544                   "type": "string"
8545                 }
8546               }
8547             },
8548             "auth-type": {
8549               "type": "string"
8550             },
8551             "redacted": {
8552               "type": "array",
8553               "items": {
8554                 "type": "string"
8555               }
8556             }
8557           },
8558           "additionalProperties": false,
8559           "required": [
8560             "auth-type"
8561           ]
8562         },
8563         "CloudSpec": {
8564           "type": "object",
8565           "properties": {
8566             "credential": {
8567               "$ref": "#/definitions/CloudCredential"
8568             },
8569             "endpoint": {
8570               "type": "string"
8571             },
8572             "identity-endpoint": {
8573               "type": "string"
8574             },
8575             "name": {
8576               "type": "string"
8577             },
8578             "region": {
8579               "type": "string"
8580             },
8581             "storage-endpoint": {
8582               "type": "string"
8583             },
8584             "type": {
8585               "type": "string"
8586             }
8587           },
8588           "additionalProperties": false,
8589           "required": [
8590             "type",
8591             "name"
8592           ]
8593         },
8594         "CloudSpecResult": {
8595           "type": "object",
8596           "properties": {
8597             "error": {
8598               "$ref": "#/definitions/Error"
8599             },
8600             "result": {
8601               "$ref": "#/definitions/CloudSpec"
8602             }
8603           },
8604           "additionalProperties": false
8605         },
8606         "CloudSpecResults": {
8607           "type": "object",
8608           "properties": {
8609             "results": {
8610               "type": "array",
8611               "items": {
8612                 "$ref": "#/definitions/CloudSpecResult"
8613               }
8614             }
8615           },
8616           "additionalProperties": false
8617         },
8618         "Entities": {
8619           "type": "object",
8620           "properties": {
8621             "entities": {
8622               "type": "array",
8623               "items": {
8624                 "$ref": "#/definitions/Entity"
8625               }
8626             }
8627           },
8628           "additionalProperties": false,
8629           "required": [
8630             "entities"
8631           ]
8632         },
8633         "Entity": {
8634           "type": "object",
8635           "properties": {
8636             "tag": {
8637               "type": "string"
8638             }
8639           },
8640           "additionalProperties": false,
8641           "required": [
8642             "tag"
8643           ]
8644         },
8645         "Error": {
8646           "type": "object",
8647           "properties": {
8648             "code": {
8649               "type": "string"
8650             },
8651             "info": {
8652               "$ref": "#/definitions/ErrorInfo"
8653             },
8654             "message": {
8655               "type": "string"
8656             }
8657           },
8658           "additionalProperties": false,
8659           "required": [
8660             "message",
8661             "code"
8662           ]
8663         },
8664         "ErrorInfo": {
8665           "type": "object",
8666           "properties": {
8667             "macaroon": {
8668               "$ref": "#/definitions/Macaroon"
8669             },
8670             "macaroon-path": {
8671               "type": "string"
8672             }
8673           },
8674           "additionalProperties": false
8675         },
8676         "LifeResult": {
8677           "type": "object",
8678           "properties": {
8679             "error": {
8680               "$ref": "#/definitions/Error"
8681             },
8682             "life": {
8683               "type": "string"
8684             }
8685           },
8686           "additionalProperties": false,
8687           "required": [
8688             "life"
8689           ]
8690         },
8691         "LifeResults": {
8692           "type": "object",
8693           "properties": {
8694             "results": {
8695               "type": "array",
8696               "items": {
8697                 "$ref": "#/definitions/LifeResult"
8698               }
8699             }
8700           },
8701           "additionalProperties": false,
8702           "required": [
8703             "results"
8704           ]
8705         },
8706         "Macaroon": {
8707           "type": "object",
8708           "additionalProperties": false
8709         },
8710         "MachinePortRange": {
8711           "type": "object",
8712           "properties": {
8713             "port-range": {
8714               "$ref": "#/definitions/PortRange"
8715             },
8716             "relation-tag": {
8717               "type": "string"
8718             },
8719             "unit-tag": {
8720               "type": "string"
8721             }
8722           },
8723           "additionalProperties": false,
8724           "required": [
8725             "unit-tag",
8726             "relation-tag",
8727             "port-range"
8728           ]
8729         },
8730         "MachinePorts": {
8731           "type": "object",
8732           "properties": {
8733             "machine-tag": {
8734               "type": "string"
8735             },
8736             "subnet-tag": {
8737               "type": "string"
8738             }
8739           },
8740           "additionalProperties": false,
8741           "required": [
8742             "machine-tag",
8743             "subnet-tag"
8744           ]
8745         },
8746         "MachinePortsParams": {
8747           "type": "object",
8748           "properties": {
8749             "params": {
8750               "type": "array",
8751               "items": {
8752                 "$ref": "#/definitions/MachinePorts"
8753               }
8754             }
8755           },
8756           "additionalProperties": false,
8757           "required": [
8758             "params"
8759           ]
8760         },
8761         "MachinePortsResult": {
8762           "type": "object",
8763           "properties": {
8764             "error": {
8765               "$ref": "#/definitions/Error"
8766             },
8767             "ports": {
8768               "type": "array",
8769               "items": {
8770                 "$ref": "#/definitions/MachinePortRange"
8771               }
8772             }
8773           },
8774           "additionalProperties": false,
8775           "required": [
8776             "ports"
8777           ]
8778         },
8779         "MachinePortsResults": {
8780           "type": "object",
8781           "properties": {
8782             "results": {
8783               "type": "array",
8784               "items": {
8785                 "$ref": "#/definitions/MachinePortsResult"
8786               }
8787             }
8788           },
8789           "additionalProperties": false,
8790           "required": [
8791             "results"
8792           ]
8793         },
8794         "ModelConfigResult": {
8795           "type": "object",
8796           "properties": {
8797             "config": {
8798               "type": "object",
8799               "patternProperties": {
8800                 ".*": {
8801                   "type": "object",
8802                   "additionalProperties": true
8803                 }
8804               }
8805             }
8806           },
8807           "additionalProperties": false,
8808           "required": [
8809             "config"
8810           ]
8811         },
8812         "ModelTag": {
8813           "type": "object",
8814           "additionalProperties": false
8815         },
8816         "NotifyWatchResult": {
8817           "type": "object",
8818           "properties": {
8819             "NotifyWatcherId": {
8820               "type": "string"
8821             },
8822             "error": {
8823               "$ref": "#/definitions/Error"
8824             }
8825           },
8826           "additionalProperties": false,
8827           "required": [
8828             "NotifyWatcherId"
8829           ]
8830         },
8831         "NotifyWatchResults": {
8832           "type": "object",
8833           "properties": {
8834             "results": {
8835               "type": "array",
8836               "items": {
8837                 "$ref": "#/definitions/NotifyWatchResult"
8838               }
8839             }
8840           },
8841           "additionalProperties": false,
8842           "required": [
8843             "results"
8844           ]
8845         },
8846         "PortRange": {
8847           "type": "object",
8848           "properties": {
8849             "from-port": {
8850               "type": "integer"
8851             },
8852             "protocol": {
8853               "type": "string"
8854             },
8855             "to-port": {
8856               "type": "integer"
8857             }
8858           },
8859           "additionalProperties": false,
8860           "required": [
8861             "from-port",
8862             "to-port",
8863             "protocol"
8864           ]
8865         },
8866         "StringResult": {
8867           "type": "object",
8868           "properties": {
8869             "error": {
8870               "$ref": "#/definitions/Error"
8871             },
8872             "result": {
8873               "type": "string"
8874             }
8875           },
8876           "additionalProperties": false,
8877           "required": [
8878             "result"
8879           ]
8880         },
8881         "StringResults": {
8882           "type": "object",
8883           "properties": {
8884             "results": {
8885               "type": "array",
8886               "items": {
8887                 "$ref": "#/definitions/StringResult"
8888               }
8889             }
8890           },
8891           "additionalProperties": false,
8892           "required": [
8893             "results"
8894           ]
8895         },
8896         "StringsResult": {
8897           "type": "object",
8898           "properties": {
8899             "error": {
8900               "$ref": "#/definitions/Error"
8901             },
8902             "result": {
8903               "type": "array",
8904               "items": {
8905                 "type": "string"
8906               }
8907             }
8908           },
8909           "additionalProperties": false
8910         },
8911         "StringsResults": {
8912           "type": "object",
8913           "properties": {
8914             "results": {
8915               "type": "array",
8916               "items": {
8917                 "$ref": "#/definitions/StringsResult"
8918               }
8919             }
8920           },
8921           "additionalProperties": false,
8922           "required": [
8923             "results"
8924           ]
8925         },
8926         "StringsWatchResult": {
8927           "type": "object",
8928           "properties": {
8929             "changes": {
8930               "type": "array",
8931               "items": {
8932                 "type": "string"
8933               }
8934             },
8935             "error": {
8936               "$ref": "#/definitions/Error"
8937             },
8938             "watcher-id": {
8939               "type": "string"
8940             }
8941           },
8942           "additionalProperties": false,
8943           "required": [
8944             "watcher-id"
8945           ]
8946         },
8947         "StringsWatchResults": {
8948           "type": "object",
8949           "properties": {
8950             "results": {
8951               "type": "array",
8952               "items": {
8953                 "$ref": "#/definitions/StringsWatchResult"
8954               }
8955             }
8956           },
8957           "additionalProperties": false,
8958           "required": [
8959             "results"
8960           ]
8961         }
8962       }
8963     }
8964   },
8965   {
8966     "Name": "HighAvailability",
8967     "Version": 2,
8968     "Schema": {
8969       "type": "object",
8970       "properties": {
8971         "EnableHA": {
8972           "type": "object",
8973           "properties": {
8974             "Params": {
8975               "$ref": "#/definitions/ControllersSpecs"
8976             },
8977             "Result": {
8978               "$ref": "#/definitions/ControllersChangeResults"
8979             }
8980           }
8981         },
8982         "ResumeHAReplicationAfterUpgrade": {
8983           "type": "object",
8984           "properties": {
8985             "Params": {
8986               "$ref": "#/definitions/ResumeReplicationParams"
8987             }
8988           }
8989         },
8990         "StopHAReplicationForUpgrade": {
8991           "type": "object",
8992           "properties": {
8993             "Params": {
8994               "$ref": "#/definitions/UpgradeMongoParams"
8995             },
8996             "Result": {
8997               "$ref": "#/definitions/MongoUpgradeResults"
8998             }
8999           }
9000         }
9001       },
9002       "definitions": {
9003         "Address": {
9004           "type": "object",
9005           "properties": {
9006             "Scope": {
9007               "type": "string"
9008             },
9009             "SpaceName": {
9010               "type": "string"
9011             },
9012             "SpaceProviderId": {
9013               "type": "string"
9014             },
9015             "Type": {
9016               "type": "string"
9017             },
9018             "Value": {
9019               "type": "string"
9020             }
9021           },
9022           "additionalProperties": false,
9023           "required": [
9024             "Value",
9025             "Type",
9026             "Scope",
9027             "SpaceName",
9028             "SpaceProviderId"
9029           ]
9030         },
9031         "ControllersChangeResult": {
9032           "type": "object",
9033           "properties": {
9034             "error": {
9035               "$ref": "#/definitions/Error"
9036             },
9037             "result": {
9038               "$ref": "#/definitions/ControllersChanges"
9039             }
9040           },
9041           "additionalProperties": false,
9042           "required": [
9043             "result"
9044           ]
9045         },
9046         "ControllersChangeResults": {
9047           "type": "object",
9048           "properties": {
9049             "results": {
9050               "type": "array",
9051               "items": {
9052                 "$ref": "#/definitions/ControllersChangeResult"
9053               }
9054             }
9055           },
9056           "additionalProperties": false,
9057           "required": [
9058             "results"
9059           ]
9060         },
9061         "ControllersChanges": {
9062           "type": "object",
9063           "properties": {
9064             "added": {
9065               "type": "array",
9066               "items": {
9067                 "type": "string"
9068               }
9069             },
9070             "converted": {
9071               "type": "array",
9072               "items": {
9073                 "type": "string"
9074               }
9075             },
9076             "demoted": {
9077               "type": "array",
9078               "items": {
9079                 "type": "string"
9080               }
9081             },
9082             "maintained": {
9083               "type": "array",
9084               "items": {
9085                 "type": "string"
9086               }
9087             },
9088             "promoted": {
9089               "type": "array",
9090               "items": {
9091                 "type": "string"
9092               }
9093             },
9094             "removed": {
9095               "type": "array",
9096               "items": {
9097                 "type": "string"
9098               }
9099             }
9100           },
9101           "additionalProperties": false
9102         },
9103         "ControllersSpec": {
9104           "type": "object",
9105           "properties": {
9106             "constraints": {
9107               "$ref": "#/definitions/Value"
9108             },
9109             "num-controllers": {
9110               "type": "integer"
9111             },
9112             "placement": {
9113               "type": "array",
9114               "items": {
9115                 "type": "string"
9116               }
9117             },
9118             "series": {
9119               "type": "string"
9120             }
9121           },
9122           "additionalProperties": false,
9123           "required": [
9124             "num-controllers"
9125           ]
9126         },
9127         "ControllersSpecs": {
9128           "type": "object",
9129           "properties": {
9130             "specs": {
9131               "type": "array",
9132               "items": {
9133                 "$ref": "#/definitions/ControllersSpec"
9134               }
9135             }
9136           },
9137           "additionalProperties": false,
9138           "required": [
9139             "specs"
9140           ]
9141         },
9142         "Error": {
9143           "type": "object",
9144           "properties": {
9145             "code": {
9146               "type": "string"
9147             },
9148             "info": {
9149               "$ref": "#/definitions/ErrorInfo"
9150             },
9151             "message": {
9152               "type": "string"
9153             }
9154           },
9155           "additionalProperties": false,
9156           "required": [
9157             "message",
9158             "code"
9159           ]
9160         },
9161         "ErrorInfo": {
9162           "type": "object",
9163           "properties": {
9164             "macaroon": {
9165               "$ref": "#/definitions/Macaroon"
9166             },
9167             "macaroon-path": {
9168               "type": "string"
9169             }
9170           },
9171           "additionalProperties": false
9172         },
9173         "HAMember": {
9174           "type": "object",
9175           "properties": {
9176             "public-address": {
9177               "$ref": "#/definitions/Address"
9178             },
9179             "series": {
9180               "type": "string"
9181             },
9182             "tag": {
9183               "type": "string"
9184             }
9185           },
9186           "additionalProperties": false,
9187           "required": [
9188             "tag",
9189             "public-address",
9190             "series"
9191           ]
9192         },
9193         "Macaroon": {
9194           "type": "object",
9195           "additionalProperties": false
9196         },
9197         "Member": {
9198           "type": "object",
9199           "properties": {
9200             "Address": {
9201               "type": "string"
9202             },
9203             "Arbiter": {
9204               "type": "boolean"
9205             },
9206             "BuildIndexes": {
9207               "type": "boolean"
9208             },
9209             "Hidden": {
9210               "type": "boolean"
9211             },
9212             "Id": {
9213               "type": "integer"
9214             },
9215             "Priority": {
9216               "type": "number"
9217             },
9218             "SlaveDelay": {
9219               "type": "integer"
9220             },
9221             "Tags": {
9222               "type": "object",
9223               "patternProperties": {
9224                 ".*": {
9225                   "type": "string"
9226                 }
9227               }
9228             },
9229             "Votes": {
9230               "type": "integer"
9231             }
9232           },
9233           "additionalProperties": false,
9234           "required": [
9235             "Id",
9236             "Address",
9237             "Arbiter",
9238             "BuildIndexes",
9239             "Hidden",
9240             "Priority",
9241             "Tags",
9242             "SlaveDelay",
9243             "Votes"
9244           ]
9245         },
9246         "MongoUpgradeResults": {
9247           "type": "object",
9248           "properties": {
9249             "ha-members": {
9250               "type": "array",
9251               "items": {
9252                 "$ref": "#/definitions/HAMember"
9253               }
9254             },
9255             "master": {
9256               "$ref": "#/definitions/HAMember"
9257             },
9258             "rs-members": {
9259               "type": "array",
9260               "items": {
9261                 "$ref": "#/definitions/Member"
9262               }
9263             }
9264           },
9265           "additionalProperties": false,
9266           "required": [
9267             "rs-members",
9268             "master",
9269             "ha-members"
9270           ]
9271         },
9272         "MongoVersion": {
9273           "type": "object",
9274           "properties": {
9275             "engine": {
9276               "type": "string"
9277             },
9278             "major": {
9279               "type": "integer"
9280             },
9281             "minor": {
9282               "type": "integer"
9283             },
9284             "patch": {
9285               "type": "string"
9286             }
9287           },
9288           "additionalProperties": false,
9289           "required": [
9290             "major",
9291             "minor",
9292             "patch",
9293             "engine"
9294           ]
9295         },
9296         "ResumeReplicationParams": {
9297           "type": "object",
9298           "properties": {
9299             "members": {
9300               "type": "array",
9301               "items": {
9302                 "$ref": "#/definitions/Member"
9303               }
9304             }
9305           },
9306           "additionalProperties": false,
9307           "required": [
9308             "members"
9309           ]
9310         },
9311         "UpgradeMongoParams": {
9312           "type": "object",
9313           "properties": {
9314             "target": {
9315               "$ref": "#/definitions/MongoVersion"
9316             }
9317           },
9318           "additionalProperties": false,
9319           "required": [
9320             "target"
9321           ]
9322         },
9323         "Value": {
9324           "type": "object",
9325           "properties": {
9326             "arch": {
9327               "type": "string"
9328             },
9329             "container": {
9330               "type": "string"
9331             },
9332             "cores": {
9333               "type": "integer"
9334             },
9335             "cpu-power": {
9336               "type": "integer"
9337             },
9338             "instance-type": {
9339               "type": "string"
9340             },
9341             "mem": {
9342               "type": "integer"
9343             },
9344             "root-disk": {
9345               "type": "integer"
9346             },
9347             "spaces": {
9348               "type": "array",
9349               "items": {
9350                 "type": "string"
9351               }
9352             },
9353             "tags": {
9354               "type": "array",
9355               "items": {
9356                 "type": "string"
9357               }
9358             },
9359             "virt-type": {
9360               "type": "string"
9361             }
9362           },
9363           "additionalProperties": false
9364         }
9365       }
9366     }
9367   },
9368   {
9369     "Name": "HostKeyReporter",
9370     "Version": 1,
9371     "Schema": {
9372       "type": "object",
9373       "properties": {
9374         "ReportKeys": {
9375           "type": "object",
9376           "properties": {
9377             "Params": {
9378               "$ref": "#/definitions/SSHHostKeySet"
9379             },
9380             "Result": {
9381               "$ref": "#/definitions/ErrorResults"
9382             }
9383           }
9384         }
9385       },
9386       "definitions": {
9387         "Error": {
9388           "type": "object",
9389           "properties": {
9390             "code": {
9391               "type": "string"
9392             },
9393             "info": {
9394               "$ref": "#/definitions/ErrorInfo"
9395             },
9396             "message": {
9397               "type": "string"
9398             }
9399           },
9400           "additionalProperties": false,
9401           "required": [
9402             "message",
9403             "code"
9404           ]
9405         },
9406         "ErrorInfo": {
9407           "type": "object",
9408           "properties": {
9409             "macaroon": {
9410               "$ref": "#/definitions/Macaroon"
9411             },
9412             "macaroon-path": {
9413               "type": "string"
9414             }
9415           },
9416           "additionalProperties": false
9417         },
9418         "ErrorResult": {
9419           "type": "object",
9420           "properties": {
9421             "error": {
9422               "$ref": "#/definitions/Error"
9423             }
9424           },
9425           "additionalProperties": false
9426         },
9427         "ErrorResults": {
9428           "type": "object",
9429           "properties": {
9430             "results": {
9431               "type": "array",
9432               "items": {
9433                 "$ref": "#/definitions/ErrorResult"
9434               }
9435             }
9436           },
9437           "additionalProperties": false,
9438           "required": [
9439             "results"
9440           ]
9441         },
9442         "Macaroon": {
9443           "type": "object",
9444           "additionalProperties": false
9445         },
9446         "SSHHostKeySet": {
9447           "type": "object",
9448           "properties": {
9449             "entity-keys": {
9450               "type": "array",
9451               "items": {
9452                 "$ref": "#/definitions/SSHHostKeys"
9453               }
9454             }
9455           },
9456           "additionalProperties": false,
9457           "required": [
9458             "entity-keys"
9459           ]
9460         },
9461         "SSHHostKeys": {
9462           "type": "object",
9463           "properties": {
9464             "public-keys": {
9465               "type": "array",
9466               "items": {
9467                 "type": "string"
9468               }
9469             },
9470             "tag": {
9471               "type": "string"
9472             }
9473           },
9474           "additionalProperties": false,
9475           "required": [
9476             "tag",
9477             "public-keys"
9478           ]
9479         }
9480       }
9481     }
9482   },
9483   {
9484     "Name": "ImageManager",
9485     "Version": 2,
9486     "Schema": {
9487       "type": "object",
9488       "properties": {
9489         "DeleteImages": {
9490           "type": "object",
9491           "properties": {
9492             "Params": {
9493               "$ref": "#/definitions/ImageFilterParams"
9494             },
9495             "Result": {
9496               "$ref": "#/definitions/ErrorResults"
9497             }
9498           }
9499         },
9500         "ListImages": {
9501           "type": "object",
9502           "properties": {
9503             "Params": {
9504               "$ref": "#/definitions/ImageFilterParams"
9505             },
9506             "Result": {
9507               "$ref": "#/definitions/ListImageResult"
9508             }
9509           }
9510         }
9511       },
9512       "definitions": {
9513         "Error": {
9514           "type": "object",
9515           "properties": {
9516             "code": {
9517               "type": "string"
9518             },
9519             "info": {
9520               "$ref": "#/definitions/ErrorInfo"
9521             },
9522             "message": {
9523               "type": "string"
9524             }
9525           },
9526           "additionalProperties": false,
9527           "required": [
9528             "message",
9529             "code"
9530           ]
9531         },
9532         "ErrorInfo": {
9533           "type": "object",
9534           "properties": {
9535             "macaroon": {
9536               "$ref": "#/definitions/Macaroon"
9537             },
9538             "macaroon-path": {
9539               "type": "string"
9540             }
9541           },
9542           "additionalProperties": false
9543         },
9544         "ErrorResult": {
9545           "type": "object",
9546           "properties": {
9547             "error": {
9548               "$ref": "#/definitions/Error"
9549             }
9550           },
9551           "additionalProperties": false
9552         },
9553         "ErrorResults": {
9554           "type": "object",
9555           "properties": {
9556             "results": {
9557               "type": "array",
9558               "items": {
9559                 "$ref": "#/definitions/ErrorResult"
9560               }
9561             }
9562           },
9563           "additionalProperties": false,
9564           "required": [
9565             "results"
9566           ]
9567         },
9568         "ImageFilterParams": {
9569           "type": "object",
9570           "properties": {
9571             "images": {
9572               "type": "array",
9573               "items": {
9574                 "$ref": "#/definitions/ImageSpec"
9575               }
9576             }
9577           },
9578           "additionalProperties": false,
9579           "required": [
9580             "images"
9581           ]
9582         },
9583         "ImageMetadata": {
9584           "type": "object",
9585           "properties": {
9586             "arch": {
9587               "type": "string"
9588             },
9589             "created": {
9590               "type": "string",
9591               "format": "date-time"
9592             },
9593             "kind": {
9594               "type": "string"
9595             },
9596             "series": {
9597               "type": "string"
9598             },
9599             "url": {
9600               "type": "string"
9601             }
9602           },
9603           "additionalProperties": false,
9604           "required": [
9605             "kind",
9606             "arch",
9607             "series",
9608             "url",
9609             "created"
9610           ]
9611         },
9612         "ImageSpec": {
9613           "type": "object",
9614           "properties": {
9615             "arch": {
9616               "type": "string"
9617             },
9618             "kind": {
9619               "type": "string"
9620             },
9621             "series": {
9622               "type": "string"
9623             }
9624           },
9625           "additionalProperties": false,
9626           "required": [
9627             "kind",
9628             "arch",
9629             "series"
9630           ]
9631         },
9632         "ListImageResult": {
9633           "type": "object",
9634           "properties": {
9635             "result": {
9636               "type": "array",
9637               "items": {
9638                 "$ref": "#/definitions/ImageMetadata"
9639               }
9640             }
9641           },
9642           "additionalProperties": false,
9643           "required": [
9644             "result"
9645           ]
9646         },
9647         "Macaroon": {
9648           "type": "object",
9649           "additionalProperties": false
9650         }
9651       }
9652     }
9653   },
9654   {
9655     "Name": "ImageMetadata",
9656     "Version": 2,
9657     "Schema": {
9658       "type": "object",
9659       "properties": {
9660         "Delete": {
9661           "type": "object",
9662           "properties": {
9663             "Params": {
9664               "$ref": "#/definitions/MetadataImageIds"
9665             },
9666             "Result": {
9667               "$ref": "#/definitions/ErrorResults"
9668             }
9669           }
9670         },
9671         "List": {
9672           "type": "object",
9673           "properties": {
9674             "Params": {
9675               "$ref": "#/definitions/ImageMetadataFilter"
9676             },
9677             "Result": {
9678               "$ref": "#/definitions/ListCloudImageMetadataResult"
9679             }
9680           }
9681         },
9682         "Save": {
9683           "type": "object",
9684           "properties": {
9685             "Params": {
9686               "$ref": "#/definitions/MetadataSaveParams"
9687             },
9688             "Result": {
9689               "$ref": "#/definitions/ErrorResults"
9690             }
9691           }
9692         },
9693         "UpdateFromPublishedImages": {
9694           "type": "object"
9695         }
9696       },
9697       "definitions": {
9698         "CloudImageMetadata": {
9699           "type": "object",
9700           "properties": {
9701             "arch": {
9702               "type": "string"
9703             },
9704             "image-id": {
9705               "type": "string"
9706             },
9707             "priority": {
9708               "type": "integer"
9709             },
9710             "region": {
9711               "type": "string"
9712             },
9713             "root-storage-size": {
9714               "type": "integer"
9715             },
9716             "root-storage-type": {
9717               "type": "string"
9718             },
9719             "series": {
9720               "type": "string"
9721             },
9722             "source": {
9723               "type": "string"
9724             },
9725             "stream": {
9726               "type": "string"
9727             },
9728             "version": {
9729               "type": "string"
9730             },
9731             "virt-type": {
9732               "type": "string"
9733             }
9734           },
9735           "additionalProperties": false,
9736           "required": [
9737             "image-id",
9738             "region",
9739             "version",
9740             "series",
9741             "arch",
9742             "source",
9743             "priority"
9744           ]
9745         },
9746         "CloudImageMetadataList": {
9747           "type": "object",
9748           "properties": {
9749             "metadata": {
9750               "type": "array",
9751               "items": {
9752                 "$ref": "#/definitions/CloudImageMetadata"
9753               }
9754             }
9755           },
9756           "additionalProperties": false
9757         },
9758         "Error": {
9759           "type": "object",
9760           "properties": {
9761             "code": {
9762               "type": "string"
9763             },
9764             "info": {
9765               "$ref": "#/definitions/ErrorInfo"
9766             },
9767             "message": {
9768               "type": "string"
9769             }
9770           },
9771           "additionalProperties": false,
9772           "required": [
9773             "message",
9774             "code"
9775           ]
9776         },
9777         "ErrorInfo": {
9778           "type": "object",
9779           "properties": {
9780             "macaroon": {
9781               "$ref": "#/definitions/Macaroon"
9782             },
9783             "macaroon-path": {
9784               "type": "string"
9785             }
9786           },
9787           "additionalProperties": false
9788         },
9789         "ErrorResult": {
9790           "type": "object",
9791           "properties": {
9792             "error": {
9793               "$ref": "#/definitions/Error"
9794             }
9795           },
9796           "additionalProperties": false
9797         },
9798         "ErrorResults": {
9799           "type": "object",
9800           "properties": {
9801             "results": {
9802               "type": "array",
9803               "items": {
9804                 "$ref": "#/definitions/ErrorResult"
9805               }
9806             }
9807           },
9808           "additionalProperties": false,
9809           "required": [
9810             "results"
9811           ]
9812         },
9813         "ImageMetadataFilter": {
9814           "type": "object",
9815           "properties": {
9816             "arches": {
9817               "type": "array",
9818               "items": {
9819                 "type": "string"
9820               }
9821             },
9822             "region": {
9823               "type": "string"
9824             },
9825             "root-storage-type": {
9826               "type": "string"
9827             },
9828             "series": {
9829               "type": "array",
9830               "items": {
9831                 "type": "string"
9832               }
9833             },
9834             "stream": {
9835               "type": "string"
9836             },
9837             "virt-type": {
9838               "type": "string"
9839             }
9840           },
9841           "additionalProperties": false
9842         },
9843         "ListCloudImageMetadataResult": {
9844           "type": "object",
9845           "properties": {
9846             "result": {
9847               "type": "array",
9848               "items": {
9849                 "$ref": "#/definitions/CloudImageMetadata"
9850               }
9851             }
9852           },
9853           "additionalProperties": false,
9854           "required": [
9855             "result"
9856           ]
9857         },
9858         "Macaroon": {
9859           "type": "object",
9860           "additionalProperties": false
9861         },
9862         "MetadataImageIds": {
9863           "type": "object",
9864           "properties": {
9865             "image-ids": {
9866               "type": "array",
9867               "items": {
9868                 "type": "string"
9869               }
9870             }
9871           },
9872           "additionalProperties": false,
9873           "required": [
9874             "image-ids"
9875           ]
9876         },
9877         "MetadataSaveParams": {
9878           "type": "object",
9879           "properties": {
9880             "metadata": {
9881               "type": "array",
9882               "items": {
9883                 "$ref": "#/definitions/CloudImageMetadataList"
9884               }
9885             }
9886           },
9887           "additionalProperties": false
9888         }
9889       }
9890     }
9891   },
9892   {
9893     "Name": "InstancePoller",
9894     "Version": 3,
9895     "Schema": {
9896       "type": "object",
9897       "properties": {
9898         "AreManuallyProvisioned": {
9899           "type": "object",
9900           "properties": {
9901             "Params": {
9902               "$ref": "#/definitions/Entities"
9903             },
9904             "Result": {
9905               "$ref": "#/definitions/BoolResults"
9906             }
9907           }
9908         },
9909         "InstanceId": {
9910           "type": "object",
9911           "properties": {
9912             "Params": {
9913               "$ref": "#/definitions/Entities"
9914             },
9915             "Result": {
9916               "$ref": "#/definitions/StringResults"
9917             }
9918           }
9919         },
9920         "InstanceStatus": {
9921           "type": "object",
9922           "properties": {
9923             "Params": {
9924               "$ref": "#/definitions/Entities"
9925             },
9926             "Result": {
9927               "$ref": "#/definitions/StatusResults"
9928             }
9929           }
9930         },
9931         "Life": {
9932           "type": "object",
9933           "properties": {
9934             "Params": {
9935               "$ref": "#/definitions/Entities"
9936             },
9937             "Result": {
9938               "$ref": "#/definitions/LifeResults"
9939             }
9940           }
9941         },
9942         "ModelConfig": {
9943           "type": "object",
9944           "properties": {
9945             "Result": {
9946               "$ref": "#/definitions/ModelConfigResult"
9947             }
9948           }
9949         },
9950         "ProviderAddresses": {
9951           "type": "object",
9952           "properties": {
9953             "Params": {
9954               "$ref": "#/definitions/Entities"
9955             },
9956             "Result": {
9957               "$ref": "#/definitions/MachineAddressesResults"
9958             }
9959           }
9960         },
9961         "SetInstanceStatus": {
9962           "type": "object",
9963           "properties": {
9964             "Params": {
9965               "$ref": "#/definitions/SetStatus"
9966             },
9967             "Result": {
9968               "$ref": "#/definitions/ErrorResults"
9969             }
9970           }
9971         },
9972         "SetProviderAddresses": {
9973           "type": "object",
9974           "properties": {
9975             "Params": {
9976               "$ref": "#/definitions/SetMachinesAddresses"
9977             },
9978             "Result": {
9979               "$ref": "#/definitions/ErrorResults"
9980             }
9981           }
9982         },
9983         "Status": {
9984           "type": "object",
9985           "properties": {
9986             "Params": {
9987               "$ref": "#/definitions/Entities"
9988             },
9989             "Result": {
9990               "$ref": "#/definitions/StatusResults"
9991             }
9992           }
9993         },
9994         "WatchForModelConfigChanges": {
9995           "type": "object",
9996           "properties": {
9997             "Result": {
9998               "$ref": "#/definitions/NotifyWatchResult"
9999             }
10000           }
10001         },
10002         "WatchModelMachines": {
10003           "type": "object",
10004           "properties": {
10005             "Result": {
10006               "$ref": "#/definitions/StringsWatchResult"
10007             }
10008           }
10009         }
10010       },
10011       "definitions": {
10012         "Address": {
10013           "type": "object",
10014           "properties": {
10015             "scope": {
10016               "type": "string"
10017             },
10018             "space-name": {
10019               "type": "string"
10020             },
10021             "type": {
10022               "type": "string"
10023             },
10024             "value": {
10025               "type": "string"
10026             }
10027           },
10028           "additionalProperties": false,
10029           "required": [
10030             "value",
10031             "type",
10032             "scope"
10033           ]
10034         },
10035         "BoolResult": {
10036           "type": "object",
10037           "properties": {
10038             "error": {
10039               "$ref": "#/definitions/Error"
10040             },
10041             "result": {
10042               "type": "boolean"
10043             }
10044           },
10045           "additionalProperties": false,
10046           "required": [
10047             "result"
10048           ]
10049         },
10050         "BoolResults": {
10051           "type": "object",
10052           "properties": {
10053             "results": {
10054               "type": "array",
10055               "items": {
10056                 "$ref": "#/definitions/BoolResult"
10057               }
10058             }
10059           },
10060           "additionalProperties": false,
10061           "required": [
10062             "results"
10063           ]
10064         },
10065         "Entities": {
10066           "type": "object",
10067           "properties": {
10068             "entities": {
10069               "type": "array",
10070               "items": {
10071                 "$ref": "#/definitions/Entity"
10072               }
10073             }
10074           },
10075           "additionalProperties": false,
10076           "required": [
10077             "entities"
10078           ]
10079         },
10080         "Entity": {
10081           "type": "object",
10082           "properties": {
10083             "tag": {
10084               "type": "string"
10085             }
10086           },
10087           "additionalProperties": false,
10088           "required": [
10089             "tag"
10090           ]
10091         },
10092         "EntityStatusArgs": {
10093           "type": "object",
10094           "properties": {
10095             "data": {
10096               "type": "object",
10097               "patternProperties": {
10098                 ".*": {
10099                   "type": "object",
10100                   "additionalProperties": true
10101                 }
10102               }
10103             },
10104             "info": {
10105               "type": "string"
10106             },
10107             "status": {
10108               "type": "string"
10109             },
10110             "tag": {
10111               "type": "string"
10112             }
10113           },
10114           "additionalProperties": false,
10115           "required": [
10116             "tag",
10117             "status",
10118             "info",
10119             "data"
10120           ]
10121         },
10122         "Error": {
10123           "type": "object",
10124           "properties": {
10125             "code": {
10126               "type": "string"
10127             },
10128             "info": {
10129               "$ref": "#/definitions/ErrorInfo"
10130             },
10131             "message": {
10132               "type": "string"
10133             }
10134           },
10135           "additionalProperties": false,
10136           "required": [
10137             "message",
10138             "code"
10139           ]
10140         },
10141         "ErrorInfo": {
10142           "type": "object",
10143           "properties": {
10144             "macaroon": {
10145               "$ref": "#/definitions/Macaroon"
10146             },
10147             "macaroon-path": {
10148               "type": "string"
10149             }
10150           },
10151           "additionalProperties": false
10152         },
10153         "ErrorResult": {
10154           "type": "object",
10155           "properties": {
10156             "error": {
10157               "$ref": "#/definitions/Error"
10158             }
10159           },
10160           "additionalProperties": false
10161         },
10162         "ErrorResults": {
10163           "type": "object",
10164           "properties": {
10165             "results": {
10166               "type": "array",
10167               "items": {
10168                 "$ref": "#/definitions/ErrorResult"
10169               }
10170             }
10171           },
10172           "additionalProperties": false,
10173           "required": [
10174             "results"
10175           ]
10176         },
10177         "LifeResult": {
10178           "type": "object",
10179           "properties": {
10180             "error": {
10181               "$ref": "#/definitions/Error"
10182             },
10183             "life": {
10184               "type": "string"
10185             }
10186           },
10187           "additionalProperties": false,
10188           "required": [
10189             "life"
10190           ]
10191         },
10192         "LifeResults": {
10193           "type": "object",
10194           "properties": {
10195             "results": {
10196               "type": "array",
10197               "items": {
10198                 "$ref": "#/definitions/LifeResult"
10199               }
10200             }
10201           },
10202           "additionalProperties": false,
10203           "required": [
10204             "results"
10205           ]
10206         },
10207         "Macaroon": {
10208           "type": "object",
10209           "additionalProperties": false
10210         },
10211         "MachineAddresses": {
10212           "type": "object",
10213           "properties": {
10214             "addresses": {
10215               "type": "array",
10216               "items": {
10217                 "$ref": "#/definitions/Address"
10218               }
10219             },
10220             "tag": {
10221               "type": "string"
10222             }
10223           },
10224           "additionalProperties": false,
10225           "required": [
10226             "tag",
10227             "addresses"
10228           ]
10229         },
10230         "MachineAddressesResult": {
10231           "type": "object",
10232           "properties": {
10233             "addresses": {
10234               "type": "array",
10235               "items": {
10236                 "$ref": "#/definitions/Address"
10237               }
10238             },
10239             "error": {
10240               "$ref": "#/definitions/Error"
10241             }
10242           },
10243           "additionalProperties": false,
10244           "required": [
10245             "addresses"
10246           ]
10247         },
10248         "MachineAddressesResults": {
10249           "type": "object",
10250           "properties": {
10251             "results": {
10252               "type": "array",
10253               "items": {
10254                 "$ref": "#/definitions/MachineAddressesResult"
10255               }
10256             }
10257           },
10258           "additionalProperties": false,
10259           "required": [
10260             "results"
10261           ]
10262         },
10263         "ModelConfigResult": {
10264           "type": "object",
10265           "properties": {
10266             "config": {
10267               "type": "object",
10268               "patternProperties": {
10269                 ".*": {
10270                   "type": "object",
10271                   "additionalProperties": true
10272                 }
10273               }
10274             }
10275           },
10276           "additionalProperties": false,
10277           "required": [
10278             "config"
10279           ]
10280         },
10281         "NotifyWatchResult": {
10282           "type": "object",
10283           "properties": {
10284             "NotifyWatcherId": {
10285               "type": "string"
10286             },
10287             "error": {
10288               "$ref": "#/definitions/Error"
10289             }
10290           },
10291           "additionalProperties": false,
10292           "required": [
10293             "NotifyWatcherId"
10294           ]
10295         },
10296         "SetMachinesAddresses": {
10297           "type": "object",
10298           "properties": {
10299             "machine-addresses": {
10300               "type": "array",
10301               "items": {
10302                 "$ref": "#/definitions/MachineAddresses"
10303               }
10304             }
10305           },
10306           "additionalProperties": false,
10307           "required": [
10308             "machine-addresses"
10309           ]
10310         },
10311         "SetStatus": {
10312           "type": "object",
10313           "properties": {
10314             "entities": {
10315               "type": "array",
10316               "items": {
10317                 "$ref": "#/definitions/EntityStatusArgs"
10318               }
10319             }
10320           },
10321           "additionalProperties": false,
10322           "required": [
10323             "entities"
10324           ]
10325         },
10326         "StatusResult": {
10327           "type": "object",
10328           "properties": {
10329             "data": {
10330               "type": "object",
10331               "patternProperties": {
10332                 ".*": {
10333                   "type": "object",
10334                   "additionalProperties": true
10335                 }
10336               }
10337             },
10338             "error": {
10339               "$ref": "#/definitions/Error"
10340             },
10341             "id": {
10342               "type": "string"
10343             },
10344             "info": {
10345               "type": "string"
10346             },
10347             "life": {
10348               "type": "string"
10349             },
10350             "since": {
10351               "type": "string",
10352               "format": "date-time"
10353             },
10354             "status": {
10355               "type": "string"
10356             }
10357           },
10358           "additionalProperties": false,
10359           "required": [
10360             "id",
10361             "life",
10362             "status",
10363             "info",
10364             "data",
10365             "since"
10366           ]
10367         },
10368         "StatusResults": {
10369           "type": "object",
10370           "properties": {
10371             "results": {
10372               "type": "array",
10373               "items": {
10374                 "$ref": "#/definitions/StatusResult"
10375               }
10376             }
10377           },
10378           "additionalProperties": false,
10379           "required": [
10380             "results"
10381           ]
10382         },
10383         "StringResult": {
10384           "type": "object",
10385           "properties": {
10386             "error": {
10387               "$ref": "#/definitions/Error"
10388             },
10389             "result": {
10390               "type": "string"
10391             }
10392           },
10393           "additionalProperties": false,
10394           "required": [
10395             "result"
10396           ]
10397         },
10398         "StringResults": {
10399           "type": "object",
10400           "properties": {
10401             "results": {
10402               "type": "array",
10403               "items": {
10404                 "$ref": "#/definitions/StringResult"
10405               }
10406             }
10407           },
10408           "additionalProperties": false,
10409           "required": [
10410             "results"
10411           ]
10412         },
10413         "StringsWatchResult": {
10414           "type": "object",
10415           "properties": {
10416             "changes": {
10417               "type": "array",
10418               "items": {
10419                 "type": "string"
10420               }
10421             },
10422             "error": {
10423               "$ref": "#/definitions/Error"
10424             },
10425             "watcher-id": {
10426               "type": "string"
10427             }
10428           },
10429           "additionalProperties": false,
10430           "required": [
10431             "watcher-id"
10432           ]
10433         }
10434       }
10435     }
10436   },
10437   {
10438     "Name": "KeyManager",
10439     "Version": 1,
10440     "Schema": {
10441       "type": "object",
10442       "properties": {
10443         "AddKeys": {
10444           "type": "object",
10445           "properties": {
10446             "Params": {
10447               "$ref": "#/definitions/ModifyUserSSHKeys"
10448             },
10449             "Result": {
10450               "$ref": "#/definitions/ErrorResults"
10451             }
10452           }
10453         },
10454         "DeleteKeys": {
10455           "type": "object",
10456           "properties": {
10457             "Params": {
10458               "$ref": "#/definitions/ModifyUserSSHKeys"
10459             },
10460             "Result": {
10461               "$ref": "#/definitions/ErrorResults"
10462             }
10463           }
10464         },
10465         "ImportKeys": {
10466           "type": "object",
10467           "properties": {
10468             "Params": {
10469               "$ref": "#/definitions/ModifyUserSSHKeys"
10470             },
10471             "Result": {
10472               "$ref": "#/definitions/ErrorResults"
10473             }
10474           }
10475         },
10476         "ListKeys": {
10477           "type": "object",
10478           "properties": {
10479             "Params": {
10480               "$ref": "#/definitions/ListSSHKeys"
10481             },
10482             "Result": {
10483               "$ref": "#/definitions/StringsResults"
10484             }
10485           }
10486         }
10487       },
10488       "definitions": {
10489         "Entities": {
10490           "type": "object",
10491           "properties": {
10492             "entities": {
10493               "type": "array",
10494               "items": {
10495                 "$ref": "#/definitions/Entity"
10496               }
10497             }
10498           },
10499           "additionalProperties": false,
10500           "required": [
10501             "entities"
10502           ]
10503         },
10504         "Entity": {
10505           "type": "object",
10506           "properties": {
10507             "tag": {
10508               "type": "string"
10509             }
10510           },
10511           "additionalProperties": false,
10512           "required": [
10513             "tag"
10514           ]
10515         },
10516         "Error": {
10517           "type": "object",
10518           "properties": {
10519             "code": {
10520               "type": "string"
10521             },
10522             "info": {
10523               "$ref": "#/definitions/ErrorInfo"
10524             },
10525             "message": {
10526               "type": "string"
10527             }
10528           },
10529           "additionalProperties": false,
10530           "required": [
10531             "message",
10532             "code"
10533           ]
10534         },
10535         "ErrorInfo": {
10536           "type": "object",
10537           "properties": {
10538             "macaroon": {
10539               "$ref": "#/definitions/Macaroon"
10540             },
10541             "macaroon-path": {
10542               "type": "string"
10543             }
10544           },
10545           "additionalProperties": false
10546         },
10547         "ErrorResult": {
10548           "type": "object",
10549           "properties": {
10550             "error": {
10551               "$ref": "#/definitions/Error"
10552             }
10553           },
10554           "additionalProperties": false
10555         },
10556         "ErrorResults": {
10557           "type": "object",
10558           "properties": {
10559             "results": {
10560               "type": "array",
10561               "items": {
10562                 "$ref": "#/definitions/ErrorResult"
10563               }
10564             }
10565           },
10566           "additionalProperties": false,
10567           "required": [
10568             "results"
10569           ]
10570         },
10571         "ListSSHKeys": {
10572           "type": "object",
10573           "properties": {
10574             "entities": {
10575               "$ref": "#/definitions/Entities"
10576             },
10577             "mode": {
10578               "type": "boolean"
10579             }
10580           },
10581           "additionalProperties": false,
10582           "required": [
10583             "entities",
10584             "mode"
10585           ]
10586         },
10587         "Macaroon": {
10588           "type": "object",
10589           "additionalProperties": false
10590         },
10591         "ModifyUserSSHKeys": {
10592           "type": "object",
10593           "properties": {
10594             "ssh-keys": {
10595               "type": "array",
10596               "items": {
10597                 "type": "string"
10598               }
10599             },
10600             "user": {
10601               "type": "string"
10602             }
10603           },
10604           "additionalProperties": false,
10605           "required": [
10606             "user",
10607             "ssh-keys"
10608           ]
10609         },
10610         "StringsResult": {
10611           "type": "object",
10612           "properties": {
10613             "error": {
10614               "$ref": "#/definitions/Error"
10615             },
10616             "result": {
10617               "type": "array",
10618               "items": {
10619                 "type": "string"
10620               }
10621             }
10622           },
10623           "additionalProperties": false
10624         },
10625         "StringsResults": {
10626           "type": "object",
10627           "properties": {
10628             "results": {
10629               "type": "array",
10630               "items": {
10631                 "$ref": "#/definitions/StringsResult"
10632               }
10633             }
10634           },
10635           "additionalProperties": false,
10636           "required": [
10637             "results"
10638           ]
10639         }
10640       }
10641     }
10642   },
10643   {
10644     "Name": "KeyUpdater",
10645     "Version": 1,
10646     "Schema": {
10647       "type": "object",
10648       "properties": {
10649         "AuthorisedKeys": {
10650           "type": "object",
10651           "properties": {
10652             "Params": {
10653               "$ref": "#/definitions/Entities"
10654             },
10655             "Result": {
10656               "$ref": "#/definitions/StringsResults"
10657             }
10658           }
10659         },
10660         "WatchAuthorisedKeys": {
10661           "type": "object",
10662           "properties": {
10663             "Params": {
10664               "$ref": "#/definitions/Entities"
10665             },
10666             "Result": {
10667               "$ref": "#/definitions/NotifyWatchResults"
10668             }
10669           }
10670         }
10671       },
10672       "definitions": {
10673         "Entities": {
10674           "type": "object",
10675           "properties": {
10676             "entities": {
10677               "type": "array",
10678               "items": {
10679                 "$ref": "#/definitions/Entity"
10680               }
10681             }
10682           },
10683           "additionalProperties": false,
10684           "required": [
10685             "entities"
10686           ]
10687         },
10688         "Entity": {
10689           "type": "object",
10690           "properties": {
10691             "tag": {
10692               "type": "string"
10693             }
10694           },
10695           "additionalProperties": false,
10696           "required": [
10697             "tag"
10698           ]
10699         },
10700         "Error": {
10701           "type": "object",
10702           "properties": {
10703             "code": {
10704               "type": "string"
10705             },
10706             "info": {
10707               "$ref": "#/definitions/ErrorInfo"
10708             },
10709             "message": {
10710               "type": "string"
10711             }
10712           },
10713           "additionalProperties": false,
10714           "required": [
10715             "message",
10716             "code"
10717           ]
10718         },
10719         "ErrorInfo": {
10720           "type": "object",
10721           "properties": {
10722             "macaroon": {
10723               "$ref": "#/definitions/Macaroon"
10724             },
10725             "macaroon-path": {
10726               "type": "string"
10727             }
10728           },
10729           "additionalProperties": false
10730         },
10731         "Macaroon": {
10732           "type": "object",
10733           "additionalProperties": false
10734         },
10735         "NotifyWatchResult": {
10736           "type": "object",
10737           "properties": {
10738             "NotifyWatcherId": {
10739               "type": "string"
10740             },
10741             "error": {
10742               "$ref": "#/definitions/Error"
10743             }
10744           },
10745           "additionalProperties": false,
10746           "required": [
10747             "NotifyWatcherId"
10748           ]
10749         },
10750         "NotifyWatchResults": {
10751           "type": "object",
10752           "properties": {
10753             "results": {
10754               "type": "array",
10755               "items": {
10756                 "$ref": "#/definitions/NotifyWatchResult"
10757               }
10758             }
10759           },
10760           "additionalProperties": false,
10761           "required": [
10762             "results"
10763           ]
10764         },
10765         "StringsResult": {
10766           "type": "object",
10767           "properties": {
10768             "error": {
10769               "$ref": "#/definitions/Error"
10770             },
10771             "result": {
10772               "type": "array",
10773               "items": {
10774                 "type": "string"
10775               }
10776             }
10777           },
10778           "additionalProperties": false
10779         },
10780         "StringsResults": {
10781           "type": "object",
10782           "properties": {
10783             "results": {
10784               "type": "array",
10785               "items": {
10786                 "$ref": "#/definitions/StringsResult"
10787               }
10788             }
10789           },
10790           "additionalProperties": false,
10791           "required": [
10792             "results"
10793           ]
10794         }
10795       }
10796     }
10797   },
10798   {
10799     "Name": "LeadershipService",
10800     "Version": 2,
10801     "Schema": {
10802       "type": "object",
10803       "properties": {
10804         "BlockUntilLeadershipReleased": {
10805           "type": "object",
10806           "properties": {
10807             "Params": {
10808               "$ref": "#/definitions/ApplicationTag"
10809             },
10810             "Result": {
10811               "$ref": "#/definitions/ErrorResult"
10812             }
10813           }
10814         },
10815         "ClaimLeadership": {
10816           "type": "object",
10817           "properties": {
10818             "Params": {
10819               "$ref": "#/definitions/ClaimLeadershipBulkParams"
10820             },
10821             "Result": {
10822               "$ref": "#/definitions/ClaimLeadershipBulkResults"
10823             }
10824           }
10825         }
10826       },
10827       "definitions": {
10828         "ApplicationTag": {
10829           "type": "object",
10830           "properties": {
10831             "Name": {
10832               "type": "string"
10833             }
10834           },
10835           "additionalProperties": false,
10836           "required": [
10837             "Name"
10838           ]
10839         },
10840         "ClaimLeadershipBulkParams": {
10841           "type": "object",
10842           "properties": {
10843             "params": {
10844               "type": "array",
10845               "items": {
10846                 "$ref": "#/definitions/ClaimLeadershipParams"
10847               }
10848             }
10849           },
10850           "additionalProperties": false,
10851           "required": [
10852             "params"
10853           ]
10854         },
10855         "ClaimLeadershipBulkResults": {
10856           "type": "object",
10857           "properties": {
10858             "results": {
10859               "type": "array",
10860               "items": {
10861                 "$ref": "#/definitions/ErrorResult"
10862               }
10863             }
10864           },
10865           "additionalProperties": false,
10866           "required": [
10867             "results"
10868           ]
10869         },
10870         "ClaimLeadershipParams": {
10871           "type": "object",
10872           "properties": {
10873             "application-tag": {
10874               "type": "string"
10875             },
10876             "duration": {
10877               "type": "number"
10878             },
10879             "unit-tag": {
10880               "type": "string"
10881             }
10882           },
10883           "additionalProperties": false,
10884           "required": [
10885             "application-tag",
10886             "unit-tag",
10887             "duration"
10888           ]
10889         },
10890         "Error": {
10891           "type": "object",
10892           "properties": {
10893             "code": {
10894               "type": "string"
10895             },
10896             "info": {
10897               "$ref": "#/definitions/ErrorInfo"
10898             },
10899             "message": {
10900               "type": "string"
10901             }
10902           },
10903           "additionalProperties": false,
10904           "required": [
10905             "message",
10906             "code"
10907           ]
10908         },
10909         "ErrorInfo": {
10910           "type": "object",
10911           "properties": {
10912             "macaroon": {
10913               "$ref": "#/definitions/Macaroon"
10914             },
10915             "macaroon-path": {
10916               "type": "string"
10917             }
10918           },
10919           "additionalProperties": false
10920         },
10921         "ErrorResult": {
10922           "type": "object",
10923           "properties": {
10924             "error": {
10925               "$ref": "#/definitions/Error"
10926             }
10927           },
10928           "additionalProperties": false
10929         },
10930         "Macaroon": {
10931           "type": "object",
10932           "additionalProperties": false
10933         }
10934       }
10935     }
10936   },
10937   {
10938     "Name": "LifeFlag",
10939     "Version": 1,
10940     "Schema": {
10941       "type": "object",
10942       "properties": {
10943         "Life": {
10944           "type": "object",
10945           "properties": {
10946             "Params": {
10947               "$ref": "#/definitions/Entities"
10948             },
10949             "Result": {
10950               "$ref": "#/definitions/LifeResults"
10951             }
10952           }
10953         },
10954         "Watch": {
10955           "type": "object",
10956           "properties": {
10957             "Params": {
10958               "$ref": "#/definitions/Entities"
10959             },
10960             "Result": {
10961               "$ref": "#/definitions/NotifyWatchResults"
10962             }
10963           }
10964         }
10965       },
10966       "definitions": {
10967         "Entities": {
10968           "type": "object",
10969           "properties": {
10970             "entities": {
10971               "type": "array",
10972               "items": {
10973                 "$ref": "#/definitions/Entity"
10974               }
10975             }
10976           },
10977           "additionalProperties": false,
10978           "required": [
10979             "entities"
10980           ]
10981         },
10982         "Entity": {
10983           "type": "object",
10984           "properties": {
10985             "tag": {
10986               "type": "string"
10987             }
10988           },
10989           "additionalProperties": false,
10990           "required": [
10991             "tag"
10992           ]
10993         },
10994         "Error": {
10995           "type": "object",
10996           "properties": {
10997             "code": {
10998               "type": "string"
10999             },
11000             "info": {
11001               "$ref": "#/definitions/ErrorInfo"
11002             },
11003             "message": {
11004               "type": "string"
11005             }
11006           },
11007           "additionalProperties": false,
11008           "required": [
11009             "message",
11010             "code"
11011           ]
11012         },
11013         "ErrorInfo": {
11014           "type": "object",
11015           "properties": {
11016             "macaroon": {
11017               "$ref": "#/definitions/Macaroon"
11018             },
11019             "macaroon-path": {
11020               "type": "string"
11021             }
11022           },
11023           "additionalProperties": false
11024         },
11025         "LifeResult": {
11026           "type": "object",
11027           "properties": {
11028             "error": {
11029               "$ref": "#/definitions/Error"
11030             },
11031             "life": {
11032               "type": "string"
11033             }
11034           },
11035           "additionalProperties": false,
11036           "required": [
11037             "life"
11038           ]
11039         },
11040         "LifeResults": {
11041           "type": "object",
11042           "properties": {
11043             "results": {
11044               "type": "array",
11045               "items": {
11046                 "$ref": "#/definitions/LifeResult"
11047               }
11048             }
11049           },
11050           "additionalProperties": false,
11051           "required": [
11052             "results"
11053           ]
11054         },
11055         "Macaroon": {
11056           "type": "object",
11057           "additionalProperties": false
11058         },
11059         "NotifyWatchResult": {
11060           "type": "object",
11061           "properties": {
11062             "NotifyWatcherId": {
11063               "type": "string"
11064             },
11065             "error": {
11066               "$ref": "#/definitions/Error"
11067             }
11068           },
11069           "additionalProperties": false,
11070           "required": [
11071             "NotifyWatcherId"
11072           ]
11073         },
11074         "NotifyWatchResults": {
11075           "type": "object",
11076           "properties": {
11077             "results": {
11078               "type": "array",
11079               "items": {
11080                 "$ref": "#/definitions/NotifyWatchResult"
11081               }
11082             }
11083           },
11084           "additionalProperties": false,
11085           "required": [
11086             "results"
11087           ]
11088         }
11089       }
11090     }
11091   },
11092   {
11093     "Name": "LogForwarding",
11094     "Version": 1,
11095     "Schema": {
11096       "type": "object",
11097       "properties": {
11098         "GetLastSent": {
11099           "type": "object",
11100           "properties": {
11101             "Params": {
11102               "$ref": "#/definitions/LogForwardingGetLastSentParams"
11103             },
11104             "Result": {
11105               "$ref": "#/definitions/LogForwardingGetLastSentResults"
11106             }
11107           }
11108         },
11109         "SetLastSent": {
11110           "type": "object",
11111           "properties": {
11112             "Params": {
11113               "$ref": "#/definitions/LogForwardingSetLastSentParams"
11114             },
11115             "Result": {
11116               "$ref": "#/definitions/ErrorResults"
11117             }
11118           }
11119         }
11120       },
11121       "definitions": {
11122         "Error": {
11123           "type": "object",
11124           "properties": {
11125             "code": {
11126               "type": "string"
11127             },
11128             "info": {
11129               "$ref": "#/definitions/ErrorInfo"
11130             },
11131             "message": {
11132               "type": "string"
11133             }
11134           },
11135           "additionalProperties": false,
11136           "required": [
11137             "message",
11138             "code"
11139           ]
11140         },
11141         "ErrorInfo": {
11142           "type": "object",
11143           "properties": {
11144             "macaroon": {
11145               "$ref": "#/definitions/Macaroon"
11146             },
11147             "macaroon-path": {
11148               "type": "string"
11149             }
11150           },
11151           "additionalProperties": false
11152         },
11153         "ErrorResult": {
11154           "type": "object",
11155           "properties": {
11156             "error": {
11157               "$ref": "#/definitions/Error"
11158             }
11159           },
11160           "additionalProperties": false
11161         },
11162         "ErrorResults": {
11163           "type": "object",
11164           "properties": {
11165             "results": {
11166               "type": "array",
11167               "items": {
11168                 "$ref": "#/definitions/ErrorResult"
11169               }
11170             }
11171           },
11172           "additionalProperties": false,
11173           "required": [
11174             "results"
11175           ]
11176         },
11177         "LogForwardingGetLastSentParams": {
11178           "type": "object",
11179           "properties": {
11180             "ids": {
11181               "type": "array",
11182               "items": {
11183                 "$ref": "#/definitions/LogForwardingID"
11184               }
11185             }
11186           },
11187           "additionalProperties": false,
11188           "required": [
11189             "ids"
11190           ]
11191         },
11192         "LogForwardingGetLastSentResult": {
11193           "type": "object",
11194           "properties": {
11195             "err": {
11196               "$ref": "#/definitions/Error"
11197             },
11198             "record-id": {
11199               "type": "integer"
11200             },
11201             "record-timestamp": {
11202               "type": "integer"
11203             }
11204           },
11205           "additionalProperties": false,
11206           "required": [
11207             "record-id",
11208             "record-timestamp",
11209             "err"
11210           ]
11211         },
11212         "LogForwardingGetLastSentResults": {
11213           "type": "object",
11214           "properties": {
11215             "results": {
11216               "type": "array",
11217               "items": {
11218                 "$ref": "#/definitions/LogForwardingGetLastSentResult"
11219               }
11220             }
11221           },
11222           "additionalProperties": false,
11223           "required": [
11224             "results"
11225           ]
11226         },
11227         "LogForwardingID": {
11228           "type": "object",
11229           "properties": {
11230             "model": {
11231               "type": "string"
11232             },
11233             "sink": {
11234               "type": "string"
11235             }
11236           },
11237           "additionalProperties": false,
11238           "required": [
11239             "model",
11240             "sink"
11241           ]
11242         },
11243         "LogForwardingSetLastSentParam": {
11244           "type": "object",
11245           "properties": {
11246             "LogForwardingID": {
11247               "$ref": "#/definitions/LogForwardingID"
11248             },
11249             "record-id": {
11250               "type": "integer"
11251             },
11252             "record-timestamp": {
11253               "type": "integer"
11254             }
11255           },
11256           "additionalProperties": false,
11257           "required": [
11258             "LogForwardingID",
11259             "record-id",
11260             "record-timestamp"
11261           ]
11262         },
11263         "LogForwardingSetLastSentParams": {
11264           "type": "object",
11265           "properties": {
11266             "params": {
11267               "type": "array",
11268               "items": {
11269                 "$ref": "#/definitions/LogForwardingSetLastSentParam"
11270               }
11271             }
11272           },
11273           "additionalProperties": false,
11274           "required": [
11275             "params"
11276           ]
11277         },
11278         "Macaroon": {
11279           "type": "object",
11280           "additionalProperties": false
11281         }
11282       }
11283     }
11284   },
11285   {
11286     "Name": "Logger",
11287     "Version": 1,
11288     "Schema": {
11289       "type": "object",
11290       "properties": {
11291         "LoggingConfig": {
11292           "type": "object",
11293           "properties": {
11294             "Params": {
11295               "$ref": "#/definitions/Entities"
11296             },
11297             "Result": {
11298               "$ref": "#/definitions/StringResults"
11299             }
11300           }
11301         },
11302         "WatchLoggingConfig": {
11303           "type": "object",
11304           "properties": {
11305             "Params": {
11306               "$ref": "#/definitions/Entities"
11307             },
11308             "Result": {
11309               "$ref": "#/definitions/NotifyWatchResults"
11310             }
11311           }
11312         }
11313       },
11314       "definitions": {
11315         "Entities": {
11316           "type": "object",
11317           "properties": {
11318             "entities": {
11319               "type": "array",
11320               "items": {
11321                 "$ref": "#/definitions/Entity"
11322               }
11323             }
11324           },
11325           "additionalProperties": false,
11326           "required": [
11327             "entities"
11328           ]
11329         },
11330         "Entity": {
11331           "type": "object",
11332           "properties": {
11333             "tag": {
11334               "type": "string"
11335             }
11336           },
11337           "additionalProperties": false,
11338           "required": [
11339             "tag"
11340           ]
11341         },
11342         "Error": {
11343           "type": "object",
11344           "properties": {
11345             "code": {
11346               "type": "string"
11347             },
11348             "info": {
11349               "$ref": "#/definitions/ErrorInfo"
11350             },
11351             "message": {
11352               "type": "string"
11353             }
11354           },
11355           "additionalProperties": false,
11356           "required": [
11357             "message",
11358             "code"
11359           ]
11360         },
11361         "ErrorInfo": {
11362           "type": "object",
11363           "properties": {
11364             "macaroon": {
11365               "$ref": "#/definitions/Macaroon"
11366             },
11367             "macaroon-path": {
11368               "type": "string"
11369             }
11370           },
11371           "additionalProperties": false
11372         },
11373         "Macaroon": {
11374           "type": "object",
11375           "additionalProperties": false
11376         },
11377         "NotifyWatchResult": {
11378           "type": "object",
11379           "properties": {
11380             "NotifyWatcherId": {
11381               "type": "string"
11382             },
11383             "error": {
11384               "$ref": "#/definitions/Error"
11385             }
11386           },
11387           "additionalProperties": false,
11388           "required": [
11389             "NotifyWatcherId"
11390           ]
11391         },
11392         "NotifyWatchResults": {
11393           "type": "object",
11394           "properties": {
11395             "results": {
11396               "type": "array",
11397               "items": {
11398                 "$ref": "#/definitions/NotifyWatchResult"
11399               }
11400             }
11401           },
11402           "additionalProperties": false,
11403           "required": [
11404             "results"
11405           ]
11406         },
11407         "StringResult": {
11408           "type": "object",
11409           "properties": {
11410             "error": {
11411               "$ref": "#/definitions/Error"
11412             },
11413             "result": {
11414               "type": "string"
11415             }
11416           },
11417           "additionalProperties": false,
11418           "required": [
11419             "result"
11420           ]
11421         },
11422         "StringResults": {
11423           "type": "object",
11424           "properties": {
11425             "results": {
11426               "type": "array",
11427               "items": {
11428                 "$ref": "#/definitions/StringResult"
11429               }
11430             }
11431           },
11432           "additionalProperties": false,
11433           "required": [
11434             "results"
11435           ]
11436         }
11437       }
11438     }
11439   },
11440   {
11441     "Name": "MachineActions",
11442     "Version": 1,
11443     "Schema": {
11444       "type": "object",
11445       "properties": {
11446         "Actions": {
11447           "type": "object",
11448           "properties": {
11449             "Params": {
11450               "$ref": "#/definitions/Entities"
11451             },
11452             "Result": {
11453               "$ref": "#/definitions/ActionResults"
11454             }
11455           }
11456         },
11457         "BeginActions": {
11458           "type": "object",
11459           "properties": {
11460             "Params": {
11461               "$ref": "#/definitions/Entities"
11462             },
11463             "Result": {
11464               "$ref": "#/definitions/ErrorResults"
11465             }
11466           }
11467         },
11468         "FinishActions": {
11469           "type": "object",
11470           "properties": {
11471             "Params": {
11472               "$ref": "#/definitions/ActionExecutionResults"
11473             },
11474             "Result": {
11475               "$ref": "#/definitions/ErrorResults"
11476             }
11477           }
11478         },
11479         "RunningActions": {
11480           "type": "object",
11481           "properties": {
11482             "Params": {
11483               "$ref": "#/definitions/Entities"
11484             },
11485             "Result": {
11486               "$ref": "#/definitions/ActionsByReceivers"
11487             }
11488           }
11489         },
11490         "WatchActionNotifications": {
11491           "type": "object",
11492           "properties": {
11493             "Params": {
11494               "$ref": "#/definitions/Entities"
11495             },
11496             "Result": {
11497               "$ref": "#/definitions/StringsWatchResults"
11498             }
11499           }
11500         }
11501       },
11502       "definitions": {
11503         "Action": {
11504           "type": "object",
11505           "properties": {
11506             "name": {
11507               "type": "string"
11508             },
11509             "parameters": {
11510               "type": "object",
11511               "patternProperties": {
11512                 ".*": {
11513                   "type": "object",
11514                   "additionalProperties": true
11515                 }
11516               }
11517             },
11518             "receiver": {
11519               "type": "string"
11520             },
11521             "tag": {
11522               "type": "string"
11523             }
11524           },
11525           "additionalProperties": false,
11526           "required": [
11527             "tag",
11528             "receiver",
11529             "name"
11530           ]
11531         },
11532         "ActionExecutionResult": {
11533           "type": "object",
11534           "properties": {
11535             "action-tag": {
11536               "type": "string"
11537             },
11538             "message": {
11539               "type": "string"
11540             },
11541             "results": {
11542               "type": "object",
11543               "patternProperties": {
11544                 ".*": {
11545                   "type": "object",
11546                   "additionalProperties": true
11547                 }
11548               }
11549             },
11550             "status": {
11551               "type": "string"
11552             }
11553           },
11554           "additionalProperties": false,
11555           "required": [
11556             "action-tag",
11557             "status"
11558           ]
11559         },
11560         "ActionExecutionResults": {
11561           "type": "object",
11562           "properties": {
11563             "results": {
11564               "type": "array",
11565               "items": {
11566                 "$ref": "#/definitions/ActionExecutionResult"
11567               }
11568             }
11569           },
11570           "additionalProperties": false
11571         },
11572         "ActionResult": {
11573           "type": "object",
11574           "properties": {
11575             "action": {
11576               "$ref": "#/definitions/Action"
11577             },
11578             "completed": {
11579               "type": "string",
11580               "format": "date-time"
11581             },
11582             "enqueued": {
11583               "type": "string",
11584               "format": "date-time"
11585             },
11586             "error": {
11587               "$ref": "#/definitions/Error"
11588             },
11589             "message": {
11590               "type": "string"
11591             },
11592             "output": {
11593               "type": "object",
11594               "patternProperties": {
11595                 ".*": {
11596                   "type": "object",
11597                   "additionalProperties": true
11598                 }
11599               }
11600             },
11601             "started": {
11602               "type": "string",
11603               "format": "date-time"
11604             },
11605             "status": {
11606               "type": "string"
11607             }
11608           },
11609           "additionalProperties": false
11610         },
11611         "ActionResults": {
11612           "type": "object",
11613           "properties": {
11614             "results": {
11615               "type": "array",
11616               "items": {
11617                 "$ref": "#/definitions/ActionResult"
11618               }
11619             }
11620           },
11621           "additionalProperties": false
11622         },
11623         "ActionsByReceiver": {
11624           "type": "object",
11625           "properties": {
11626             "actions": {
11627               "type": "array",
11628               "items": {
11629                 "$ref": "#/definitions/ActionResult"
11630               }
11631             },
11632             "error": {
11633               "$ref": "#/definitions/Error"
11634             },
11635             "receiver": {
11636               "type": "string"
11637             }
11638           },
11639           "additionalProperties": false
11640         },
11641         "ActionsByReceivers": {
11642           "type": "object",
11643           "properties": {
11644             "actions": {
11645               "type": "array",
11646               "items": {
11647                 "$ref": "#/definitions/ActionsByReceiver"
11648               }
11649             }
11650           },
11651           "additionalProperties": false
11652         },
11653         "Entities": {
11654           "type": "object",
11655           "properties": {
11656             "entities": {
11657               "type": "array",
11658               "items": {
11659                 "$ref": "#/definitions/Entity"
11660               }
11661             }
11662           },
11663           "additionalProperties": false,
11664           "required": [
11665             "entities"
11666           ]
11667         },
11668         "Entity": {
11669           "type": "object",
11670           "properties": {
11671             "tag": {
11672               "type": "string"
11673             }
11674           },
11675           "additionalProperties": false,
11676           "required": [
11677             "tag"
11678           ]
11679         },
11680         "Error": {
11681           "type": "object",
11682           "properties": {
11683             "code": {
11684               "type": "string"
11685             },
11686             "info": {
11687               "$ref": "#/definitions/ErrorInfo"
11688             },
11689             "message": {
11690               "type": "string"
11691             }
11692           },
11693           "additionalProperties": false,
11694           "required": [
11695             "message",
11696             "code"
11697           ]
11698         },
11699         "ErrorInfo": {
11700           "type": "object",
11701           "properties": {
11702             "macaroon": {
11703               "$ref": "#/definitions/Macaroon"
11704             },
11705             "macaroon-path": {
11706               "type": "string"
11707             }
11708           },
11709           "additionalProperties": false
11710         },
11711         "ErrorResult": {
11712           "type": "object",
11713           "properties": {
11714             "error": {
11715               "$ref": "#/definitions/Error"
11716             }
11717           },
11718           "additionalProperties": false
11719         },
11720         "ErrorResults": {
11721           "type": "object",
11722           "properties": {
11723             "results": {
11724               "type": "array",
11725               "items": {
11726                 "$ref": "#/definitions/ErrorResult"
11727               }
11728             }
11729           },
11730           "additionalProperties": false,
11731           "required": [
11732             "results"
11733           ]
11734         },
11735         "Macaroon": {
11736           "type": "object",
11737           "additionalProperties": false
11738         },
11739         "StringsWatchResult": {
11740           "type": "object",
11741           "properties": {
11742             "changes": {
11743               "type": "array",
11744               "items": {
11745                 "type": "string"
11746               }
11747             },
11748             "error": {
11749               "$ref": "#/definitions/Error"
11750             },
11751             "watcher-id": {
11752               "type": "string"
11753             }
11754           },
11755           "additionalProperties": false,
11756           "required": [
11757             "watcher-id"
11758           ]
11759         },
11760         "StringsWatchResults": {
11761           "type": "object",
11762           "properties": {
11763             "results": {
11764               "type": "array",
11765               "items": {
11766                 "$ref": "#/definitions/StringsWatchResult"
11767               }
11768             }
11769           },
11770           "additionalProperties": false,
11771           "required": [
11772             "results"
11773           ]
11774         }
11775       }
11776     }
11777   },
11778   {
11779     "Name": "MachineManager",
11780     "Version": 3,
11781     "Schema": {
11782       "type": "object",
11783       "properties": {
11784         "AddMachines": {
11785           "type": "object",
11786           "properties": {
11787             "Params": {
11788               "$ref": "#/definitions/AddMachines"
11789             },
11790             "Result": {
11791               "$ref": "#/definitions/AddMachinesResults"
11792             }
11793           }
11794         },
11795         "DestroyMachine": {
11796           "type": "object",
11797           "properties": {
11798             "Params": {
11799               "$ref": "#/definitions/Entities"
11800             },
11801             "Result": {
11802               "$ref": "#/definitions/DestroyMachineResults"
11803             }
11804           }
11805         },
11806         "ForceDestroyMachine": {
11807           "type": "object",
11808           "properties": {
11809             "Params": {
11810               "$ref": "#/definitions/Entities"
11811             },
11812             "Result": {
11813               "$ref": "#/definitions/DestroyMachineResults"
11814             }
11815           }
11816         },
11817         "InstanceTypes": {
11818           "type": "object",
11819           "properties": {
11820             "Params": {
11821               "$ref": "#/definitions/ModelInstanceTypesConstraints"
11822             },
11823             "Result": {
11824               "$ref": "#/definitions/InstanceTypesResults"
11825             }
11826           }
11827         }
11828       },
11829       "definitions": {
11830         "AddMachineParams": {
11831           "type": "object",
11832           "properties": {
11833             "addresses": {
11834               "type": "array",
11835               "items": {
11836                 "$ref": "#/definitions/Address"
11837               }
11838             },
11839             "constraints": {
11840               "$ref": "#/definitions/Value"
11841             },
11842             "container-type": {
11843               "type": "string"
11844             },
11845             "disks": {
11846               "type": "array",
11847               "items": {
11848                 "$ref": "#/definitions/Constraints"
11849               }
11850             },
11851             "hardware-characteristics": {
11852               "$ref": "#/definitions/HardwareCharacteristics"
11853             },
11854             "instance-id": {
11855               "type": "string"
11856             },
11857             "jobs": {
11858               "type": "array",
11859               "items": {
11860                 "type": "string"
11861               }
11862             },
11863             "nonce": {
11864               "type": "string"
11865             },
11866             "parent-id": {
11867               "type": "string"
11868             },
11869             "placement": {
11870               "$ref": "#/definitions/Placement"
11871             },
11872             "series": {
11873               "type": "string"
11874             }
11875           },
11876           "additionalProperties": false,
11877           "required": [
11878             "series",
11879             "constraints",
11880             "jobs",
11881             "parent-id",
11882             "container-type",
11883             "instance-id",
11884             "nonce",
11885             "hardware-characteristics",
11886             "addresses"
11887           ]
11888         },
11889         "AddMachines": {
11890           "type": "object",
11891           "properties": {
11892             "params": {
11893               "type": "array",
11894               "items": {
11895                 "$ref": "#/definitions/AddMachineParams"
11896               }
11897             }
11898           },
11899           "additionalProperties": false,
11900           "required": [
11901             "params"
11902           ]
11903         },
11904         "AddMachinesResult": {
11905           "type": "object",
11906           "properties": {
11907             "error": {
11908               "$ref": "#/definitions/Error"
11909             },
11910             "machine": {
11911               "type": "string"
11912             }
11913           },
11914           "additionalProperties": false,
11915           "required": [
11916             "machine"
11917           ]
11918         },
11919         "AddMachinesResults": {
11920           "type": "object",
11921           "properties": {
11922             "machines": {
11923               "type": "array",
11924               "items": {
11925                 "$ref": "#/definitions/AddMachinesResult"
11926               }
11927             }
11928           },
11929           "additionalProperties": false,
11930           "required": [
11931             "machines"
11932           ]
11933         },
11934         "Address": {
11935           "type": "object",
11936           "properties": {
11937             "scope": {
11938               "type": "string"
11939             },
11940             "space-name": {
11941               "type": "string"
11942             },
11943             "type": {
11944               "type": "string"
11945             },
11946             "value": {
11947               "type": "string"
11948             }
11949           },
11950           "additionalProperties": false,
11951           "required": [
11952             "value",
11953             "type",
11954             "scope"
11955           ]
11956         },
11957         "Constraints": {
11958           "type": "object",
11959           "properties": {
11960             "Count": {
11961               "type": "integer"
11962             },
11963             "Pool": {
11964               "type": "string"
11965             },
11966             "Size": {
11967               "type": "integer"
11968             }
11969           },
11970           "additionalProperties": false,
11971           "required": [
11972             "Pool",
11973             "Size",
11974             "Count"
11975           ]
11976         },
11977         "DestroyMachineInfo": {
11978           "type": "object",
11979           "properties": {
11980             "destroyed-storage": {
11981               "type": "array",
11982               "items": {
11983                 "$ref": "#/definitions/Entity"
11984               }
11985             },
11986             "destroyed-units": {
11987               "type": "array",
11988               "items": {
11989                 "$ref": "#/definitions/Entity"
11990               }
11991             },
11992             "detached-storage": {
11993               "type": "array",
11994               "items": {
11995                 "$ref": "#/definitions/Entity"
11996               }
11997             }
11998           },
11999           "additionalProperties": false
12000         },
12001         "DestroyMachineResult": {
12002           "type": "object",
12003           "properties": {
12004             "error": {
12005               "$ref": "#/definitions/Error"
12006             },
12007             "info": {
12008               "$ref": "#/definitions/DestroyMachineInfo"
12009             }
12010           },
12011           "additionalProperties": false
12012         },
12013         "DestroyMachineResults": {
12014           "type": "object",
12015           "properties": {
12016             "results": {
12017               "type": "array",
12018               "items": {
12019                 "$ref": "#/definitions/DestroyMachineResult"
12020               }
12021             }
12022           },
12023           "additionalProperties": false
12024         },
12025         "Entities": {
12026           "type": "object",
12027           "properties": {
12028             "entities": {
12029               "type": "array",
12030               "items": {
12031                 "$ref": "#/definitions/Entity"
12032               }
12033             }
12034           },
12035           "additionalProperties": false,
12036           "required": [
12037             "entities"
12038           ]
12039         },
12040         "Entity": {
12041           "type": "object",
12042           "properties": {
12043             "tag": {
12044               "type": "string"
12045             }
12046           },
12047           "additionalProperties": false,
12048           "required": [
12049             "tag"
12050           ]
12051         },
12052         "Error": {
12053           "type": "object",
12054           "properties": {
12055             "code": {
12056               "type": "string"
12057             },
12058             "info": {
12059               "$ref": "#/definitions/ErrorInfo"
12060             },
12061             "message": {
12062               "type": "string"
12063             }
12064           },
12065           "additionalProperties": false,
12066           "required": [
12067             "message",
12068             "code"
12069           ]
12070         },
12071         "ErrorInfo": {
12072           "type": "object",
12073           "properties": {
12074             "macaroon": {
12075               "$ref": "#/definitions/Macaroon"
12076             },
12077             "macaroon-path": {
12078               "type": "string"
12079             }
12080           },
12081           "additionalProperties": false
12082         },
12083         "HardwareCharacteristics": {
12084           "type": "object",
12085           "properties": {
12086             "arch": {
12087               "type": "string"
12088             },
12089             "availability-zone": {
12090               "type": "string"
12091             },
12092             "cpu-cores": {
12093               "type": "integer"
12094             },
12095             "cpu-power": {
12096               "type": "integer"
12097             },
12098             "mem": {
12099               "type": "integer"
12100             },
12101             "root-disk": {
12102               "type": "integer"
12103             },
12104             "tags": {
12105               "type": "array",
12106               "items": {
12107                 "type": "string"
12108               }
12109             }
12110           },
12111           "additionalProperties": false
12112         },
12113         "InstanceType": {
12114           "type": "object",
12115           "properties": {
12116             "arches": {
12117               "type": "array",
12118               "items": {
12119                 "type": "string"
12120               }
12121             },
12122             "cost": {
12123               "type": "integer"
12124             },
12125             "cpu-cores": {
12126               "type": "integer"
12127             },
12128             "deprecated": {
12129               "type": "boolean"
12130             },
12131             "memory": {
12132               "type": "integer"
12133             },
12134             "name": {
12135               "type": "string"
12136             },
12137             "root-disk": {
12138               "type": "integer"
12139             },
12140             "virt-type": {
12141               "type": "string"
12142             }
12143           },
12144           "additionalProperties": false,
12145           "required": [
12146             "arches",
12147             "cpu-cores",
12148             "memory"
12149           ]
12150         },
12151         "InstanceTypesResult": {
12152           "type": "object",
12153           "properties": {
12154             "cost-currency": {
12155               "type": "string"
12156             },
12157             "cost-divisor": {
12158               "type": "integer"
12159             },
12160             "cost-unit": {
12161               "type": "string"
12162             },
12163             "error": {
12164               "$ref": "#/definitions/Error"
12165             },
12166             "instance-types": {
12167               "type": "array",
12168               "items": {
12169                 "$ref": "#/definitions/InstanceType"
12170               }
12171             }
12172           },
12173           "additionalProperties": false
12174         },
12175         "InstanceTypesResults": {
12176           "type": "object",
12177           "properties": {
12178             "results": {
12179               "type": "array",
12180               "items": {
12181                 "$ref": "#/definitions/InstanceTypesResult"
12182               }
12183             }
12184           },
12185           "additionalProperties": false,
12186           "required": [
12187             "results"
12188           ]
12189         },
12190         "Macaroon": {
12191           "type": "object",
12192           "additionalProperties": false
12193         },
12194         "ModelInstanceTypesConstraint": {
12195           "type": "object",
12196           "properties": {
12197             "value": {
12198               "$ref": "#/definitions/Value"
12199             }
12200           },
12201           "additionalProperties": false
12202         },
12203         "ModelInstanceTypesConstraints": {
12204           "type": "object",
12205           "properties": {
12206             "constraints": {
12207               "type": "array",
12208               "items": {
12209                 "$ref": "#/definitions/ModelInstanceTypesConstraint"
12210               }
12211             }
12212           },
12213           "additionalProperties": false,
12214           "required": [
12215             "constraints"
12216           ]
12217         },
12218         "Placement": {
12219           "type": "object",
12220           "properties": {
12221             "directive": {
12222               "type": "string"
12223             },
12224             "scope": {
12225               "type": "string"
12226             }
12227           },
12228           "additionalProperties": false,
12229           "required": [
12230             "scope",
12231             "directive"
12232           ]
12233         },
12234         "Value": {
12235           "type": "object",
12236           "properties": {
12237             "arch": {
12238               "type": "string"
12239             },
12240             "container": {
12241               "type": "string"
12242             },
12243             "cores": {
12244               "type": "integer"
12245             },
12246             "cpu-power": {
12247               "type": "integer"
12248             },
12249             "instance-type": {
12250               "type": "string"
12251             },
12252             "mem": {
12253               "type": "integer"
12254             },
12255             "root-disk": {
12256               "type": "integer"
12257             },
12258             "spaces": {
12259               "type": "array",
12260               "items": {
12261                 "type": "string"
12262               }
12263             },
12264             "tags": {
12265               "type": "array",
12266               "items": {
12267                 "type": "string"
12268               }
12269             },
12270             "virt-type": {
12271               "type": "string"
12272             }
12273           },
12274           "additionalProperties": false
12275         }
12276       }
12277     }
12278   },
12279   {
12280     "Name": "MachineUndertaker",
12281     "Version": 1,
12282     "Schema": {
12283       "type": "object",
12284       "properties": {
12285         "AllMachineRemovals": {
12286           "type": "object",
12287           "properties": {
12288             "Params": {
12289               "$ref": "#/definitions/Entities"
12290             },
12291             "Result": {
12292               "$ref": "#/definitions/EntitiesResults"
12293             }
12294           }
12295         },
12296         "CompleteMachineRemovals": {
12297           "type": "object",
12298           "properties": {
12299             "Params": {
12300               "$ref": "#/definitions/Entities"
12301             }
12302           }
12303         },
12304         "GetMachineProviderInterfaceInfo": {
12305           "type": "object",
12306           "properties": {
12307             "Params": {
12308               "$ref": "#/definitions/Entities"
12309             },
12310             "Result": {
12311               "$ref": "#/definitions/ProviderInterfaceInfoResults"
12312             }
12313           }
12314         },
12315         "WatchMachineRemovals": {
12316           "type": "object",
12317           "properties": {
12318             "Params": {
12319               "$ref": "#/definitions/Entities"
12320             },
12321             "Result": {
12322               "$ref": "#/definitions/NotifyWatchResults"
12323             }
12324           }
12325         }
12326       },
12327       "definitions": {
12328         "Entities": {
12329           "type": "object",
12330           "properties": {
12331             "entities": {
12332               "type": "array",
12333               "items": {
12334                 "$ref": "#/definitions/Entity"
12335               }
12336             }
12337           },
12338           "additionalProperties": false,
12339           "required": [
12340             "entities"
12341           ]
12342         },
12343         "EntitiesResult": {
12344           "type": "object",
12345           "properties": {
12346             "entities": {
12347               "type": "array",
12348               "items": {
12349                 "$ref": "#/definitions/Entity"
12350               }
12351             },
12352             "error": {
12353               "$ref": "#/definitions/Error"
12354             }
12355           },
12356           "additionalProperties": false,
12357           "required": [
12358             "entities"
12359           ]
12360         },
12361         "EntitiesResults": {
12362           "type": "object",
12363           "properties": {
12364             "results": {
12365               "type": "array",
12366               "items": {
12367                 "$ref": "#/definitions/EntitiesResult"
12368               }
12369             }
12370           },
12371           "additionalProperties": false,
12372           "required": [
12373             "results"
12374           ]
12375         },
12376         "Entity": {
12377           "type": "object",
12378           "properties": {
12379             "tag": {
12380               "type": "string"
12381             }
12382           },
12383           "additionalProperties": false,
12384           "required": [
12385             "tag"
12386           ]
12387         },
12388         "Error": {
12389           "type": "object",
12390           "properties": {
12391             "code": {
12392               "type": "string"
12393             },
12394             "info": {
12395               "$ref": "#/definitions/ErrorInfo"
12396             },
12397             "message": {
12398               "type": "string"
12399             }
12400           },
12401           "additionalProperties": false,
12402           "required": [
12403             "message",
12404             "code"
12405           ]
12406         },
12407         "ErrorInfo": {
12408           "type": "object",
12409           "properties": {
12410             "macaroon": {
12411               "$ref": "#/definitions/Macaroon"
12412             },
12413             "macaroon-path": {
12414               "type": "string"
12415             }
12416           },
12417           "additionalProperties": false
12418         },
12419         "Macaroon": {
12420           "type": "object",
12421           "additionalProperties": false
12422         },
12423         "NotifyWatchResult": {
12424           "type": "object",
12425           "properties": {
12426             "NotifyWatcherId": {
12427               "type": "string"
12428             },
12429             "error": {
12430               "$ref": "#/definitions/Error"
12431             }
12432           },
12433           "additionalProperties": false,
12434           "required": [
12435             "NotifyWatcherId"
12436           ]
12437         },
12438         "NotifyWatchResults": {
12439           "type": "object",
12440           "properties": {
12441             "results": {
12442               "type": "array",
12443               "items": {
12444                 "$ref": "#/definitions/NotifyWatchResult"
12445               }
12446             }
12447           },
12448           "additionalProperties": false,
12449           "required": [
12450             "results"
12451           ]
12452         },
12453         "ProviderInterfaceInfo": {
12454           "type": "object",
12455           "properties": {
12456             "interface-name": {
12457               "type": "string"
12458             },
12459             "mac-address": {
12460               "type": "string"
12461             },
12462             "provider-id": {
12463               "type": "string"
12464             }
12465           },
12466           "additionalProperties": false,
12467           "required": [
12468             "interface-name",
12469             "mac-address",
12470             "provider-id"
12471           ]
12472         },
12473         "ProviderInterfaceInfoResult": {
12474           "type": "object",
12475           "properties": {
12476             "error": {
12477               "$ref": "#/definitions/Error"
12478             },
12479             "interfaces": {
12480               "type": "array",
12481               "items": {
12482                 "$ref": "#/definitions/ProviderInterfaceInfo"
12483               }
12484             },
12485             "machine-tag": {
12486               "type": "string"
12487             }
12488           },
12489           "additionalProperties": false,
12490           "required": [
12491             "machine-tag",
12492             "interfaces"
12493           ]
12494         },
12495         "ProviderInterfaceInfoResults": {
12496           "type": "object",
12497           "properties": {
12498             "results": {
12499               "type": "array",
12500               "items": {
12501                 "$ref": "#/definitions/ProviderInterfaceInfoResult"
12502               }
12503             }
12504           },
12505           "additionalProperties": false,
12506           "required": [
12507             "results"
12508           ]
12509         }
12510       }
12511     }
12512   },
12513   {
12514     "Name": "Machiner",
12515     "Version": 1,
12516     "Schema": {
12517       "type": "object",
12518       "properties": {
12519         "APIAddresses": {
12520           "type": "object",
12521           "properties": {
12522             "Result": {
12523               "$ref": "#/definitions/StringsResult"
12524             }
12525           }
12526         },
12527         "APIHostPorts": {
12528           "type": "object",
12529           "properties": {
12530             "Result": {
12531               "$ref": "#/definitions/APIHostPortsResult"
12532             }
12533           }
12534         },
12535         "CACert": {
12536           "type": "object",
12537           "properties": {
12538             "Result": {
12539               "$ref": "#/definitions/BytesResult"
12540             }
12541           }
12542         },
12543         "EnsureDead": {
12544           "type": "object",
12545           "properties": {
12546             "Params": {
12547               "$ref": "#/definitions/Entities"
12548             },
12549             "Result": {
12550               "$ref": "#/definitions/ErrorResults"
12551             }
12552           }
12553         },
12554         "Jobs": {
12555           "type": "object",
12556           "properties": {
12557             "Params": {
12558               "$ref": "#/definitions/Entities"
12559             },
12560             "Result": {
12561               "$ref": "#/definitions/JobsResults"
12562             }
12563           }
12564         },
12565         "Life": {
12566           "type": "object",
12567           "properties": {
12568             "Params": {
12569               "$ref": "#/definitions/Entities"
12570             },
12571             "Result": {
12572               "$ref": "#/definitions/LifeResults"
12573             }
12574           }
12575         },
12576         "ModelUUID": {
12577           "type": "object",
12578           "properties": {
12579             "Result": {
12580               "$ref": "#/definitions/StringResult"
12581             }
12582           }
12583         },
12584         "SetMachineAddresses": {
12585           "type": "object",
12586           "properties": {
12587             "Params": {
12588               "$ref": "#/definitions/SetMachinesAddresses"
12589             },
12590             "Result": {
12591               "$ref": "#/definitions/ErrorResults"
12592             }
12593           }
12594         },
12595         "SetObservedNetworkConfig": {
12596           "type": "object",
12597           "properties": {
12598             "Params": {
12599               "$ref": "#/definitions/SetMachineNetworkConfig"
12600             }
12601           }
12602         },
12603         "SetProviderNetworkConfig": {
12604           "type": "object",
12605           "properties": {
12606             "Params": {
12607               "$ref": "#/definitions/Entities"
12608             },
12609             "Result": {
12610               "$ref": "#/definitions/ErrorResults"
12611             }
12612           }
12613         },
12614         "SetStatus": {
12615           "type": "object",
12616           "properties": {
12617             "Params": {
12618               "$ref": "#/definitions/SetStatus"
12619             },
12620             "Result": {
12621               "$ref": "#/definitions/ErrorResults"
12622             }
12623           }
12624         },
12625         "UpdateStatus": {
12626           "type": "object",
12627           "properties": {
12628             "Params": {
12629               "$ref": "#/definitions/SetStatus"
12630             },
12631             "Result": {
12632               "$ref": "#/definitions/ErrorResults"
12633             }
12634           }
12635         },
12636         "Watch": {
12637           "type": "object",
12638           "properties": {
12639             "Params": {
12640               "$ref": "#/definitions/Entities"
12641             },
12642             "Result": {
12643               "$ref": "#/definitions/NotifyWatchResults"
12644             }
12645           }
12646         },
12647         "WatchAPIHostPorts": {
12648           "type": "object",
12649           "properties": {
12650             "Result": {
12651               "$ref": "#/definitions/NotifyWatchResult"
12652             }
12653           }
12654         }
12655       },
12656       "definitions": {
12657         "APIHostPortsResult": {
12658           "type": "object",
12659           "properties": {
12660             "servers": {
12661               "type": "array",
12662               "items": {
12663                 "type": "array",
12664                 "items": {
12665                   "$ref": "#/definitions/HostPort"
12666                 }
12667               }
12668             }
12669           },
12670           "additionalProperties": false,
12671           "required": [
12672             "servers"
12673           ]
12674         },
12675         "Address": {
12676           "type": "object",
12677           "properties": {
12678             "scope": {
12679               "type": "string"
12680             },
12681             "space-name": {
12682               "type": "string"
12683             },
12684             "type": {
12685               "type": "string"
12686             },
12687             "value": {
12688               "type": "string"
12689             }
12690           },
12691           "additionalProperties": false,
12692           "required": [
12693             "value",
12694             "type",
12695             "scope"
12696           ]
12697         },
12698         "BytesResult": {
12699           "type": "object",
12700           "properties": {
12701             "result": {
12702               "type": "array",
12703               "items": {
12704                 "type": "integer"
12705               }
12706             }
12707           },
12708           "additionalProperties": false,
12709           "required": [
12710             "result"
12711           ]
12712         },
12713         "Entities": {
12714           "type": "object",
12715           "properties": {
12716             "entities": {
12717               "type": "array",
12718               "items": {
12719                 "$ref": "#/definitions/Entity"
12720               }
12721             }
12722           },
12723           "additionalProperties": false,
12724           "required": [
12725             "entities"
12726           ]
12727         },
12728         "Entity": {
12729           "type": "object",
12730           "properties": {
12731             "tag": {
12732               "type": "string"
12733             }
12734           },
12735           "additionalProperties": false,
12736           "required": [
12737             "tag"
12738           ]
12739         },
12740         "EntityStatusArgs": {
12741           "type": "object",
12742           "properties": {
12743             "data": {
12744               "type": "object",
12745               "patternProperties": {
12746                 ".*": {
12747                   "type": "object",
12748                   "additionalProperties": true
12749                 }
12750               }
12751             },
12752             "info": {
12753               "type": "string"
12754             },
12755             "status": {
12756               "type": "string"
12757             },
12758             "tag": {
12759               "type": "string"
12760             }
12761           },
12762           "additionalProperties": false,
12763           "required": [
12764             "tag",
12765             "status",
12766             "info",
12767             "data"
12768           ]
12769         },
12770         "Error": {
12771           "type": "object",
12772           "properties": {
12773             "code": {
12774               "type": "string"
12775             },
12776             "info": {
12777               "$ref": "#/definitions/ErrorInfo"
12778             },
12779             "message": {
12780               "type": "string"
12781             }
12782           },
12783           "additionalProperties": false,
12784           "required": [
12785             "message",
12786             "code"
12787           ]
12788         },
12789         "ErrorInfo": {
12790           "type": "object",
12791           "properties": {
12792             "macaroon": {
12793               "$ref": "#/definitions/Macaroon"
12794             },
12795             "macaroon-path": {
12796               "type": "string"
12797             }
12798           },
12799           "additionalProperties": false
12800         },
12801         "ErrorResult": {
12802           "type": "object",
12803           "properties": {
12804             "error": {
12805               "$ref": "#/definitions/Error"
12806             }
12807           },
12808           "additionalProperties": false
12809         },
12810         "ErrorResults": {
12811           "type": "object",
12812           "properties": {
12813             "results": {
12814               "type": "array",
12815               "items": {
12816                 "$ref": "#/definitions/ErrorResult"
12817               }
12818             }
12819           },
12820           "additionalProperties": false,
12821           "required": [
12822             "results"
12823           ]
12824         },
12825         "HostPort": {
12826           "type": "object",
12827           "properties": {
12828             "Address": {
12829               "$ref": "#/definitions/Address"
12830             },
12831             "port": {
12832               "type": "integer"
12833             }
12834           },
12835           "additionalProperties": false,
12836           "required": [
12837             "Address",
12838             "port"
12839           ]
12840         },
12841         "JobsResult": {
12842           "type": "object",
12843           "properties": {
12844             "error": {
12845               "$ref": "#/definitions/Error"
12846             },
12847             "jobs": {
12848               "type": "array",
12849               "items": {
12850                 "type": "string"
12851               }
12852             }
12853           },
12854           "additionalProperties": false,
12855           "required": [
12856             "jobs"
12857           ]
12858         },
12859         "JobsResults": {
12860           "type": "object",
12861           "properties": {
12862             "results": {
12863               "type": "array",
12864               "items": {
12865                 "$ref": "#/definitions/JobsResult"
12866               }
12867             }
12868           },
12869           "additionalProperties": false,
12870           "required": [
12871             "results"
12872           ]
12873         },
12874         "LifeResult": {
12875           "type": "object",
12876           "properties": {
12877             "error": {
12878               "$ref": "#/definitions/Error"
12879             },
12880             "life": {
12881               "type": "string"
12882             }
12883           },
12884           "additionalProperties": false,
12885           "required": [
12886             "life"
12887           ]
12888         },
12889         "LifeResults": {
12890           "type": "object",
12891           "properties": {
12892             "results": {
12893               "type": "array",
12894               "items": {
12895                 "$ref": "#/definitions/LifeResult"
12896               }
12897             }
12898           },
12899           "additionalProperties": false,
12900           "required": [
12901             "results"
12902           ]
12903         },
12904         "Macaroon": {
12905           "type": "object",
12906           "additionalProperties": false
12907         },
12908         "MachineAddresses": {
12909           "type": "object",
12910           "properties": {
12911             "addresses": {
12912               "type": "array",
12913               "items": {
12914                 "$ref": "#/definitions/Address"
12915               }
12916             },
12917             "tag": {
12918               "type": "string"
12919             }
12920           },
12921           "additionalProperties": false,
12922           "required": [
12923             "tag",
12924             "addresses"
12925           ]
12926         },
12927         "NetworkConfig": {
12928           "type": "object",
12929           "properties": {
12930             "address": {
12931               "type": "string"
12932             },
12933             "cidr": {
12934               "type": "string"
12935             },
12936             "config-type": {
12937               "type": "string"
12938             },
12939             "device-index": {
12940               "type": "integer"
12941             },
12942             "disabled": {
12943               "type": "boolean"
12944             },
12945             "dns-search-domains": {
12946               "type": "array",
12947               "items": {
12948                 "type": "string"
12949               }
12950             },
12951             "dns-servers": {
12952               "type": "array",
12953               "items": {
12954                 "type": "string"
12955               }
12956             },
12957             "gateway-address": {
12958               "type": "string"
12959             },
12960             "interface-name": {
12961               "type": "string"
12962             },
12963             "interface-type": {
12964               "type": "string"
12965             },
12966             "mac-address": {
12967               "type": "string"
12968             },
12969             "mtu": {
12970               "type": "integer"
12971             },
12972             "no-auto-start": {
12973               "type": "boolean"
12974             },
12975             "parent-interface-name": {
12976               "type": "string"
12977             },
12978             "provider-address-id": {
12979               "type": "string"
12980             },
12981             "provider-id": {
12982               "type": "string"
12983             },
12984             "provider-space-id": {
12985               "type": "string"
12986             },
12987             "provider-subnet-id": {
12988               "type": "string"
12989             },
12990             "provider-vlan-id": {
12991               "type": "string"
12992             },
12993             "routes": {
12994               "type": "array",
12995               "items": {
12996                 "$ref": "#/definitions/NetworkRoute"
12997               }
12998             },
12999             "vlan-tag": {
13000               "type": "integer"
13001             }
13002           },
13003           "additionalProperties": false,
13004           "required": [
13005             "device-index",
13006             "mac-address",
13007             "cidr",
13008             "mtu",
13009             "provider-id",
13010             "provider-subnet-id",
13011             "provider-space-id",
13012             "provider-address-id",
13013             "provider-vlan-id",
13014             "vlan-tag",
13015             "interface-name",
13016             "parent-interface-name",
13017             "interface-type",
13018             "disabled"
13019           ]
13020         },
13021         "NetworkRoute": {
13022           "type": "object",
13023           "properties": {
13024             "destination-cidr": {
13025               "type": "string"
13026             },
13027             "gateway-ip": {
13028               "type": "string"
13029             },
13030             "metric": {
13031               "type": "integer"
13032             }
13033           },
13034           "additionalProperties": false,
13035           "required": [
13036             "destination-cidr",
13037             "gateway-ip",
13038             "metric"
13039           ]
13040         },
13041         "NotifyWatchResult": {
13042           "type": "object",
13043           "properties": {
13044             "NotifyWatcherId": {
13045               "type": "string"
13046             },
13047             "error": {
13048               "$ref": "#/definitions/Error"
13049             }
13050           },
13051           "additionalProperties": false,
13052           "required": [
13053             "NotifyWatcherId"
13054           ]
13055         },
13056         "NotifyWatchResults": {
13057           "type": "object",
13058           "properties": {
13059             "results": {
13060               "type": "array",
13061               "items": {
13062                 "$ref": "#/definitions/NotifyWatchResult"
13063               }
13064             }
13065           },
13066           "additionalProperties": false,
13067           "required": [
13068             "results"
13069           ]
13070         },
13071         "SetMachineNetworkConfig": {
13072           "type": "object",
13073           "properties": {
13074             "config": {
13075               "type": "array",
13076               "items": {
13077                 "$ref": "#/definitions/NetworkConfig"
13078               }
13079             },
13080             "tag": {
13081               "type": "string"
13082             }
13083           },
13084           "additionalProperties": false,
13085           "required": [
13086             "tag",
13087             "config"
13088           ]
13089         },
13090         "SetMachinesAddresses": {
13091           "type": "object",
13092           "properties": {
13093             "machine-addresses": {
13094               "type": "array",
13095               "items": {
13096                 "$ref": "#/definitions/MachineAddresses"
13097               }
13098             }
13099           },
13100           "additionalProperties": false,
13101           "required": [
13102             "machine-addresses"
13103           ]
13104         },
13105         "SetStatus": {
13106           "type": "object",
13107           "properties": {
13108             "entities": {
13109               "type": "array",
13110               "items": {
13111                 "$ref": "#/definitions/EntityStatusArgs"
13112               }
13113             }
13114           },
13115           "additionalProperties": false,
13116           "required": [
13117             "entities"
13118           ]
13119         },
13120         "StringResult": {
13121           "type": "object",
13122           "properties": {
13123             "error": {
13124               "$ref": "#/definitions/Error"
13125             },
13126             "result": {
13127               "type": "string"
13128             }
13129           },
13130           "additionalProperties": false,
13131           "required": [
13132             "result"
13133           ]
13134         },
13135         "StringsResult": {
13136           "type": "object",
13137           "properties": {
13138             "error": {
13139               "$ref": "#/definitions/Error"
13140             },
13141             "result": {
13142               "type": "array",
13143               "items": {
13144                 "type": "string"
13145               }
13146             }
13147           },
13148           "additionalProperties": false
13149         }
13150       }
13151     }
13152   },
13153   {
13154     "Name": "MeterStatus",
13155     "Version": 1,
13156     "Schema": {
13157       "type": "object",
13158       "properties": {
13159         "GetMeterStatus": {
13160           "type": "object",
13161           "properties": {
13162             "Params": {
13163               "$ref": "#/definitions/Entities"
13164             },
13165             "Result": {
13166               "$ref": "#/definitions/MeterStatusResults"
13167             }
13168           }
13169         },
13170         "WatchMeterStatus": {
13171           "type": "object",
13172           "properties": {
13173             "Params": {
13174               "$ref": "#/definitions/Entities"
13175             },
13176             "Result": {
13177               "$ref": "#/definitions/NotifyWatchResults"
13178             }
13179           }
13180         }
13181       },
13182       "definitions": {
13183         "Entities": {
13184           "type": "object",
13185           "properties": {
13186             "entities": {
13187               "type": "array",
13188               "items": {
13189                 "$ref": "#/definitions/Entity"
13190               }
13191             }
13192           },
13193           "additionalProperties": false,
13194           "required": [
13195             "entities"
13196           ]
13197         },
13198         "Entity": {
13199           "type": "object",
13200           "properties": {
13201             "tag": {
13202               "type": "string"
13203             }
13204           },
13205           "additionalProperties": false,
13206           "required": [
13207             "tag"
13208           ]
13209         },
13210         "Error": {
13211           "type": "object",
13212           "properties": {
13213             "code": {
13214               "type": "string"
13215             },
13216             "info": {
13217               "$ref": "#/definitions/ErrorInfo"
13218             },
13219             "message": {
13220               "type": "string"
13221             }
13222           },
13223           "additionalProperties": false,
13224           "required": [
13225             "message",
13226             "code"
13227           ]
13228         },
13229         "ErrorInfo": {
13230           "type": "object",
13231           "properties": {
13232             "macaroon": {
13233               "$ref": "#/definitions/Macaroon"
13234             },
13235             "macaroon-path": {
13236               "type": "string"
13237             }
13238           },
13239           "additionalProperties": false
13240         },
13241         "Macaroon": {
13242           "type": "object",
13243           "additionalProperties": false
13244         },
13245         "MeterStatusResult": {
13246           "type": "object",
13247           "properties": {
13248             "code": {
13249               "type": "string"
13250             },
13251             "error": {
13252               "$ref": "#/definitions/Error"
13253             },
13254             "info": {
13255               "type": "string"
13256             }
13257           },
13258           "additionalProperties": false,
13259           "required": [
13260             "code",
13261             "info"
13262           ]
13263         },
13264         "MeterStatusResults": {
13265           "type": "object",
13266           "properties": {
13267             "results": {
13268               "type": "array",
13269               "items": {
13270                 "$ref": "#/definitions/MeterStatusResult"
13271               }
13272             }
13273           },
13274           "additionalProperties": false,
13275           "required": [
13276             "results"
13277           ]
13278         },
13279         "NotifyWatchResult": {
13280           "type": "object",
13281           "properties": {
13282             "NotifyWatcherId": {
13283               "type": "string"
13284             },
13285             "error": {
13286               "$ref": "#/definitions/Error"
13287             }
13288           },
13289           "additionalProperties": false,
13290           "required": [
13291             "NotifyWatcherId"
13292           ]
13293         },
13294         "NotifyWatchResults": {
13295           "type": "object",
13296           "properties": {
13297             "results": {
13298               "type": "array",
13299               "items": {
13300                 "$ref": "#/definitions/NotifyWatchResult"
13301               }
13302             }
13303           },
13304           "additionalProperties": false,
13305           "required": [
13306             "results"
13307           ]
13308         }
13309       }
13310     }
13311   },
13312   {
13313     "Name": "MetricsAdder",
13314     "Version": 2,
13315     "Schema": {
13316       "type": "object",
13317       "properties": {
13318         "AddMetricBatches": {
13319           "type": "object",
13320           "properties": {
13321             "Params": {
13322               "$ref": "#/definitions/MetricBatchParams"
13323             },
13324             "Result": {
13325               "$ref": "#/definitions/ErrorResults"
13326             }
13327           }
13328         }
13329       },
13330       "definitions": {
13331         "Error": {
13332           "type": "object",
13333           "properties": {
13334             "code": {
13335               "type": "string"
13336             },
13337             "info": {
13338               "$ref": "#/definitions/ErrorInfo"
13339             },
13340             "message": {
13341               "type": "string"
13342             }
13343           },
13344           "additionalProperties": false,
13345           "required": [
13346             "message",
13347             "code"
13348           ]
13349         },
13350         "ErrorInfo": {
13351           "type": "object",
13352           "properties": {
13353             "macaroon": {
13354               "$ref": "#/definitions/Macaroon"
13355             },
13356             "macaroon-path": {
13357               "type": "string"
13358             }
13359           },
13360           "additionalProperties": false
13361         },
13362         "ErrorResult": {
13363           "type": "object",
13364           "properties": {
13365             "error": {
13366               "$ref": "#/definitions/Error"
13367             }
13368           },
13369           "additionalProperties": false
13370         },
13371         "ErrorResults": {
13372           "type": "object",
13373           "properties": {
13374             "results": {
13375               "type": "array",
13376               "items": {
13377                 "$ref": "#/definitions/ErrorResult"
13378               }
13379             }
13380           },
13381           "additionalProperties": false,
13382           "required": [
13383             "results"
13384           ]
13385         },
13386         "Macaroon": {
13387           "type": "object",
13388           "additionalProperties": false
13389         },
13390         "Metric": {
13391           "type": "object",
13392           "properties": {
13393             "key": {
13394               "type": "string"
13395             },
13396             "time": {
13397               "type": "string",
13398               "format": "date-time"
13399             },
13400             "value": {
13401               "type": "string"
13402             }
13403           },
13404           "additionalProperties": false,
13405           "required": [
13406             "key",
13407             "value",
13408             "time"
13409           ]
13410         },
13411         "MetricBatch": {
13412           "type": "object",
13413           "properties": {
13414             "charm-url": {
13415               "type": "string"
13416             },
13417             "created": {
13418               "type": "string",
13419               "format": "date-time"
13420             },
13421             "metrics": {
13422               "type": "array",
13423               "items": {
13424                 "$ref": "#/definitions/Metric"
13425               }
13426             },
13427             "uuid": {
13428               "type": "string"
13429             }
13430           },
13431           "additionalProperties": false,
13432           "required": [
13433             "uuid",
13434             "charm-url",
13435             "created",
13436             "metrics"
13437           ]
13438         },
13439         "MetricBatchParam": {
13440           "type": "object",
13441           "properties": {
13442             "batch": {
13443               "$ref": "#/definitions/MetricBatch"
13444             },
13445             "tag": {
13446               "type": "string"
13447             }
13448           },
13449           "additionalProperties": false,
13450           "required": [
13451             "tag",
13452             "batch"
13453           ]
13454         },
13455         "MetricBatchParams": {
13456           "type": "object",
13457           "properties": {
13458             "batches": {
13459               "type": "array",
13460               "items": {
13461                 "$ref": "#/definitions/MetricBatchParam"
13462               }
13463             }
13464           },
13465           "additionalProperties": false,
13466           "required": [
13467             "batches"
13468           ]
13469         }
13470       }
13471     }
13472   },
13473   {
13474     "Name": "MetricsDebug",
13475     "Version": 2,
13476     "Schema": {
13477       "type": "object",
13478       "properties": {
13479         "GetMetrics": {
13480           "type": "object",
13481           "properties": {
13482             "Params": {
13483               "$ref": "#/definitions/Entities"
13484             },
13485             "Result": {
13486               "$ref": "#/definitions/MetricResults"
13487             }
13488           }
13489         },
13490         "SetMeterStatus": {
13491           "type": "object",
13492           "properties": {
13493             "Params": {
13494               "$ref": "#/definitions/MeterStatusParams"
13495             },
13496             "Result": {
13497               "$ref": "#/definitions/ErrorResults"
13498             }
13499           }
13500         }
13501       },
13502       "definitions": {
13503         "Entities": {
13504           "type": "object",
13505           "properties": {
13506             "entities": {
13507               "type": "array",
13508               "items": {
13509                 "$ref": "#/definitions/Entity"
13510               }
13511             }
13512           },
13513           "additionalProperties": false,
13514           "required": [
13515             "entities"
13516           ]
13517         },
13518         "Entity": {
13519           "type": "object",
13520           "properties": {
13521             "tag": {
13522               "type": "string"
13523             }
13524           },
13525           "additionalProperties": false,
13526           "required": [
13527             "tag"
13528           ]
13529         },
13530         "EntityMetrics": {
13531           "type": "object",
13532           "properties": {
13533             "error": {
13534               "$ref": "#/definitions/Error"
13535             },
13536             "metrics": {
13537               "type": "array",
13538               "items": {
13539                 "$ref": "#/definitions/MetricResult"
13540               }
13541             }
13542           },
13543           "additionalProperties": false
13544         },
13545         "Error": {
13546           "type": "object",
13547           "properties": {
13548             "code": {
13549               "type": "string"
13550             },
13551             "info": {
13552               "$ref": "#/definitions/ErrorInfo"
13553             },
13554             "message": {
13555               "type": "string"
13556             }
13557           },
13558           "additionalProperties": false,
13559           "required": [
13560             "message",
13561             "code"
13562           ]
13563         },
13564         "ErrorInfo": {
13565           "type": "object",
13566           "properties": {
13567             "macaroon": {
13568               "$ref": "#/definitions/Macaroon"
13569             },
13570             "macaroon-path": {
13571               "type": "string"
13572             }
13573           },
13574           "additionalProperties": false
13575         },
13576         "ErrorResult": {
13577           "type": "object",
13578           "properties": {
13579             "error": {
13580               "$ref": "#/definitions/Error"
13581             }
13582           },
13583           "additionalProperties": false
13584         },
13585         "ErrorResults": {
13586           "type": "object",
13587           "properties": {
13588             "results": {
13589               "type": "array",
13590               "items": {
13591                 "$ref": "#/definitions/ErrorResult"
13592               }
13593             }
13594           },
13595           "additionalProperties": false,
13596           "required": [
13597             "results"
13598           ]
13599         },
13600         "Macaroon": {
13601           "type": "object",
13602           "additionalProperties": false
13603         },
13604         "MeterStatusParam": {
13605           "type": "object",
13606           "properties": {
13607             "code": {
13608               "type": "string"
13609             },
13610             "info": {
13611               "type": "string"
13612             },
13613             "tag": {
13614               "type": "string"
13615             }
13616           },
13617           "additionalProperties": false,
13618           "required": [
13619             "tag",
13620             "code",
13621             "info"
13622           ]
13623         },
13624         "MeterStatusParams": {
13625           "type": "object",
13626           "properties": {
13627             "statues": {
13628               "type": "array",
13629               "items": {
13630                 "$ref": "#/definitions/MeterStatusParam"
13631               }
13632             }
13633           },
13634           "additionalProperties": false,
13635           "required": [
13636             "statues"
13637           ]
13638         },
13639         "MetricResult": {
13640           "type": "object",
13641           "properties": {
13642             "key": {
13643               "type": "string"
13644             },
13645             "time": {
13646               "type": "string",
13647               "format": "date-time"
13648             },
13649             "unit": {
13650               "type": "string"
13651             },
13652             "value": {
13653               "type": "string"
13654             }
13655           },
13656           "additionalProperties": false,
13657           "required": [
13658             "time",
13659             "key",
13660             "value",
13661             "unit"
13662           ]
13663         },
13664         "MetricResults": {
13665           "type": "object",
13666           "properties": {
13667             "results": {
13668               "type": "array",
13669               "items": {
13670                 "$ref": "#/definitions/EntityMetrics"
13671               }
13672             }
13673           },
13674           "additionalProperties": false,
13675           "required": [
13676             "results"
13677           ]
13678         }
13679       }
13680     }
13681   },
13682   {
13683     "Name": "MetricsManager",
13684     "Version": 1,
13685     "Schema": {
13686       "type": "object",
13687       "properties": {
13688         "AddJujuMachineMetrics": {
13689           "type": "object"
13690         },
13691         "CleanupOldMetrics": {
13692           "type": "object",
13693           "properties": {
13694             "Params": {
13695               "$ref": "#/definitions/Entities"
13696             },
13697             "Result": {
13698               "$ref": "#/definitions/ErrorResults"
13699             }
13700           }
13701         },
13702         "SendMetrics": {
13703           "type": "object",
13704           "properties": {
13705             "Params": {
13706               "$ref": "#/definitions/Entities"
13707             },
13708             "Result": {
13709               "$ref": "#/definitions/ErrorResults"
13710             }
13711           }
13712         }
13713       },
13714       "definitions": {
13715         "Entities": {
13716           "type": "object",
13717           "properties": {
13718             "entities": {
13719               "type": "array",
13720               "items": {
13721                 "$ref": "#/definitions/Entity"
13722               }
13723             }
13724           },
13725           "additionalProperties": false,
13726           "required": [
13727             "entities"
13728           ]
13729         },
13730         "Entity": {
13731           "type": "object",
13732           "properties": {
13733             "tag": {
13734               "type": "string"
13735             }
13736           },
13737           "additionalProperties": false,
13738           "required": [
13739             "tag"
13740           ]
13741         },
13742         "Error": {
13743           "type": "object",
13744           "properties": {
13745             "code": {
13746               "type": "string"
13747             },
13748             "info": {
13749               "$ref": "#/definitions/ErrorInfo"
13750             },
13751             "message": {
13752               "type": "string"
13753             }
13754           },
13755           "additionalProperties": false,
13756           "required": [
13757             "message",
13758             "code"
13759           ]
13760         },
13761         "ErrorInfo": {
13762           "type": "object",
13763           "properties": {
13764             "macaroon": {
13765               "$ref": "#/definitions/Macaroon"
13766             },
13767             "macaroon-path": {
13768               "type": "string"
13769             }
13770           },
13771           "additionalProperties": false
13772         },
13773         "ErrorResult": {
13774           "type": "object",
13775           "properties": {
13776             "error": {
13777               "$ref": "#/definitions/Error"
13778             }
13779           },
13780           "additionalProperties": false
13781         },
13782         "ErrorResults": {
13783           "type": "object",
13784           "properties": {
13785             "results": {
13786               "type": "array",
13787               "items": {
13788                 "$ref": "#/definitions/ErrorResult"
13789               }
13790             }
13791           },
13792           "additionalProperties": false,
13793           "required": [
13794             "results"
13795           ]
13796         },
13797         "Macaroon": {
13798           "type": "object",
13799           "additionalProperties": false
13800         }
13801       }
13802     }
13803   },
13804   {
13805     "Name": "MigrationFlag",
13806     "Version": 1,
13807     "Schema": {
13808       "type": "object",
13809       "properties": {
13810         "Phase": {
13811           "type": "object",
13812           "properties": {
13813             "Params": {
13814               "$ref": "#/definitions/Entities"
13815             },
13816             "Result": {
13817               "$ref": "#/definitions/PhaseResults"
13818             }
13819           }
13820         },
13821         "Watch": {
13822           "type": "object",
13823           "properties": {
13824             "Params": {
13825               "$ref": "#/definitions/Entities"
13826             },
13827             "Result": {
13828               "$ref": "#/definitions/NotifyWatchResults"
13829             }
13830           }
13831         }
13832       },
13833       "definitions": {
13834         "Entities": {
13835           "type": "object",
13836           "properties": {
13837             "entities": {
13838               "type": "array",
13839               "items": {
13840                 "$ref": "#/definitions/Entity"
13841               }
13842             }
13843           },
13844           "additionalProperties": false,
13845           "required": [
13846             "entities"
13847           ]
13848         },
13849         "Entity": {
13850           "type": "object",
13851           "properties": {
13852             "tag": {
13853               "type": "string"
13854             }
13855           },
13856           "additionalProperties": false,
13857           "required": [
13858             "tag"
13859           ]
13860         },
13861         "Error": {
13862           "type": "object",
13863           "properties": {
13864             "code": {
13865               "type": "string"
13866             },
13867             "info": {
13868               "$ref": "#/definitions/ErrorInfo"
13869             },
13870             "message": {
13871               "type": "string"
13872             }
13873           },
13874           "additionalProperties": false,
13875           "required": [
13876             "message",
13877             "code"
13878           ]
13879         },
13880         "ErrorInfo": {
13881           "type": "object",
13882           "properties": {
13883             "macaroon": {
13884               "$ref": "#/definitions/Macaroon"
13885             },
13886             "macaroon-path": {
13887               "type": "string"
13888             }
13889           },
13890           "additionalProperties": false
13891         },
13892         "Macaroon": {
13893           "type": "object",
13894           "additionalProperties": false
13895         },
13896         "NotifyWatchResult": {
13897           "type": "object",
13898           "properties": {
13899             "NotifyWatcherId": {
13900               "type": "string"
13901             },
13902             "error": {
13903               "$ref": "#/definitions/Error"
13904             }
13905           },
13906           "additionalProperties": false,
13907           "required": [
13908             "NotifyWatcherId"
13909           ]
13910         },
13911         "NotifyWatchResults": {
13912           "type": "object",
13913           "properties": {
13914             "results": {
13915               "type": "array",
13916               "items": {
13917                 "$ref": "#/definitions/NotifyWatchResult"
13918               }
13919             }
13920           },
13921           "additionalProperties": false,
13922           "required": [
13923             "results"
13924           ]
13925         },
13926         "PhaseResult": {
13927           "type": "object",
13928           "properties": {
13929             "error": {
13930               "$ref": "#/definitions/Error"
13931             },
13932             "phase": {
13933               "type": "string"
13934             }
13935           },
13936           "additionalProperties": false
13937         },
13938         "PhaseResults": {
13939           "type": "object",
13940           "properties": {
13941             "results": {
13942               "type": "array",
13943               "items": {
13944                 "$ref": "#/definitions/PhaseResult"
13945               }
13946             }
13947           },
13948           "additionalProperties": false,
13949           "required": [
13950             "results"
13951           ]
13952         }
13953       }
13954     }
13955   },
13956   {
13957     "Name": "MigrationMaster",
13958     "Version": 1,
13959     "Schema": {
13960       "type": "object",
13961       "properties": {
13962         "Export": {
13963           "type": "object",
13964           "properties": {
13965             "Result": {
13966               "$ref": "#/definitions/SerializedModel"
13967             }
13968           }
13969         },
13970         "MigrationStatus": {
13971           "type": "object",
13972           "properties": {
13973             "Result": {
13974               "$ref": "#/definitions/MasterMigrationStatus"
13975             }
13976           }
13977         },
13978         "MinionReports": {
13979           "type": "object",
13980           "properties": {
13981             "Result": {
13982               "$ref": "#/definitions/MinionReports"
13983             }
13984           }
13985         },
13986         "ModelInfo": {
13987           "type": "object",
13988           "properties": {
13989             "Result": {
13990               "$ref": "#/definitions/MigrationModelInfo"
13991             }
13992           }
13993         },
13994         "Prechecks": {
13995           "type": "object"
13996         },
13997         "Reap": {
13998           "type": "object"
13999         },
14000         "SetPhase": {
14001           "type": "object",
14002           "properties": {
14003             "Params": {
14004               "$ref": "#/definitions/SetMigrationPhaseArgs"
14005             }
14006           }
14007         },
14008         "SetStatusMessage": {
14009           "type": "object",
14010           "properties": {
14011             "Params": {
14012               "$ref": "#/definitions/SetMigrationStatusMessageArgs"
14013             }
14014           }
14015         },
14016         "Watch": {
14017           "type": "object",
14018           "properties": {
14019             "Result": {
14020               "$ref": "#/definitions/NotifyWatchResult"
14021             }
14022           }
14023         },
14024         "WatchMinionReports": {
14025           "type": "object",
14026           "properties": {
14027             "Result": {
14028               "$ref": "#/definitions/NotifyWatchResult"
14029             }
14030           }
14031         }
14032       },
14033       "definitions": {
14034         "Error": {
14035           "type": "object",
14036           "properties": {
14037             "code": {
14038               "type": "string"
14039             },
14040             "info": {
14041               "$ref": "#/definitions/ErrorInfo"
14042             },
14043             "message": {
14044               "type": "string"
14045             }
14046           },
14047           "additionalProperties": false,
14048           "required": [
14049             "message",
14050             "code"
14051           ]
14052         },
14053         "ErrorInfo": {
14054           "type": "object",
14055           "properties": {
14056             "macaroon": {
14057               "$ref": "#/definitions/Macaroon"
14058             },
14059             "macaroon-path": {
14060               "type": "string"
14061             }
14062           },
14063           "additionalProperties": false
14064         },
14065         "Macaroon": {
14066           "type": "object",
14067           "additionalProperties": false
14068         },
14069         "MasterMigrationStatus": {
14070           "type": "object",
14071           "properties": {
14072             "migration-id": {
14073               "type": "string"
14074             },
14075             "phase": {
14076               "type": "string"
14077             },
14078             "phase-changed-time": {
14079               "type": "string",
14080               "format": "date-time"
14081             },
14082             "spec": {
14083               "$ref": "#/definitions/MigrationSpec"
14084             }
14085           },
14086           "additionalProperties": false,
14087           "required": [
14088             "spec",
14089             "migration-id",
14090             "phase",
14091             "phase-changed-time"
14092           ]
14093         },
14094         "MigrationModelInfo": {
14095           "type": "object",
14096           "properties": {
14097             "agent-version": {
14098               "$ref": "#/definitions/Number"
14099             },
14100             "controller-agent-version": {
14101               "$ref": "#/definitions/Number"
14102             },
14103             "name": {
14104               "type": "string"
14105             },
14106             "owner-tag": {
14107               "type": "string"
14108             },
14109             "uuid": {
14110               "type": "string"
14111             }
14112           },
14113           "additionalProperties": false,
14114           "required": [
14115             "uuid",
14116             "name",
14117             "owner-tag",
14118             "agent-version",
14119             "controller-agent-version"
14120           ]
14121         },
14122         "MigrationSpec": {
14123           "type": "object",
14124           "properties": {
14125             "model-tag": {
14126               "type": "string"
14127             },
14128             "target-info": {
14129               "$ref": "#/definitions/MigrationTargetInfo"
14130             }
14131           },
14132           "additionalProperties": false,
14133           "required": [
14134             "model-tag",
14135             "target-info"
14136           ]
14137         },
14138         "MigrationTargetInfo": {
14139           "type": "object",
14140           "properties": {
14141             "addrs": {
14142               "type": "array",
14143               "items": {
14144                 "type": "string"
14145               }
14146             },
14147             "auth-tag": {
14148               "type": "string"
14149             },
14150             "ca-cert": {
14151               "type": "string"
14152             },
14153             "controller-tag": {
14154               "type": "string"
14155             },
14156             "macaroons": {
14157               "type": "string"
14158             },
14159             "password": {
14160               "type": "string"
14161             }
14162           },
14163           "additionalProperties": false,
14164           "required": [
14165             "controller-tag",
14166             "addrs",
14167             "ca-cert",
14168             "auth-tag"
14169           ]
14170         },
14171         "MinionReports": {
14172           "type": "object",
14173           "properties": {
14174             "failed": {
14175               "type": "array",
14176               "items": {
14177                 "type": "string"
14178               }
14179             },
14180             "migration-id": {
14181               "type": "string"
14182             },
14183             "phase": {
14184               "type": "string"
14185             },
14186             "success-count": {
14187               "type": "integer"
14188             },
14189             "unknown-count": {
14190               "type": "integer"
14191             },
14192             "unknown-sample": {
14193               "type": "array",
14194               "items": {
14195                 "type": "string"
14196               }
14197             }
14198           },
14199           "additionalProperties": false,
14200           "required": [
14201             "migration-id",
14202             "phase",
14203             "success-count",
14204             "unknown-count",
14205             "unknown-sample",
14206             "failed"
14207           ]
14208         },
14209         "NotifyWatchResult": {
14210           "type": "object",
14211           "properties": {
14212             "NotifyWatcherId": {
14213               "type": "string"
14214             },
14215             "error": {
14216               "$ref": "#/definitions/Error"
14217             }
14218           },
14219           "additionalProperties": false,
14220           "required": [
14221             "NotifyWatcherId"
14222           ]
14223         },
14224         "Number": {
14225           "type": "object",
14226           "properties": {
14227             "Build": {
14228               "type": "integer"
14229             },
14230             "Major": {
14231               "type": "integer"
14232             },
14233             "Minor": {
14234               "type": "integer"
14235             },
14236             "Patch": {
14237               "type": "integer"
14238             },
14239             "Tag": {
14240               "type": "string"
14241             }
14242           },
14243           "additionalProperties": false,
14244           "required": [
14245             "Major",
14246             "Minor",
14247             "Tag",
14248             "Patch",
14249             "Build"
14250           ]
14251         },
14252         "SerializedModel": {
14253           "type": "object",
14254           "properties": {
14255             "bytes": {
14256               "type": "array",
14257               "items": {
14258                 "type": "integer"
14259               }
14260             },
14261             "charms": {
14262               "type": "array",
14263               "items": {
14264                 "type": "string"
14265               }
14266             },
14267             "resources": {
14268               "type": "array",
14269               "items": {
14270                 "$ref": "#/definitions/SerializedModelResource"
14271               }
14272             },
14273             "tools": {
14274               "type": "array",
14275               "items": {
14276                 "$ref": "#/definitions/SerializedModelTools"
14277               }
14278             }
14279           },
14280           "additionalProperties": false,
14281           "required": [
14282             "bytes",
14283             "charms",
14284             "tools",
14285             "resources"
14286           ]
14287         },
14288         "SerializedModelResource": {
14289           "type": "object",
14290           "properties": {
14291             "application": {
14292               "type": "string"
14293             },
14294             "application-revision": {
14295               "$ref": "#/definitions/SerializedModelResourceRevision"
14296             },
14297             "charmstore-revision": {
14298               "$ref": "#/definitions/SerializedModelResourceRevision"
14299             },
14300             "name": {
14301               "type": "string"
14302             },
14303             "unit-revisions": {
14304               "type": "object",
14305               "patternProperties": {
14306                 ".*": {
14307                   "$ref": "#/definitions/SerializedModelResourceRevision"
14308                 }
14309               }
14310             }
14311           },
14312           "additionalProperties": false,
14313           "required": [
14314             "application",
14315             "name",
14316             "application-revision",
14317             "charmstore-revision",
14318             "unit-revisions"
14319           ]
14320         },
14321         "SerializedModelResourceRevision": {
14322           "type": "object",
14323           "properties": {
14324             "description": {
14325               "type": "string"
14326             },
14327             "fingerprint": {
14328               "type": "string"
14329             },
14330             "origin": {
14331               "type": "string"
14332             },
14333             "path": {
14334               "type": "string"
14335             },
14336             "revision": {
14337               "type": "integer"
14338             },
14339             "size": {
14340               "type": "integer"
14341             },
14342             "timestamp": {
14343               "type": "string",
14344               "format": "date-time"
14345             },
14346             "type": {
14347               "type": "string"
14348             },
14349             "username": {
14350               "type": "string"
14351             }
14352           },
14353           "additionalProperties": false,
14354           "required": [
14355             "revision",
14356             "type",
14357             "path",
14358             "description",
14359             "origin",
14360             "fingerprint",
14361             "size",
14362             "timestamp"
14363           ]
14364         },
14365         "SerializedModelTools": {
14366           "type": "object",
14367           "properties": {
14368             "uri": {
14369               "type": "string"
14370             },
14371             "version": {
14372               "type": "string"
14373             }
14374           },
14375           "additionalProperties": false,
14376           "required": [
14377             "version",
14378             "uri"
14379           ]
14380         },
14381         "SetMigrationPhaseArgs": {
14382           "type": "object",
14383           "properties": {
14384             "phase": {
14385               "type": "string"
14386             }
14387           },
14388           "additionalProperties": false,
14389           "required": [
14390             "phase"
14391           ]
14392         },
14393         "SetMigrationStatusMessageArgs": {
14394           "type": "object",
14395           "properties": {
14396             "message": {
14397               "type": "string"
14398             }
14399           },
14400           "additionalProperties": false,
14401           "required": [
14402             "message"
14403           ]
14404         }
14405       }
14406     }
14407   },
14408   {
14409     "Name": "MigrationMinion",
14410     "Version": 1,
14411     "Schema": {
14412       "type": "object",
14413       "properties": {
14414         "Report": {
14415           "type": "object",
14416           "properties": {
14417             "Params": {
14418               "$ref": "#/definitions/MinionReport"
14419             }
14420           }
14421         },
14422         "Watch": {
14423           "type": "object",
14424           "properties": {
14425             "Result": {
14426               "$ref": "#/definitions/NotifyWatchResult"
14427             }
14428           }
14429         }
14430       },
14431       "definitions": {
14432         "Error": {
14433           "type": "object",
14434           "properties": {
14435             "code": {
14436               "type": "string"
14437             },
14438             "info": {
14439               "$ref": "#/definitions/ErrorInfo"
14440             },
14441             "message": {
14442               "type": "string"
14443             }
14444           },
14445           "additionalProperties": false,
14446           "required": [
14447             "message",
14448             "code"
14449           ]
14450         },
14451         "ErrorInfo": {
14452           "type": "object",
14453           "properties": {
14454             "macaroon": {
14455               "$ref": "#/definitions/Macaroon"
14456             },
14457             "macaroon-path": {
14458               "type": "string"
14459             }
14460           },
14461           "additionalProperties": false
14462         },
14463         "Macaroon": {
14464           "type": "object",
14465           "additionalProperties": false
14466         },
14467         "MinionReport": {
14468           "type": "object",
14469           "properties": {
14470             "migration-id": {
14471               "type": "string"
14472             },
14473             "phase": {
14474               "type": "string"
14475             },
14476             "success": {
14477               "type": "boolean"
14478             }
14479           },
14480           "additionalProperties": false,
14481           "required": [
14482             "migration-id",
14483             "phase",
14484             "success"
14485           ]
14486         },
14487         "NotifyWatchResult": {
14488           "type": "object",
14489           "properties": {
14490             "NotifyWatcherId": {
14491               "type": "string"
14492             },
14493             "error": {
14494               "$ref": "#/definitions/Error"
14495             }
14496           },
14497           "additionalProperties": false,
14498           "required": [
14499             "NotifyWatcherId"
14500           ]
14501         }
14502       }
14503     }
14504   },
14505   {
14506     "Name": "MigrationStatusWatcher",
14507     "Version": 1,
14508     "Schema": {
14509       "type": "object",
14510       "properties": {
14511         "Next": {
14512           "type": "object",
14513           "properties": {
14514             "Result": {
14515               "$ref": "#/definitions/MigrationStatus"
14516             }
14517           }
14518         },
14519         "Stop": {
14520           "type": "object"
14521         }
14522       },
14523       "definitions": {
14524         "MigrationStatus": {
14525           "type": "object",
14526           "properties": {
14527             "attempt": {
14528               "type": "integer"
14529             },
14530             "migration-id": {
14531               "type": "string"
14532             },
14533             "phase": {
14534               "type": "string"
14535             },
14536             "source-api-addrs": {
14537               "type": "array",
14538               "items": {
14539                 "type": "string"
14540               }
14541             },
14542             "source-ca-cert": {
14543               "type": "string"
14544             },
14545             "target-api-addrs": {
14546               "type": "array",
14547               "items": {
14548                 "type": "string"
14549               }
14550             },
14551             "target-ca-cert": {
14552               "type": "string"
14553             }
14554           },
14555           "additionalProperties": false,
14556           "required": [
14557             "migration-id",
14558             "attempt",
14559             "phase",
14560             "source-api-addrs",
14561             "source-ca-cert",
14562             "target-api-addrs",
14563             "target-ca-cert"
14564           ]
14565         }
14566       }
14567     }
14568   },
14569   {
14570     "Name": "MigrationTarget",
14571     "Version": 1,
14572     "Schema": {
14573       "type": "object",
14574       "properties": {
14575         "Abort": {
14576           "type": "object",
14577           "properties": {
14578             "Params": {
14579               "$ref": "#/definitions/ModelArgs"
14580             }
14581           }
14582         },
14583         "Activate": {
14584           "type": "object",
14585           "properties": {
14586             "Params": {
14587               "$ref": "#/definitions/ModelArgs"
14588             }
14589           }
14590         },
14591         "AdoptResources": {
14592           "type": "object",
14593           "properties": {
14594             "Params": {
14595               "$ref": "#/definitions/AdoptResourcesArgs"
14596             }
14597           }
14598         },
14599         "CACert": {
14600           "type": "object",
14601           "properties": {
14602             "Result": {
14603               "$ref": "#/definitions/BytesResult"
14604             }
14605           }
14606         },
14607         "Import": {
14608           "type": "object",
14609           "properties": {
14610             "Params": {
14611               "$ref": "#/definitions/SerializedModel"
14612             }
14613           }
14614         },
14615         "LatestLogTime": {
14616           "type": "object",
14617           "properties": {
14618             "Params": {
14619               "$ref": "#/definitions/ModelArgs"
14620             },
14621             "Result": {
14622               "type": "string",
14623               "format": "date-time"
14624             }
14625           }
14626         },
14627         "Prechecks": {
14628           "type": "object",
14629           "properties": {
14630             "Params": {
14631               "$ref": "#/definitions/MigrationModelInfo"
14632             }
14633           }
14634         }
14635       },
14636       "definitions": {
14637         "AdoptResourcesArgs": {
14638           "type": "object",
14639           "properties": {
14640             "model-tag": {
14641               "type": "string"
14642             },
14643             "source-controller-version": {
14644               "$ref": "#/definitions/Number"
14645             }
14646           },
14647           "additionalProperties": false,
14648           "required": [
14649             "model-tag",
14650             "source-controller-version"
14651           ]
14652         },
14653         "BytesResult": {
14654           "type": "object",
14655           "properties": {
14656             "result": {
14657               "type": "array",
14658               "items": {
14659                 "type": "integer"
14660               }
14661             }
14662           },
14663           "additionalProperties": false,
14664           "required": [
14665             "result"
14666           ]
14667         },
14668         "MigrationModelInfo": {
14669           "type": "object",
14670           "properties": {
14671             "agent-version": {
14672               "$ref": "#/definitions/Number"
14673             },
14674             "controller-agent-version": {
14675               "$ref": "#/definitions/Number"
14676             },
14677             "name": {
14678               "type": "string"
14679             },
14680             "owner-tag": {
14681               "type": "string"
14682             },
14683             "uuid": {
14684               "type": "string"
14685             }
14686           },
14687           "additionalProperties": false,
14688           "required": [
14689             "uuid",
14690             "name",
14691             "owner-tag",
14692             "agent-version",
14693             "controller-agent-version"
14694           ]
14695         },
14696         "ModelArgs": {
14697           "type": "object",
14698           "properties": {
14699             "model-tag": {
14700               "type": "string"
14701             }
14702           },
14703           "additionalProperties": false,
14704           "required": [
14705             "model-tag"
14706           ]
14707         },
14708         "Number": {
14709           "type": "object",
14710           "properties": {
14711             "Build": {
14712               "type": "integer"
14713             },
14714             "Major": {
14715               "type": "integer"
14716             },
14717             "Minor": {
14718               "type": "integer"
14719             },
14720             "Patch": {
14721               "type": "integer"
14722             },
14723             "Tag": {
14724               "type": "string"
14725             }
14726           },
14727           "additionalProperties": false,
14728           "required": [
14729             "Major",
14730             "Minor",
14731             "Tag",
14732             "Patch",
14733             "Build"
14734           ]
14735         },
14736         "SerializedModel": {
14737           "type": "object",
14738           "properties": {
14739             "bytes": {
14740               "type": "array",
14741               "items": {
14742                 "type": "integer"
14743               }
14744             },
14745             "charms": {
14746               "type": "array",
14747               "items": {
14748                 "type": "string"
14749               }
14750             },
14751             "resources": {
14752               "type": "array",
14753               "items": {
14754                 "$ref": "#/definitions/SerializedModelResource"
14755               }
14756             },
14757             "tools": {
14758               "type": "array",
14759               "items": {
14760                 "$ref": "#/definitions/SerializedModelTools"
14761               }
14762             }
14763           },
14764           "additionalProperties": false,
14765           "required": [
14766             "bytes",
14767             "charms",
14768             "tools",
14769             "resources"
14770           ]
14771         },
14772         "SerializedModelResource": {
14773           "type": "object",
14774           "properties": {
14775             "application": {
14776               "type": "string"
14777             },
14778             "application-revision": {
14779               "$ref": "#/definitions/SerializedModelResourceRevision"
14780             },
14781             "charmstore-revision": {
14782               "$ref": "#/definitions/SerializedModelResourceRevision"
14783             },
14784             "name": {
14785               "type": "string"
14786             },
14787             "unit-revisions": {
14788               "type": "object",
14789               "patternProperties": {
14790                 ".*": {
14791                   "$ref": "#/definitions/SerializedModelResourceRevision"
14792                 }
14793               }
14794             }
14795           },
14796           "additionalProperties": false,
14797           "required": [
14798             "application",
14799             "name",
14800             "application-revision",
14801             "charmstore-revision",
14802             "unit-revisions"
14803           ]
14804         },
14805         "SerializedModelResourceRevision": {
14806           "type": "object",
14807           "properties": {
14808             "description": {
14809               "type": "string"
14810             },
14811             "fingerprint": {
14812               "type": "string"
14813             },
14814             "origin": {
14815               "type": "string"
14816             },
14817             "path": {
14818               "type": "string"
14819             },
14820             "revision": {
14821               "type": "integer"
14822             },
14823             "size": {
14824               "type": "integer"
14825             },
14826             "timestamp": {
14827               "type": "string",
14828               "format": "date-time"
14829             },
14830             "type": {
14831               "type": "string"
14832             },
14833             "username": {
14834               "type": "string"
14835             }
14836           },
14837           "additionalProperties": false,
14838           "required": [
14839             "revision",
14840             "type",
14841             "path",
14842             "description",
14843             "origin",
14844             "fingerprint",
14845             "size",
14846             "timestamp"
14847           ]
14848         },
14849         "SerializedModelTools": {
14850           "type": "object",
14851           "properties": {
14852             "uri": {
14853               "type": "string"
14854             },
14855             "version": {
14856               "type": "string"
14857             }
14858           },
14859           "additionalProperties": false,
14860           "required": [
14861             "version",
14862             "uri"
14863           ]
14864         }
14865       }
14866     }
14867   },
14868   {
14869     "Name": "ModelConfig",
14870     "Version": 1,
14871     "Schema": {
14872       "type": "object",
14873       "properties": {
14874         "ModelGet": {
14875           "type": "object",
14876           "properties": {
14877             "Result": {
14878               "$ref": "#/definitions/ModelConfigResults"
14879             }
14880           }
14881         },
14882         "ModelSet": {
14883           "type": "object",
14884           "properties": {
14885             "Params": {
14886               "$ref": "#/definitions/ModelSet"
14887             }
14888           }
14889         },
14890         "ModelUnset": {
14891           "type": "object",
14892           "properties": {
14893             "Params": {
14894               "$ref": "#/definitions/ModelUnset"
14895             }
14896           }
14897         },
14898         "SLALevel": {
14899           "type": "object",
14900           "properties": {
14901             "Result": {
14902               "$ref": "#/definitions/StringResult"
14903             }
14904           }
14905         },
14906         "SetSLALevel": {
14907           "type": "object",
14908           "properties": {
14909             "Params": {
14910               "$ref": "#/definitions/ModelSLA"
14911             }
14912           }
14913         }
14914       },
14915       "definitions": {
14916         "ConfigValue": {
14917           "type": "object",
14918           "properties": {
14919             "source": {
14920               "type": "string"
14921             },
14922             "value": {
14923               "type": "object",
14924               "additionalProperties": true
14925             }
14926           },
14927           "additionalProperties": false,
14928           "required": [
14929             "value",
14930             "source"
14931           ]
14932         },
14933         "Error": {
14934           "type": "object",
14935           "properties": {
14936             "code": {
14937               "type": "string"
14938             },
14939             "info": {
14940               "$ref": "#/definitions/ErrorInfo"
14941             },
14942             "message": {
14943               "type": "string"
14944             }
14945           },
14946           "additionalProperties": false,
14947           "required": [
14948             "message",
14949             "code"
14950           ]
14951         },
14952         "ErrorInfo": {
14953           "type": "object",
14954           "properties": {
14955             "macaroon": {
14956               "$ref": "#/definitions/Macaroon"
14957             },
14958             "macaroon-path": {
14959               "type": "string"
14960             }
14961           },
14962           "additionalProperties": false
14963         },
14964         "Macaroon": {
14965           "type": "object",
14966           "additionalProperties": false
14967         },
14968         "ModelConfigResults": {
14969           "type": "object",
14970           "properties": {
14971             "config": {
14972               "type": "object",
14973               "patternProperties": {
14974                 ".*": {
14975                   "$ref": "#/definitions/ConfigValue"
14976                 }
14977               }
14978             }
14979           },
14980           "additionalProperties": false,
14981           "required": [
14982             "config"
14983           ]
14984         },
14985         "ModelSLA": {
14986           "type": "object",
14987           "properties": {
14988             "ModelSLAInfo": {
14989               "$ref": "#/definitions/ModelSLAInfo"
14990             },
14991             "creds": {
14992               "type": "array",
14993               "items": {
14994                 "type": "integer"
14995               }
14996             }
14997           },
14998           "additionalProperties": false,
14999           "required": [
15000             "ModelSLAInfo",
15001             "creds"
15002           ]
15003         },
15004         "ModelSLAInfo": {
15005           "type": "object",
15006           "properties": {
15007             "level": {
15008               "type": "string"
15009             },
15010             "owner": {
15011               "type": "string"
15012             }
15013           },
15014           "additionalProperties": false,
15015           "required": [
15016             "level",
15017             "owner"
15018           ]
15019         },
15020         "ModelSet": {
15021           "type": "object",
15022           "properties": {
15023             "config": {
15024               "type": "object",
15025               "patternProperties": {
15026                 ".*": {
15027                   "type": "object",
15028                   "additionalProperties": true
15029                 }
15030               }
15031             }
15032           },
15033           "additionalProperties": false,
15034           "required": [
15035             "config"
15036           ]
15037         },
15038         "ModelUnset": {
15039           "type": "object",
15040           "properties": {
15041             "keys": {
15042               "type": "array",
15043               "items": {
15044                 "type": "string"
15045               }
15046             }
15047           },
15048           "additionalProperties": false,
15049           "required": [
15050             "keys"
15051           ]
15052         },
15053         "StringResult": {
15054           "type": "object",
15055           "properties": {
15056             "error": {
15057               "$ref": "#/definitions/Error"
15058             },
15059             "result": {
15060               "type": "string"
15061             }
15062           },
15063           "additionalProperties": false,
15064           "required": [
15065             "result"
15066           ]
15067         }
15068       }
15069     }
15070   },
15071   {
15072     "Name": "ModelManager",
15073     "Version": 2,
15074     "Schema": {
15075       "type": "object",
15076       "properties": {
15077         "CreateModel": {
15078           "type": "object",
15079           "properties": {
15080             "Params": {
15081               "$ref": "#/definitions/ModelCreateArgs"
15082             },
15083             "Result": {
15084               "$ref": "#/definitions/ModelInfo"
15085             }
15086           }
15087         },
15088         "DestroyModels": {
15089           "type": "object",
15090           "properties": {
15091             "Params": {
15092               "$ref": "#/definitions/Entities"
15093             },
15094             "Result": {
15095               "$ref": "#/definitions/ErrorResults"
15096             }
15097           }
15098         },
15099         "DumpModels": {
15100           "type": "object",
15101           "properties": {
15102             "Params": {
15103               "$ref": "#/definitions/Entities"
15104             },
15105             "Result": {
15106               "$ref": "#/definitions/MapResults"
15107             }
15108           }
15109         },
15110         "DumpModelsDB": {
15111           "type": "object",
15112           "properties": {
15113             "Params": {
15114               "$ref": "#/definitions/Entities"
15115             },
15116             "Result": {
15117               "$ref": "#/definitions/MapResults"
15118             }
15119           }
15120         },
15121         "ListModels": {
15122           "type": "object",
15123           "properties": {
15124             "Params": {
15125               "$ref": "#/definitions/Entity"
15126             },
15127             "Result": {
15128               "$ref": "#/definitions/UserModelList"
15129             }
15130           }
15131         },
15132         "ModelDefaults": {
15133           "type": "object",
15134           "properties": {
15135             "Result": {
15136               "$ref": "#/definitions/ModelDefaultsResult"
15137             }
15138           }
15139         },
15140         "ModelInfo": {
15141           "type": "object",
15142           "properties": {
15143             "Params": {
15144               "$ref": "#/definitions/Entities"
15145             },
15146             "Result": {
15147               "$ref": "#/definitions/ModelInfoResults"
15148             }
15149           }
15150         },
15151         "ModelStatus": {
15152           "type": "object",
15153           "properties": {
15154             "Params": {
15155               "$ref": "#/definitions/Entities"
15156             },
15157             "Result": {
15158               "$ref": "#/definitions/ModelStatusResults"
15159             }
15160           }
15161         },
15162         "ModifyModelAccess": {
15163           "type": "object",
15164           "properties": {
15165             "Params": {
15166               "$ref": "#/definitions/ModifyModelAccessRequest"
15167             },
15168             "Result": {
15169               "$ref": "#/definitions/ErrorResults"
15170             }
15171           }
15172         },
15173         "SetModelDefaults": {
15174           "type": "object",
15175           "properties": {
15176             "Params": {
15177               "$ref": "#/definitions/SetModelDefaults"
15178             },
15179             "Result": {
15180               "$ref": "#/definitions/ErrorResults"
15181             }
15182           }
15183         },
15184         "UnsetModelDefaults": {
15185           "type": "object",
15186           "properties": {
15187             "Params": {
15188               "$ref": "#/definitions/UnsetModelDefaults"
15189             },
15190             "Result": {
15191               "$ref": "#/definitions/ErrorResults"
15192             }
15193           }
15194         }
15195       },
15196       "definitions": {
15197         "Entities": {
15198           "type": "object",
15199           "properties": {
15200             "entities": {
15201               "type": "array",
15202               "items": {
15203                 "$ref": "#/definitions/Entity"
15204               }
15205             }
15206           },
15207           "additionalProperties": false,
15208           "required": [
15209             "entities"
15210           ]
15211         },
15212         "Entity": {
15213           "type": "object",
15214           "properties": {
15215             "tag": {
15216               "type": "string"
15217             }
15218           },
15219           "additionalProperties": false,
15220           "required": [
15221             "tag"
15222           ]
15223         },
15224         "EntityStatus": {
15225           "type": "object",
15226           "properties": {
15227             "data": {
15228               "type": "object",
15229               "patternProperties": {
15230                 ".*": {
15231                   "type": "object",
15232                   "additionalProperties": true
15233                 }
15234               }
15235             },
15236             "info": {
15237               "type": "string"
15238             },
15239             "since": {
15240               "type": "string",
15241               "format": "date-time"
15242             },
15243             "status": {
15244               "type": "string"
15245             }
15246           },
15247           "additionalProperties": false,
15248           "required": [
15249             "status",
15250             "info",
15251             "since"
15252           ]
15253         },
15254         "Error": {
15255           "type": "object",
15256           "properties": {
15257             "code": {
15258               "type": "string"
15259             },
15260             "info": {
15261               "$ref": "#/definitions/ErrorInfo"
15262             },
15263             "message": {
15264               "type": "string"
15265             }
15266           },
15267           "additionalProperties": false,
15268           "required": [
15269             "message",
15270             "code"
15271           ]
15272         },
15273         "ErrorInfo": {
15274           "type": "object",
15275           "properties": {
15276             "macaroon": {
15277               "$ref": "#/definitions/Macaroon"
15278             },
15279             "macaroon-path": {
15280               "type": "string"
15281             }
15282           },
15283           "additionalProperties": false
15284         },
15285         "ErrorResult": {
15286           "type": "object",
15287           "properties": {
15288             "error": {
15289               "$ref": "#/definitions/Error"
15290             }
15291           },
15292           "additionalProperties": false
15293         },
15294         "ErrorResults": {
15295           "type": "object",
15296           "properties": {
15297             "results": {
15298               "type": "array",
15299               "items": {
15300                 "$ref": "#/definitions/ErrorResult"
15301               }
15302             }
15303           },
15304           "additionalProperties": false,
15305           "required": [
15306             "results"
15307           ]
15308         },
15309         "Macaroon": {
15310           "type": "object",
15311           "additionalProperties": false
15312         },
15313         "MachineHardware": {
15314           "type": "object",
15315           "properties": {
15316             "arch": {
15317               "type": "string"
15318             },
15319             "availability-zone": {
15320               "type": "string"
15321             },
15322             "cores": {
15323               "type": "integer"
15324             },
15325             "cpu-power": {
15326               "type": "integer"
15327             },
15328             "mem": {
15329               "type": "integer"
15330             },
15331             "root-disk": {
15332               "type": "integer"
15333             },
15334             "tags": {
15335               "type": "array",
15336               "items": {
15337                 "type": "string"
15338               }
15339             }
15340           },
15341           "additionalProperties": false
15342         },
15343         "MapResult": {
15344           "type": "object",
15345           "properties": {
15346             "error": {
15347               "$ref": "#/definitions/Error"
15348             },
15349             "result": {
15350               "type": "object",
15351               "patternProperties": {
15352                 ".*": {
15353                   "type": "object",
15354                   "additionalProperties": true
15355                 }
15356               }
15357             }
15358           },
15359           "additionalProperties": false,
15360           "required": [
15361             "result"
15362           ]
15363         },
15364         "MapResults": {
15365           "type": "object",
15366           "properties": {
15367             "results": {
15368               "type": "array",
15369               "items": {
15370                 "$ref": "#/definitions/MapResult"
15371               }
15372             }
15373           },
15374           "additionalProperties": false,
15375           "required": [
15376             "results"
15377           ]
15378         },
15379         "Model": {
15380           "type": "object",
15381           "properties": {
15382             "name": {
15383               "type": "string"
15384             },
15385             "owner-tag": {
15386               "type": "string"
15387             },
15388             "uuid": {
15389               "type": "string"
15390             }
15391           },
15392           "additionalProperties": false,
15393           "required": [
15394             "name",
15395             "uuid",
15396             "owner-tag"
15397           ]
15398         },
15399         "ModelCreateArgs": {
15400           "type": "object",
15401           "properties": {
15402             "cloud-tag": {
15403               "type": "string"
15404             },
15405             "config": {
15406               "type": "object",
15407               "patternProperties": {
15408                 ".*": {
15409                   "type": "object",
15410                   "additionalProperties": true
15411                 }
15412               }
15413             },
15414             "credential": {
15415               "type": "string"
15416             },
15417             "name": {
15418               "type": "string"
15419             },
15420             "owner-tag": {
15421               "type": "string"
15422             },
15423             "region": {
15424               "type": "string"
15425             }
15426           },
15427           "additionalProperties": false,
15428           "required": [
15429             "name",
15430             "owner-tag"
15431           ]
15432         },
15433         "ModelDefaultValues": {
15434           "type": "object",
15435           "properties": {
15436             "cloud-region": {
15437               "type": "string"
15438             },
15439             "cloud-tag": {
15440               "type": "string"
15441             },
15442             "config": {
15443               "type": "object",
15444               "patternProperties": {
15445                 ".*": {
15446                   "type": "object",
15447                   "additionalProperties": true
15448                 }
15449               }
15450             }
15451           },
15452           "additionalProperties": false,
15453           "required": [
15454             "config"
15455           ]
15456         },
15457         "ModelDefaults": {
15458           "type": "object",
15459           "properties": {
15460             "controller": {
15461               "type": "object",
15462               "additionalProperties": true
15463             },
15464             "default": {
15465               "type": "object",
15466               "additionalProperties": true
15467             },
15468             "regions": {
15469               "type": "array",
15470               "items": {
15471                 "$ref": "#/definitions/RegionDefaults"
15472               }
15473             }
15474           },
15475           "additionalProperties": false
15476         },
15477         "ModelDefaultsResult": {
15478           "type": "object",
15479           "properties": {
15480             "config": {
15481               "type": "object",
15482               "patternProperties": {
15483                 ".*": {
15484                   "$ref": "#/definitions/ModelDefaults"
15485                 }
15486               }
15487             }
15488           },
15489           "additionalProperties": false,
15490           "required": [
15491             "config"
15492           ]
15493         },
15494         "ModelInfo": {
15495           "type": "object",
15496           "properties": {
15497             "agent-version": {
15498               "$ref": "#/definitions/Number"
15499             },
15500             "cloud-credential-tag": {
15501               "type": "string"
15502             },
15503             "cloud-region": {
15504               "type": "string"
15505             },
15506             "cloud-tag": {
15507               "type": "string"
15508             },
15509             "controller-uuid": {
15510               "type": "string"
15511             },
15512             "default-series": {
15513               "type": "string"
15514             },
15515             "life": {
15516               "type": "string"
15517             },
15518             "machines": {
15519               "type": "array",
15520               "items": {
15521                 "$ref": "#/definitions/ModelMachineInfo"
15522               }
15523             },
15524             "migration": {
15525               "$ref": "#/definitions/ModelMigrationStatus"
15526             },
15527             "name": {
15528               "type": "string"
15529             },
15530             "owner-tag": {
15531               "type": "string"
15532             },
15533             "provider-type": {
15534               "type": "string"
15535             },
15536             "sla": {
15537               "$ref": "#/definitions/ModelSLAInfo"
15538             },
15539             "status": {
15540               "$ref": "#/definitions/EntityStatus"
15541             },
15542             "users": {
15543               "type": "array",
15544               "items": {
15545                 "$ref": "#/definitions/ModelUserInfo"
15546               }
15547             },
15548             "uuid": {
15549               "type": "string"
15550             }
15551           },
15552           "additionalProperties": false,
15553           "required": [
15554             "name",
15555             "uuid",
15556             "controller-uuid",
15557             "cloud-tag",
15558             "owner-tag",
15559             "life",
15560             "users",
15561             "machines",
15562             "sla",
15563             "agent-version"
15564           ]
15565         },
15566         "ModelInfoResult": {
15567           "type": "object",
15568           "properties": {
15569             "error": {
15570               "$ref": "#/definitions/Error"
15571             },
15572             "result": {
15573               "$ref": "#/definitions/ModelInfo"
15574             }
15575           },
15576           "additionalProperties": false
15577         },
15578         "ModelInfoResults": {
15579           "type": "object",
15580           "properties": {
15581             "results": {
15582               "type": "array",
15583               "items": {
15584                 "$ref": "#/definitions/ModelInfoResult"
15585               }
15586             }
15587           },
15588           "additionalProperties": false,
15589           "required": [
15590             "results"
15591           ]
15592         },
15593         "ModelMachineInfo": {
15594           "type": "object",
15595           "properties": {
15596             "hardware": {
15597               "$ref": "#/definitions/MachineHardware"
15598             },
15599             "has-vote": {
15600               "type": "boolean"
15601             },
15602             "id": {
15603               "type": "string"
15604             },
15605             "instance-id": {
15606               "type": "string"
15607             },
15608             "status": {
15609               "type": "string"
15610             },
15611             "wants-vote": {
15612               "type": "boolean"
15613             }
15614           },
15615           "additionalProperties": false,
15616           "required": [
15617             "id"
15618           ]
15619         },
15620         "ModelMigrationStatus": {
15621           "type": "object",
15622           "properties": {
15623             "end": {
15624               "type": "string",
15625               "format": "date-time"
15626             },
15627             "start": {
15628               "type": "string",
15629               "format": "date-time"
15630             },
15631             "status": {
15632               "type": "string"
15633             }
15634           },
15635           "additionalProperties": false,
15636           "required": [
15637             "status",
15638             "start"
15639           ]
15640         },
15641         "ModelSLAInfo": {
15642           "type": "object",
15643           "properties": {
15644             "level": {
15645               "type": "string"
15646             },
15647             "owner": {
15648               "type": "string"
15649             }
15650           },
15651           "additionalProperties": false,
15652           "required": [
15653             "level",
15654             "owner"
15655           ]
15656         },
15657         "ModelStatus": {
15658           "type": "object",
15659           "properties": {
15660             "application-count": {
15661               "type": "integer"
15662             },
15663             "hosted-machine-count": {
15664               "type": "integer"
15665             },
15666             "life": {
15667               "type": "string"
15668             },
15669             "machines": {
15670               "type": "array",
15671               "items": {
15672                 "$ref": "#/definitions/ModelMachineInfo"
15673               }
15674             },
15675             "model-tag": {
15676               "type": "string"
15677             },
15678             "owner-tag": {
15679               "type": "string"
15680             }
15681           },
15682           "additionalProperties": false,
15683           "required": [
15684             "model-tag",
15685             "life",
15686             "hosted-machine-count",
15687             "application-count",
15688             "owner-tag"
15689           ]
15690         },
15691         "ModelStatusResults": {
15692           "type": "object",
15693           "properties": {
15694             "models": {
15695               "type": "array",
15696               "items": {
15697                 "$ref": "#/definitions/ModelStatus"
15698               }
15699             }
15700           },
15701           "additionalProperties": false,
15702           "required": [
15703             "models"
15704           ]
15705         },
15706         "ModelUnsetKeys": {
15707           "type": "object",
15708           "properties": {
15709             "cloud-region": {
15710               "type": "string"
15711             },
15712             "cloud-tag": {
15713               "type": "string"
15714             },
15715             "keys": {
15716               "type": "array",
15717               "items": {
15718                 "type": "string"
15719               }
15720             }
15721           },
15722           "additionalProperties": false,
15723           "required": [
15724             "keys"
15725           ]
15726         },
15727         "ModelUserInfo": {
15728           "type": "object",
15729           "properties": {
15730             "access": {
15731               "type": "string"
15732             },
15733             "display-name": {
15734               "type": "string"
15735             },
15736             "last-connection": {
15737               "type": "string",
15738               "format": "date-time"
15739             },
15740             "user": {
15741               "type": "string"
15742             }
15743           },
15744           "additionalProperties": false,
15745           "required": [
15746             "user",
15747             "display-name",
15748             "last-connection",
15749             "access"
15750           ]
15751         },
15752         "ModifyModelAccess": {
15753           "type": "object",
15754           "properties": {
15755             "access": {
15756               "type": "string"
15757             },
15758             "action": {
15759               "type": "string"
15760             },
15761             "model-tag": {
15762               "type": "string"
15763             },
15764             "user-tag": {
15765               "type": "string"
15766             }
15767           },
15768           "additionalProperties": false,
15769           "required": [
15770             "user-tag",
15771             "action",
15772             "access",
15773             "model-tag"
15774           ]
15775         },
15776         "ModifyModelAccessRequest": {
15777           "type": "object",
15778           "properties": {
15779             "changes": {
15780               "type": "array",
15781               "items": {
15782                 "$ref": "#/definitions/ModifyModelAccess"
15783               }
15784             }
15785           },
15786           "additionalProperties": false,
15787           "required": [
15788             "changes"
15789           ]
15790         },
15791         "Number": {
15792           "type": "object",
15793           "properties": {
15794             "Build": {
15795               "type": "integer"
15796             },
15797             "Major": {
15798               "type": "integer"
15799             },
15800             "Minor": {
15801               "type": "integer"
15802             },
15803             "Patch": {
15804               "type": "integer"
15805             },
15806             "Tag": {
15807               "type": "string"
15808             }
15809           },
15810           "additionalProperties": false,
15811           "required": [
15812             "Major",
15813             "Minor",
15814             "Tag",
15815             "Patch",
15816             "Build"
15817           ]
15818         },
15819         "RegionDefaults": {
15820           "type": "object",
15821           "properties": {
15822             "region-name": {
15823               "type": "string"
15824             },
15825             "value": {
15826               "type": "object",
15827               "additionalProperties": true
15828             }
15829           },
15830           "additionalProperties": false,
15831           "required": [
15832             "region-name",
15833             "value"
15834           ]
15835         },
15836         "SetModelDefaults": {
15837           "type": "object",
15838           "properties": {
15839             "config": {
15840               "type": "array",
15841               "items": {
15842                 "$ref": "#/definitions/ModelDefaultValues"
15843               }
15844             }
15845           },
15846           "additionalProperties": false,
15847           "required": [
15848             "config"
15849           ]
15850         },
15851         "UnsetModelDefaults": {
15852           "type": "object",
15853           "properties": {
15854             "keys": {
15855               "type": "array",
15856               "items": {
15857                 "$ref": "#/definitions/ModelUnsetKeys"
15858               }
15859             }
15860           },
15861           "additionalProperties": false,
15862           "required": [
15863             "keys"
15864           ]
15865         },
15866         "UserModel": {
15867           "type": "object",
15868           "properties": {
15869             "last-connection": {
15870               "type": "string",
15871               "format": "date-time"
15872             },
15873             "model": {
15874               "$ref": "#/definitions/Model"
15875             }
15876           },
15877           "additionalProperties": false,
15878           "required": [
15879             "model",
15880             "last-connection"
15881           ]
15882         },
15883         "UserModelList": {
15884           "type": "object",
15885           "properties": {
15886             "user-models": {
15887               "type": "array",
15888               "items": {
15889                 "$ref": "#/definitions/UserModel"
15890               }
15891             }
15892           },
15893           "additionalProperties": false,
15894           "required": [
15895             "user-models"
15896           ]
15897         }
15898       }
15899     }
15900   },
15901   {
15902     "Name": "NotifyWatcher",
15903     "Version": 1,
15904     "Schema": {
15905       "type": "object",
15906       "properties": {
15907         "Next": {
15908           "type": "object"
15909         },
15910         "Stop": {
15911           "type": "object"
15912         }
15913       }
15914     }
15915   },
15916   {
15917     "Name": "Payloads",
15918     "Version": 1,
15919     "Schema": {
15920       "type": "object",
15921       "properties": {
15922         "List": {
15923           "type": "object",
15924           "properties": {
15925             "Params": {
15926               "$ref": "#/definitions/PayloadListArgs"
15927             },
15928             "Result": {
15929               "$ref": "#/definitions/PayloadListResults"
15930             }
15931           }
15932         }
15933       },
15934       "definitions": {
15935         "Payload": {
15936           "type": "object",
15937           "properties": {
15938             "class": {
15939               "type": "string"
15940             },
15941             "id": {
15942               "type": "string"
15943             },
15944             "labels": {
15945               "type": "array",
15946               "items": {
15947                 "type": "string"
15948               }
15949             },
15950             "machine": {
15951               "type": "string"
15952             },
15953             "status": {
15954               "type": "string"
15955             },
15956             "type": {
15957               "type": "string"
15958             },
15959             "unit": {
15960               "type": "string"
15961             }
15962           },
15963           "additionalProperties": false,
15964           "required": [
15965             "class",
15966             "type",
15967             "id",
15968             "status",
15969             "labels",
15970             "unit",
15971             "machine"
15972           ]
15973         },
15974         "PayloadListArgs": {
15975           "type": "object",
15976           "properties": {
15977             "patterns": {
15978               "type": "array",
15979               "items": {
15980                 "type": "string"
15981               }
15982             }
15983           },
15984           "additionalProperties": false,
15985           "required": [
15986             "patterns"
15987           ]
15988         },
15989         "PayloadListResults": {
15990           "type": "object",
15991           "properties": {
15992             "results": {
15993               "type": "array",
15994               "items": {
15995                 "$ref": "#/definitions/Payload"
15996               }
15997             }
15998           },
15999           "additionalProperties": false,
16000           "required": [
16001             "results"
16002           ]
16003         }
16004       }
16005     }
16006   },
16007   {
16008     "Name": "PayloadsHookContext",
16009     "Version": 1,
16010     "Schema": {
16011       "type": "object",
16012       "properties": {
16013         "List": {
16014           "type": "object",
16015           "properties": {
16016             "Params": {
16017               "$ref": "#/definitions/Entities"
16018             },
16019             "Result": {
16020               "$ref": "#/definitions/PayloadResults"
16021             }
16022           }
16023         },
16024         "LookUp": {
16025           "type": "object",
16026           "properties": {
16027             "Params": {
16028               "$ref": "#/definitions/LookUpPayloadArgs"
16029             },
16030             "Result": {
16031               "$ref": "#/definitions/PayloadResults"
16032             }
16033           }
16034         },
16035         "SetStatus": {
16036           "type": "object",
16037           "properties": {
16038             "Params": {
16039               "$ref": "#/definitions/SetPayloadStatusArgs"
16040             },
16041             "Result": {
16042               "$ref": "#/definitions/PayloadResults"
16043             }
16044           }
16045         },
16046         "Track": {
16047           "type": "object",
16048           "properties": {
16049             "Params": {
16050               "$ref": "#/definitions/TrackPayloadArgs"
16051             },
16052             "Result": {
16053               "$ref": "#/definitions/PayloadResults"
16054             }
16055           }
16056         },
16057         "Untrack": {
16058           "type": "object",
16059           "properties": {
16060             "Params": {
16061               "$ref": "#/definitions/Entities"
16062             },
16063             "Result": {
16064               "$ref": "#/definitions/PayloadResults"
16065             }
16066           }
16067         }
16068       },
16069       "definitions": {
16070         "Entities": {
16071           "type": "object",
16072           "properties": {
16073             "entities": {
16074               "type": "array",
16075               "items": {
16076                 "$ref": "#/definitions/Entity"
16077               }
16078             }
16079           },
16080           "additionalProperties": false,
16081           "required": [
16082             "entities"
16083           ]
16084         },
16085         "Entity": {
16086           "type": "object",
16087           "properties": {
16088             "tag": {
16089               "type": "string"
16090             }
16091           },
16092           "additionalProperties": false,
16093           "required": [
16094             "tag"
16095           ]
16096         },
16097         "Error": {
16098           "type": "object",
16099           "properties": {
16100             "code": {
16101               "type": "string"
16102             },
16103             "info": {
16104               "$ref": "#/definitions/ErrorInfo"
16105             },
16106             "message": {
16107               "type": "string"
16108             }
16109           },
16110           "additionalProperties": false,
16111           "required": [
16112             "message",
16113             "code"
16114           ]
16115         },
16116         "ErrorInfo": {
16117           "type": "object",
16118           "properties": {
16119             "macaroon": {
16120               "$ref": "#/definitions/Macaroon"
16121             },
16122             "macaroon-path": {
16123               "type": "string"
16124             }
16125           },
16126           "additionalProperties": false
16127         },
16128         "LookUpPayloadArg": {
16129           "type": "object",
16130           "properties": {
16131             "id": {
16132               "type": "string"
16133             },
16134             "name": {
16135               "type": "string"
16136             }
16137           },
16138           "additionalProperties": false,
16139           "required": [
16140             "name",
16141             "id"
16142           ]
16143         },
16144         "LookUpPayloadArgs": {
16145           "type": "object",
16146           "properties": {
16147             "args": {
16148               "type": "array",
16149               "items": {
16150                 "$ref": "#/definitions/LookUpPayloadArg"
16151               }
16152             }
16153           },
16154           "additionalProperties": false,
16155           "required": [
16156             "args"
16157           ]
16158         },
16159         "Macaroon": {
16160           "type": "object",
16161           "additionalProperties": false
16162         },
16163         "Payload": {
16164           "type": "object",
16165           "properties": {
16166             "class": {
16167               "type": "string"
16168             },
16169             "id": {
16170               "type": "string"
16171             },
16172             "labels": {
16173               "type": "array",
16174               "items": {
16175                 "type": "string"
16176               }
16177             },
16178             "machine": {
16179               "type": "string"
16180             },
16181             "status": {
16182               "type": "string"
16183             },
16184             "type": {
16185               "type": "string"
16186             },
16187             "unit": {
16188               "type": "string"
16189             }
16190           },
16191           "additionalProperties": false,
16192           "required": [
16193             "class",
16194             "type",
16195             "id",
16196             "status",
16197             "labels",
16198             "unit",
16199             "machine"
16200           ]
16201         },
16202         "PayloadResult": {
16203           "type": "object",
16204           "properties": {
16205             "Entity": {
16206               "$ref": "#/definitions/Entity"
16207             },
16208             "error": {
16209               "$ref": "#/definitions/Error"
16210             },
16211             "not-found": {
16212               "type": "boolean"
16213             },
16214             "payload": {
16215               "$ref": "#/definitions/Payload"
16216             }
16217           },
16218           "additionalProperties": false,
16219           "required": [
16220             "Entity",
16221             "payload",
16222             "not-found"
16223           ]
16224         },
16225         "PayloadResults": {
16226           "type": "object",
16227           "properties": {
16228             "results": {
16229               "type": "array",
16230               "items": {
16231                 "$ref": "#/definitions/PayloadResult"
16232               }
16233             }
16234           },
16235           "additionalProperties": false,
16236           "required": [
16237             "results"
16238           ]
16239         },
16240         "SetPayloadStatusArg": {
16241           "type": "object",
16242           "properties": {
16243             "Entity": {
16244               "$ref": "#/definitions/Entity"
16245             },
16246             "status": {
16247               "type": "string"
16248             }
16249           },
16250           "additionalProperties": false,
16251           "required": [
16252             "Entity",
16253             "status"
16254           ]
16255         },
16256         "SetPayloadStatusArgs": {
16257           "type": "object",
16258           "properties": {
16259             "args": {
16260               "type": "array",
16261               "items": {
16262                 "$ref": "#/definitions/SetPayloadStatusArg"
16263               }
16264             }
16265           },
16266           "additionalProperties": false,
16267           "required": [
16268             "args"
16269           ]
16270         },
16271         "TrackPayloadArgs": {
16272           "type": "object",
16273           "properties": {
16274             "payloads": {
16275               "type": "array",
16276               "items": {
16277                 "$ref": "#/definitions/Payload"
16278               }
16279             }
16280           },
16281           "additionalProperties": false,
16282           "required": [
16283             "payloads"
16284           ]
16285         }
16286       }
16287     }
16288   },
16289   {
16290     "Name": "Pinger",
16291     "Version": 1,
16292     "Schema": {
16293       "type": "object",
16294       "properties": {
16295         "Ping": {
16296           "type": "object"
16297         },
16298         "Stop": {
16299           "type": "object"
16300         }
16301       }
16302     }
16303   },
16304   {
16305     "Name": "Provisioner",
16306     "Version": 3,
16307     "Schema": {
16308       "type": "object",
16309       "properties": {
16310         "APIAddresses": {
16311           "type": "object",
16312           "properties": {
16313             "Result": {
16314               "$ref": "#/definitions/StringsResult"
16315             }
16316           }
16317         },
16318         "APIHostPorts": {
16319           "type": "object",
16320           "properties": {
16321             "Result": {
16322               "$ref": "#/definitions/APIHostPortsResult"
16323             }
16324           }
16325         },
16326         "CACert": {
16327           "type": "object",
16328           "properties": {
16329             "Result": {
16330               "$ref": "#/definitions/BytesResult"
16331             }
16332           }
16333         },
16334         "Constraints": {
16335           "type": "object",
16336           "properties": {
16337             "Params": {
16338               "$ref": "#/definitions/Entities"
16339             },
16340             "Result": {
16341               "$ref": "#/definitions/ConstraintsResults"
16342             }
16343           }
16344         },
16345         "ContainerConfig": {
16346           "type": "object",
16347           "properties": {
16348             "Result": {
16349               "$ref": "#/definitions/ContainerConfig"
16350             }
16351           }
16352         },
16353         "ContainerManagerConfig": {
16354           "type": "object",
16355           "properties": {
16356             "Params": {
16357               "$ref": "#/definitions/ContainerManagerConfigParams"
16358             },
16359             "Result": {
16360               "$ref": "#/definitions/ContainerManagerConfig"
16361             }
16362           }
16363         },
16364         "ControllerConfig": {
16365           "type": "object",
16366           "properties": {
16367             "Result": {
16368               "$ref": "#/definitions/ControllerConfigResult"
16369             }
16370           }
16371         },
16372         "DistributionGroup": {
16373           "type": "object",
16374           "properties": {
16375             "Params": {
16376               "$ref": "#/definitions/Entities"
16377             },
16378             "Result": {
16379               "$ref": "#/definitions/DistributionGroupResults"
16380             }
16381           }
16382         },
16383         "EnsureDead": {
16384           "type": "object",
16385           "properties": {
16386             "Params": {
16387               "$ref": "#/definitions/Entities"
16388             },
16389             "Result": {
16390               "$ref": "#/definitions/ErrorResults"
16391             }
16392           }
16393         },
16394         "FindTools": {
16395           "type": "object",
16396           "properties": {
16397             "Params": {
16398               "$ref": "#/definitions/FindToolsParams"
16399             },
16400             "Result": {
16401               "$ref": "#/definitions/FindToolsResult"
16402             }
16403           }
16404         },
16405         "GetContainerInterfaceInfo": {
16406           "type": "object",
16407           "properties": {
16408             "Params": {
16409               "$ref": "#/definitions/Entities"
16410             },
16411             "Result": {
16412               "$ref": "#/definitions/MachineNetworkConfigResults"
16413             }
16414           }
16415         },
16416         "HostChangesForContainers": {
16417           "type": "object",
16418           "properties": {
16419             "Params": {
16420               "$ref": "#/definitions/Entities"
16421             },
16422             "Result": {
16423               "$ref": "#/definitions/HostNetworkChangeResults"
16424             }
16425           }
16426         },
16427         "InstanceId": {
16428           "type": "object",
16429           "properties": {
16430             "Params": {
16431               "$ref": "#/definitions/Entities"
16432             },
16433             "Result": {
16434               "$ref": "#/definitions/StringResults"
16435             }
16436           }
16437         },
16438         "InstanceStatus": {
16439           "type": "object",
16440           "properties": {
16441             "Params": {
16442               "$ref": "#/definitions/Entities"
16443             },
16444             "Result": {
16445               "$ref": "#/definitions/StatusResults"
16446             }
16447           }
16448         },
16449         "Life": {
16450           "type": "object",
16451           "properties": {
16452             "Params": {
16453               "$ref": "#/definitions/Entities"
16454             },
16455             "Result": {
16456               "$ref": "#/definitions/LifeResults"
16457             }
16458           }
16459         },
16460         "MachinesWithTransientErrors": {
16461           "type": "object",
16462           "properties": {
16463             "Result": {
16464               "$ref": "#/definitions/StatusResults"
16465             }
16466           }
16467         },
16468         "MarkMachinesForRemoval": {
16469           "type": "object",
16470           "properties": {
16471             "Params": {
16472               "$ref": "#/definitions/Entities"
16473             },
16474             "Result": {
16475               "$ref": "#/definitions/ErrorResults"
16476             }
16477           }
16478         },
16479         "ModelConfig": {
16480           "type": "object",
16481           "properties": {
16482             "Result": {
16483               "$ref": "#/definitions/ModelConfigResult"
16484             }
16485           }
16486         },
16487         "ModelUUID": {
16488           "type": "object",
16489           "properties": {
16490             "Result": {
16491               "$ref": "#/definitions/StringResult"
16492             }
16493           }
16494         },
16495         "PrepareContainerInterfaceInfo": {
16496           "type": "object",
16497           "properties": {
16498             "Params": {
16499               "$ref": "#/definitions/Entities"
16500             },
16501             "Result": {
16502               "$ref": "#/definitions/MachineNetworkConfigResults"
16503             }
16504           }
16505         },
16506         "ProvisioningInfo": {
16507           "type": "object",
16508           "properties": {
16509             "Params": {
16510               "$ref": "#/definitions/Entities"
16511             },
16512             "Result": {
16513               "$ref": "#/definitions/ProvisioningInfoResults"
16514             }
16515           }
16516         },
16517         "ReleaseContainerAddresses": {
16518           "type": "object",
16519           "properties": {
16520             "Params": {
16521               "$ref": "#/definitions/Entities"
16522             },
16523             "Result": {
16524               "$ref": "#/definitions/ErrorResults"
16525             }
16526           }
16527         },
16528         "Remove": {
16529           "type": "object",
16530           "properties": {
16531             "Params": {
16532               "$ref": "#/definitions/Entities"
16533             },
16534             "Result": {
16535               "$ref": "#/definitions/ErrorResults"
16536             }
16537           }
16538         },
16539         "Series": {
16540           "type": "object",
16541           "properties": {
16542             "Params": {
16543               "$ref": "#/definitions/Entities"
16544             },
16545             "Result": {
16546               "$ref": "#/definitions/StringResults"
16547             }
16548           }
16549         },
16550         "SetHostMachineNetworkConfig": {
16551           "type": "object",
16552           "properties": {
16553             "Params": {
16554               "$ref": "#/definitions/SetMachineNetworkConfig"
16555             }
16556           }
16557         },
16558         "SetInstanceInfo": {
16559           "type": "object",
16560           "properties": {
16561             "Params": {
16562               "$ref": "#/definitions/InstancesInfo"
16563             },
16564             "Result": {
16565               "$ref": "#/definitions/ErrorResults"
16566             }
16567           }
16568         },
16569         "SetInstanceStatus": {
16570           "type": "object",
16571           "properties": {
16572             "Params": {
16573               "$ref": "#/definitions/SetStatus"
16574             },
16575             "Result": {
16576               "$ref": "#/definitions/ErrorResults"
16577             }
16578           }
16579         },
16580         "SetObservedNetworkConfig": {
16581           "type": "object",
16582           "properties": {
16583             "Params": {
16584               "$ref": "#/definitions/SetMachineNetworkConfig"
16585             }
16586           }
16587         },
16588         "SetPasswords": {
16589           "type": "object",
16590           "properties": {
16591             "Params": {
16592               "$ref": "#/definitions/EntityPasswords"
16593             },
16594             "Result": {
16595               "$ref": "#/definitions/ErrorResults"
16596             }
16597           }
16598         },
16599         "SetProviderNetworkConfig": {
16600           "type": "object",
16601           "properties": {
16602             "Params": {
16603               "$ref": "#/definitions/Entities"
16604             },
16605             "Result": {
16606               "$ref": "#/definitions/ErrorResults"
16607             }
16608           }
16609         },
16610         "SetStatus": {
16611           "type": "object",
16612           "properties": {
16613             "Params": {
16614               "$ref": "#/definitions/SetStatus"
16615             },
16616             "Result": {
16617               "$ref": "#/definitions/ErrorResults"
16618             }
16619           }
16620         },
16621         "SetSupportedContainers": {
16622           "type": "object",
16623           "properties": {
16624             "Params": {
16625               "$ref": "#/definitions/MachineContainersParams"
16626             },
16627             "Result": {
16628               "$ref": "#/definitions/ErrorResults"
16629             }
16630           }
16631         },
16632         "StateAddresses": {
16633           "type": "object",
16634           "properties": {
16635             "Result": {
16636               "$ref": "#/definitions/StringsResult"
16637             }
16638           }
16639         },
16640         "Status": {
16641           "type": "object",
16642           "properties": {
16643             "Params": {
16644               "$ref": "#/definitions/Entities"
16645             },
16646             "Result": {
16647               "$ref": "#/definitions/StatusResults"
16648             }
16649           }
16650         },
16651         "Tools": {
16652           "type": "object",
16653           "properties": {
16654             "Params": {
16655               "$ref": "#/definitions/Entities"
16656             },
16657             "Result": {
16658               "$ref": "#/definitions/ToolsResults"
16659             }
16660           }
16661         },
16662         "UpdateStatus": {
16663           "type": "object",
16664           "properties": {
16665             "Params": {
16666               "$ref": "#/definitions/SetStatus"
16667             },
16668             "Result": {
16669               "$ref": "#/definitions/ErrorResults"
16670             }
16671           }
16672         },
16673         "WatchAPIHostPorts": {
16674           "type": "object",
16675           "properties": {
16676             "Result": {
16677               "$ref": "#/definitions/NotifyWatchResult"
16678             }
16679           }
16680         },
16681         "WatchAllContainers": {
16682           "type": "object",
16683           "properties": {
16684             "Params": {
16685               "$ref": "#/definitions/WatchContainers"
16686             },
16687             "Result": {
16688               "$ref": "#/definitions/StringsWatchResults"
16689             }
16690           }
16691         },
16692         "WatchContainers": {
16693           "type": "object",
16694           "properties": {
16695             "Params": {
16696               "$ref": "#/definitions/WatchContainers"
16697             },
16698             "Result": {
16699               "$ref": "#/definitions/StringsWatchResults"
16700             }
16701           }
16702         },
16703         "WatchForModelConfigChanges": {
16704           "type": "object",
16705           "properties": {
16706             "Result": {
16707               "$ref": "#/definitions/NotifyWatchResult"
16708             }
16709           }
16710         },
16711         "WatchMachineErrorRetry": {
16712           "type": "object",
16713           "properties": {
16714             "Result": {
16715               "$ref": "#/definitions/NotifyWatchResult"
16716             }
16717           }
16718         },
16719         "WatchModelMachines": {
16720           "type": "object",
16721           "properties": {
16722             "Result": {
16723               "$ref": "#/definitions/StringsWatchResult"
16724             }
16725           }
16726         }
16727       },
16728       "definitions": {
16729         "APIHostPortsResult": {
16730           "type": "object",
16731           "properties": {
16732             "servers": {
16733               "type": "array",
16734               "items": {
16735                 "type": "array",
16736                 "items": {
16737                   "$ref": "#/definitions/HostPort"
16738                 }
16739               }
16740             }
16741           },
16742           "additionalProperties": false,
16743           "required": [
16744             "servers"
16745           ]
16746         },
16747         "Address": {
16748           "type": "object",
16749           "properties": {
16750             "scope": {
16751               "type": "string"
16752             },
16753             "space-name": {
16754               "type": "string"
16755             },
16756             "type": {
16757               "type": "string"
16758             },
16759             "value": {
16760               "type": "string"
16761             }
16762           },
16763           "additionalProperties": false,
16764           "required": [
16765             "value",
16766             "type",
16767             "scope"
16768           ]
16769         },
16770         "Binary": {
16771           "type": "object",
16772           "properties": {
16773             "Arch": {
16774               "type": "string"
16775             },
16776             "Number": {
16777               "$ref": "#/definitions/Number"
16778             },
16779             "Series": {
16780               "type": "string"
16781             }
16782           },
16783           "additionalProperties": false,
16784           "required": [
16785             "Number",
16786             "Series",
16787             "Arch"
16788           ]
16789         },
16790         "BytesResult": {
16791           "type": "object",
16792           "properties": {
16793             "result": {
16794               "type": "array",
16795               "items": {
16796                 "type": "integer"
16797               }
16798             }
16799           },
16800           "additionalProperties": false,
16801           "required": [
16802             "result"
16803           ]
16804         },
16805         "CloudImageMetadata": {
16806           "type": "object",
16807           "properties": {
16808             "arch": {
16809               "type": "string"
16810             },
16811             "image-id": {
16812               "type": "string"
16813             },
16814             "priority": {
16815               "type": "integer"
16816             },
16817             "region": {
16818               "type": "string"
16819             },
16820             "root-storage-size": {
16821               "type": "integer"
16822             },
16823             "root-storage-type": {
16824               "type": "string"
16825             },
16826             "series": {
16827               "type": "string"
16828             },
16829             "source": {
16830               "type": "string"
16831             },
16832             "stream": {
16833               "type": "string"
16834             },
16835             "version": {
16836               "type": "string"
16837             },
16838             "virt-type": {
16839               "type": "string"
16840             }
16841           },
16842           "additionalProperties": false,
16843           "required": [
16844             "image-id",
16845             "region",
16846             "version",
16847             "series",
16848             "arch",
16849             "source",
16850             "priority"
16851           ]
16852         },
16853         "ConstraintsResult": {
16854           "type": "object",
16855           "properties": {
16856             "constraints": {
16857               "$ref": "#/definitions/Value"
16858             },
16859             "error": {
16860               "$ref": "#/definitions/Error"
16861             }
16862           },
16863           "additionalProperties": false,
16864           "required": [
16865             "constraints"
16866           ]
16867         },
16868         "ConstraintsResults": {
16869           "type": "object",
16870           "properties": {
16871             "results": {
16872               "type": "array",
16873               "items": {
16874                 "$ref": "#/definitions/ConstraintsResult"
16875               }
16876             }
16877           },
16878           "additionalProperties": false,
16879           "required": [
16880             "results"
16881           ]
16882         },
16883         "ContainerConfig": {
16884           "type": "object",
16885           "properties": {
16886             "UpdateBehavior": {
16887               "$ref": "#/definitions/UpdateBehavior"
16888             },
16889             "apt-mirror": {
16890               "type": "string"
16891             },
16892             "apt-proxy": {
16893               "$ref": "#/definitions/Settings"
16894             },
16895             "authorized-keys": {
16896               "type": "string"
16897             },
16898             "provider-type": {
16899               "type": "string"
16900             },
16901             "proxy": {
16902               "$ref": "#/definitions/Settings"
16903             },
16904             "ssl-hostname-verification": {
16905               "type": "boolean"
16906             }
16907           },
16908           "additionalProperties": false,
16909           "required": [
16910             "provider-type",
16911             "authorized-keys",
16912             "ssl-hostname-verification",
16913             "proxy",
16914             "apt-proxy",
16915             "apt-mirror",
16916             "UpdateBehavior"
16917           ]
16918         },
16919         "ContainerManagerConfig": {
16920           "type": "object",
16921           "properties": {
16922             "config": {
16923               "type": "object",
16924               "patternProperties": {
16925                 ".*": {
16926                   "type": "string"
16927                 }
16928               }
16929             }
16930           },
16931           "additionalProperties": false,
16932           "required": [
16933             "config"
16934           ]
16935         },
16936         "ContainerManagerConfigParams": {
16937           "type": "object",
16938           "properties": {
16939             "type": {
16940               "type": "string"
16941             }
16942           },
16943           "additionalProperties": false,
16944           "required": [
16945             "type"
16946           ]
16947         },
16948         "ControllerConfigResult": {
16949           "type": "object",
16950           "properties": {
16951             "config": {
16952               "type": "object",
16953               "patternProperties": {
16954                 ".*": {
16955                   "type": "object",
16956                   "additionalProperties": true
16957                 }
16958               }
16959             }
16960           },
16961           "additionalProperties": false,
16962           "required": [
16963             "config"
16964           ]
16965         },
16966         "DeviceBridgeInfo": {
16967           "type": "object",
16968           "properties": {
16969             "bridge-name": {
16970               "type": "string"
16971             },
16972             "host-device-name": {
16973               "type": "string"
16974             }
16975           },
16976           "additionalProperties": false,
16977           "required": [
16978             "host-device-name",
16979             "bridge-name"
16980           ]
16981         },
16982         "DistributionGroupResult": {
16983           "type": "object",
16984           "properties": {
16985             "error": {
16986               "$ref": "#/definitions/Error"
16987             },
16988             "result": {
16989               "type": "array",
16990               "items": {
16991                 "type": "string"
16992               }
16993             }
16994           },
16995           "additionalProperties": false,
16996           "required": [
16997             "result"
16998           ]
16999         },
17000         "DistributionGroupResults": {
17001           "type": "object",
17002           "properties": {
17003             "results": {
17004               "type": "array",
17005               "items": {
17006                 "$ref": "#/definitions/DistributionGroupResult"
17007               }
17008             }
17009           },
17010           "additionalProperties": false,
17011           "required": [
17012             "results"
17013           ]
17014         },
17015         "Entities": {
17016           "type": "object",
17017           "properties": {
17018             "entities": {
17019               "type": "array",
17020               "items": {
17021                 "$ref": "#/definitions/Entity"
17022               }
17023             }
17024           },
17025           "additionalProperties": false,
17026           "required": [
17027             "entities"
17028           ]
17029         },
17030         "Entity": {
17031           "type": "object",
17032           "properties": {
17033             "tag": {
17034               "type": "string"
17035             }
17036           },
17037           "additionalProperties": false,
17038           "required": [
17039             "tag"
17040           ]
17041         },
17042         "EntityPassword": {
17043           "type": "object",
17044           "properties": {
17045             "password": {
17046               "type": "string"
17047             },
17048             "tag": {
17049               "type": "string"
17050             }
17051           },
17052           "additionalProperties": false,
17053           "required": [
17054             "tag",
17055             "password"
17056           ]
17057         },
17058         "EntityPasswords": {
17059           "type": "object",
17060           "properties": {
17061             "changes": {
17062               "type": "array",
17063               "items": {
17064                 "$ref": "#/definitions/EntityPassword"
17065               }
17066             }
17067           },
17068           "additionalProperties": false,
17069           "required": [
17070             "changes"
17071           ]
17072         },
17073         "EntityStatusArgs": {
17074           "type": "object",
17075           "properties": {
17076             "data": {
17077               "type": "object",
17078               "patternProperties": {
17079                 ".*": {
17080                   "type": "object",
17081                   "additionalProperties": true
17082                 }
17083               }
17084             },
17085             "info": {
17086               "type": "string"
17087             },
17088             "status": {
17089               "type": "string"
17090             },
17091             "tag": {
17092               "type": "string"
17093             }
17094           },
17095           "additionalProperties": false,
17096           "required": [
17097             "tag",
17098             "status",
17099             "info",
17100             "data"
17101           ]
17102         },
17103         "Error": {
17104           "type": "object",
17105           "properties": {
17106             "code": {
17107               "type": "string"
17108             },
17109             "info": {
17110               "$ref": "#/definitions/ErrorInfo"
17111             },
17112             "message": {
17113               "type": "string"
17114             }
17115           },
17116           "additionalProperties": false,
17117           "required": [
17118             "message",
17119             "code"
17120           ]
17121         },
17122         "ErrorInfo": {
17123           "type": "object",
17124           "properties": {
17125             "macaroon": {
17126               "$ref": "#/definitions/Macaroon"
17127             },
17128             "macaroon-path": {
17129               "type": "string"
17130             }
17131           },
17132           "additionalProperties": false
17133         },
17134         "ErrorResult": {
17135           "type": "object",
17136           "properties": {
17137             "error": {
17138               "$ref": "#/definitions/Error"
17139             }
17140           },
17141           "additionalProperties": false
17142         },
17143         "ErrorResults": {
17144           "type": "object",
17145           "properties": {
17146             "results": {
17147               "type": "array",
17148               "items": {
17149                 "$ref": "#/definitions/ErrorResult"
17150               }
17151             }
17152           },
17153           "additionalProperties": false,
17154           "required": [
17155             "results"
17156           ]
17157         },
17158         "FindToolsParams": {
17159           "type": "object",
17160           "properties": {
17161             "arch": {
17162               "type": "string"
17163             },
17164             "major": {
17165               "type": "integer"
17166             },
17167             "minor": {
17168               "type": "integer"
17169             },
17170             "number": {
17171               "$ref": "#/definitions/Number"
17172             },
17173             "series": {
17174               "type": "string"
17175             }
17176           },
17177           "additionalProperties": false,
17178           "required": [
17179             "number",
17180             "major",
17181             "minor",
17182             "arch",
17183             "series"
17184           ]
17185         },
17186         "FindToolsResult": {
17187           "type": "object",
17188           "properties": {
17189             "error": {
17190               "$ref": "#/definitions/Error"
17191             },
17192             "list": {
17193               "type": "array",
17194               "items": {
17195                 "$ref": "#/definitions/Tools"
17196               }
17197             }
17198           },
17199           "additionalProperties": false,
17200           "required": [
17201             "list"
17202           ]
17203         },
17204         "HardwareCharacteristics": {
17205           "type": "object",
17206           "properties": {
17207             "arch": {
17208               "type": "string"
17209             },
17210             "availability-zone": {
17211               "type": "string"
17212             },
17213             "cpu-cores": {
17214               "type": "integer"
17215             },
17216             "cpu-power": {
17217               "type": "integer"
17218             },
17219             "mem": {
17220               "type": "integer"
17221             },
17222             "root-disk": {
17223               "type": "integer"
17224             },
17225             "tags": {
17226               "type": "array",
17227               "items": {
17228                 "type": "string"
17229               }
17230             }
17231           },
17232           "additionalProperties": false
17233         },
17234         "HostNetworkChange": {
17235           "type": "object",
17236           "properties": {
17237             "error": {
17238               "$ref": "#/definitions/Error"
17239             },
17240             "new-bridges": {
17241               "type": "array",
17242               "items": {
17243                 "$ref": "#/definitions/DeviceBridgeInfo"
17244               }
17245             },
17246             "reconfigure-delay": {
17247               "type": "integer"
17248             }
17249           },
17250           "additionalProperties": false,
17251           "required": [
17252             "new-bridges",
17253             "reconfigure-delay"
17254           ]
17255         },
17256         "HostNetworkChangeResults": {
17257           "type": "object",
17258           "properties": {
17259             "results": {
17260               "type": "array",
17261               "items": {
17262                 "$ref": "#/definitions/HostNetworkChange"
17263               }
17264             }
17265           },
17266           "additionalProperties": false,
17267           "required": [
17268             "results"
17269           ]
17270         },
17271         "HostPort": {
17272           "type": "object",
17273           "properties": {
17274             "Address": {
17275               "$ref": "#/definitions/Address"
17276             },
17277             "port": {
17278               "type": "integer"
17279             }
17280           },
17281           "additionalProperties": false,
17282           "required": [
17283             "Address",
17284             "port"
17285           ]
17286         },
17287         "InstanceInfo": {
17288           "type": "object",
17289           "properties": {
17290             "characteristics": {
17291               "$ref": "#/definitions/HardwareCharacteristics"
17292             },
17293             "instance-id": {
17294               "type": "string"
17295             },
17296             "network-config": {
17297               "type": "array",
17298               "items": {
17299                 "$ref": "#/definitions/NetworkConfig"
17300               }
17301             },
17302             "nonce": {
17303               "type": "string"
17304             },
17305             "tag": {
17306               "type": "string"
17307             },
17308             "volume-attachments": {
17309               "type": "object",
17310               "patternProperties": {
17311                 ".*": {
17312                   "$ref": "#/definitions/VolumeAttachmentInfo"
17313                 }
17314               }
17315             },
17316             "volumes": {
17317               "type": "array",
17318               "items": {
17319                 "$ref": "#/definitions/Volume"
17320               }
17321             }
17322           },
17323           "additionalProperties": false,
17324           "required": [
17325             "tag",
17326             "instance-id",
17327             "nonce",
17328             "characteristics",
17329             "volumes",
17330             "volume-attachments",
17331             "network-config"
17332           ]
17333         },
17334         "InstancesInfo": {
17335           "type": "object",
17336           "properties": {
17337             "machines": {
17338               "type": "array",
17339               "items": {
17340                 "$ref": "#/definitions/InstanceInfo"
17341               }
17342             }
17343           },
17344           "additionalProperties": false,
17345           "required": [
17346             "machines"
17347           ]
17348         },
17349         "LifeResult": {
17350           "type": "object",
17351           "properties": {
17352             "error": {
17353               "$ref": "#/definitions/Error"
17354             },
17355             "life": {
17356               "type": "string"
17357             }
17358           },
17359           "additionalProperties": false,
17360           "required": [
17361             "life"
17362           ]
17363         },
17364         "LifeResults": {
17365           "type": "object",
17366           "properties": {
17367             "results": {
17368               "type": "array",
17369               "items": {
17370                 "$ref": "#/definitions/LifeResult"
17371               }
17372             }
17373           },
17374           "additionalProperties": false,
17375           "required": [
17376             "results"
17377           ]
17378         },
17379         "Macaroon": {
17380           "type": "object",
17381           "additionalProperties": false
17382         },
17383         "MachineContainers": {
17384           "type": "object",
17385           "properties": {
17386             "container-types": {
17387               "type": "array",
17388               "items": {
17389                 "type": "string"
17390               }
17391             },
17392             "machine-tag": {
17393               "type": "string"
17394             }
17395           },
17396           "additionalProperties": false,
17397           "required": [
17398             "machine-tag",
17399             "container-types"
17400           ]
17401         },
17402         "MachineContainersParams": {
17403           "type": "object",
17404           "properties": {
17405             "params": {
17406               "type": "array",
17407               "items": {
17408                 "$ref": "#/definitions/MachineContainers"
17409               }
17410             }
17411           },
17412           "additionalProperties": false,
17413           "required": [
17414             "params"
17415           ]
17416         },
17417         "MachineNetworkConfigResult": {
17418           "type": "object",
17419           "properties": {
17420             "error": {
17421               "$ref": "#/definitions/Error"
17422             },
17423             "info": {
17424               "type": "array",
17425               "items": {
17426                 "$ref": "#/definitions/NetworkConfig"
17427               }
17428             }
17429           },
17430           "additionalProperties": false,
17431           "required": [
17432             "info"
17433           ]
17434         },
17435         "MachineNetworkConfigResults": {
17436           "type": "object",
17437           "properties": {
17438             "results": {
17439               "type": "array",
17440               "items": {
17441                 "$ref": "#/definitions/MachineNetworkConfigResult"
17442               }
17443             }
17444           },
17445           "additionalProperties": false,
17446           "required": [
17447             "results"
17448           ]
17449         },
17450         "ModelConfigResult": {
17451           "type": "object",
17452           "properties": {
17453             "config": {
17454               "type": "object",
17455               "patternProperties": {
17456                 ".*": {
17457                   "type": "object",
17458                   "additionalProperties": true
17459                 }
17460               }
17461             }
17462           },
17463           "additionalProperties": false,
17464           "required": [
17465             "config"
17466           ]
17467         },
17468         "NetworkConfig": {
17469           "type": "object",
17470           "properties": {
17471             "address": {
17472               "type": "string"
17473             },
17474             "cidr": {
17475               "type": "string"
17476             },
17477             "config-type": {
17478               "type": "string"
17479             },
17480             "device-index": {
17481               "type": "integer"
17482             },
17483             "disabled": {
17484               "type": "boolean"
17485             },
17486             "dns-search-domains": {
17487               "type": "array",
17488               "items": {
17489                 "type": "string"
17490               }
17491             },
17492             "dns-servers": {
17493               "type": "array",
17494               "items": {
17495                 "type": "string"
17496               }
17497             },
17498             "gateway-address": {
17499               "type": "string"
17500             },
17501             "interface-name": {
17502               "type": "string"
17503             },
17504             "interface-type": {
17505               "type": "string"
17506             },
17507             "mac-address": {
17508               "type": "string"
17509             },
17510             "mtu": {
17511               "type": "integer"
17512             },
17513             "no-auto-start": {
17514               "type": "boolean"
17515             },
17516             "parent-interface-name": {
17517               "type": "string"
17518             },
17519             "provider-address-id": {
17520               "type": "string"
17521             },
17522             "provider-id": {
17523               "type": "string"
17524             },
17525             "provider-space-id": {
17526               "type": "string"
17527             },
17528             "provider-subnet-id": {
17529               "type": "string"
17530             },
17531             "provider-vlan-id": {
17532               "type": "string"
17533             },
17534             "routes": {
17535               "type": "array",
17536               "items": {
17537                 "$ref": "#/definitions/NetworkRoute"
17538               }
17539             },
17540             "vlan-tag": {
17541               "type": "integer"
17542             }
17543           },
17544           "additionalProperties": false,
17545           "required": [
17546             "device-index",
17547             "mac-address",
17548             "cidr",
17549             "mtu",
17550             "provider-id",
17551             "provider-subnet-id",
17552             "provider-space-id",
17553             "provider-address-id",
17554             "provider-vlan-id",
17555             "vlan-tag",
17556             "interface-name",
17557             "parent-interface-name",
17558             "interface-type",
17559             "disabled"
17560           ]
17561         },
17562         "NetworkRoute": {
17563           "type": "object",
17564           "properties": {
17565             "destination-cidr": {
17566               "type": "string"
17567             },
17568             "gateway-ip": {
17569               "type": "string"
17570             },
17571             "metric": {
17572               "type": "integer"
17573             }
17574           },
17575           "additionalProperties": false,
17576           "required": [
17577             "destination-cidr",
17578             "gateway-ip",
17579             "metric"
17580           ]
17581         },
17582         "NotifyWatchResult": {
17583           "type": "object",
17584           "properties": {
17585             "NotifyWatcherId": {
17586               "type": "string"
17587             },
17588             "error": {
17589               "$ref": "#/definitions/Error"
17590             }
17591           },
17592           "additionalProperties": false,
17593           "required": [
17594             "NotifyWatcherId"
17595           ]
17596         },
17597         "Number": {
17598           "type": "object",
17599           "properties": {
17600             "Build": {
17601               "type": "integer"
17602             },
17603             "Major": {
17604               "type": "integer"
17605             },
17606             "Minor": {
17607               "type": "integer"
17608             },
17609             "Patch": {
17610               "type": "integer"
17611             },
17612             "Tag": {
17613               "type": "string"
17614             }
17615           },
17616           "additionalProperties": false,
17617           "required": [
17618             "Major",
17619             "Minor",
17620             "Tag",
17621             "Patch",
17622             "Build"
17623           ]
17624         },
17625         "ProvisioningInfo": {
17626           "type": "object",
17627           "properties": {
17628             "constraints": {
17629               "$ref": "#/definitions/Value"
17630             },
17631             "controller-config": {
17632               "type": "object",
17633               "patternProperties": {
17634                 ".*": {
17635                   "type": "object",
17636                   "additionalProperties": true
17637                 }
17638               }
17639             },
17640             "endpoint-bindings": {
17641               "type": "object",
17642               "patternProperties": {
17643                 ".*": {
17644                   "type": "string"
17645                 }
17646               }
17647             },
17648             "image-metadata": {
17649               "type": "array",
17650               "items": {
17651                 "$ref": "#/definitions/CloudImageMetadata"
17652               }
17653             },
17654             "jobs": {
17655               "type": "array",
17656               "items": {
17657                 "type": "string"
17658               }
17659             },
17660             "placement": {
17661               "type": "string"
17662             },
17663             "series": {
17664               "type": "string"
17665             },
17666             "subnets-to-zones": {
17667               "type": "object",
17668               "patternProperties": {
17669                 ".*": {
17670                   "type": "array",
17671                   "items": {
17672                     "type": "string"
17673                   }
17674                 }
17675               }
17676             },
17677             "tags": {
17678               "type": "object",
17679               "patternProperties": {
17680                 ".*": {
17681                   "type": "string"
17682                 }
17683               }
17684             },
17685             "volumes": {
17686               "type": "array",
17687               "items": {
17688                 "$ref": "#/definitions/VolumeParams"
17689               }
17690             }
17691           },
17692           "additionalProperties": false,
17693           "required": [
17694             "constraints",
17695             "series",
17696             "placement",
17697             "jobs"
17698           ]
17699         },
17700         "ProvisioningInfoResult": {
17701           "type": "object",
17702           "properties": {
17703             "error": {
17704               "$ref": "#/definitions/Error"
17705             },
17706             "result": {
17707               "$ref": "#/definitions/ProvisioningInfo"
17708             }
17709           },
17710           "additionalProperties": false,
17711           "required": [
17712             "result"
17713           ]
17714         },
17715         "ProvisioningInfoResults": {
17716           "type": "object",
17717           "properties": {
17718             "results": {
17719               "type": "array",
17720               "items": {
17721                 "$ref": "#/definitions/ProvisioningInfoResult"
17722               }
17723             }
17724           },
17725           "additionalProperties": false,
17726           "required": [
17727             "results"
17728           ]
17729         },
17730         "SetMachineNetworkConfig": {
17731           "type": "object",
17732           "properties": {
17733             "config": {
17734               "type": "array",
17735               "items": {
17736                 "$ref": "#/definitions/NetworkConfig"
17737               }
17738             },
17739             "tag": {
17740               "type": "string"
17741             }
17742           },
17743           "additionalProperties": false,
17744           "required": [
17745             "tag",
17746             "config"
17747           ]
17748         },
17749         "SetStatus": {
17750           "type": "object",
17751           "properties": {
17752             "entities": {
17753               "type": "array",
17754               "items": {
17755                 "$ref": "#/definitions/EntityStatusArgs"
17756               }
17757             }
17758           },
17759           "additionalProperties": false,
17760           "required": [
17761             "entities"
17762           ]
17763         },
17764         "Settings": {
17765           "type": "object",
17766           "properties": {
17767             "AutoNoProxy": {
17768               "type": "string"
17769             },
17770             "Ftp": {
17771               "type": "string"
17772             },
17773             "Http": {
17774               "type": "string"
17775             },
17776             "Https": {
17777               "type": "string"
17778             },
17779             "NoProxy": {
17780               "type": "string"
17781             }
17782           },
17783           "additionalProperties": false,
17784           "required": [
17785             "Http",
17786             "Https",
17787             "Ftp",
17788             "NoProxy",
17789             "AutoNoProxy"
17790           ]
17791         },
17792         "StatusResult": {
17793           "type": "object",
17794           "properties": {
17795             "data": {
17796               "type": "object",
17797               "patternProperties": {
17798                 ".*": {
17799                   "type": "object",
17800                   "additionalProperties": true
17801                 }
17802               }
17803             },
17804             "error": {
17805               "$ref": "#/definitions/Error"
17806             },
17807             "id": {
17808               "type": "string"
17809             },
17810             "info": {
17811               "type": "string"
17812             },
17813             "life": {
17814               "type": "string"
17815             },
17816             "since": {
17817               "type": "string",
17818               "format": "date-time"
17819             },
17820             "status": {
17821               "type": "string"
17822             }
17823           },
17824           "additionalProperties": false,
17825           "required": [
17826             "id",
17827             "life",
17828             "status",
17829             "info",
17830             "data",
17831             "since"
17832           ]
17833         },
17834         "StatusResults": {
17835           "type": "object",
17836           "properties": {
17837             "results": {
17838               "type": "array",
17839               "items": {
17840                 "$ref": "#/definitions/StatusResult"
17841               }
17842             }
17843           },
17844           "additionalProperties": false,
17845           "required": [
17846             "results"
17847           ]
17848         },
17849         "StringResult": {
17850           "type": "object",
17851           "properties": {
17852             "error": {
17853               "$ref": "#/definitions/Error"
17854             },
17855             "result": {
17856               "type": "string"
17857             }
17858           },
17859           "additionalProperties": false,
17860           "required": [
17861             "result"
17862           ]
17863         },
17864         "StringResults": {
17865           "type": "object",
17866           "properties": {
17867             "results": {
17868               "type": "array",
17869               "items": {
17870                 "$ref": "#/definitions/StringResult"
17871               }
17872             }
17873           },
17874           "additionalProperties": false,
17875           "required": [
17876             "results"
17877           ]
17878         },
17879         "StringsResult": {
17880           "type": "object",
17881           "properties": {
17882             "error": {
17883               "$ref": "#/definitions/Error"
17884             },
17885             "result": {
17886               "type": "array",
17887               "items": {
17888                 "type": "string"
17889               }
17890             }
17891           },
17892           "additionalProperties": false
17893         },
17894         "StringsWatchResult": {
17895           "type": "object",
17896           "properties": {
17897             "changes": {
17898               "type": "array",
17899               "items": {
17900                 "type": "string"
17901               }
17902             },
17903             "error": {
17904               "$ref": "#/definitions/Error"
17905             },
17906             "watcher-id": {
17907               "type": "string"
17908             }
17909           },
17910           "additionalProperties": false,
17911           "required": [
17912             "watcher-id"
17913           ]
17914         },
17915         "StringsWatchResults": {
17916           "type": "object",
17917           "properties": {
17918             "results": {
17919               "type": "array",
17920               "items": {
17921                 "$ref": "#/definitions/StringsWatchResult"
17922               }
17923             }
17924           },
17925           "additionalProperties": false,
17926           "required": [
17927             "results"
17928           ]
17929         },
17930         "Tools": {
17931           "type": "object",
17932           "properties": {
17933             "sha256": {
17934               "type": "string"
17935             },
17936             "size": {
17937               "type": "integer"
17938             },
17939             "url": {
17940               "type": "string"
17941             },
17942             "version": {
17943               "$ref": "#/definitions/Binary"
17944             }
17945           },
17946           "additionalProperties": false,
17947           "required": [
17948             "version",
17949             "url",
17950             "size"
17951           ]
17952         },
17953         "ToolsResult": {
17954           "type": "object",
17955           "properties": {
17956             "disable-ssl-hostname-verification": {
17957               "type": "boolean"
17958             },
17959             "error": {
17960               "$ref": "#/definitions/Error"
17961             },
17962             "tools": {
17963               "type": "array",
17964               "items": {
17965                 "$ref": "#/definitions/Tools"
17966               }
17967             }
17968           },
17969           "additionalProperties": false,
17970           "required": [
17971             "tools",
17972             "disable-ssl-hostname-verification"
17973           ]
17974         },
17975         "ToolsResults": {
17976           "type": "object",
17977           "properties": {
17978             "results": {
17979               "type": "array",
17980               "items": {
17981                 "$ref": "#/definitions/ToolsResult"
17982               }
17983             }
17984           },
17985           "additionalProperties": false,
17986           "required": [
17987             "results"
17988           ]
17989         },
17990         "UpdateBehavior": {
17991           "type": "object",
17992           "properties": {
17993             "enable-os-refresh-update": {
17994               "type": "boolean"
17995             },
17996             "enable-os-upgrade": {
17997               "type": "boolean"
17998             }
17999           },
18000           "additionalProperties": false,
18001           "required": [
18002             "enable-os-refresh-update",
18003             "enable-os-upgrade"
18004           ]
18005         },
18006         "Value": {
18007           "type": "object",
18008           "properties": {
18009             "arch": {
18010               "type": "string"
18011             },
18012             "container": {
18013               "type": "string"
18014             },
18015             "cores": {
18016               "type": "integer"
18017             },
18018             "cpu-power": {
18019               "type": "integer"
18020             },
18021             "instance-type": {
18022               "type": "string"
18023             },
18024             "mem": {
18025               "type": "integer"
18026             },
18027             "root-disk": {
18028               "type": "integer"
18029             },
18030             "spaces": {
18031               "type": "array",
18032               "items": {
18033                 "type": "string"
18034               }
18035             },
18036             "tags": {
18037               "type": "array",
18038               "items": {
18039                 "type": "string"
18040               }
18041             },
18042             "virt-type": {
18043               "type": "string"
18044             }
18045           },
18046           "additionalProperties": false
18047         },
18048         "Volume": {
18049           "type": "object",
18050           "properties": {
18051             "info": {
18052               "$ref": "#/definitions/VolumeInfo"
18053             },
18054             "volume-tag": {
18055               "type": "string"
18056             }
18057           },
18058           "additionalProperties": false,
18059           "required": [
18060             "volume-tag",
18061             "info"
18062           ]
18063         },
18064         "VolumeAttachmentInfo": {
18065           "type": "object",
18066           "properties": {
18067             "bus-address": {
18068               "type": "string"
18069             },
18070             "device-link": {
18071               "type": "string"
18072             },
18073             "device-name": {
18074               "type": "string"
18075             },
18076             "read-only": {
18077               "type": "boolean"
18078             }
18079           },
18080           "additionalProperties": false
18081         },
18082         "VolumeAttachmentParams": {
18083           "type": "object",
18084           "properties": {
18085             "instance-id": {
18086               "type": "string"
18087             },
18088             "machine-tag": {
18089               "type": "string"
18090             },
18091             "provider": {
18092               "type": "string"
18093             },
18094             "read-only": {
18095               "type": "boolean"
18096             },
18097             "volume-id": {
18098               "type": "string"
18099             },
18100             "volume-tag": {
18101               "type": "string"
18102             }
18103           },
18104           "additionalProperties": false,
18105           "required": [
18106             "volume-tag",
18107             "machine-tag",
18108             "provider"
18109           ]
18110         },
18111         "VolumeInfo": {
18112           "type": "object",
18113           "properties": {
18114             "hardware-id": {
18115               "type": "string"
18116             },
18117             "persistent": {
18118               "type": "boolean"
18119             },
18120             "pool": {
18121               "type": "string"
18122             },
18123             "size": {
18124               "type": "integer"
18125             },
18126             "volume-id": {
18127               "type": "string"
18128             },
18129             "wwn": {
18130               "type": "string"
18131             }
18132           },
18133           "additionalProperties": false,
18134           "required": [
18135             "volume-id",
18136             "size",
18137             "persistent"
18138           ]
18139         },
18140         "VolumeParams": {
18141           "type": "object",
18142           "properties": {
18143             "attachment": {
18144               "$ref": "#/definitions/VolumeAttachmentParams"
18145             },
18146             "attributes": {
18147               "type": "object",
18148               "patternProperties": {
18149                 ".*": {
18150                   "type": "object",
18151                   "additionalProperties": true
18152                 }
18153               }
18154             },
18155             "provider": {
18156               "type": "string"
18157             },
18158             "size": {
18159               "type": "integer"
18160             },
18161             "tags": {
18162               "type": "object",
18163               "patternProperties": {
18164                 ".*": {
18165                   "type": "string"
18166                 }
18167               }
18168             },
18169             "volume-tag": {
18170               "type": "string"
18171             }
18172           },
18173           "additionalProperties": false,
18174           "required": [
18175             "volume-tag",
18176             "size",
18177             "provider"
18178           ]
18179         },
18180         "WatchContainer": {
18181           "type": "object",
18182           "properties": {
18183             "container-type": {
18184               "type": "string"
18185             },
18186             "machine-tag": {
18187               "type": "string"
18188             }
18189           },
18190           "additionalProperties": false,
18191           "required": [
18192             "machine-tag",
18193             "container-type"
18194           ]
18195         },
18196         "WatchContainers": {
18197           "type": "object",
18198           "properties": {
18199             "params": {
18200               "type": "array",
18201               "items": {
18202                 "$ref": "#/definitions/WatchContainer"
18203               }
18204             }
18205           },
18206           "additionalProperties": false,
18207           "required": [
18208             "params"
18209           ]
18210         }
18211       }
18212     }
18213   },
18214   {
18215     "Name": "ProxyUpdater",
18216     "Version": 1,
18217     "Schema": {
18218       "type": "object",
18219       "properties": {
18220         "ProxyConfig": {
18221           "type": "object",
18222           "properties": {
18223             "Params": {
18224               "$ref": "#/definitions/Entities"
18225             },
18226             "Result": {
18227               "$ref": "#/definitions/ProxyConfigResults"
18228             }
18229           }
18230         },
18231         "WatchForProxyConfigAndAPIHostPortChanges": {
18232           "type": "object",
18233           "properties": {
18234             "Params": {
18235               "$ref": "#/definitions/Entities"
18236             },
18237             "Result": {
18238               "$ref": "#/definitions/NotifyWatchResults"
18239             }
18240           }
18241         }
18242       },
18243       "definitions": {
18244         "Entities": {
18245           "type": "object",
18246           "properties": {
18247             "entities": {
18248               "type": "array",
18249               "items": {
18250                 "$ref": "#/definitions/Entity"
18251               }
18252             }
18253           },
18254           "additionalProperties": false,
18255           "required": [
18256             "entities"
18257           ]
18258         },
18259         "Entity": {
18260           "type": "object",
18261           "properties": {
18262             "tag": {
18263               "type": "string"
18264             }
18265           },
18266           "additionalProperties": false,
18267           "required": [
18268             "tag"
18269           ]
18270         },
18271         "Error": {
18272           "type": "object",
18273           "properties": {
18274             "code": {
18275               "type": "string"
18276             },
18277             "info": {
18278               "$ref": "#/definitions/ErrorInfo"
18279             },
18280             "message": {
18281               "type": "string"
18282             }
18283           },
18284           "additionalProperties": false,
18285           "required": [
18286             "message",
18287             "code"
18288           ]
18289         },
18290         "ErrorInfo": {
18291           "type": "object",
18292           "properties": {
18293             "macaroon": {
18294               "$ref": "#/definitions/Macaroon"
18295             },
18296             "macaroon-path": {
18297               "type": "string"
18298             }
18299           },
18300           "additionalProperties": false
18301         },
18302         "Macaroon": {
18303           "type": "object",
18304           "additionalProperties": false
18305         },
18306         "NotifyWatchResult": {
18307           "type": "object",
18308           "properties": {
18309             "NotifyWatcherId": {
18310               "type": "string"
18311             },
18312             "error": {
18313               "$ref": "#/definitions/Error"
18314             }
18315           },
18316           "additionalProperties": false,
18317           "required": [
18318             "NotifyWatcherId"
18319           ]
18320         },
18321         "NotifyWatchResults": {
18322           "type": "object",
18323           "properties": {
18324             "results": {
18325               "type": "array",
18326               "items": {
18327                 "$ref": "#/definitions/NotifyWatchResult"
18328               }
18329             }
18330           },
18331           "additionalProperties": false,
18332           "required": [
18333             "results"
18334           ]
18335         },
18336         "ProxyConfig": {
18337           "type": "object",
18338           "properties": {
18339             "ftp": {
18340               "type": "string"
18341             },
18342             "http": {
18343               "type": "string"
18344             },
18345             "https": {
18346               "type": "string"
18347             },
18348             "no-proxy": {
18349               "type": "string"
18350             }
18351           },
18352           "additionalProperties": false,
18353           "required": [
18354             "http",
18355             "https",
18356             "ftp",
18357             "no-proxy"
18358           ]
18359         },
18360         "ProxyConfigResult": {
18361           "type": "object",
18362           "properties": {
18363             "apt-proxy-settings": {
18364               "$ref": "#/definitions/ProxyConfig"
18365             },
18366             "error": {
18367               "$ref": "#/definitions/Error"
18368             },
18369             "proxy-settings": {
18370               "$ref": "#/definitions/ProxyConfig"
18371             }
18372           },
18373           "additionalProperties": false,
18374           "required": [
18375             "proxy-settings",
18376             "apt-proxy-settings"
18377           ]
18378         },
18379         "ProxyConfigResults": {
18380           "type": "object",
18381           "properties": {
18382             "results": {
18383               "type": "array",
18384               "items": {
18385                 "$ref": "#/definitions/ProxyConfigResult"
18386               }
18387             }
18388           },
18389           "additionalProperties": false,
18390           "required": [
18391             "results"
18392           ]
18393         }
18394       }
18395     }
18396   },
18397   {
18398     "Name": "Reboot",
18399     "Version": 2,
18400     "Schema": {
18401       "type": "object",
18402       "properties": {
18403         "ClearReboot": {
18404           "type": "object",
18405           "properties": {
18406             "Params": {
18407               "$ref": "#/definitions/Entities"
18408             },
18409             "Result": {
18410               "$ref": "#/definitions/ErrorResults"
18411             }
18412           }
18413         },
18414         "GetRebootAction": {
18415           "type": "object",
18416           "properties": {
18417             "Params": {
18418               "$ref": "#/definitions/Entities"
18419             },
18420             "Result": {
18421               "$ref": "#/definitions/RebootActionResults"
18422             }
18423           }
18424         },
18425         "RequestReboot": {
18426           "type": "object",
18427           "properties": {
18428             "Params": {
18429               "$ref": "#/definitions/Entities"
18430             },
18431             "Result": {
18432               "$ref": "#/definitions/ErrorResults"
18433             }
18434           }
18435         },
18436         "WatchForRebootEvent": {
18437           "type": "object",
18438           "properties": {
18439             "Result": {
18440               "$ref": "#/definitions/NotifyWatchResult"
18441             }
18442           }
18443         }
18444       },
18445       "definitions": {
18446         "Entities": {
18447           "type": "object",
18448           "properties": {
18449             "entities": {
18450               "type": "array",
18451               "items": {
18452                 "$ref": "#/definitions/Entity"
18453               }
18454             }
18455           },
18456           "additionalProperties": false,
18457           "required": [
18458             "entities"
18459           ]
18460         },
18461         "Entity": {
18462           "type": "object",
18463           "properties": {
18464             "tag": {
18465               "type": "string"
18466             }
18467           },
18468           "additionalProperties": false,
18469           "required": [
18470             "tag"
18471           ]
18472         },
18473         "Error": {
18474           "type": "object",
18475           "properties": {
18476             "code": {
18477               "type": "string"
18478             },
18479             "info": {
18480               "$ref": "#/definitions/ErrorInfo"
18481             },
18482             "message": {
18483               "type": "string"
18484             }
18485           },
18486           "additionalProperties": false,
18487           "required": [
18488             "message",
18489             "code"
18490           ]
18491         },
18492         "ErrorInfo": {
18493           "type": "object",
18494           "properties": {
18495             "macaroon": {
18496               "$ref": "#/definitions/Macaroon"
18497             },
18498             "macaroon-path": {
18499               "type": "string"
18500             }
18501           },
18502           "additionalProperties": false
18503         },
18504         "ErrorResult": {
18505           "type": "object",
18506           "properties": {
18507             "error": {
18508               "$ref": "#/definitions/Error"
18509             }
18510           },
18511           "additionalProperties": false
18512         },
18513         "ErrorResults": {
18514           "type": "object",
18515           "properties": {
18516             "results": {
18517               "type": "array",
18518               "items": {
18519                 "$ref": "#/definitions/ErrorResult"
18520               }
18521             }
18522           },
18523           "additionalProperties": false,
18524           "required": [
18525             "results"
18526           ]
18527         },
18528         "Macaroon": {
18529           "type": "object",
18530           "additionalProperties": false
18531         },
18532         "NotifyWatchResult": {
18533           "type": "object",
18534           "properties": {
18535             "NotifyWatcherId": {
18536               "type": "string"
18537             },
18538             "error": {
18539               "$ref": "#/definitions/Error"
18540             }
18541           },
18542           "additionalProperties": false,
18543           "required": [
18544             "NotifyWatcherId"
18545           ]
18546         },
18547         "RebootActionResult": {
18548           "type": "object",
18549           "properties": {
18550             "error": {
18551               "$ref": "#/definitions/Error"
18552             },
18553             "result": {
18554               "type": "string"
18555             }
18556           },
18557           "additionalProperties": false
18558         },
18559         "RebootActionResults": {
18560           "type": "object",
18561           "properties": {
18562             "results": {
18563               "type": "array",
18564               "items": {
18565                 "$ref": "#/definitions/RebootActionResult"
18566               }
18567             }
18568           },
18569           "additionalProperties": false
18570         }
18571       }
18572     }
18573   },
18574   {
18575     "Name": "RelationUnitsWatcher",
18576     "Version": 1,
18577     "Schema": {
18578       "type": "object",
18579       "properties": {
18580         "Next": {
18581           "type": "object",
18582           "properties": {
18583             "Result": {
18584               "$ref": "#/definitions/RelationUnitsWatchResult"
18585             }
18586           }
18587         },
18588         "Stop": {
18589           "type": "object"
18590         }
18591       },
18592       "definitions": {
18593         "Error": {
18594           "type": "object",
18595           "properties": {
18596             "code": {
18597               "type": "string"
18598             },
18599             "info": {
18600               "$ref": "#/definitions/ErrorInfo"
18601             },
18602             "message": {
18603               "type": "string"
18604             }
18605           },
18606           "additionalProperties": false,
18607           "required": [
18608             "message",
18609             "code"
18610           ]
18611         },
18612         "ErrorInfo": {
18613           "type": "object",
18614           "properties": {
18615             "macaroon": {
18616               "$ref": "#/definitions/Macaroon"
18617             },
18618             "macaroon-path": {
18619               "type": "string"
18620             }
18621           },
18622           "additionalProperties": false
18623         },
18624         "Macaroon": {
18625           "type": "object",
18626           "additionalProperties": false
18627         },
18628         "RelationUnitsChange": {
18629           "type": "object",
18630           "properties": {
18631             "changed": {
18632               "type": "object",
18633               "patternProperties": {
18634                 ".*": {
18635                   "$ref": "#/definitions/UnitSettings"
18636                 }
18637               }
18638             },
18639             "departed": {
18640               "type": "array",
18641               "items": {
18642                 "type": "string"
18643               }
18644             }
18645           },
18646           "additionalProperties": false,
18647           "required": [
18648             "changed"
18649           ]
18650         },
18651         "RelationUnitsWatchResult": {
18652           "type": "object",
18653           "properties": {
18654             "changes": {
18655               "$ref": "#/definitions/RelationUnitsChange"
18656             },
18657             "error": {
18658               "$ref": "#/definitions/Error"
18659             },
18660             "watcher-id": {
18661               "type": "string"
18662             }
18663           },
18664           "additionalProperties": false,
18665           "required": [
18666             "watcher-id",
18667             "changes"
18668           ]
18669         },
18670         "UnitSettings": {
18671           "type": "object",
18672           "properties": {
18673             "version": {
18674               "type": "integer"
18675             }
18676           },
18677           "additionalProperties": false,
18678           "required": [
18679             "version"
18680           ]
18681         }
18682       }
18683     }
18684   },
18685   {
18686     "Name": "Resources",
18687     "Version": 1,
18688     "Schema": {
18689       "type": "object",
18690       "properties": {
18691         "AddPendingResources": {
18692           "type": "object",
18693           "properties": {
18694             "Params": {
18695               "$ref": "#/definitions/AddPendingResourcesArgs"
18696             },
18697             "Result": {
18698               "$ref": "#/definitions/AddPendingResourcesResult"
18699             }
18700           }
18701         },
18702         "ListResources": {
18703           "type": "object",
18704           "properties": {
18705             "Params": {
18706               "$ref": "#/definitions/ListResourcesArgs"
18707             },
18708             "Result": {
18709               "$ref": "#/definitions/ResourcesResults"
18710             }
18711           }
18712         }
18713       },
18714       "definitions": {
18715         "AddCharmWithAuthorization": {
18716           "type": "object",
18717           "properties": {
18718             "channel": {
18719               "type": "string"
18720             },
18721             "macaroon": {
18722               "$ref": "#/definitions/Macaroon"
18723             },
18724             "url": {
18725               "type": "string"
18726             }
18727           },
18728           "additionalProperties": false,
18729           "required": [
18730             "url",
18731             "channel",
18732             "macaroon"
18733           ]
18734         },
18735         "AddPendingResourcesArgs": {
18736           "type": "object",
18737           "properties": {
18738             "AddCharmWithAuthorization": {
18739               "$ref": "#/definitions/AddCharmWithAuthorization"
18740             },
18741             "Entity": {
18742               "$ref": "#/definitions/Entity"
18743             },
18744             "resources": {
18745               "type": "array",
18746               "items": {
18747                 "$ref": "#/definitions/CharmResource"
18748               }
18749             }
18750           },
18751           "additionalProperties": false,
18752           "required": [
18753             "Entity",
18754             "AddCharmWithAuthorization",
18755             "resources"
18756           ]
18757         },
18758         "AddPendingResourcesResult": {
18759           "type": "object",
18760           "properties": {
18761             "ErrorResult": {
18762               "$ref": "#/definitions/ErrorResult"
18763             },
18764             "pending-ids": {
18765               "type": "array",
18766               "items": {
18767                 "type": "string"
18768               }
18769             }
18770           },
18771           "additionalProperties": false,
18772           "required": [
18773             "ErrorResult",
18774             "pending-ids"
18775           ]
18776         },
18777         "CharmResource": {
18778           "type": "object",
18779           "properties": {
18780             "description": {
18781               "type": "string"
18782             },
18783             "fingerprint": {
18784               "type": "array",
18785               "items": {
18786                 "type": "integer"
18787               }
18788             },
18789             "name": {
18790               "type": "string"
18791             },
18792             "origin": {
18793               "type": "string"
18794             },
18795             "path": {
18796               "type": "string"
18797             },
18798             "revision": {
18799               "type": "integer"
18800             },
18801             "size": {
18802               "type": "integer"
18803             },
18804             "type": {
18805               "type": "string"
18806             }
18807           },
18808           "additionalProperties": false,
18809           "required": [
18810             "name",
18811             "type",
18812             "path",
18813             "origin",
18814             "revision",
18815             "fingerprint",
18816             "size"
18817           ]
18818         },
18819         "Entity": {
18820           "type": "object",
18821           "properties": {
18822             "tag": {
18823               "type": "string"
18824             }
18825           },
18826           "additionalProperties": false,
18827           "required": [
18828             "tag"
18829           ]
18830         },
18831         "Error": {
18832           "type": "object",
18833           "properties": {
18834             "code": {
18835               "type": "string"
18836             },
18837             "info": {
18838               "$ref": "#/definitions/ErrorInfo"
18839             },
18840             "message": {
18841               "type": "string"
18842             }
18843           },
18844           "additionalProperties": false,
18845           "required": [
18846             "message",
18847             "code"
18848           ]
18849         },
18850         "ErrorInfo": {
18851           "type": "object",
18852           "properties": {
18853             "macaroon": {
18854               "$ref": "#/definitions/Macaroon"
18855             },
18856             "macaroon-path": {
18857               "type": "string"
18858             }
18859           },
18860           "additionalProperties": false
18861         },
18862         "ErrorResult": {
18863           "type": "object",
18864           "properties": {
18865             "error": {
18866               "$ref": "#/definitions/Error"
18867             }
18868           },
18869           "additionalProperties": false
18870         },
18871         "ListResourcesArgs": {
18872           "type": "object",
18873           "properties": {
18874             "entities": {
18875               "type": "array",
18876               "items": {
18877                 "$ref": "#/definitions/Entity"
18878               }
18879             }
18880           },
18881           "additionalProperties": false,
18882           "required": [
18883             "entities"
18884           ]
18885         },
18886         "Macaroon": {
18887           "type": "object",
18888           "additionalProperties": false
18889         },
18890         "Resource": {
18891           "type": "object",
18892           "properties": {
18893             "CharmResource": {
18894               "$ref": "#/definitions/CharmResource"
18895             },
18896             "application": {
18897               "type": "string"
18898             },
18899             "id": {
18900               "type": "string"
18901             },
18902             "pending-id": {
18903               "type": "string"
18904             },
18905             "timestamp": {
18906               "type": "string",
18907               "format": "date-time"
18908             },
18909             "username": {
18910               "type": "string"
18911             }
18912           },
18913           "additionalProperties": false,
18914           "required": [
18915             "CharmResource",
18916             "id",
18917             "pending-id",
18918             "application",
18919             "username",
18920             "timestamp"
18921           ]
18922         },
18923         "ResourcesResult": {
18924           "type": "object",
18925           "properties": {
18926             "ErrorResult": {
18927               "$ref": "#/definitions/ErrorResult"
18928             },
18929             "charm-store-resources": {
18930               "type": "array",
18931               "items": {
18932                 "$ref": "#/definitions/CharmResource"
18933               }
18934             },
18935             "resources": {
18936               "type": "array",
18937               "items": {
18938                 "$ref": "#/definitions/Resource"
18939               }
18940             },
18941             "unit-resources": {
18942               "type": "array",
18943               "items": {
18944                 "$ref": "#/definitions/UnitResources"
18945               }
18946             }
18947           },
18948           "additionalProperties": false,
18949           "required": [
18950             "ErrorResult",
18951             "resources",
18952             "charm-store-resources",
18953             "unit-resources"
18954           ]
18955         },
18956         "ResourcesResults": {
18957           "type": "object",
18958           "properties": {
18959             "results": {
18960               "type": "array",
18961               "items": {
18962                 "$ref": "#/definitions/ResourcesResult"
18963               }
18964             }
18965           },
18966           "additionalProperties": false,
18967           "required": [
18968             "results"
18969           ]
18970         },
18971         "UnitResources": {
18972           "type": "object",
18973           "properties": {
18974             "Entity": {
18975               "$ref": "#/definitions/Entity"
18976             },
18977             "download-progress": {
18978               "type": "object",
18979               "patternProperties": {
18980                 ".*": {
18981                   "type": "integer"
18982                 }
18983               }
18984             },
18985             "resources": {
18986               "type": "array",
18987               "items": {
18988                 "$ref": "#/definitions/Resource"
18989               }
18990             }
18991           },
18992           "additionalProperties": false,
18993           "required": [
18994             "Entity",
18995             "resources",
18996             "download-progress"
18997           ]
18998         }
18999       }
19000     }
19001   },
19002   {
19003     "Name": "ResourcesHookContext",
19004     "Version": 1,
19005     "Schema": {
19006       "type": "object",
19007       "properties": {
19008         "GetResourceInfo": {
19009           "type": "object",
19010           "properties": {
19011             "Params": {
19012               "$ref": "#/definitions/ListUnitResourcesArgs"
19013             },
19014             "Result": {
19015               "$ref": "#/definitions/UnitResourcesResult"
19016             }
19017           }
19018         }
19019       },
19020       "definitions": {
19021         "CharmResource": {
19022           "type": "object",
19023           "properties": {
19024             "description": {
19025               "type": "string"
19026             },
19027             "fingerprint": {
19028               "type": "array",
19029               "items": {
19030                 "type": "integer"
19031               }
19032             },
19033             "name": {
19034               "type": "string"
19035             },
19036             "origin": {
19037               "type": "string"
19038             },
19039             "path": {
19040               "type": "string"
19041             },
19042             "revision": {
19043               "type": "integer"
19044             },
19045             "size": {
19046               "type": "integer"
19047             },
19048             "type": {
19049               "type": "string"
19050             }
19051           },
19052           "additionalProperties": false,
19053           "required": [
19054             "name",
19055             "type",
19056             "path",
19057             "origin",
19058             "revision",
19059             "fingerprint",
19060             "size"
19061           ]
19062         },
19063         "Error": {
19064           "type": "object",
19065           "properties": {
19066             "code": {
19067               "type": "string"
19068             },
19069             "info": {
19070               "$ref": "#/definitions/ErrorInfo"
19071             },
19072             "message": {
19073               "type": "string"
19074             }
19075           },
19076           "additionalProperties": false,
19077           "required": [
19078             "message",
19079             "code"
19080           ]
19081         },
19082         "ErrorInfo": {
19083           "type": "object",
19084           "properties": {
19085             "macaroon": {
19086               "$ref": "#/definitions/Macaroon"
19087             },
19088             "macaroon-path": {
19089               "type": "string"
19090             }
19091           },
19092           "additionalProperties": false
19093         },
19094         "ErrorResult": {
19095           "type": "object",
19096           "properties": {
19097             "error": {
19098               "$ref": "#/definitions/Error"
19099             }
19100           },
19101           "additionalProperties": false
19102         },
19103         "ListUnitResourcesArgs": {
19104           "type": "object",
19105           "properties": {
19106             "resource-names": {
19107               "type": "array",
19108               "items": {
19109                 "type": "string"
19110               }
19111             }
19112           },
19113           "additionalProperties": false,
19114           "required": [
19115             "resource-names"
19116           ]
19117         },
19118         "Macaroon": {
19119           "type": "object",
19120           "additionalProperties": false
19121         },
19122         "Resource": {
19123           "type": "object",
19124           "properties": {
19125             "CharmResource": {
19126               "$ref": "#/definitions/CharmResource"
19127             },
19128             "application": {
19129               "type": "string"
19130             },
19131             "id": {
19132               "type": "string"
19133             },
19134             "pending-id": {
19135               "type": "string"
19136             },
19137             "timestamp": {
19138               "type": "string",
19139               "format": "date-time"
19140             },
19141             "username": {
19142               "type": "string"
19143             }
19144           },
19145           "additionalProperties": false,
19146           "required": [
19147             "CharmResource",
19148             "id",
19149             "pending-id",
19150             "application",
19151             "username",
19152             "timestamp"
19153           ]
19154         },
19155         "UnitResourceResult": {
19156           "type": "object",
19157           "properties": {
19158             "ErrorResult": {
19159               "$ref": "#/definitions/ErrorResult"
19160             },
19161             "resource": {
19162               "$ref": "#/definitions/Resource"
19163             }
19164           },
19165           "additionalProperties": false,
19166           "required": [
19167             "ErrorResult",
19168             "resource"
19169           ]
19170         },
19171         "UnitResourcesResult": {
19172           "type": "object",
19173           "properties": {
19174             "ErrorResult": {
19175               "$ref": "#/definitions/ErrorResult"
19176             },
19177             "resources": {
19178               "type": "array",
19179               "items": {
19180                 "$ref": "#/definitions/UnitResourceResult"
19181               }
19182             }
19183           },
19184           "additionalProperties": false,
19185           "required": [
19186             "ErrorResult",
19187             "resources"
19188           ]
19189         }
19190       }
19191     }
19192   },
19193   {
19194     "Name": "Resumer",
19195     "Version": 2,
19196     "Schema": {
19197       "type": "object",
19198       "properties": {
19199         "ResumeTransactions": {
19200           "type": "object"
19201         }
19202       }
19203     }
19204   },
19205   {
19206     "Name": "RetryStrategy",
19207     "Version": 1,
19208     "Schema": {
19209       "type": "object",
19210       "properties": {
19211         "RetryStrategy": {
19212           "type": "object",
19213           "properties": {
19214             "Params": {
19215               "$ref": "#/definitions/Entities"
19216             },
19217             "Result": {
19218               "$ref": "#/definitions/RetryStrategyResults"
19219             }
19220           }
19221         },
19222         "WatchRetryStrategy": {
19223           "type": "object",
19224           "properties": {
19225             "Params": {
19226               "$ref": "#/definitions/Entities"
19227             },
19228             "Result": {
19229               "$ref": "#/definitions/NotifyWatchResults"
19230             }
19231           }
19232         }
19233       },
19234       "definitions": {
19235         "Entities": {
19236           "type": "object",
19237           "properties": {
19238             "entities": {
19239               "type": "array",
19240               "items": {
19241                 "$ref": "#/definitions/Entity"
19242               }
19243             }
19244           },
19245           "additionalProperties": false,
19246           "required": [
19247             "entities"
19248           ]
19249         },
19250         "Entity": {
19251           "type": "object",
19252           "properties": {
19253             "tag": {
19254               "type": "string"
19255             }
19256           },
19257           "additionalProperties": false,
19258           "required": [
19259             "tag"
19260           ]
19261         },
19262         "Error": {
19263           "type": "object",
19264           "properties": {
19265             "code": {
19266               "type": "string"
19267             },
19268             "info": {
19269               "$ref": "#/definitions/ErrorInfo"
19270             },
19271             "message": {
19272               "type": "string"
19273             }
19274           },
19275           "additionalProperties": false,
19276           "required": [
19277             "message",
19278             "code"
19279           ]
19280         },
19281         "ErrorInfo": {
19282           "type": "object",
19283           "properties": {
19284             "macaroon": {
19285               "$ref": "#/definitions/Macaroon"
19286             },
19287             "macaroon-path": {
19288               "type": "string"
19289             }
19290           },
19291           "additionalProperties": false
19292         },
19293         "Macaroon": {
19294           "type": "object",
19295           "additionalProperties": false
19296         },
19297         "NotifyWatchResult": {
19298           "type": "object",
19299           "properties": {
19300             "NotifyWatcherId": {
19301               "type": "string"
19302             },
19303             "error": {
19304               "$ref": "#/definitions/Error"
19305             }
19306           },
19307           "additionalProperties": false,
19308           "required": [
19309             "NotifyWatcherId"
19310           ]
19311         },
19312         "NotifyWatchResults": {
19313           "type": "object",
19314           "properties": {
19315             "results": {
19316               "type": "array",
19317               "items": {
19318                 "$ref": "#/definitions/NotifyWatchResult"
19319               }
19320             }
19321           },
19322           "additionalProperties": false,
19323           "required": [
19324             "results"
19325           ]
19326         },
19327         "RetryStrategy": {
19328           "type": "object",
19329           "properties": {
19330             "jitter-retry-time": {
19331               "type": "boolean"
19332             },
19333             "max-retry-time": {
19334               "type": "integer"
19335             },
19336             "min-retry-time": {
19337               "type": "integer"
19338             },
19339             "retry-time-factor": {
19340               "type": "integer"
19341             },
19342             "should-retry": {
19343               "type": "boolean"
19344             }
19345           },
19346           "additionalProperties": false,
19347           "required": [
19348             "should-retry",
19349             "min-retry-time",
19350             "max-retry-time",
19351             "jitter-retry-time",
19352             "retry-time-factor"
19353           ]
19354         },
19355         "RetryStrategyResult": {
19356           "type": "object",
19357           "properties": {
19358             "error": {
19359               "$ref": "#/definitions/Error"
19360             },
19361             "result": {
19362               "$ref": "#/definitions/RetryStrategy"
19363             }
19364           },
19365           "additionalProperties": false
19366         },
19367         "RetryStrategyResults": {
19368           "type": "object",
19369           "properties": {
19370             "results": {
19371               "type": "array",
19372               "items": {
19373                 "$ref": "#/definitions/RetryStrategyResult"
19374               }
19375             }
19376           },
19377           "additionalProperties": false,
19378           "required": [
19379             "results"
19380           ]
19381         }
19382       }
19383     }
19384   },
19385   {
19386     "Name": "SSHClient",
19387     "Version": 2,
19388     "Schema": {
19389       "type": "object",
19390       "properties": {
19391         "AllAddresses": {
19392           "type": "object",
19393           "properties": {
19394             "Params": {
19395               "$ref": "#/definitions/Entities"
19396             },
19397             "Result": {
19398               "$ref": "#/definitions/SSHAddressesResults"
19399             }
19400           }
19401         },
19402         "PrivateAddress": {
19403           "type": "object",
19404           "properties": {
19405             "Params": {
19406               "$ref": "#/definitions/Entities"
19407             },
19408             "Result": {
19409               "$ref": "#/definitions/SSHAddressResults"
19410             }
19411           }
19412         },
19413         "Proxy": {
19414           "type": "object",
19415           "properties": {
19416             "Result": {
19417               "$ref": "#/definitions/SSHProxyResult"
19418             }
19419           }
19420         },
19421         "PublicAddress": {
19422           "type": "object",
19423           "properties": {
19424             "Params": {
19425               "$ref": "#/definitions/Entities"
19426             },
19427             "Result": {
19428               "$ref": "#/definitions/SSHAddressResults"
19429             }
19430           }
19431         },
19432         "PublicKeys": {
19433           "type": "object",
19434           "properties": {
19435             "Params": {
19436               "$ref": "#/definitions/Entities"
19437             },
19438             "Result": {
19439               "$ref": "#/definitions/SSHPublicKeysResults"
19440             }
19441           }
19442         }
19443       },
19444       "definitions": {
19445         "Entities": {
19446           "type": "object",
19447           "properties": {
19448             "entities": {
19449               "type": "array",
19450               "items": {
19451                 "$ref": "#/definitions/Entity"
19452               }
19453             }
19454           },
19455           "additionalProperties": false,
19456           "required": [
19457             "entities"
19458           ]
19459         },
19460         "Entity": {
19461           "type": "object",
19462           "properties": {
19463             "tag": {
19464               "type": "string"
19465             }
19466           },
19467           "additionalProperties": false,
19468           "required": [
19469             "tag"
19470           ]
19471         },
19472         "Error": {
19473           "type": "object",
19474           "properties": {
19475             "code": {
19476               "type": "string"
19477             },
19478             "info": {
19479               "$ref": "#/definitions/ErrorInfo"
19480             },
19481             "message": {
19482               "type": "string"
19483             }
19484           },
19485           "additionalProperties": false,
19486           "required": [
19487             "message",
19488             "code"
19489           ]
19490         },
19491         "ErrorInfo": {
19492           "type": "object",
19493           "properties": {
19494             "macaroon": {
19495               "$ref": "#/definitions/Macaroon"
19496             },
19497             "macaroon-path": {
19498               "type": "string"
19499             }
19500           },
19501           "additionalProperties": false
19502         },
19503         "Macaroon": {
19504           "type": "object",
19505           "additionalProperties": false
19506         },
19507         "SSHAddressResult": {
19508           "type": "object",
19509           "properties": {
19510             "address": {
19511               "type": "string"
19512             },
19513             "error": {
19514               "$ref": "#/definitions/Error"
19515             }
19516           },
19517           "additionalProperties": false
19518         },
19519         "SSHAddressResults": {
19520           "type": "object",
19521           "properties": {
19522             "results": {
19523               "type": "array",
19524               "items": {
19525                 "$ref": "#/definitions/SSHAddressResult"
19526               }
19527             }
19528           },
19529           "additionalProperties": false,
19530           "required": [
19531             "results"
19532           ]
19533         },
19534         "SSHAddressesResult": {
19535           "type": "object",
19536           "properties": {
19537             "addresses": {
19538               "type": "array",
19539               "items": {
19540                 "type": "string"
19541               }
19542             },
19543             "error": {
19544               "$ref": "#/definitions/Error"
19545             }
19546           },
19547           "additionalProperties": false,
19548           "required": [
19549             "addresses"
19550           ]
19551         },
19552         "SSHAddressesResults": {
19553           "type": "object",
19554           "properties": {
19555             "results": {
19556               "type": "array",
19557               "items": {
19558                 "$ref": "#/definitions/SSHAddressesResult"
19559               }
19560             }
19561           },
19562           "additionalProperties": false,
19563           "required": [
19564             "results"
19565           ]
19566         },
19567         "SSHProxyResult": {
19568           "type": "object",
19569           "properties": {
19570             "use-proxy": {
19571               "type": "boolean"
19572             }
19573           },
19574           "additionalProperties": false,
19575           "required": [
19576             "use-proxy"
19577           ]
19578         },
19579         "SSHPublicKeysResult": {
19580           "type": "object",
19581           "properties": {
19582             "error": {
19583               "$ref": "#/definitions/Error"
19584             },
19585             "public-keys": {
19586               "type": "array",
19587               "items": {
19588                 "type": "string"
19589               }
19590             }
19591           },
19592           "additionalProperties": false
19593         },
19594         "SSHPublicKeysResults": {
19595           "type": "object",
19596           "properties": {
19597             "results": {
19598               "type": "array",
19599               "items": {
19600                 "$ref": "#/definitions/SSHPublicKeysResult"
19601               }
19602             }
19603           },
19604           "additionalProperties": false,
19605           "required": [
19606             "results"
19607           ]
19608         }
19609       }
19610     }
19611   },
19612   {
19613     "Name": "Singular",
19614     "Version": 1,
19615     "Schema": {
19616       "type": "object",
19617       "properties": {
19618         "Claim": {
19619           "type": "object",
19620           "properties": {
19621             "Params": {
19622               "$ref": "#/definitions/SingularClaims"
19623             },
19624             "Result": {
19625               "$ref": "#/definitions/ErrorResults"
19626             }
19627           }
19628         },
19629         "Wait": {
19630           "type": "object",
19631           "properties": {
19632             "Params": {
19633               "$ref": "#/definitions/Entities"
19634             },
19635             "Result": {
19636               "$ref": "#/definitions/ErrorResults"
19637             }
19638           }
19639         }
19640       },
19641       "definitions": {
19642         "Entities": {
19643           "type": "object",
19644           "properties": {
19645             "entities": {
19646               "type": "array",
19647               "items": {
19648                 "$ref": "#/definitions/Entity"
19649               }
19650             }
19651           },
19652           "additionalProperties": false,
19653           "required": [
19654             "entities"
19655           ]
19656         },
19657         "Entity": {
19658           "type": "object",
19659           "properties": {
19660             "tag": {
19661               "type": "string"
19662             }
19663           },
19664           "additionalProperties": false,
19665           "required": [
19666             "tag"
19667           ]
19668         },
19669         "Error": {
19670           "type": "object",
19671           "properties": {
19672             "code": {
19673               "type": "string"
19674             },
19675             "info": {
19676               "$ref": "#/definitions/ErrorInfo"
19677             },
19678             "message": {
19679               "type": "string"
19680             }
19681           },
19682           "additionalProperties": false,
19683           "required": [
19684             "message",
19685             "code"
19686           ]
19687         },
19688         "ErrorInfo": {
19689           "type": "object",
19690           "properties": {
19691             "macaroon": {
19692               "$ref": "#/definitions/Macaroon"
19693             },
19694             "macaroon-path": {
19695               "type": "string"
19696             }
19697           },
19698           "additionalProperties": false
19699         },
19700         "ErrorResult": {
19701           "type": "object",
19702           "properties": {
19703             "error": {
19704               "$ref": "#/definitions/Error"
19705             }
19706           },
19707           "additionalProperties": false
19708         },
19709         "ErrorResults": {
19710           "type": "object",
19711           "properties": {
19712             "results": {
19713               "type": "array",
19714               "items": {
19715                 "$ref": "#/definitions/ErrorResult"
19716               }
19717             }
19718           },
19719           "additionalProperties": false,
19720           "required": [
19721             "results"
19722           ]
19723         },
19724         "Macaroon": {
19725           "type": "object",
19726           "additionalProperties": false
19727         },
19728         "SingularClaim": {
19729           "type": "object",
19730           "properties": {
19731             "controller-tag": {
19732               "type": "string"
19733             },
19734             "duration": {
19735               "type": "integer"
19736             },
19737             "model-tag": {
19738               "type": "string"
19739             }
19740           },
19741           "additionalProperties": false,
19742           "required": [
19743             "model-tag",
19744             "controller-tag",
19745             "duration"
19746           ]
19747         },
19748         "SingularClaims": {
19749           "type": "object",
19750           "properties": {
19751             "claims": {
19752               "type": "array",
19753               "items": {
19754                 "$ref": "#/definitions/SingularClaim"
19755               }
19756             }
19757           },
19758           "additionalProperties": false,
19759           "required": [
19760             "claims"
19761           ]
19762         }
19763       }
19764     }
19765   },
19766   {
19767     "Name": "Spaces",
19768     "Version": 2,
19769     "Schema": {
19770       "type": "object",
19771       "properties": {
19772         "CreateSpaces": {
19773           "type": "object",
19774           "properties": {
19775             "Params": {
19776               "$ref": "#/definitions/CreateSpacesParams"
19777             },
19778             "Result": {
19779               "$ref": "#/definitions/ErrorResults"
19780             }
19781           }
19782         },
19783         "ListSpaces": {
19784           "type": "object",
19785           "properties": {
19786             "Result": {
19787               "$ref": "#/definitions/ListSpacesResults"
19788             }
19789           }
19790         }
19791       },
19792       "definitions": {
19793         "CreateSpaceParams": {
19794           "type": "object",
19795           "properties": {
19796             "provider-id": {
19797               "type": "string"
19798             },
19799             "public": {
19800               "type": "boolean"
19801             },
19802             "space-tag": {
19803               "type": "string"
19804             },
19805             "subnet-tags": {
19806               "type": "array",
19807               "items": {
19808                 "type": "string"
19809               }
19810             }
19811           },
19812           "additionalProperties": false,
19813           "required": [
19814             "subnet-tags",
19815             "space-tag",
19816             "public"
19817           ]
19818         },
19819         "CreateSpacesParams": {
19820           "type": "object",
19821           "properties": {
19822             "spaces": {
19823               "type": "array",
19824               "items": {
19825                 "$ref": "#/definitions/CreateSpaceParams"
19826               }
19827             }
19828           },
19829           "additionalProperties": false,
19830           "required": [
19831             "spaces"
19832           ]
19833         },
19834         "Error": {
19835           "type": "object",
19836           "properties": {
19837             "code": {
19838               "type": "string"
19839             },
19840             "info": {
19841               "$ref": "#/definitions/ErrorInfo"
19842             },
19843             "message": {
19844               "type": "string"
19845             }
19846           },
19847           "additionalProperties": false,
19848           "required": [
19849             "message",
19850             "code"
19851           ]
19852         },
19853         "ErrorInfo": {
19854           "type": "object",
19855           "properties": {
19856             "macaroon": {
19857               "$ref": "#/definitions/Macaroon"
19858             },
19859             "macaroon-path": {
19860               "type": "string"
19861             }
19862           },
19863           "additionalProperties": false
19864         },
19865         "ErrorResult": {
19866           "type": "object",
19867           "properties": {
19868             "error": {
19869               "$ref": "#/definitions/Error"
19870             }
19871           },
19872           "additionalProperties": false
19873         },
19874         "ErrorResults": {
19875           "type": "object",
19876           "properties": {
19877             "results": {
19878               "type": "array",
19879               "items": {
19880                 "$ref": "#/definitions/ErrorResult"
19881               }
19882             }
19883           },
19884           "additionalProperties": false,
19885           "required": [
19886             "results"
19887           ]
19888         },
19889         "ListSpacesResults": {
19890           "type": "object",
19891           "properties": {
19892             "results": {
19893               "type": "array",
19894               "items": {
19895                 "$ref": "#/definitions/Space"
19896               }
19897             }
19898           },
19899           "additionalProperties": false,
19900           "required": [
19901             "results"
19902           ]
19903         },
19904         "Macaroon": {
19905           "type": "object",
19906           "additionalProperties": false
19907         },
19908         "Space": {
19909           "type": "object",
19910           "properties": {
19911             "error": {
19912               "$ref": "#/definitions/Error"
19913             },
19914             "name": {
19915               "type": "string"
19916             },
19917             "subnets": {
19918               "type": "array",
19919               "items": {
19920                 "$ref": "#/definitions/Subnet"
19921               }
19922             }
19923           },
19924           "additionalProperties": false,
19925           "required": [
19926             "name",
19927             "subnets"
19928           ]
19929         },
19930         "Subnet": {
19931           "type": "object",
19932           "properties": {
19933             "cidr": {
19934               "type": "string"
19935             },
19936             "life": {
19937               "type": "string"
19938             },
19939             "provider-id": {
19940               "type": "string"
19941             },
19942             "provider-network-id": {
19943               "type": "string"
19944             },
19945             "provider-space-id": {
19946               "type": "string"
19947             },
19948             "space-tag": {
19949               "type": "string"
19950             },
19951             "status": {
19952               "type": "string"
19953             },
19954             "vlan-tag": {
19955               "type": "integer"
19956             },
19957             "zones": {
19958               "type": "array",
19959               "items": {
19960                 "type": "string"
19961               }
19962             }
19963           },
19964           "additionalProperties": false,
19965           "required": [
19966             "cidr",
19967             "vlan-tag",
19968             "life",
19969             "space-tag",
19970             "zones"
19971           ]
19972         }
19973       }
19974     }
19975   },
19976   {
19977     "Name": "StatusHistory",
19978     "Version": 2,
19979     "Schema": {
19980       "type": "object",
19981       "properties": {
19982         "ModelConfig": {
19983           "type": "object",
19984           "properties": {
19985             "Result": {
19986               "$ref": "#/definitions/ModelConfigResult"
19987             }
19988           }
19989         },
19990         "Prune": {
19991           "type": "object",
19992           "properties": {
19993             "Params": {
19994               "$ref": "#/definitions/StatusHistoryPruneArgs"
19995             }
19996           }
19997         },
19998         "WatchForModelConfigChanges": {
19999           "type": "object",
20000           "properties": {
20001             "Result": {
20002               "$ref": "#/definitions/NotifyWatchResult"
20003             }
20004           }
20005         }
20006       },
20007       "definitions": {
20008         "Error": {
20009           "type": "object",
20010           "properties": {
20011             "code": {
20012               "type": "string"
20013             },
20014             "info": {
20015               "$ref": "#/definitions/ErrorInfo"
20016             },
20017             "message": {
20018               "type": "string"
20019             }
20020           },
20021           "additionalProperties": false,
20022           "required": [
20023             "message",
20024             "code"
20025           ]
20026         },
20027         "ErrorInfo": {
20028           "type": "object",
20029           "properties": {
20030             "macaroon": {
20031               "$ref": "#/definitions/Macaroon"
20032             },
20033             "macaroon-path": {
20034               "type": "string"
20035             }
20036           },
20037           "additionalProperties": false
20038         },
20039         "Macaroon": {
20040           "type": "object",
20041           "additionalProperties": false
20042         },
20043         "ModelConfigResult": {
20044           "type": "object",
20045           "properties": {
20046             "config": {
20047               "type": "object",
20048               "patternProperties": {
20049                 ".*": {
20050                   "type": "object",
20051                   "additionalProperties": true
20052                 }
20053               }
20054             }
20055           },
20056           "additionalProperties": false,
20057           "required": [
20058             "config"
20059           ]
20060         },
20061         "NotifyWatchResult": {
20062           "type": "object",
20063           "properties": {
20064             "NotifyWatcherId": {
20065               "type": "string"
20066             },
20067             "error": {
20068               "$ref": "#/definitions/Error"
20069             }
20070           },
20071           "additionalProperties": false,
20072           "required": [
20073             "NotifyWatcherId"
20074           ]
20075         },
20076         "StatusHistoryPruneArgs": {
20077           "type": "object",
20078           "properties": {
20079             "max-history-mb": {
20080               "type": "integer"
20081             },
20082             "max-history-time": {
20083               "type": "integer"
20084             }
20085           },
20086           "additionalProperties": false,
20087           "required": [
20088             "max-history-time",
20089             "max-history-mb"
20090           ]
20091         }
20092       }
20093     }
20094   },
20095   {
20096     "Name": "Storage",
20097     "Version": 3,
20098     "Schema": {
20099       "type": "object",
20100       "properties": {
20101         "AddToUnit": {
20102           "type": "object",
20103           "properties": {
20104             "Params": {
20105               "$ref": "#/definitions/StoragesAddParams"
20106             },
20107             "Result": {
20108               "$ref": "#/definitions/ErrorResults"
20109             }
20110           }
20111         },
20112         "Attach": {
20113           "type": "object",
20114           "properties": {
20115             "Params": {
20116               "$ref": "#/definitions/StorageAttachmentIds"
20117             },
20118             "Result": {
20119               "$ref": "#/definitions/ErrorResults"
20120             }
20121           }
20122         },
20123         "CreatePool": {
20124           "type": "object",
20125           "properties": {
20126             "Params": {
20127               "$ref": "#/definitions/StoragePool"
20128             }
20129           }
20130         },
20131         "Destroy": {
20132           "type": "object",
20133           "properties": {
20134             "Params": {
20135               "$ref": "#/definitions/Entities"
20136             },
20137             "Result": {
20138               "$ref": "#/definitions/ErrorResults"
20139             }
20140           }
20141         },
20142         "Detach": {
20143           "type": "object",
20144           "properties": {
20145             "Params": {
20146               "$ref": "#/definitions/StorageAttachmentIds"
20147             },
20148             "Result": {
20149               "$ref": "#/definitions/ErrorResults"
20150             }
20151           }
20152         },
20153         "ListFilesystems": {
20154           "type": "object",
20155           "properties": {
20156             "Params": {
20157               "$ref": "#/definitions/FilesystemFilters"
20158             },
20159             "Result": {
20160               "$ref": "#/definitions/FilesystemDetailsListResults"
20161             }
20162           }
20163         },
20164         "ListPools": {
20165           "type": "object",
20166           "properties": {
20167             "Params": {
20168               "$ref": "#/definitions/StoragePoolFilters"
20169             },
20170             "Result": {
20171               "$ref": "#/definitions/StoragePoolsResults"
20172             }
20173           }
20174         },
20175         "ListStorageDetails": {
20176           "type": "object",
20177           "properties": {
20178             "Params": {
20179               "$ref": "#/definitions/StorageFilters"
20180             },
20181             "Result": {
20182               "$ref": "#/definitions/StorageDetailsListResults"
20183             }
20184           }
20185         },
20186         "ListVolumes": {
20187           "type": "object",
20188           "properties": {
20189             "Params": {
20190               "$ref": "#/definitions/VolumeFilters"
20191             },
20192             "Result": {
20193               "$ref": "#/definitions/VolumeDetailsListResults"
20194             }
20195           }
20196         },
20197         "StorageDetails": {
20198           "type": "object",
20199           "properties": {
20200             "Params": {
20201               "$ref": "#/definitions/Entities"
20202             },
20203             "Result": {
20204               "$ref": "#/definitions/StorageDetailsResults"
20205             }
20206           }
20207         }
20208       },
20209       "definitions": {
20210         "Entities": {
20211           "type": "object",
20212           "properties": {
20213             "entities": {
20214               "type": "array",
20215               "items": {
20216                 "$ref": "#/definitions/Entity"
20217               }
20218             }
20219           },
20220           "additionalProperties": false,
20221           "required": [
20222             "entities"
20223           ]
20224         },
20225         "Entity": {
20226           "type": "object",
20227           "properties": {
20228             "tag": {
20229               "type": "string"
20230             }
20231           },
20232           "additionalProperties": false,
20233           "required": [
20234             "tag"
20235           ]
20236         },
20237         "EntityStatus": {
20238           "type": "object",
20239           "properties": {
20240             "data": {
20241               "type": "object",
20242               "patternProperties": {
20243                 ".*": {
20244                   "type": "object",
20245                   "additionalProperties": true
20246                 }
20247               }
20248             },
20249             "info": {
20250               "type": "string"
20251             },
20252             "since": {
20253               "type": "string",
20254               "format": "date-time"
20255             },
20256             "status": {
20257               "type": "string"
20258             }
20259           },
20260           "additionalProperties": false,
20261           "required": [
20262             "status",
20263             "info",
20264             "since"
20265           ]
20266         },
20267         "Error": {
20268           "type": "object",
20269           "properties": {
20270             "code": {
20271               "type": "string"
20272             },
20273             "info": {
20274               "$ref": "#/definitions/ErrorInfo"
20275             },
20276             "message": {
20277               "type": "string"
20278             }
20279           },
20280           "additionalProperties": false,
20281           "required": [
20282             "message",
20283             "code"
20284           ]
20285         },
20286         "ErrorInfo": {
20287           "type": "object",
20288           "properties": {
20289             "macaroon": {
20290               "$ref": "#/definitions/Macaroon"
20291             },
20292             "macaroon-path": {
20293               "type": "string"
20294             }
20295           },
20296           "additionalProperties": false
20297         },
20298         "ErrorResult": {
20299           "type": "object",
20300           "properties": {
20301             "error": {
20302               "$ref": "#/definitions/Error"
20303             }
20304           },
20305           "additionalProperties": false
20306         },
20307         "ErrorResults": {
20308           "type": "object",
20309           "properties": {
20310             "results": {
20311               "type": "array",
20312               "items": {
20313                 "$ref": "#/definitions/ErrorResult"
20314               }
20315             }
20316           },
20317           "additionalProperties": false,
20318           "required": [
20319             "results"
20320           ]
20321         },
20322         "FilesystemAttachmentDetails": {
20323           "type": "object",
20324           "properties": {
20325             "FilesystemAttachmentInfo": {
20326               "$ref": "#/definitions/FilesystemAttachmentInfo"
20327             },
20328             "life": {
20329               "type": "string"
20330             }
20331           },
20332           "additionalProperties": false,
20333           "required": [
20334             "FilesystemAttachmentInfo"
20335           ]
20336         },
20337         "FilesystemAttachmentInfo": {
20338           "type": "object",
20339           "properties": {
20340             "mount-point": {
20341               "type": "string"
20342             },
20343             "read-only": {
20344               "type": "boolean"
20345             }
20346           },
20347           "additionalProperties": false
20348         },
20349         "FilesystemDetails": {
20350           "type": "object",
20351           "properties": {
20352             "filesystem-tag": {
20353               "type": "string"
20354             },
20355             "info": {
20356               "$ref": "#/definitions/FilesystemInfo"
20357             },
20358             "life": {
20359               "type": "string"
20360             },
20361             "machine-attachments": {
20362               "type": "object",
20363               "patternProperties": {
20364                 ".*": {
20365                   "$ref": "#/definitions/FilesystemAttachmentDetails"
20366                 }
20367               }
20368             },
20369             "status": {
20370               "$ref": "#/definitions/EntityStatus"
20371             },
20372             "storage": {
20373               "$ref": "#/definitions/StorageDetails"
20374             },
20375             "volume-tag": {
20376               "type": "string"
20377             }
20378           },
20379           "additionalProperties": false,
20380           "required": [
20381             "filesystem-tag",
20382             "info",
20383             "status"
20384           ]
20385         },
20386         "FilesystemDetailsListResult": {
20387           "type": "object",
20388           "properties": {
20389             "error": {
20390               "$ref": "#/definitions/Error"
20391             },
20392             "result": {
20393               "type": "array",
20394               "items": {
20395                 "$ref": "#/definitions/FilesystemDetails"
20396               }
20397             }
20398           },
20399           "additionalProperties": false
20400         },
20401         "FilesystemDetailsListResults": {
20402           "type": "object",
20403           "properties": {
20404             "results": {
20405               "type": "array",
20406               "items": {
20407                 "$ref": "#/definitions/FilesystemDetailsListResult"
20408               }
20409             }
20410           },
20411           "additionalProperties": false
20412         },
20413         "FilesystemFilter": {
20414           "type": "object",
20415           "properties": {
20416             "machines": {
20417               "type": "array",
20418               "items": {
20419                 "type": "string"
20420               }
20421             }
20422           },
20423           "additionalProperties": false
20424         },
20425         "FilesystemFilters": {
20426           "type": "object",
20427           "properties": {
20428             "filters": {
20429               "type": "array",
20430               "items": {
20431                 "$ref": "#/definitions/FilesystemFilter"
20432               }
20433             }
20434           },
20435           "additionalProperties": false
20436         },
20437         "FilesystemInfo": {
20438           "type": "object",
20439           "properties": {
20440             "filesystem-id": {
20441               "type": "string"
20442             },
20443             "pool": {
20444               "type": "string"
20445             },
20446             "size": {
20447               "type": "integer"
20448             }
20449           },
20450           "additionalProperties": false,
20451           "required": [
20452             "filesystem-id",
20453             "pool",
20454             "size"
20455           ]
20456         },
20457         "Macaroon": {
20458           "type": "object",
20459           "additionalProperties": false
20460         },
20461         "StorageAddParams": {
20462           "type": "object",
20463           "properties": {
20464             "name": {
20465               "type": "string"
20466             },
20467             "storage": {
20468               "$ref": "#/definitions/StorageConstraints"
20469             },
20470             "unit": {
20471               "type": "string"
20472             }
20473           },
20474           "additionalProperties": false,
20475           "required": [
20476             "unit",
20477             "name",
20478             "storage"
20479           ]
20480         },
20481         "StorageAttachmentDetails": {
20482           "type": "object",
20483           "properties": {
20484             "life": {
20485               "type": "string"
20486             },
20487             "location": {
20488               "type": "string"
20489             },
20490             "machine-tag": {
20491               "type": "string"
20492             },
20493             "storage-tag": {
20494               "type": "string"
20495             },
20496             "unit-tag": {
20497               "type": "string"
20498             }
20499           },
20500           "additionalProperties": false,
20501           "required": [
20502             "storage-tag",
20503             "unit-tag",
20504             "machine-tag"
20505           ]
20506         },
20507         "StorageAttachmentId": {
20508           "type": "object",
20509           "properties": {
20510             "storage-tag": {
20511               "type": "string"
20512             },
20513             "unit-tag": {
20514               "type": "string"
20515             }
20516           },
20517           "additionalProperties": false,
20518           "required": [
20519             "storage-tag",
20520             "unit-tag"
20521           ]
20522         },
20523         "StorageAttachmentIds": {
20524           "type": "object",
20525           "properties": {
20526             "ids": {
20527               "type": "array",
20528               "items": {
20529                 "$ref": "#/definitions/StorageAttachmentId"
20530               }
20531             }
20532           },
20533           "additionalProperties": false,
20534           "required": [
20535             "ids"
20536           ]
20537         },
20538         "StorageConstraints": {
20539           "type": "object",
20540           "properties": {
20541             "count": {
20542               "type": "integer"
20543             },
20544             "pool": {
20545               "type": "string"
20546             },
20547             "size": {
20548               "type": "integer"
20549             }
20550           },
20551           "additionalProperties": false
20552         },
20553         "StorageDetails": {
20554           "type": "object",
20555           "properties": {
20556             "attachments": {
20557               "type": "object",
20558               "patternProperties": {
20559                 ".*": {
20560                   "$ref": "#/definitions/StorageAttachmentDetails"
20561                 }
20562               }
20563             },
20564             "kind": {
20565               "type": "integer"
20566             },
20567             "life": {
20568               "type": "string"
20569             },
20570             "owner-tag": {
20571               "type": "string"
20572             },
20573             "persistent": {
20574               "type": "boolean"
20575             },
20576             "status": {
20577               "$ref": "#/definitions/EntityStatus"
20578             },
20579             "storage-tag": {
20580               "type": "string"
20581             }
20582           },
20583           "additionalProperties": false,
20584           "required": [
20585             "storage-tag",
20586             "owner-tag",
20587             "kind",
20588             "status",
20589             "persistent"
20590           ]
20591         },
20592         "StorageDetailsListResult": {
20593           "type": "object",
20594           "properties": {
20595             "error": {
20596               "$ref": "#/definitions/Error"
20597             },
20598             "result": {
20599               "type": "array",
20600               "items": {
20601                 "$ref": "#/definitions/StorageDetails"
20602               }
20603             }
20604           },
20605           "additionalProperties": false
20606         },
20607         "StorageDetailsListResults": {
20608           "type": "object",
20609           "properties": {
20610             "results": {
20611               "type": "array",
20612               "items": {
20613                 "$ref": "#/definitions/StorageDetailsListResult"
20614               }
20615             }
20616           },
20617           "additionalProperties": false
20618         },
20619         "StorageDetailsResult": {
20620           "type": "object",
20621           "properties": {
20622             "error": {
20623               "$ref": "#/definitions/Error"
20624             },
20625             "result": {
20626               "$ref": "#/definitions/StorageDetails"
20627             }
20628           },
20629           "additionalProperties": false
20630         },
20631         "StorageDetailsResults": {
20632           "type": "object",
20633           "properties": {
20634             "results": {
20635               "type": "array",
20636               "items": {
20637                 "$ref": "#/definitions/StorageDetailsResult"
20638               }
20639             }
20640           },
20641           "additionalProperties": false
20642         },
20643         "StorageFilter": {
20644           "type": "object",
20645           "additionalProperties": false
20646         },
20647         "StorageFilters": {
20648           "type": "object",
20649           "properties": {
20650             "filters": {
20651               "type": "array",
20652               "items": {
20653                 "$ref": "#/definitions/StorageFilter"
20654               }
20655             }
20656           },
20657           "additionalProperties": false
20658         },
20659         "StoragePool": {
20660           "type": "object",
20661           "properties": {
20662             "attrs": {
20663               "type": "object",
20664               "patternProperties": {
20665                 ".*": {
20666                   "type": "object",
20667                   "additionalProperties": true
20668                 }
20669               }
20670             },
20671             "name": {
20672               "type": "string"
20673             },
20674             "provider": {
20675               "type": "string"
20676             }
20677           },
20678           "additionalProperties": false,
20679           "required": [
20680             "name",
20681             "provider",
20682             "attrs"
20683           ]
20684         },
20685         "StoragePoolFilter": {
20686           "type": "object",
20687           "properties": {
20688             "names": {
20689               "type": "array",
20690               "items": {
20691                 "type": "string"
20692               }
20693             },
20694             "providers": {
20695               "type": "array",
20696               "items": {
20697                 "type": "string"
20698               }
20699             }
20700           },
20701           "additionalProperties": false
20702         },
20703         "StoragePoolFilters": {
20704           "type": "object",
20705           "properties": {
20706             "filters": {
20707               "type": "array",
20708               "items": {
20709                 "$ref": "#/definitions/StoragePoolFilter"
20710               }
20711             }
20712           },
20713           "additionalProperties": false
20714         },
20715         "StoragePoolsResult": {
20716           "type": "object",
20717           "properties": {
20718             "error": {
20719               "$ref": "#/definitions/Error"
20720             },
20721             "storage-pools": {
20722               "type": "array",
20723               "items": {
20724                 "$ref": "#/definitions/StoragePool"
20725               }
20726             }
20727           },
20728           "additionalProperties": false
20729         },
20730         "StoragePoolsResults": {
20731           "type": "object",
20732           "properties": {
20733             "results": {
20734               "type": "array",
20735               "items": {
20736                 "$ref": "#/definitions/StoragePoolsResult"
20737               }
20738             }
20739           },
20740           "additionalProperties": false
20741         },
20742         "StoragesAddParams": {
20743           "type": "object",
20744           "properties": {
20745             "storages": {
20746               "type": "array",
20747               "items": {
20748                 "$ref": "#/definitions/StorageAddParams"
20749               }
20750             }
20751           },
20752           "additionalProperties": false,
20753           "required": [
20754             "storages"
20755           ]
20756         },
20757         "VolumeAttachmentDetails": {
20758           "type": "object",
20759           "properties": {
20760             "VolumeAttachmentInfo": {
20761               "$ref": "#/definitions/VolumeAttachmentInfo"
20762             },
20763             "life": {
20764               "type": "string"
20765             }
20766           },
20767           "additionalProperties": false,
20768           "required": [
20769             "VolumeAttachmentInfo"
20770           ]
20771         },
20772         "VolumeAttachmentInfo": {
20773           "type": "object",
20774           "properties": {
20775             "bus-address": {
20776               "type": "string"
20777             },
20778             "device-link": {
20779               "type": "string"
20780             },
20781             "device-name": {
20782               "type": "string"
20783             },
20784             "read-only": {
20785               "type": "boolean"
20786             }
20787           },
20788           "additionalProperties": false
20789         },
20790         "VolumeDetails": {
20791           "type": "object",
20792           "properties": {
20793             "info": {
20794               "$ref": "#/definitions/VolumeInfo"
20795             },
20796             "life": {
20797               "type": "string"
20798             },
20799             "machine-attachments": {
20800               "type": "object",
20801               "patternProperties": {
20802                 ".*": {
20803                   "$ref": "#/definitions/VolumeAttachmentDetails"
20804                 }
20805               }
20806             },
20807             "status": {
20808               "$ref": "#/definitions/EntityStatus"
20809             },
20810             "storage": {
20811               "$ref": "#/definitions/StorageDetails"
20812             },
20813             "volume-tag": {
20814               "type": "string"
20815             }
20816           },
20817           "additionalProperties": false,
20818           "required": [
20819             "volume-tag",
20820             "info",
20821             "status"
20822           ]
20823         },
20824         "VolumeDetailsListResult": {
20825           "type": "object",
20826           "properties": {
20827             "error": {
20828               "$ref": "#/definitions/Error"
20829             },
20830             "result": {
20831               "type": "array",
20832               "items": {
20833                 "$ref": "#/definitions/VolumeDetails"
20834               }
20835             }
20836           },
20837           "additionalProperties": false
20838         },
20839         "VolumeDetailsListResults": {
20840           "type": "object",
20841           "properties": {
20842             "results": {
20843               "type": "array",
20844               "items": {
20845                 "$ref": "#/definitions/VolumeDetailsListResult"
20846               }
20847             }
20848           },
20849           "additionalProperties": false
20850         },
20851         "VolumeFilter": {
20852           "type": "object",
20853           "properties": {
20854             "machines": {
20855               "type": "array",
20856               "items": {
20857                 "type": "string"
20858               }
20859             }
20860           },
20861           "additionalProperties": false
20862         },
20863         "VolumeFilters": {
20864           "type": "object",
20865           "properties": {
20866             "filters": {
20867               "type": "array",
20868               "items": {
20869                 "$ref": "#/definitions/VolumeFilter"
20870               }
20871             }
20872           },
20873           "additionalProperties": false
20874         },
20875         "VolumeInfo": {
20876           "type": "object",
20877           "properties": {
20878             "hardware-id": {
20879               "type": "string"
20880             },
20881             "persistent": {
20882               "type": "boolean"
20883             },
20884             "pool": {
20885               "type": "string"
20886             },
20887             "size": {
20888               "type": "integer"
20889             },
20890             "volume-id": {
20891               "type": "string"
20892             },
20893             "wwn": {
20894               "type": "string"
20895             }
20896           },
20897           "additionalProperties": false,
20898           "required": [
20899             "volume-id",
20900             "size",
20901             "persistent"
20902           ]
20903         }
20904       }
20905     }
20906   },
20907   {
20908     "Name": "StorageProvisioner",
20909     "Version": 3,
20910     "Schema": {
20911       "type": "object",
20912       "properties": {
20913         "AttachmentLife": {
20914           "type": "object",
20915           "properties": {
20916             "Params": {
20917               "$ref": "#/definitions/MachineStorageIds"
20918             },
20919             "Result": {
20920               "$ref": "#/definitions/LifeResults"
20921             }
20922           }
20923         },
20924         "EnsureDead": {
20925           "type": "object",
20926           "properties": {
20927             "Params": {
20928               "$ref": "#/definitions/Entities"
20929             },
20930             "Result": {
20931               "$ref": "#/definitions/ErrorResults"
20932             }
20933           }
20934         },
20935         "FilesystemAttachmentParams": {
20936           "type": "object",
20937           "properties": {
20938             "Params": {
20939               "$ref": "#/definitions/MachineStorageIds"
20940             },
20941             "Result": {
20942               "$ref": "#/definitions/FilesystemAttachmentParamsResults"
20943             }
20944           }
20945         },
20946         "FilesystemAttachments": {
20947           "type": "object",
20948           "properties": {
20949             "Params": {
20950               "$ref": "#/definitions/MachineStorageIds"
20951             },
20952             "Result": {
20953               "$ref": "#/definitions/FilesystemAttachmentResults"
20954             }
20955           }
20956         },
20957         "FilesystemParams": {
20958           "type": "object",
20959           "properties": {
20960             "Params": {
20961               "$ref": "#/definitions/Entities"
20962             },
20963             "Result": {
20964               "$ref": "#/definitions/FilesystemParamsResults"
20965             }
20966           }
20967         },
20968         "Filesystems": {
20969           "type": "object",
20970           "properties": {
20971             "Params": {
20972               "$ref": "#/definitions/Entities"
20973             },
20974             "Result": {
20975               "$ref": "#/definitions/FilesystemResults"
20976             }
20977           }
20978         },
20979         "InstanceId": {
20980           "type": "object",
20981           "properties": {
20982             "Params": {
20983               "$ref": "#/definitions/Entities"
20984             },
20985             "Result": {
20986               "$ref": "#/definitions/StringResults"
20987             }
20988           }
20989         },
20990         "Life": {
20991           "type": "object",
20992           "properties": {
20993             "Params": {
20994               "$ref": "#/definitions/Entities"
20995             },
20996             "Result": {
20997               "$ref": "#/definitions/LifeResults"
20998             }
20999           }
21000         },
21001         "Remove": {
21002           "type": "object",
21003           "properties": {
21004             "Params": {
21005               "$ref": "#/definitions/Entities"
21006             },
21007             "Result": {
21008               "$ref": "#/definitions/ErrorResults"
21009             }
21010           }
21011         },
21012         "RemoveAttachment": {
21013           "type": "object",
21014           "properties": {
21015             "Params": {
21016               "$ref": "#/definitions/MachineStorageIds"
21017             },
21018             "Result": {
21019               "$ref": "#/definitions/ErrorResults"
21020             }
21021           }
21022         },
21023         "SetFilesystemAttachmentInfo": {
21024           "type": "object",
21025           "properties": {
21026             "Params": {
21027               "$ref": "#/definitions/FilesystemAttachments"
21028             },
21029             "Result": {
21030               "$ref": "#/definitions/ErrorResults"
21031             }
21032           }
21033         },
21034         "SetFilesystemInfo": {
21035           "type": "object",
21036           "properties": {
21037             "Params": {
21038               "$ref": "#/definitions/Filesystems"
21039             },
21040             "Result": {
21041               "$ref": "#/definitions/ErrorResults"
21042             }
21043           }
21044         },
21045         "SetStatus": {
21046           "type": "object",
21047           "properties": {
21048             "Params": {
21049               "$ref": "#/definitions/SetStatus"
21050             },
21051             "Result": {
21052               "$ref": "#/definitions/ErrorResults"
21053             }
21054           }
21055         },
21056         "SetVolumeAttachmentInfo": {
21057           "type": "object",
21058           "properties": {
21059             "Params": {
21060               "$ref": "#/definitions/VolumeAttachments"
21061             },
21062             "Result": {
21063               "$ref": "#/definitions/ErrorResults"
21064             }
21065           }
21066         },
21067         "SetVolumeInfo": {
21068           "type": "object",
21069           "properties": {
21070             "Params": {
21071               "$ref": "#/definitions/Volumes"
21072             },
21073             "Result": {
21074               "$ref": "#/definitions/ErrorResults"
21075             }
21076           }
21077         },
21078         "UpdateStatus": {
21079           "type": "object",
21080           "properties": {
21081             "Params": {
21082               "$ref": "#/definitions/SetStatus"
21083             },
21084             "Result": {
21085               "$ref": "#/definitions/ErrorResults"
21086             }
21087           }
21088         },
21089         "VolumeAttachmentParams": {
21090           "type": "object",
21091           "properties": {
21092             "Params": {
21093               "$ref": "#/definitions/MachineStorageIds"
21094             },
21095             "Result": {
21096               "$ref": "#/definitions/VolumeAttachmentParamsResults"
21097             }
21098           }
21099         },
21100         "VolumeAttachments": {
21101           "type": "object",
21102           "properties": {
21103             "Params": {
21104               "$ref": "#/definitions/MachineStorageIds"
21105             },
21106             "Result": {
21107               "$ref": "#/definitions/VolumeAttachmentResults"
21108             }
21109           }
21110         },
21111         "VolumeBlockDevices": {
21112           "type": "object",
21113           "properties": {
21114             "Params": {
21115               "$ref": "#/definitions/MachineStorageIds"
21116             },
21117             "Result": {
21118               "$ref": "#/definitions/BlockDeviceResults"
21119             }
21120           }
21121         },
21122         "VolumeParams": {
21123           "type": "object",
21124           "properties": {
21125             "Params": {
21126               "$ref": "#/definitions/Entities"
21127             },
21128             "Result": {
21129               "$ref": "#/definitions/VolumeParamsResults"
21130             }
21131           }
21132         },
21133         "Volumes": {
21134           "type": "object",
21135           "properties": {
21136             "Params": {
21137               "$ref": "#/definitions/Entities"
21138             },
21139             "Result": {
21140               "$ref": "#/definitions/VolumeResults"
21141             }
21142           }
21143         },
21144         "WatchBlockDevices": {
21145           "type": "object",
21146           "properties": {
21147             "Params": {
21148               "$ref": "#/definitions/Entities"
21149             },
21150             "Result": {
21151               "$ref": "#/definitions/NotifyWatchResults"
21152             }
21153           }
21154         },
21155         "WatchFilesystemAttachments": {
21156           "type": "object",
21157           "properties": {
21158             "Params": {
21159               "$ref": "#/definitions/Entities"
21160             },
21161             "Result": {
21162               "$ref": "#/definitions/MachineStorageIdsWatchResults"
21163             }
21164           }
21165         },
21166         "WatchFilesystems": {
21167           "type": "object",
21168           "properties": {
21169             "Params": {
21170               "$ref": "#/definitions/Entities"
21171             },
21172             "Result": {
21173               "$ref": "#/definitions/StringsWatchResults"
21174             }
21175           }
21176         },
21177         "WatchMachines": {
21178           "type": "object",
21179           "properties": {
21180             "Params": {
21181               "$ref": "#/definitions/Entities"
21182             },
21183             "Result": {
21184               "$ref": "#/definitions/NotifyWatchResults"
21185             }
21186           }
21187         },
21188         "WatchVolumeAttachments": {
21189           "type": "object",
21190           "properties": {
21191             "Params": {
21192               "$ref": "#/definitions/Entities"
21193             },
21194             "Result": {
21195               "$ref": "#/definitions/MachineStorageIdsWatchResults"
21196             }
21197           }
21198         },
21199         "WatchVolumes": {
21200           "type": "object",
21201           "properties": {
21202             "Params": {
21203               "$ref": "#/definitions/Entities"
21204             },
21205             "Result": {
21206               "$ref": "#/definitions/StringsWatchResults"
21207             }
21208           }
21209         }
21210       },
21211       "definitions": {
21212         "BlockDevice": {
21213           "type": "object",
21214           "properties": {
21215             "BusAddress": {
21216               "type": "string"
21217             },
21218             "DeviceLinks": {
21219               "type": "array",
21220               "items": {
21221                 "type": "string"
21222               }
21223             },
21224             "DeviceName": {
21225               "type": "string"
21226             },
21227             "FilesystemType": {
21228               "type": "string"
21229             },
21230             "HardwareId": {
21231               "type": "string"
21232             },
21233             "InUse": {
21234               "type": "boolean"
21235             },
21236             "Label": {
21237               "type": "string"
21238             },
21239             "MountPoint": {
21240               "type": "string"
21241             },
21242             "Size": {
21243               "type": "integer"
21244             },
21245             "UUID": {
21246               "type": "string"
21247             },
21248             "WWN": {
21249               "type": "string"
21250             }
21251           },
21252           "additionalProperties": false,
21253           "required": [
21254             "DeviceName",
21255             "DeviceLinks",
21256             "Label",
21257             "UUID",
21258             "HardwareId",
21259             "WWN",
21260             "BusAddress",
21261             "Size",
21262             "FilesystemType",
21263             "InUse",
21264             "MountPoint"
21265           ]
21266         },
21267         "BlockDeviceResult": {
21268           "type": "object",
21269           "properties": {
21270             "error": {
21271               "$ref": "#/definitions/Error"
21272             },
21273             "result": {
21274               "$ref": "#/definitions/BlockDevice"
21275             }
21276           },
21277           "additionalProperties": false,
21278           "required": [
21279             "result"
21280           ]
21281         },
21282         "BlockDeviceResults": {
21283           "type": "object",
21284           "properties": {
21285             "results": {
21286               "type": "array",
21287               "items": {
21288                 "$ref": "#/definitions/BlockDeviceResult"
21289               }
21290             }
21291           },
21292           "additionalProperties": false
21293         },
21294         "Entities": {
21295           "type": "object",
21296           "properties": {
21297             "entities": {
21298               "type": "array",
21299               "items": {
21300                 "$ref": "#/definitions/Entity"
21301               }
21302             }
21303           },
21304           "additionalProperties": false,
21305           "required": [
21306             "entities"
21307           ]
21308         },
21309         "Entity": {
21310           "type": "object",
21311           "properties": {
21312             "tag": {
21313               "type": "string"
21314             }
21315           },
21316           "additionalProperties": false,
21317           "required": [
21318             "tag"
21319           ]
21320         },
21321         "EntityStatusArgs": {
21322           "type": "object",
21323           "properties": {
21324             "data": {
21325               "type": "object",
21326               "patternProperties": {
21327                 ".*": {
21328                   "type": "object",
21329                   "additionalProperties": true
21330                 }
21331               }
21332             },
21333             "info": {
21334               "type": "string"
21335             },
21336             "status": {
21337               "type": "string"
21338             },
21339             "tag": {
21340               "type": "string"
21341             }
21342           },
21343           "additionalProperties": false,
21344           "required": [
21345             "tag",
21346             "status",
21347             "info",
21348             "data"
21349           ]
21350         },
21351         "Error": {
21352           "type": "object",
21353           "properties": {
21354             "code": {
21355               "type": "string"
21356             },
21357             "info": {
21358               "$ref": "#/definitions/ErrorInfo"
21359             },
21360             "message": {
21361               "type": "string"
21362             }
21363           },
21364           "additionalProperties": false,
21365           "required": [
21366             "message",
21367             "code"
21368           ]
21369         },
21370         "ErrorInfo": {
21371           "type": "object",
21372           "properties": {
21373             "macaroon": {
21374               "$ref": "#/definitions/Macaroon"
21375             },
21376             "macaroon-path": {
21377               "type": "string"
21378             }
21379           },
21380           "additionalProperties": false
21381         },
21382         "ErrorResult": {
21383           "type": "object",
21384           "properties": {
21385             "error": {
21386               "$ref": "#/definitions/Error"
21387             }
21388           },
21389           "additionalProperties": false
21390         },
21391         "ErrorResults": {
21392           "type": "object",
21393           "properties": {
21394             "results": {
21395               "type": "array",
21396               "items": {
21397                 "$ref": "#/definitions/ErrorResult"
21398               }
21399             }
21400           },
21401           "additionalProperties": false,
21402           "required": [
21403             "results"
21404           ]
21405         },
21406         "Filesystem": {
21407           "type": "object",
21408           "properties": {
21409             "filesystem-tag": {
21410               "type": "string"
21411             },
21412             "info": {
21413               "$ref": "#/definitions/FilesystemInfo"
21414             },
21415             "volume-tag": {
21416               "type": "string"
21417             }
21418           },
21419           "additionalProperties": false,
21420           "required": [
21421             "filesystem-tag",
21422             "info"
21423           ]
21424         },
21425         "FilesystemAttachment": {
21426           "type": "object",
21427           "properties": {
21428             "filesystem-tag": {
21429               "type": "string"
21430             },
21431             "info": {
21432               "$ref": "#/definitions/FilesystemAttachmentInfo"
21433             },
21434             "machine-tag": {
21435               "type": "string"
21436             }
21437           },
21438           "additionalProperties": false,
21439           "required": [
21440             "filesystem-tag",
21441             "machine-tag",
21442             "info"
21443           ]
21444         },
21445         "FilesystemAttachmentInfo": {
21446           "type": "object",
21447           "properties": {
21448             "mount-point": {
21449               "type": "string"
21450             },
21451             "read-only": {
21452               "type": "boolean"
21453             }
21454           },
21455           "additionalProperties": false
21456         },
21457         "FilesystemAttachmentParams": {
21458           "type": "object",
21459           "properties": {
21460             "filesystem-id": {
21461               "type": "string"
21462             },
21463             "filesystem-tag": {
21464               "type": "string"
21465             },
21466             "instance-id": {
21467               "type": "string"
21468             },
21469             "machine-tag": {
21470               "type": "string"
21471             },
21472             "mount-point": {
21473               "type": "string"
21474             },
21475             "provider": {
21476               "type": "string"
21477             },
21478             "read-only": {
21479               "type": "boolean"
21480             }
21481           },
21482           "additionalProperties": false,
21483           "required": [
21484             "filesystem-tag",
21485             "machine-tag",
21486             "provider"
21487           ]
21488         },
21489         "FilesystemAttachmentParamsResult": {
21490           "type": "object",
21491           "properties": {
21492             "error": {
21493               "$ref": "#/definitions/Error"
21494             },
21495             "result": {
21496               "$ref": "#/definitions/FilesystemAttachmentParams"
21497             }
21498           },
21499           "additionalProperties": false,
21500           "required": [
21501             "result"
21502           ]
21503         },
21504         "FilesystemAttachmentParamsResults": {
21505           "type": "object",
21506           "properties": {
21507             "results": {
21508               "type": "array",
21509               "items": {
21510                 "$ref": "#/definitions/FilesystemAttachmentParamsResult"
21511               }
21512             }
21513           },
21514           "additionalProperties": false
21515         },
21516         "FilesystemAttachmentResult": {
21517           "type": "object",
21518           "properties": {
21519             "error": {
21520               "$ref": "#/definitions/Error"
21521             },
21522             "result": {
21523               "$ref": "#/definitions/FilesystemAttachment"
21524             }
21525           },
21526           "additionalProperties": false,
21527           "required": [
21528             "result"
21529           ]
21530         },
21531         "FilesystemAttachmentResults": {
21532           "type": "object",
21533           "properties": {
21534             "results": {
21535               "type": "array",
21536               "items": {
21537                 "$ref": "#/definitions/FilesystemAttachmentResult"
21538               }
21539             }
21540           },
21541           "additionalProperties": false
21542         },
21543         "FilesystemAttachments": {
21544           "type": "object",
21545           "properties": {
21546             "filesystem-attachments": {
21547               "type": "array",
21548               "items": {
21549                 "$ref": "#/definitions/FilesystemAttachment"
21550               }
21551             }
21552           },
21553           "additionalProperties": false,
21554           "required": [
21555             "filesystem-attachments"
21556           ]
21557         },
21558         "FilesystemInfo": {
21559           "type": "object",
21560           "properties": {
21561             "filesystem-id": {
21562               "type": "string"
21563             },
21564             "pool": {
21565               "type": "string"
21566             },
21567             "size": {
21568               "type": "integer"
21569             }
21570           },
21571           "additionalProperties": false,
21572           "required": [
21573             "filesystem-id",
21574             "pool",
21575             "size"
21576           ]
21577         },
21578         "FilesystemParams": {
21579           "type": "object",
21580           "properties": {
21581             "attachment": {
21582               "$ref": "#/definitions/FilesystemAttachmentParams"
21583             },
21584             "attributes": {
21585               "type": "object",
21586               "patternProperties": {
21587                 ".*": {
21588                   "type": "object",
21589                   "additionalProperties": true
21590                 }
21591               }
21592             },
21593             "filesystem-tag": {
21594               "type": "string"
21595             },
21596             "provider": {
21597               "type": "string"
21598             },
21599             "size": {
21600               "type": "integer"
21601             },
21602             "tags": {
21603               "type": "object",
21604               "patternProperties": {
21605                 ".*": {
21606                   "type": "string"
21607                 }
21608               }
21609             },
21610             "volume-tag": {
21611               "type": "string"
21612             }
21613           },
21614           "additionalProperties": false,
21615           "required": [
21616             "filesystem-tag",
21617             "size",
21618             "provider"
21619           ]
21620         },
21621         "FilesystemParamsResult": {
21622           "type": "object",
21623           "properties": {
21624             "error": {
21625               "$ref": "#/definitions/Error"
21626             },
21627             "result": {
21628               "$ref": "#/definitions/FilesystemParams"
21629             }
21630           },
21631           "additionalProperties": false,
21632           "required": [
21633             "result"
21634           ]
21635         },
21636         "FilesystemParamsResults": {
21637           "type": "object",
21638           "properties": {
21639             "results": {
21640               "type": "array",
21641               "items": {
21642                 "$ref": "#/definitions/FilesystemParamsResult"
21643               }
21644             }
21645           },
21646           "additionalProperties": false
21647         },
21648         "FilesystemResult": {
21649           "type": "object",
21650           "properties": {
21651             "error": {
21652               "$ref": "#/definitions/Error"
21653             },
21654             "result": {
21655               "$ref": "#/definitions/Filesystem"
21656             }
21657           },
21658           "additionalProperties": false,
21659           "required": [
21660             "result"
21661           ]
21662         },
21663         "FilesystemResults": {
21664           "type": "object",
21665           "properties": {
21666             "results": {
21667               "type": "array",
21668               "items": {
21669                 "$ref": "#/definitions/FilesystemResult"
21670               }
21671             }
21672           },
21673           "additionalProperties": false
21674         },
21675         "Filesystems": {
21676           "type": "object",
21677           "properties": {
21678             "filesystems": {
21679               "type": "array",
21680               "items": {
21681                 "$ref": "#/definitions/Filesystem"
21682               }
21683             }
21684           },
21685           "additionalProperties": false,
21686           "required": [
21687             "filesystems"
21688           ]
21689         },
21690         "LifeResult": {
21691           "type": "object",
21692           "properties": {
21693             "error": {
21694               "$ref": "#/definitions/Error"
21695             },
21696             "life": {
21697               "type": "string"
21698             }
21699           },
21700           "additionalProperties": false,
21701           "required": [
21702             "life"
21703           ]
21704         },
21705         "LifeResults": {
21706           "type": "object",
21707           "properties": {
21708             "results": {
21709               "type": "array",
21710               "items": {
21711                 "$ref": "#/definitions/LifeResult"
21712               }
21713             }
21714           },
21715           "additionalProperties": false,
21716           "required": [
21717             "results"
21718           ]
21719         },
21720         "Macaroon": {
21721           "type": "object",
21722           "additionalProperties": false
21723         },
21724         "MachineStorageId": {
21725           "type": "object",
21726           "properties": {
21727             "attachment-tag": {
21728               "type": "string"
21729             },
21730             "machine-tag": {
21731               "type": "string"
21732             }
21733           },
21734           "additionalProperties": false,
21735           "required": [
21736             "machine-tag",
21737             "attachment-tag"
21738           ]
21739         },
21740         "MachineStorageIds": {
21741           "type": "object",
21742           "properties": {
21743             "ids": {
21744               "type": "array",
21745               "items": {
21746                 "$ref": "#/definitions/MachineStorageId"
21747               }
21748             }
21749           },
21750           "additionalProperties": false,
21751           "required": [
21752             "ids"
21753           ]
21754         },
21755         "MachineStorageIdsWatchResult": {
21756           "type": "object",
21757           "properties": {
21758             "changes": {
21759               "type": "array",
21760               "items": {
21761                 "$ref": "#/definitions/MachineStorageId"
21762               }
21763             },
21764             "error": {
21765               "$ref": "#/definitions/Error"
21766             },
21767             "watcher-id": {
21768               "type": "string"
21769             }
21770           },
21771           "additionalProperties": false,
21772           "required": [
21773             "watcher-id",
21774             "changes"
21775           ]
21776         },
21777         "MachineStorageIdsWatchResults": {
21778           "type": "object",
21779           "properties": {
21780             "results": {
21781               "type": "array",
21782               "items": {
21783                 "$ref": "#/definitions/MachineStorageIdsWatchResult"
21784               }
21785             }
21786           },
21787           "additionalProperties": false,
21788           "required": [
21789             "results"
21790           ]
21791         },
21792         "NotifyWatchResult": {
21793           "type": "object",
21794           "properties": {
21795             "NotifyWatcherId": {
21796               "type": "string"
21797             },
21798             "error": {
21799               "$ref": "#/definitions/Error"
21800             }
21801           },
21802           "additionalProperties": false,
21803           "required": [
21804             "NotifyWatcherId"
21805           ]
21806         },
21807         "NotifyWatchResults": {
21808           "type": "object",
21809           "properties": {
21810             "results": {
21811               "type": "array",
21812               "items": {
21813                 "$ref": "#/definitions/NotifyWatchResult"
21814               }
21815             }
21816           },
21817           "additionalProperties": false,
21818           "required": [
21819             "results"
21820           ]
21821         },
21822         "SetStatus": {
21823           "type": "object",
21824           "properties": {
21825             "entities": {
21826               "type": "array",
21827               "items": {
21828                 "$ref": "#/definitions/EntityStatusArgs"
21829               }
21830             }
21831           },
21832           "additionalProperties": false,
21833           "required": [
21834             "entities"
21835           ]
21836         },
21837         "StringResult": {
21838           "type": "object",
21839           "properties": {
21840             "error": {
21841               "$ref": "#/definitions/Error"
21842             },
21843             "result": {
21844               "type": "string"
21845             }
21846           },
21847           "additionalProperties": false,
21848           "required": [
21849             "result"
21850           ]
21851         },
21852         "StringResults": {
21853           "type": "object",
21854           "properties": {
21855             "results": {
21856               "type": "array",
21857               "items": {
21858                 "$ref": "#/definitions/StringResult"
21859               }
21860             }
21861           },
21862           "additionalProperties": false,
21863           "required": [
21864             "results"
21865           ]
21866         },
21867         "StringsWatchResult": {
21868           "type": "object",
21869           "properties": {
21870             "changes": {
21871               "type": "array",
21872               "items": {
21873                 "type": "string"
21874               }
21875             },
21876             "error": {
21877               "$ref": "#/definitions/Error"
21878             },
21879             "watcher-id": {
21880               "type": "string"
21881             }
21882           },
21883           "additionalProperties": false,
21884           "required": [
21885             "watcher-id"
21886           ]
21887         },
21888         "StringsWatchResults": {
21889           "type": "object",
21890           "properties": {
21891             "results": {
21892               "type": "array",
21893               "items": {
21894                 "$ref": "#/definitions/StringsWatchResult"
21895               }
21896             }
21897           },
21898           "additionalProperties": false,
21899           "required": [
21900             "results"
21901           ]
21902         },
21903         "Volume": {
21904           "type": "object",
21905           "properties": {
21906             "info": {
21907               "$ref": "#/definitions/VolumeInfo"
21908             },
21909             "volume-tag": {
21910               "type": "string"
21911             }
21912           },
21913           "additionalProperties": false,
21914           "required": [
21915             "volume-tag",
21916             "info"
21917           ]
21918         },
21919         "VolumeAttachment": {
21920           "type": "object",
21921           "properties": {
21922             "info": {
21923               "$ref": "#/definitions/VolumeAttachmentInfo"
21924             },
21925             "machine-tag": {
21926               "type": "string"
21927             },
21928             "volume-tag": {
21929               "type": "string"
21930             }
21931           },
21932           "additionalProperties": false,
21933           "required": [
21934             "volume-tag",
21935             "machine-tag",
21936             "info"
21937           ]
21938         },
21939         "VolumeAttachmentInfo": {
21940           "type": "object",
21941           "properties": {
21942             "bus-address": {
21943               "type": "string"
21944             },
21945             "device-link": {
21946               "type": "string"
21947             },
21948             "device-name": {
21949               "type": "string"
21950             },
21951             "read-only": {
21952               "type": "boolean"
21953             }
21954           },
21955           "additionalProperties": false
21956         },
21957         "VolumeAttachmentParams": {
21958           "type": "object",
21959           "properties": {
21960             "instance-id": {
21961               "type": "string"
21962             },
21963             "machine-tag": {
21964               "type": "string"
21965             },
21966             "provider": {
21967               "type": "string"
21968             },
21969             "read-only": {
21970               "type": "boolean"
21971             },
21972             "volume-id": {
21973               "type": "string"
21974             },
21975             "volume-tag": {
21976               "type": "string"
21977             }
21978           },
21979           "additionalProperties": false,
21980           "required": [
21981             "volume-tag",
21982             "machine-tag",
21983             "provider"
21984           ]
21985         },
21986         "VolumeAttachmentParamsResult": {
21987           "type": "object",
21988           "properties": {
21989             "error": {
21990               "$ref": "#/definitions/Error"
21991             },
21992             "result": {
21993               "$ref": "#/definitions/VolumeAttachmentParams"
21994             }
21995           },
21996           "additionalProperties": false,
21997           "required": [
21998             "result"
21999           ]
22000         },
22001         "VolumeAttachmentParamsResults": {
22002           "type": "object",
22003           "properties": {
22004             "results": {
22005               "type": "array",
22006               "items": {
22007                 "$ref": "#/definitions/VolumeAttachmentParamsResult"
22008               }
22009             }
22010           },
22011           "additionalProperties": false
22012         },
22013         "VolumeAttachmentResult": {
22014           "type": "object",
22015           "properties": {
22016             "error": {
22017               "$ref": "#/definitions/Error"
22018             },
22019             "result": {
22020               "$ref": "#/definitions/VolumeAttachment"
22021             }
22022           },
22023           "additionalProperties": false,
22024           "required": [
22025             "result"
22026           ]
22027         },
22028         "VolumeAttachmentResults": {
22029           "type": "object",
22030           "properties": {
22031             "results": {
22032               "type": "array",
22033               "items": {
22034                 "$ref": "#/definitions/VolumeAttachmentResult"
22035               }
22036             }
22037           },
22038           "additionalProperties": false
22039         },
22040         "VolumeAttachments": {
22041           "type": "object",
22042           "properties": {
22043             "volume-attachments": {
22044               "type": "array",
22045               "items": {
22046                 "$ref": "#/definitions/VolumeAttachment"
22047               }
22048             }
22049           },
22050           "additionalProperties": false,
22051           "required": [
22052             "volume-attachments"
22053           ]
22054         },
22055         "VolumeInfo": {
22056           "type": "object",
22057           "properties": {
22058             "hardware-id": {
22059               "type": "string"
22060             },
22061             "persistent": {
22062               "type": "boolean"
22063             },
22064             "pool": {
22065               "type": "string"
22066             },
22067             "size": {
22068               "type": "integer"
22069             },
22070             "volume-id": {
22071               "type": "string"
22072             },
22073             "wwn": {
22074               "type": "string"
22075             }
22076           },
22077           "additionalProperties": false,
22078           "required": [
22079             "volume-id",
22080             "size",
22081             "persistent"
22082           ]
22083         },
22084         "VolumeParams": {
22085           "type": "object",
22086           "properties": {
22087             "attachment": {
22088               "$ref": "#/definitions/VolumeAttachmentParams"
22089             },
22090             "attributes": {
22091               "type": "object",
22092               "patternProperties": {
22093                 ".*": {
22094                   "type": "object",
22095                   "additionalProperties": true
22096                 }
22097               }
22098             },
22099             "provider": {
22100               "type": "string"
22101             },
22102             "size": {
22103               "type": "integer"
22104             },
22105             "tags": {
22106               "type": "object",
22107               "patternProperties": {
22108                 ".*": {
22109                   "type": "string"
22110                 }
22111               }
22112             },
22113             "volume-tag": {
22114               "type": "string"
22115             }
22116           },
22117           "additionalProperties": false,
22118           "required": [
22119             "volume-tag",
22120             "size",
22121             "provider"
22122           ]
22123         },
22124         "VolumeParamsResult": {
22125           "type": "object",
22126           "properties": {
22127             "error": {
22128               "$ref": "#/definitions/Error"
22129             },
22130             "result": {
22131               "$ref": "#/definitions/VolumeParams"
22132             }
22133           },
22134           "additionalProperties": false,
22135           "required": [
22136             "result"
22137           ]
22138         },
22139         "VolumeParamsResults": {
22140           "type": "object",
22141           "properties": {
22142             "results": {
22143               "type": "array",
22144               "items": {
22145                 "$ref": "#/definitions/VolumeParamsResult"
22146               }
22147             }
22148           },
22149           "additionalProperties": false
22150         },
22151         "VolumeResult": {
22152           "type": "object",
22153           "properties": {
22154             "error": {
22155               "$ref": "#/definitions/Error"
22156             },
22157             "result": {
22158               "$ref": "#/definitions/Volume"
22159             }
22160           },
22161           "additionalProperties": false,
22162           "required": [
22163             "result"
22164           ]
22165         },
22166         "VolumeResults": {
22167           "type": "object",
22168           "properties": {
22169             "results": {
22170               "type": "array",
22171               "items": {
22172                 "$ref": "#/definitions/VolumeResult"
22173               }
22174             }
22175           },
22176           "additionalProperties": false
22177         },
22178         "Volumes": {
22179           "type": "object",
22180           "properties": {
22181             "volumes": {
22182               "type": "array",
22183               "items": {
22184                 "$ref": "#/definitions/Volume"
22185               }
22186             }
22187           },
22188           "additionalProperties": false,
22189           "required": [
22190             "volumes"
22191           ]
22192         }
22193       }
22194     }
22195   },
22196   {
22197     "Name": "StringsWatcher",
22198     "Version": 1,
22199     "Schema": {
22200       "type": "object",
22201       "properties": {
22202         "Next": {
22203           "type": "object",
22204           "properties": {
22205             "Result": {
22206               "$ref": "#/definitions/StringsWatchResult"
22207             }
22208           }
22209         },
22210         "Stop": {
22211           "type": "object"
22212         }
22213       },
22214       "definitions": {
22215         "Error": {
22216           "type": "object",
22217           "properties": {
22218             "code": {
22219               "type": "string"
22220             },
22221             "info": {
22222               "$ref": "#/definitions/ErrorInfo"
22223             },
22224             "message": {
22225               "type": "string"
22226             }
22227           },
22228           "additionalProperties": false,
22229           "required": [
22230             "message",
22231             "code"
22232           ]
22233         },
22234         "ErrorInfo": {
22235           "type": "object",
22236           "properties": {
22237             "macaroon": {
22238               "$ref": "#/definitions/Macaroon"
22239             },
22240             "macaroon-path": {
22241               "type": "string"
22242             }
22243           },
22244           "additionalProperties": false
22245         },
22246         "Macaroon": {
22247           "type": "object",
22248           "additionalProperties": false
22249         },
22250         "StringsWatchResult": {
22251           "type": "object",
22252           "properties": {
22253             "changes": {
22254               "type": "array",
22255               "items": {
22256                 "type": "string"
22257               }
22258             },
22259             "error": {
22260               "$ref": "#/definitions/Error"
22261             },
22262             "watcher-id": {
22263               "type": "string"
22264             }
22265           },
22266           "additionalProperties": false,
22267           "required": [
22268             "watcher-id"
22269           ]
22270         }
22271       }
22272     }
22273   },
22274   {
22275     "Name": "Subnets",
22276     "Version": 2,
22277     "Schema": {
22278       "type": "object",
22279       "properties": {
22280         "AddSubnets": {
22281           "type": "object",
22282           "properties": {
22283             "Params": {
22284               "$ref": "#/definitions/AddSubnetsParams"
22285             },
22286             "Result": {
22287               "$ref": "#/definitions/ErrorResults"
22288             }
22289           }
22290         },
22291         "AllSpaces": {
22292           "type": "object",
22293           "properties": {
22294             "Result": {
22295               "$ref": "#/definitions/SpaceResults"
22296             }
22297           }
22298         },
22299         "AllZones": {
22300           "type": "object",
22301           "properties": {
22302             "Result": {
22303               "$ref": "#/definitions/ZoneResults"
22304             }
22305           }
22306         },
22307         "ListSubnets": {
22308           "type": "object",
22309           "properties": {
22310             "Params": {
22311               "$ref": "#/definitions/SubnetsFilters"
22312             },
22313             "Result": {
22314               "$ref": "#/definitions/ListSubnetsResults"
22315             }
22316           }
22317         }
22318       },
22319       "definitions": {
22320         "AddSubnetParams": {
22321           "type": "object",
22322           "properties": {
22323             "provider-network-id": {
22324               "type": "string"
22325             },
22326             "space-tag": {
22327               "type": "string"
22328             },
22329             "subnet-provider-id": {
22330               "type": "string"
22331             },
22332             "subnet-tag": {
22333               "type": "string"
22334             },
22335             "vlan-tag": {
22336               "type": "integer"
22337             },
22338             "zones": {
22339               "type": "array",
22340               "items": {
22341                 "type": "string"
22342               }
22343             }
22344           },
22345           "additionalProperties": false,
22346           "required": [
22347             "space-tag"
22348           ]
22349         },
22350         "AddSubnetsParams": {
22351           "type": "object",
22352           "properties": {
22353             "subnets": {
22354               "type": "array",
22355               "items": {
22356                 "$ref": "#/definitions/AddSubnetParams"
22357               }
22358             }
22359           },
22360           "additionalProperties": false,
22361           "required": [
22362             "subnets"
22363           ]
22364         },
22365         "Error": {
22366           "type": "object",
22367           "properties": {
22368             "code": {
22369               "type": "string"
22370             },
22371             "info": {
22372               "$ref": "#/definitions/ErrorInfo"
22373             },
22374             "message": {
22375               "type": "string"
22376             }
22377           },
22378           "additionalProperties": false,
22379           "required": [
22380             "message",
22381             "code"
22382           ]
22383         },
22384         "ErrorInfo": {
22385           "type": "object",
22386           "properties": {
22387             "macaroon": {
22388               "$ref": "#/definitions/Macaroon"
22389             },
22390             "macaroon-path": {
22391               "type": "string"
22392             }
22393           },
22394           "additionalProperties": false
22395         },
22396         "ErrorResult": {
22397           "type": "object",
22398           "properties": {
22399             "error": {
22400               "$ref": "#/definitions/Error"
22401             }
22402           },
22403           "additionalProperties": false
22404         },
22405         "ErrorResults": {
22406           "type": "object",
22407           "properties": {
22408             "results": {
22409               "type": "array",
22410               "items": {
22411                 "$ref": "#/definitions/ErrorResult"
22412               }
22413             }
22414           },
22415           "additionalProperties": false,
22416           "required": [
22417             "results"
22418           ]
22419         },
22420         "ListSubnetsResults": {
22421           "type": "object",
22422           "properties": {
22423             "results": {
22424               "type": "array",
22425               "items": {
22426                 "$ref": "#/definitions/Subnet"
22427               }
22428             }
22429           },
22430           "additionalProperties": false,
22431           "required": [
22432             "results"
22433           ]
22434         },
22435         "Macaroon": {
22436           "type": "object",
22437           "additionalProperties": false
22438         },
22439         "SpaceResult": {
22440           "type": "object",
22441           "properties": {
22442             "error": {
22443               "$ref": "#/definitions/Error"
22444             },
22445             "tag": {
22446               "type": "string"
22447             }
22448           },
22449           "additionalProperties": false,
22450           "required": [
22451             "tag"
22452           ]
22453         },
22454         "SpaceResults": {
22455           "type": "object",
22456           "properties": {
22457             "results": {
22458               "type": "array",
22459               "items": {
22460                 "$ref": "#/definitions/SpaceResult"
22461               }
22462             }
22463           },
22464           "additionalProperties": false,
22465           "required": [
22466             "results"
22467           ]
22468         },
22469         "Subnet": {
22470           "type": "object",
22471           "properties": {
22472             "cidr": {
22473               "type": "string"
22474             },
22475             "life": {
22476               "type": "string"
22477             },
22478             "provider-id": {
22479               "type": "string"
22480             },
22481             "provider-network-id": {
22482               "type": "string"
22483             },
22484             "provider-space-id": {
22485               "type": "string"
22486             },
22487             "space-tag": {
22488               "type": "string"
22489             },
22490             "status": {
22491               "type": "string"
22492             },
22493             "vlan-tag": {
22494               "type": "integer"
22495             },
22496             "zones": {
22497               "type": "array",
22498               "items": {
22499                 "type": "string"
22500               }
22501             }
22502           },
22503           "additionalProperties": false,
22504           "required": [
22505             "cidr",
22506             "vlan-tag",
22507             "life",
22508             "space-tag",
22509             "zones"
22510           ]
22511         },
22512         "SubnetsFilters": {
22513           "type": "object",
22514           "properties": {
22515             "space-tag": {
22516               "type": "string"
22517             },
22518             "zone": {
22519               "type": "string"
22520             }
22521           },
22522           "additionalProperties": false
22523         },
22524         "ZoneResult": {
22525           "type": "object",
22526           "properties": {
22527             "available": {
22528               "type": "boolean"
22529             },
22530             "error": {
22531               "$ref": "#/definitions/Error"
22532             },
22533             "name": {
22534               "type": "string"
22535             }
22536           },
22537           "additionalProperties": false,
22538           "required": [
22539             "name",
22540             "available"
22541           ]
22542         },
22543         "ZoneResults": {
22544           "type": "object",
22545           "properties": {
22546             "results": {
22547               "type": "array",
22548               "items": {
22549                 "$ref": "#/definitions/ZoneResult"
22550               }
22551             }
22552           },
22553           "additionalProperties": false,
22554           "required": [
22555             "results"
22556           ]
22557         }
22558       }
22559     }
22560   },
22561   {
22562     "Name": "Undertaker",
22563     "Version": 1,
22564     "Schema": {
22565       "type": "object",
22566       "properties": {
22567         "ModelConfig": {
22568           "type": "object",
22569           "properties": {
22570             "Result": {
22571               "$ref": "#/definitions/ModelConfigResult"
22572             }
22573           }
22574         },
22575         "ModelInfo": {
22576           "type": "object",
22577           "properties": {
22578             "Result": {
22579               "$ref": "#/definitions/UndertakerModelInfoResult"
22580             }
22581           }
22582         },
22583         "ProcessDyingModel": {
22584           "type": "object"
22585         },
22586         "RemoveModel": {
22587           "type": "object"
22588         },
22589         "SetStatus": {
22590           "type": "object",
22591           "properties": {
22592             "Params": {
22593               "$ref": "#/definitions/SetStatus"
22594             },
22595             "Result": {
22596               "$ref": "#/definitions/ErrorResults"
22597             }
22598           }
22599         },
22600         "UpdateStatus": {
22601           "type": "object",
22602           "properties": {
22603             "Params": {
22604               "$ref": "#/definitions/SetStatus"
22605             },
22606             "Result": {
22607               "$ref": "#/definitions/ErrorResults"
22608             }
22609           }
22610         },
22611         "WatchModelResources": {
22612           "type": "object",
22613           "properties": {
22614             "Result": {
22615               "$ref": "#/definitions/NotifyWatchResults"
22616             }
22617           }
22618         }
22619       },
22620       "definitions": {
22621         "EntityStatusArgs": {
22622           "type": "object",
22623           "properties": {
22624             "data": {
22625               "type": "object",
22626               "patternProperties": {
22627                 ".*": {
22628                   "type": "object",
22629                   "additionalProperties": true
22630                 }
22631               }
22632             },
22633             "info": {
22634               "type": "string"
22635             },
22636             "status": {
22637               "type": "string"
22638             },
22639             "tag": {
22640               "type": "string"
22641             }
22642           },
22643           "additionalProperties": false,
22644           "required": [
22645             "tag",
22646             "status",
22647             "info",
22648             "data"
22649           ]
22650         },
22651         "Error": {
22652           "type": "object",
22653           "properties": {
22654             "code": {
22655               "type": "string"
22656             },
22657             "info": {
22658               "$ref": "#/definitions/ErrorInfo"
22659             },
22660             "message": {
22661               "type": "string"
22662             }
22663           },
22664           "additionalProperties": false,
22665           "required": [
22666             "message",
22667             "code"
22668           ]
22669         },
22670         "ErrorInfo": {
22671           "type": "object",
22672           "properties": {
22673             "macaroon": {
22674               "$ref": "#/definitions/Macaroon"
22675             },
22676             "macaroon-path": {
22677               "type": "string"
22678             }
22679           },
22680           "additionalProperties": false
22681         },
22682         "ErrorResult": {
22683           "type": "object",
22684           "properties": {
22685             "error": {
22686               "$ref": "#/definitions/Error"
22687             }
22688           },
22689           "additionalProperties": false
22690         },
22691         "ErrorResults": {
22692           "type": "object",
22693           "properties": {
22694             "results": {
22695               "type": "array",
22696               "items": {
22697                 "$ref": "#/definitions/ErrorResult"
22698               }
22699             }
22700           },
22701           "additionalProperties": false,
22702           "required": [
22703             "results"
22704           ]
22705         },
22706         "Macaroon": {
22707           "type": "object",
22708           "additionalProperties": false
22709         },
22710         "ModelConfigResult": {
22711           "type": "object",
22712           "properties": {
22713             "config": {
22714               "type": "object",
22715               "patternProperties": {
22716                 ".*": {
22717                   "type": "object",
22718                   "additionalProperties": true
22719                 }
22720               }
22721             }
22722           },
22723           "additionalProperties": false,
22724           "required": [
22725             "config"
22726           ]
22727         },
22728         "NotifyWatchResult": {
22729           "type": "object",
22730           "properties": {
22731             "NotifyWatcherId": {
22732               "type": "string"
22733             },
22734             "error": {
22735               "$ref": "#/definitions/Error"
22736             }
22737           },
22738           "additionalProperties": false,
22739           "required": [
22740             "NotifyWatcherId"
22741           ]
22742         },
22743         "NotifyWatchResults": {
22744           "type": "object",
22745           "properties": {
22746             "results": {
22747               "type": "array",
22748               "items": {
22749                 "$ref": "#/definitions/NotifyWatchResult"
22750               }
22751             }
22752           },
22753           "additionalProperties": false,
22754           "required": [
22755             "results"
22756           ]
22757         },
22758         "SetStatus": {
22759           "type": "object",
22760           "properties": {
22761             "entities": {
22762               "type": "array",
22763               "items": {
22764                 "$ref": "#/definitions/EntityStatusArgs"
22765               }
22766             }
22767           },
22768           "additionalProperties": false,
22769           "required": [
22770             "entities"
22771           ]
22772         },
22773         "UndertakerModelInfo": {
22774           "type": "object",
22775           "properties": {
22776             "global-name": {
22777               "type": "string"
22778             },
22779             "is-system": {
22780               "type": "boolean"
22781             },
22782             "life": {
22783               "type": "string"
22784             },
22785             "name": {
22786               "type": "string"
22787             },
22788             "uuid": {
22789               "type": "string"
22790             }
22791           },
22792           "additionalProperties": false,
22793           "required": [
22794             "uuid",
22795             "name",
22796             "global-name",
22797             "is-system",
22798             "life"
22799           ]
22800         },
22801         "UndertakerModelInfoResult": {
22802           "type": "object",
22803           "properties": {
22804             "error": {
22805               "$ref": "#/definitions/Error"
22806             },
22807             "result": {
22808               "$ref": "#/definitions/UndertakerModelInfo"
22809             }
22810           },
22811           "additionalProperties": false,
22812           "required": [
22813             "result"
22814           ]
22815         }
22816       }
22817     }
22818   },
22819   {
22820     "Name": "UnitAssigner",
22821     "Version": 1,
22822     "Schema": {
22823       "type": "object",
22824       "properties": {
22825         "AssignUnits": {
22826           "type": "object",
22827           "properties": {
22828             "Params": {
22829               "$ref": "#/definitions/Entities"
22830             },
22831             "Result": {
22832               "$ref": "#/definitions/ErrorResults"
22833             }
22834           }
22835         },
22836         "SetAgentStatus": {
22837           "type": "object",
22838           "properties": {
22839             "Params": {
22840               "$ref": "#/definitions/SetStatus"
22841             },
22842             "Result": {
22843               "$ref": "#/definitions/ErrorResults"
22844             }
22845           }
22846         },
22847         "WatchUnitAssignments": {
22848           "type": "object",
22849           "properties": {
22850             "Result": {
22851               "$ref": "#/definitions/StringsWatchResult"
22852             }
22853           }
22854         }
22855       },
22856       "definitions": {
22857         "Entities": {
22858           "type": "object",
22859           "properties": {
22860             "entities": {
22861               "type": "array",
22862               "items": {
22863                 "$ref": "#/definitions/Entity"
22864               }
22865             }
22866           },
22867           "additionalProperties": false,
22868           "required": [
22869             "entities"
22870           ]
22871         },
22872         "Entity": {
22873           "type": "object",
22874           "properties": {
22875             "tag": {
22876               "type": "string"
22877             }
22878           },
22879           "additionalProperties": false,
22880           "required": [
22881             "tag"
22882           ]
22883         },
22884         "EntityStatusArgs": {
22885           "type": "object",
22886           "properties": {
22887             "data": {
22888               "type": "object",
22889               "patternProperties": {
22890                 ".*": {
22891                   "type": "object",
22892                   "additionalProperties": true
22893                 }
22894               }
22895             },
22896             "info": {
22897               "type": "string"
22898             },
22899             "status": {
22900               "type": "string"
22901             },
22902             "tag": {
22903               "type": "string"
22904             }
22905           },
22906           "additionalProperties": false,
22907           "required": [
22908             "tag",
22909             "status",
22910             "info",
22911             "data"
22912           ]
22913         },
22914         "Error": {
22915           "type": "object",
22916           "properties": {
22917             "code": {
22918               "type": "string"
22919             },
22920             "info": {
22921               "$ref": "#/definitions/ErrorInfo"
22922             },
22923             "message": {
22924               "type": "string"
22925             }
22926           },
22927           "additionalProperties": false,
22928           "required": [
22929             "message",
22930             "code"
22931           ]
22932         },
22933         "ErrorInfo": {
22934           "type": "object",
22935           "properties": {
22936             "macaroon": {
22937               "$ref": "#/definitions/Macaroon"
22938             },
22939             "macaroon-path": {
22940               "type": "string"
22941             }
22942           },
22943           "additionalProperties": false
22944         },
22945         "ErrorResult": {
22946           "type": "object",
22947           "properties": {
22948             "error": {
22949               "$ref": "#/definitions/Error"
22950             }
22951           },
22952           "additionalProperties": false
22953         },
22954         "ErrorResults": {
22955           "type": "object",
22956           "properties": {
22957             "results": {
22958               "type": "array",
22959               "items": {
22960                 "$ref": "#/definitions/ErrorResult"
22961               }
22962             }
22963           },
22964           "additionalProperties": false,
22965           "required": [
22966             "results"
22967           ]
22968         },
22969         "Macaroon": {
22970           "type": "object",
22971           "additionalProperties": false
22972         },
22973         "SetStatus": {
22974           "type": "object",
22975           "properties": {
22976             "entities": {
22977               "type": "array",
22978               "items": {
22979                 "$ref": "#/definitions/EntityStatusArgs"
22980               }
22981             }
22982           },
22983           "additionalProperties": false,
22984           "required": [
22985             "entities"
22986           ]
22987         },
22988         "StringsWatchResult": {
22989           "type": "object",
22990           "properties": {
22991             "changes": {
22992               "type": "array",
22993               "items": {
22994                 "type": "string"
22995               }
22996             },
22997             "error": {
22998               "$ref": "#/definitions/Error"
22999             },
23000             "watcher-id": {
23001               "type": "string"
23002             }
23003           },
23004           "additionalProperties": false,
23005           "required": [
23006             "watcher-id"
23007           ]
23008         }
23009       }
23010     }
23011   },
23012   {
23013     "Name": "Uniter",
23014     "Version": 5,
23015     "Schema": {
23016       "type": "object",
23017       "properties": {
23018         "APIAddresses": {
23019           "type": "object",
23020           "properties": {
23021             "Result": {
23022               "$ref": "#/definitions/StringsResult"
23023             }
23024           }
23025         },
23026         "APIHostPorts": {
23027           "type": "object",
23028           "properties": {
23029             "Result": {
23030               "$ref": "#/definitions/APIHostPortsResult"
23031             }
23032           }
23033         },
23034         "Actions": {
23035           "type": "object",
23036           "properties": {
23037             "Params": {
23038               "$ref": "#/definitions/Entities"
23039             },
23040             "Result": {
23041               "$ref": "#/definitions/ActionResults"
23042             }
23043           }
23044         },
23045         "AddMetricBatches": {
23046           "type": "object",
23047           "properties": {
23048             "Params": {
23049               "$ref": "#/definitions/MetricBatchParams"
23050             },
23051             "Result": {
23052               "$ref": "#/definitions/ErrorResults"
23053             }
23054           }
23055         },
23056         "AddUnitStorage": {
23057           "type": "object",
23058           "properties": {
23059             "Params": {
23060               "$ref": "#/definitions/StoragesAddParams"
23061             },
23062             "Result": {
23063               "$ref": "#/definitions/ErrorResults"
23064             }
23065           }
23066         },
23067         "AllMachinePorts": {
23068           "type": "object",
23069           "properties": {
23070             "Params": {
23071               "$ref": "#/definitions/Entities"
23072             },
23073             "Result": {
23074               "$ref": "#/definitions/MachinePortsResults"
23075             }
23076           }
23077         },
23078         "ApplicationStatus": {
23079           "type": "object",
23080           "properties": {
23081             "Params": {
23082               "$ref": "#/definitions/Entities"
23083             },
23084             "Result": {
23085               "$ref": "#/definitions/ApplicationStatusResults"
23086             }
23087           }
23088         },
23089         "AssignedMachine": {
23090           "type": "object",
23091           "properties": {
23092             "Params": {
23093               "$ref": "#/definitions/Entities"
23094             },
23095             "Result": {
23096               "$ref": "#/definitions/StringResults"
23097             }
23098           }
23099         },
23100         "AvailabilityZone": {
23101           "type": "object",
23102           "properties": {
23103             "Params": {
23104               "$ref": "#/definitions/Entities"
23105             },
23106             "Result": {
23107               "$ref": "#/definitions/StringResults"
23108             }
23109           }
23110         },
23111         "BeginActions": {
23112           "type": "object",
23113           "properties": {
23114             "Params": {
23115               "$ref": "#/definitions/Entities"
23116             },
23117             "Result": {
23118               "$ref": "#/definitions/ErrorResults"
23119             }
23120           }
23121         },
23122         "CACert": {
23123           "type": "object",
23124           "properties": {
23125             "Result": {
23126               "$ref": "#/definitions/BytesResult"
23127             }
23128           }
23129         },
23130         "CharmArchiveSha256": {
23131           "type": "object",
23132           "properties": {
23133             "Params": {
23134               "$ref": "#/definitions/CharmURLs"
23135             },
23136             "Result": {
23137               "$ref": "#/definitions/StringResults"
23138             }
23139           }
23140         },
23141         "CharmModifiedVersion": {
23142           "type": "object",
23143           "properties": {
23144             "Params": {
23145               "$ref": "#/definitions/Entities"
23146             },
23147             "Result": {
23148               "$ref": "#/definitions/IntResults"
23149             }
23150           }
23151         },
23152         "CharmURL": {
23153           "type": "object",
23154           "properties": {
23155             "Params": {
23156               "$ref": "#/definitions/Entities"
23157             },
23158             "Result": {
23159               "$ref": "#/definitions/StringBoolResults"
23160             }
23161           }
23162         },
23163         "ClearResolved": {
23164           "type": "object",
23165           "properties": {
23166             "Params": {
23167               "$ref": "#/definitions/Entities"
23168             },
23169             "Result": {
23170               "$ref": "#/definitions/ErrorResults"
23171             }
23172           }
23173         },
23174         "ClosePorts": {
23175           "type": "object",
23176           "properties": {
23177             "Params": {
23178               "$ref": "#/definitions/EntitiesPortRanges"
23179             },
23180             "Result": {
23181               "$ref": "#/definitions/ErrorResults"
23182             }
23183           }
23184         },
23185         "ConfigSettings": {
23186           "type": "object",
23187           "properties": {
23188             "Params": {
23189               "$ref": "#/definitions/Entities"
23190             },
23191             "Result": {
23192               "$ref": "#/definitions/ConfigSettingsResults"
23193             }
23194           }
23195         },
23196         "CurrentModel": {
23197           "type": "object",
23198           "properties": {
23199             "Result": {
23200               "$ref": "#/definitions/ModelResult"
23201             }
23202           }
23203         },
23204         "Destroy": {
23205           "type": "object",
23206           "properties": {
23207             "Params": {
23208               "$ref": "#/definitions/Entities"
23209             },
23210             "Result": {
23211               "$ref": "#/definitions/ErrorResults"
23212             }
23213           }
23214         },
23215         "DestroyAllSubordinates": {
23216           "type": "object",
23217           "properties": {
23218             "Params": {
23219               "$ref": "#/definitions/Entities"
23220             },
23221             "Result": {
23222               "$ref": "#/definitions/ErrorResults"
23223             }
23224           }
23225         },
23226         "DestroyUnitStorageAttachments": {
23227           "type": "object",
23228           "properties": {
23229             "Params": {
23230               "$ref": "#/definitions/Entities"
23231             },
23232             "Result": {
23233               "$ref": "#/definitions/ErrorResults"
23234             }
23235           }
23236         },
23237         "EnsureDead": {
23238           "type": "object",
23239           "properties": {
23240             "Params": {
23241               "$ref": "#/definitions/Entities"
23242             },
23243             "Result": {
23244               "$ref": "#/definitions/ErrorResults"
23245             }
23246           }
23247         },
23248         "EnterScope": {
23249           "type": "object",
23250           "properties": {
23251             "Params": {
23252               "$ref": "#/definitions/RelationUnits"
23253             },
23254             "Result": {
23255               "$ref": "#/definitions/ErrorResults"
23256             }
23257           }
23258         },
23259         "FinishActions": {
23260           "type": "object",
23261           "properties": {
23262             "Params": {
23263               "$ref": "#/definitions/ActionExecutionResults"
23264             },
23265             "Result": {
23266               "$ref": "#/definitions/ErrorResults"
23267             }
23268           }
23269         },
23270         "GetMeterStatus": {
23271           "type": "object",
23272           "properties": {
23273             "Params": {
23274               "$ref": "#/definitions/Entities"
23275             },
23276             "Result": {
23277               "$ref": "#/definitions/MeterStatusResults"
23278             }
23279           }
23280         },
23281         "GetPrincipal": {
23282           "type": "object",
23283           "properties": {
23284             "Params": {
23285               "$ref": "#/definitions/Entities"
23286             },
23287             "Result": {
23288               "$ref": "#/definitions/StringBoolResults"
23289             }
23290           }
23291         },
23292         "HasSubordinates": {
23293           "type": "object",
23294           "properties": {
23295             "Params": {
23296               "$ref": "#/definitions/Entities"
23297             },
23298             "Result": {
23299               "$ref": "#/definitions/BoolResults"
23300             }
23301           }
23302         },
23303         "JoinedRelations": {
23304           "type": "object",
23305           "properties": {
23306             "Params": {
23307               "$ref": "#/definitions/Entities"
23308             },
23309             "Result": {
23310               "$ref": "#/definitions/StringsResults"
23311             }
23312           }
23313         },
23314         "LeaveScope": {
23315           "type": "object",
23316           "properties": {
23317             "Params": {
23318               "$ref": "#/definitions/RelationUnits"
23319             },
23320             "Result": {
23321               "$ref": "#/definitions/ErrorResults"
23322             }
23323           }
23324         },
23325         "Life": {
23326           "type": "object",
23327           "properties": {
23328             "Params": {
23329               "$ref": "#/definitions/Entities"
23330             },
23331             "Result": {
23332               "$ref": "#/definitions/LifeResults"
23333             }
23334           }
23335         },
23336         "Merge": {
23337           "type": "object",
23338           "properties": {
23339             "Params": {
23340               "$ref": "#/definitions/MergeLeadershipSettingsBulkParams"
23341             },
23342             "Result": {
23343               "$ref": "#/definitions/ErrorResults"
23344             }
23345           }
23346         },
23347         "ModelConfig": {
23348           "type": "object",
23349           "properties": {
23350             "Result": {
23351               "$ref": "#/definitions/ModelConfigResult"
23352             }
23353           }
23354         },
23355         "ModelUUID": {
23356           "type": "object",
23357           "properties": {
23358             "Result": {
23359               "$ref": "#/definitions/StringResult"
23360             }
23361           }
23362         },
23363         "NetworkInfo": {
23364           "type": "object",
23365           "properties": {
23366             "Params": {
23367               "$ref": "#/definitions/NetworkInfoParams"
23368             },
23369             "Result": {
23370               "$ref": "#/definitions/NetworkInfoResults"
23371             }
23372           }
23373         },
23374         "OpenPorts": {
23375           "type": "object",
23376           "properties": {
23377             "Params": {
23378               "$ref": "#/definitions/EntitiesPortRanges"
23379             },
23380             "Result": {
23381               "$ref": "#/definitions/ErrorResults"
23382             }
23383           }
23384         },
23385         "PrivateAddress": {
23386           "type": "object",
23387           "properties": {
23388             "Params": {
23389               "$ref": "#/definitions/Entities"
23390             },
23391             "Result": {
23392               "$ref": "#/definitions/StringResults"
23393             }
23394           }
23395         },
23396         "ProviderType": {
23397           "type": "object",
23398           "properties": {
23399             "Result": {
23400               "$ref": "#/definitions/StringResult"
23401             }
23402           }
23403         },
23404         "PublicAddress": {
23405           "type": "object",
23406           "properties": {
23407             "Params": {
23408               "$ref": "#/definitions/Entities"
23409             },
23410             "Result": {
23411               "$ref": "#/definitions/StringResults"
23412             }
23413           }
23414         },
23415         "Read": {
23416           "type": "object",
23417           "properties": {
23418             "Params": {
23419               "$ref": "#/definitions/Entities"
23420             },
23421             "Result": {
23422               "$ref": "#/definitions/GetLeadershipSettingsBulkResults"
23423             }
23424           }
23425         },
23426         "ReadRemoteSettings": {
23427           "type": "object",
23428           "properties": {
23429             "Params": {
23430               "$ref": "#/definitions/RelationUnitPairs"
23431             },
23432             "Result": {
23433               "$ref": "#/definitions/SettingsResults"
23434             }
23435           }
23436         },
23437         "ReadSettings": {
23438           "type": "object",
23439           "properties": {
23440             "Params": {
23441               "$ref": "#/definitions/RelationUnits"
23442             },
23443             "Result": {
23444               "$ref": "#/definitions/SettingsResults"
23445             }
23446           }
23447         },
23448         "Relation": {
23449           "type": "object",
23450           "properties": {
23451             "Params": {
23452               "$ref": "#/definitions/RelationUnits"
23453             },
23454             "Result": {
23455               "$ref": "#/definitions/RelationResults"
23456             }
23457           }
23458         },
23459         "RelationById": {
23460           "type": "object",
23461           "properties": {
23462             "Params": {
23463               "$ref": "#/definitions/RelationIds"
23464             },
23465             "Result": {
23466               "$ref": "#/definitions/RelationResults"
23467             }
23468           }
23469         },
23470         "RemoveStorageAttachments": {
23471           "type": "object",
23472           "properties": {
23473             "Params": {
23474               "$ref": "#/definitions/StorageAttachmentIds"
23475             },
23476             "Result": {
23477               "$ref": "#/definitions/ErrorResults"
23478             }
23479           }
23480         },
23481         "RequestReboot": {
23482           "type": "object",
23483           "properties": {
23484             "Params": {
23485               "$ref": "#/definitions/Entities"
23486             },
23487             "Result": {
23488               "$ref": "#/definitions/ErrorResults"
23489             }
23490           }
23491         },
23492         "Resolved": {
23493           "type": "object",
23494           "properties": {
23495             "Params": {
23496               "$ref": "#/definitions/Entities"
23497             },
23498             "Result": {
23499               "$ref": "#/definitions/ResolvedModeResults"
23500             }
23501           }
23502         },
23503         "SLALevel": {
23504           "type": "object",
23505           "properties": {
23506             "Result": {
23507               "$ref": "#/definitions/StringResult"
23508             }
23509           }
23510         },
23511         "SetAgentStatus": {
23512           "type": "object",
23513           "properties": {
23514             "Params": {
23515               "$ref": "#/definitions/SetStatus"
23516             },
23517             "Result": {
23518               "$ref": "#/definitions/ErrorResults"
23519             }
23520           }
23521         },
23522         "SetApplicationStatus": {
23523           "type": "object",
23524           "properties": {
23525             "Params": {
23526               "$ref": "#/definitions/SetStatus"
23527             },
23528             "Result": {
23529               "$ref": "#/definitions/ErrorResults"
23530             }
23531           }
23532         },
23533         "SetCharmURL": {
23534           "type": "object",
23535           "properties": {
23536             "Params": {
23537               "$ref": "#/definitions/EntitiesCharmURL"
23538             },
23539             "Result": {
23540               "$ref": "#/definitions/ErrorResults"
23541             }
23542           }
23543         },
23544         "SetStatus": {
23545           "type": "object",
23546           "properties": {
23547             "Params": {
23548               "$ref": "#/definitions/SetStatus"
23549             },
23550             "Result": {
23551               "$ref": "#/definitions/ErrorResults"
23552             }
23553           }
23554         },
23555         "SetUnitStatus": {
23556           "type": "object",
23557           "properties": {
23558             "Params": {
23559               "$ref": "#/definitions/SetStatus"
23560             },
23561             "Result": {
23562               "$ref": "#/definitions/ErrorResults"
23563             }
23564           }
23565         },
23566         "SetWorkloadVersion": {
23567           "type": "object",
23568           "properties": {
23569             "Params": {
23570               "$ref": "#/definitions/EntityWorkloadVersions"
23571             },
23572             "Result": {
23573               "$ref": "#/definitions/ErrorResults"
23574             }
23575           }
23576         },
23577         "StorageAttachmentLife": {
23578           "type": "object",
23579           "properties": {
23580             "Params": {
23581               "$ref": "#/definitions/StorageAttachmentIds"
23582             },
23583             "Result": {
23584               "$ref": "#/definitions/LifeResults"
23585             }
23586           }
23587         },
23588         "StorageAttachments": {
23589           "type": "object",
23590           "properties": {
23591             "Params": {
23592               "$ref": "#/definitions/StorageAttachmentIds"
23593             },
23594             "Result": {
23595               "$ref": "#/definitions/StorageAttachmentResults"
23596             }
23597           }
23598         },
23599         "UnitStatus": {
23600           "type": "object",
23601           "properties": {
23602             "Params": {
23603               "$ref": "#/definitions/Entities"
23604             },
23605             "Result": {
23606               "$ref": "#/definitions/StatusResults"
23607             }
23608           }
23609         },
23610         "UnitStorageAttachments": {
23611           "type": "object",
23612           "properties": {
23613             "Params": {
23614               "$ref": "#/definitions/Entities"
23615             },
23616             "Result": {
23617               "$ref": "#/definitions/StorageAttachmentIdsResults"
23618             }
23619           }
23620         },
23621         "UpdateSettings": {
23622           "type": "object",
23623           "properties": {
23624             "Params": {
23625               "$ref": "#/definitions/RelationUnitsSettings"
23626             },
23627             "Result": {
23628               "$ref": "#/definitions/ErrorResults"
23629             }
23630           }
23631         },
23632         "Watch": {
23633           "type": "object",
23634           "properties": {
23635             "Params": {
23636               "$ref": "#/definitions/Entities"
23637             },
23638             "Result": {
23639               "$ref": "#/definitions/NotifyWatchResults"
23640             }
23641           }
23642         },
23643         "WatchAPIHostPorts": {
23644           "type": "object",
23645           "properties": {
23646             "Result": {
23647               "$ref": "#/definitions/NotifyWatchResult"
23648             }
23649           }
23650         },
23651         "WatchActionNotifications": {
23652           "type": "object",
23653           "properties": {
23654             "Params": {
23655               "$ref": "#/definitions/Entities"
23656             },
23657             "Result": {
23658               "$ref": "#/definitions/StringsWatchResults"
23659             }
23660           }
23661         },
23662         "WatchConfigSettings": {
23663           "type": "object",
23664           "properties": {
23665             "Params": {
23666               "$ref": "#/definitions/Entities"
23667             },
23668             "Result": {
23669               "$ref": "#/definitions/NotifyWatchResults"
23670             }
23671           }
23672         },
23673         "WatchForModelConfigChanges": {
23674           "type": "object",
23675           "properties": {
23676             "Result": {
23677               "$ref": "#/definitions/NotifyWatchResult"
23678             }
23679           }
23680         },
23681         "WatchLeadershipSettings": {
23682           "type": "object",
23683           "properties": {
23684             "Params": {
23685               "$ref": "#/definitions/Entities"
23686             },
23687             "Result": {
23688               "$ref": "#/definitions/NotifyWatchResults"
23689             }
23690           }
23691         },
23692         "WatchMeterStatus": {
23693           "type": "object",
23694           "properties": {
23695             "Params": {
23696               "$ref": "#/definitions/Entities"
23697             },
23698             "Result": {
23699               "$ref": "#/definitions/NotifyWatchResults"
23700             }
23701           }
23702         },
23703         "WatchRelationUnits": {
23704           "type": "object",
23705           "properties": {
23706             "Params": {
23707               "$ref": "#/definitions/RelationUnits"
23708             },
23709             "Result": {
23710               "$ref": "#/definitions/RelationUnitsWatchResults"
23711             }
23712           }
23713         },
23714         "WatchStorageAttachments": {
23715           "type": "object",
23716           "properties": {
23717             "Params": {
23718               "$ref": "#/definitions/StorageAttachmentIds"
23719             },
23720             "Result": {
23721               "$ref": "#/definitions/NotifyWatchResults"
23722             }
23723           }
23724         },
23725         "WatchUnitAddresses": {
23726           "type": "object",
23727           "properties": {
23728             "Params": {
23729               "$ref": "#/definitions/Entities"
23730             },
23731             "Result": {
23732               "$ref": "#/definitions/NotifyWatchResults"
23733             }
23734           }
23735         },
23736         "WatchUnitRelations": {
23737           "type": "object",
23738           "properties": {
23739             "Params": {
23740               "$ref": "#/definitions/Entities"
23741             },
23742             "Result": {
23743               "$ref": "#/definitions/StringsWatchResults"
23744             }
23745           }
23746         },
23747         "WatchUnitStorageAttachments": {
23748           "type": "object",
23749           "properties": {
23750             "Params": {
23751               "$ref": "#/definitions/Entities"
23752             },
23753             "Result": {
23754               "$ref": "#/definitions/StringsWatchResults"
23755             }
23756           }
23757         },
23758         "WorkloadVersion": {
23759           "type": "object",
23760           "properties": {
23761             "Params": {
23762               "$ref": "#/definitions/Entities"
23763             },
23764             "Result": {
23765               "$ref": "#/definitions/StringResults"
23766             }
23767           }
23768         }
23769       },
23770       "definitions": {
23771         "APIHostPortsResult": {
23772           "type": "object",
23773           "properties": {
23774             "servers": {
23775               "type": "array",
23776               "items": {
23777                 "type": "array",
23778                 "items": {
23779                   "$ref": "#/definitions/HostPort"
23780                 }
23781               }
23782             }
23783           },
23784           "additionalProperties": false,
23785           "required": [
23786             "servers"
23787           ]
23788         },
23789         "Action": {
23790           "type": "object",
23791           "properties": {
23792             "name": {
23793               "type": "string"
23794             },
23795             "parameters": {
23796               "type": "object",
23797               "patternProperties": {
23798                 ".*": {
23799                   "type": "object",
23800                   "additionalProperties": true
23801                 }
23802               }
23803             },
23804             "receiver": {
23805               "type": "string"
23806             },
23807             "tag": {
23808               "type": "string"
23809             }
23810           },
23811           "additionalProperties": false,
23812           "required": [
23813             "tag",
23814             "receiver",
23815             "name"
23816           ]
23817         },
23818         "ActionExecutionResult": {
23819           "type": "object",
23820           "properties": {
23821             "action-tag": {
23822               "type": "string"
23823             },
23824             "message": {
23825               "type": "string"
23826             },
23827             "results": {
23828               "type": "object",
23829               "patternProperties": {
23830                 ".*": {
23831                   "type": "object",
23832                   "additionalProperties": true
23833                 }
23834               }
23835             },
23836             "status": {
23837               "type": "string"
23838             }
23839           },
23840           "additionalProperties": false,
23841           "required": [
23842             "action-tag",
23843             "status"
23844           ]
23845         },
23846         "ActionExecutionResults": {
23847           "type": "object",
23848           "properties": {
23849             "results": {
23850               "type": "array",
23851               "items": {
23852                 "$ref": "#/definitions/ActionExecutionResult"
23853               }
23854             }
23855           },
23856           "additionalProperties": false
23857         },
23858         "ActionResult": {
23859           "type": "object",
23860           "properties": {
23861             "action": {
23862               "$ref": "#/definitions/Action"
23863             },
23864             "completed": {
23865               "type": "string",
23866               "format": "date-time"
23867             },
23868             "enqueued": {
23869               "type": "string",
23870               "format": "date-time"
23871             },
23872             "error": {
23873               "$ref": "#/definitions/Error"
23874             },
23875             "message": {
23876               "type": "string"
23877             },
23878             "output": {
23879               "type": "object",
23880               "patternProperties": {
23881                 ".*": {
23882                   "type": "object",
23883                   "additionalProperties": true
23884                 }
23885               }
23886             },
23887             "started": {
23888               "type": "string",
23889               "format": "date-time"
23890             },
23891             "status": {
23892               "type": "string"
23893             }
23894           },
23895           "additionalProperties": false
23896         },
23897         "ActionResults": {
23898           "type": "object",
23899           "properties": {
23900             "results": {
23901               "type": "array",
23902               "items": {
23903                 "$ref": "#/definitions/ActionResult"
23904               }
23905             }
23906           },
23907           "additionalProperties": false
23908         },
23909         "Address": {
23910           "type": "object",
23911           "properties": {
23912             "scope": {
23913               "type": "string"
23914             },
23915             "space-name": {
23916               "type": "string"
23917             },
23918             "type": {
23919               "type": "string"
23920             },
23921             "value": {
23922               "type": "string"
23923             }
23924           },
23925           "additionalProperties": false,
23926           "required": [
23927             "value",
23928             "type",
23929             "scope"
23930           ]
23931         },
23932         "ApplicationStatusResult": {
23933           "type": "object",
23934           "properties": {
23935             "application": {
23936               "$ref": "#/definitions/StatusResult"
23937             },
23938             "error": {
23939               "$ref": "#/definitions/Error"
23940             },
23941             "units": {
23942               "type": "object",
23943               "patternProperties": {
23944                 ".*": {
23945                   "$ref": "#/definitions/StatusResult"
23946                 }
23947               }
23948             }
23949           },
23950           "additionalProperties": false,
23951           "required": [
23952             "application",
23953             "units"
23954           ]
23955         },
23956         "ApplicationStatusResults": {
23957           "type": "object",
23958           "properties": {
23959             "results": {
23960               "type": "array",
23961               "items": {
23962                 "$ref": "#/definitions/ApplicationStatusResult"
23963               }
23964             }
23965           },
23966           "additionalProperties": false,
23967           "required": [
23968             "results"
23969           ]
23970         },
23971         "BoolResult": {
23972           "type": "object",
23973           "properties": {
23974             "error": {
23975               "$ref": "#/definitions/Error"
23976             },
23977             "result": {
23978               "type": "boolean"
23979             }
23980           },
23981           "additionalProperties": false,
23982           "required": [
23983             "result"
23984           ]
23985         },
23986         "BoolResults": {
23987           "type": "object",
23988           "properties": {
23989             "results": {
23990               "type": "array",
23991               "items": {
23992                 "$ref": "#/definitions/BoolResult"
23993               }
23994             }
23995           },
23996           "additionalProperties": false,
23997           "required": [
23998             "results"
23999           ]
24000         },
24001         "BytesResult": {
24002           "type": "object",
24003           "properties": {
24004             "result": {
24005               "type": "array",
24006               "items": {
24007                 "type": "integer"
24008               }
24009             }
24010           },
24011           "additionalProperties": false,
24012           "required": [
24013             "result"
24014           ]
24015         },
24016         "CharmRelation": {
24017           "type": "object",
24018           "properties": {
24019             "interface": {
24020               "type": "string"
24021             },
24022             "limit": {
24023               "type": "integer"
24024             },
24025             "name": {
24026               "type": "string"
24027             },
24028             "optional": {
24029               "type": "boolean"
24030             },
24031             "role": {
24032               "type": "string"
24033             },
24034             "scope": {
24035               "type": "string"
24036             }
24037           },
24038           "additionalProperties": false,
24039           "required": [
24040             "name",
24041             "role",
24042             "interface",
24043             "optional",
24044             "limit",
24045             "scope"
24046           ]
24047         },
24048         "CharmURL": {
24049           "type": "object",
24050           "properties": {
24051             "url": {
24052               "type": "string"
24053             }
24054           },
24055           "additionalProperties": false,
24056           "required": [
24057             "url"
24058           ]
24059         },
24060         "CharmURLs": {
24061           "type": "object",
24062           "properties": {
24063             "urls": {
24064               "type": "array",
24065               "items": {
24066                 "$ref": "#/definitions/CharmURL"
24067               }
24068             }
24069           },
24070           "additionalProperties": false,
24071           "required": [
24072             "urls"
24073           ]
24074         },
24075         "ConfigSettingsResult": {
24076           "type": "object",
24077           "properties": {
24078             "error": {
24079               "$ref": "#/definitions/Error"
24080             },
24081             "settings": {
24082               "type": "object",
24083               "patternProperties": {
24084                 ".*": {
24085                   "type": "object",
24086                   "additionalProperties": true
24087                 }
24088               }
24089             }
24090           },
24091           "additionalProperties": false,
24092           "required": [
24093             "settings"
24094           ]
24095         },
24096         "ConfigSettingsResults": {
24097           "type": "object",
24098           "properties": {
24099             "results": {
24100               "type": "array",
24101               "items": {
24102                 "$ref": "#/definitions/ConfigSettingsResult"
24103               }
24104             }
24105           },
24106           "additionalProperties": false,
24107           "required": [
24108             "results"
24109           ]
24110         },
24111         "Endpoint": {
24112           "type": "object",
24113           "properties": {
24114             "application-name": {
24115               "type": "string"
24116             },
24117             "relation": {
24118               "$ref": "#/definitions/CharmRelation"
24119             }
24120           },
24121           "additionalProperties": false,
24122           "required": [
24123             "application-name",
24124             "relation"
24125           ]
24126         },
24127         "Entities": {
24128           "type": "object",
24129           "properties": {
24130             "entities": {
24131               "type": "array",
24132               "items": {
24133                 "$ref": "#/definitions/Entity"
24134               }
24135             }
24136           },
24137           "additionalProperties": false,
24138           "required": [
24139             "entities"
24140           ]
24141         },
24142         "EntitiesCharmURL": {
24143           "type": "object",
24144           "properties": {
24145             "entities": {
24146               "type": "array",
24147               "items": {
24148                 "$ref": "#/definitions/EntityCharmURL"
24149               }
24150             }
24151           },
24152           "additionalProperties": false,
24153           "required": [
24154             "entities"
24155           ]
24156         },
24157         "EntitiesPortRanges": {
24158           "type": "object",
24159           "properties": {
24160             "entities": {
24161               "type": "array",
24162               "items": {
24163                 "$ref": "#/definitions/EntityPortRange"
24164               }
24165             }
24166           },
24167           "additionalProperties": false,
24168           "required": [
24169             "entities"
24170           ]
24171         },
24172         "Entity": {
24173           "type": "object",
24174           "properties": {
24175             "tag": {
24176               "type": "string"
24177             }
24178           },
24179           "additionalProperties": false,
24180           "required": [
24181             "tag"
24182           ]
24183         },
24184         "EntityCharmURL": {
24185           "type": "object",
24186           "properties": {
24187             "charm-url": {
24188               "type": "string"
24189             },
24190             "tag": {
24191               "type": "string"
24192             }
24193           },
24194           "additionalProperties": false,
24195           "required": [
24196             "tag",
24197             "charm-url"
24198           ]
24199         },
24200         "EntityPortRange": {
24201           "type": "object",
24202           "properties": {
24203             "from-port": {
24204               "type": "integer"
24205             },
24206             "protocol": {
24207               "type": "string"
24208             },
24209             "tag": {
24210               "type": "string"
24211             },
24212             "to-port": {
24213               "type": "integer"
24214             }
24215           },
24216           "additionalProperties": false,
24217           "required": [
24218             "tag",
24219             "protocol",
24220             "from-port",
24221             "to-port"
24222           ]
24223         },
24224         "EntityStatusArgs": {
24225           "type": "object",
24226           "properties": {
24227             "data": {
24228               "type": "object",
24229               "patternProperties": {
24230                 ".*": {
24231                   "type": "object",
24232                   "additionalProperties": true
24233                 }
24234               }
24235             },
24236             "info": {
24237               "type": "string"
24238             },
24239             "status": {
24240               "type": "string"
24241             },
24242             "tag": {
24243               "type": "string"
24244             }
24245           },
24246           "additionalProperties": false,
24247           "required": [
24248             "tag",
24249             "status",
24250             "info",
24251             "data"
24252           ]
24253         },
24254         "EntityWorkloadVersion": {
24255           "type": "object",
24256           "properties": {
24257             "tag": {
24258               "type": "string"
24259             },
24260             "workload-version": {
24261               "type": "string"
24262             }
24263           },
24264           "additionalProperties": false,
24265           "required": [
24266             "tag",
24267             "workload-version"
24268           ]
24269         },
24270         "EntityWorkloadVersions": {
24271           "type": "object",
24272           "properties": {
24273             "entities": {
24274               "type": "array",
24275               "items": {
24276                 "$ref": "#/definitions/EntityWorkloadVersion"
24277               }
24278             }
24279           },
24280           "additionalProperties": false,
24281           "required": [
24282             "entities"
24283           ]
24284         },
24285         "Error": {
24286           "type": "object",
24287           "properties": {
24288             "code": {
24289               "type": "string"
24290             },
24291             "info": {
24292               "$ref": "#/definitions/ErrorInfo"
24293             },
24294             "message": {
24295               "type": "string"
24296             }
24297           },
24298           "additionalProperties": false,
24299           "required": [
24300             "message",
24301             "code"
24302           ]
24303         },
24304         "ErrorInfo": {
24305           "type": "object",
24306           "properties": {
24307             "macaroon": {
24308               "$ref": "#/definitions/Macaroon"
24309             },
24310             "macaroon-path": {
24311               "type": "string"
24312             }
24313           },
24314           "additionalProperties": false
24315         },
24316         "ErrorResult": {
24317           "type": "object",
24318           "properties": {
24319             "error": {
24320               "$ref": "#/definitions/Error"
24321             }
24322           },
24323           "additionalProperties": false
24324         },
24325         "ErrorResults": {
24326           "type": "object",
24327           "properties": {
24328             "results": {
24329               "type": "array",
24330               "items": {
24331                 "$ref": "#/definitions/ErrorResult"
24332               }
24333             }
24334           },
24335           "additionalProperties": false,
24336           "required": [
24337             "results"
24338           ]
24339         },
24340         "GetLeadershipSettingsBulkResults": {
24341           "type": "object",
24342           "properties": {
24343             "results": {
24344               "type": "array",
24345               "items": {
24346                 "$ref": "#/definitions/GetLeadershipSettingsResult"
24347               }
24348             }
24349           },
24350           "additionalProperties": false,
24351           "required": [
24352             "results"
24353           ]
24354         },
24355         "GetLeadershipSettingsResult": {
24356           "type": "object",
24357           "properties": {
24358             "error": {
24359               "$ref": "#/definitions/Error"
24360             },
24361             "settings": {
24362               "type": "object",
24363               "patternProperties": {
24364                 ".*": {
24365                   "type": "string"
24366                 }
24367               }
24368             }
24369           },
24370           "additionalProperties": false,
24371           "required": [
24372             "settings"
24373           ]
24374         },
24375         "HostPort": {
24376           "type": "object",
24377           "properties": {
24378             "Address": {
24379               "$ref": "#/definitions/Address"
24380             },
24381             "port": {
24382               "type": "integer"
24383             }
24384           },
24385           "additionalProperties": false,
24386           "required": [
24387             "Address",
24388             "port"
24389           ]
24390         },
24391         "IntResult": {
24392           "type": "object",
24393           "properties": {
24394             "error": {
24395               "$ref": "#/definitions/Error"
24396             },
24397             "result": {
24398               "type": "integer"
24399             }
24400           },
24401           "additionalProperties": false,
24402           "required": [
24403             "result"
24404           ]
24405         },
24406         "IntResults": {
24407           "type": "object",
24408           "properties": {
24409             "results": {
24410               "type": "array",
24411               "items": {
24412                 "$ref": "#/definitions/IntResult"
24413               }
24414             }
24415           },
24416           "additionalProperties": false,
24417           "required": [
24418             "results"
24419           ]
24420         },
24421         "InterfaceAddress": {
24422           "type": "object",
24423           "properties": {
24424             "cidr": {
24425               "type": "string"
24426             },
24427             "value": {
24428               "type": "string"
24429             }
24430           },
24431           "additionalProperties": false,
24432           "required": [
24433             "value",
24434             "cidr"
24435           ]
24436         },
24437         "LifeResult": {
24438           "type": "object",
24439           "properties": {
24440             "error": {
24441               "$ref": "#/definitions/Error"
24442             },
24443             "life": {
24444               "type": "string"
24445             }
24446           },
24447           "additionalProperties": false,
24448           "required": [
24449             "life"
24450           ]
24451         },
24452         "LifeResults": {
24453           "type": "object",
24454           "properties": {
24455             "results": {
24456               "type": "array",
24457               "items": {
24458                 "$ref": "#/definitions/LifeResult"
24459               }
24460             }
24461           },
24462           "additionalProperties": false,
24463           "required": [
24464             "results"
24465           ]
24466         },
24467         "Macaroon": {
24468           "type": "object",
24469           "additionalProperties": false
24470         },
24471         "MachinePortRange": {
24472           "type": "object",
24473           "properties": {
24474             "port-range": {
24475               "$ref": "#/definitions/PortRange"
24476             },
24477             "relation-tag": {
24478               "type": "string"
24479             },
24480             "unit-tag": {
24481               "type": "string"
24482             }
24483           },
24484           "additionalProperties": false,
24485           "required": [
24486             "unit-tag",
24487             "relation-tag",
24488             "port-range"
24489           ]
24490         },
24491         "MachinePortsResult": {
24492           "type": "object",
24493           "properties": {
24494             "error": {
24495               "$ref": "#/definitions/Error"
24496             },
24497             "ports": {
24498               "type": "array",
24499               "items": {
24500                 "$ref": "#/definitions/MachinePortRange"
24501               }
24502             }
24503           },
24504           "additionalProperties": false,
24505           "required": [
24506             "ports"
24507           ]
24508         },
24509         "MachinePortsResults": {
24510           "type": "object",
24511           "properties": {
24512             "results": {
24513               "type": "array",
24514               "items": {
24515                 "$ref": "#/definitions/MachinePortsResult"
24516               }
24517             }
24518           },
24519           "additionalProperties": false,
24520           "required": [
24521             "results"
24522           ]
24523         },
24524         "MergeLeadershipSettingsBulkParams": {
24525           "type": "object",
24526           "properties": {
24527             "params": {
24528               "type": "array",
24529               "items": {
24530                 "$ref": "#/definitions/MergeLeadershipSettingsParam"
24531               }
24532             }
24533           },
24534           "additionalProperties": false,
24535           "required": [
24536             "params"
24537           ]
24538         },
24539         "MergeLeadershipSettingsParam": {
24540           "type": "object",
24541           "properties": {
24542             "application-tag": {
24543               "type": "string"
24544             },
24545             "settings": {
24546               "type": "object",
24547               "patternProperties": {
24548                 ".*": {
24549                   "type": "string"
24550                 }
24551               }
24552             }
24553           },
24554           "additionalProperties": false,
24555           "required": [
24556             "application-tag",
24557             "settings"
24558           ]
24559         },
24560         "MeterStatusResult": {
24561           "type": "object",
24562           "properties": {
24563             "code": {
24564               "type": "string"
24565             },
24566             "error": {
24567               "$ref": "#/definitions/Error"
24568             },
24569             "info": {
24570               "type": "string"
24571             }
24572           },
24573           "additionalProperties": false,
24574           "required": [
24575             "code",
24576             "info"
24577           ]
24578         },
24579         "MeterStatusResults": {
24580           "type": "object",
24581           "properties": {
24582             "results": {
24583               "type": "array",
24584               "items": {
24585                 "$ref": "#/definitions/MeterStatusResult"
24586               }
24587             }
24588           },
24589           "additionalProperties": false,
24590           "required": [
24591             "results"
24592           ]
24593         },
24594         "Metric": {
24595           "type": "object",
24596           "properties": {
24597             "key": {
24598               "type": "string"
24599             },
24600             "time": {
24601               "type": "string",
24602               "format": "date-time"
24603             },
24604             "value": {
24605               "type": "string"
24606             }
24607           },
24608           "additionalProperties": false,
24609           "required": [
24610             "key",
24611             "value",
24612             "time"
24613           ]
24614         },
24615         "MetricBatch": {
24616           "type": "object",
24617           "properties": {
24618             "charm-url": {
24619               "type": "string"
24620             },
24621             "created": {
24622               "type": "string",
24623               "format": "date-time"
24624             },
24625             "metrics": {
24626               "type": "array",
24627               "items": {
24628                 "$ref": "#/definitions/Metric"
24629               }
24630             },
24631             "uuid": {
24632               "type": "string"
24633             }
24634           },
24635           "additionalProperties": false,
24636           "required": [
24637             "uuid",
24638             "charm-url",
24639             "created",
24640             "metrics"
24641           ]
24642         },
24643         "MetricBatchParam": {
24644           "type": "object",
24645           "properties": {
24646             "batch": {
24647               "$ref": "#/definitions/MetricBatch"
24648             },
24649             "tag": {
24650               "type": "string"
24651             }
24652           },
24653           "additionalProperties": false,
24654           "required": [
24655             "tag",
24656             "batch"
24657           ]
24658         },
24659         "MetricBatchParams": {
24660           "type": "object",
24661           "properties": {
24662             "batches": {
24663               "type": "array",
24664               "items": {
24665                 "$ref": "#/definitions/MetricBatchParam"
24666               }
24667             }
24668           },
24669           "additionalProperties": false,
24670           "required": [
24671             "batches"
24672           ]
24673         },
24674         "ModelConfigResult": {
24675           "type": "object",
24676           "properties": {
24677             "config": {
24678               "type": "object",
24679               "patternProperties": {
24680                 ".*": {
24681                   "type": "object",
24682                   "additionalProperties": true
24683                 }
24684               }
24685             }
24686           },
24687           "additionalProperties": false,
24688           "required": [
24689             "config"
24690           ]
24691         },
24692         "ModelResult": {
24693           "type": "object",
24694           "properties": {
24695             "error": {
24696               "$ref": "#/definitions/Error"
24697             },
24698             "name": {
24699               "type": "string"
24700             },
24701             "uuid": {
24702               "type": "string"
24703             }
24704           },
24705           "additionalProperties": false,
24706           "required": [
24707             "name",
24708             "uuid"
24709           ]
24710         },
24711         "NetworkInfo": {
24712           "type": "object",
24713           "properties": {
24714             "addresses": {
24715               "type": "array",
24716               "items": {
24717                 "$ref": "#/definitions/InterfaceAddress"
24718               }
24719             },
24720             "interface-name": {
24721               "type": "string"
24722             },
24723             "mac-address": {
24724               "type": "string"
24725             }
24726           },
24727           "additionalProperties": false,
24728           "required": [
24729             "mac-address",
24730             "interface-name",
24731             "addresses"
24732           ]
24733         },
24734         "NetworkInfoParams": {
24735           "type": "object",
24736           "properties": {
24737             "bindings": {
24738               "type": "array",
24739               "items": {
24740                 "type": "string"
24741               }
24742             },
24743             "unit": {
24744               "type": "string"
24745             }
24746           },
24747           "additionalProperties": false,
24748           "required": [
24749             "unit",
24750             "bindings"
24751           ]
24752         },
24753         "NetworkInfoResult": {
24754           "type": "object",
24755           "properties": {
24756             "error": {
24757               "$ref": "#/definitions/Error"
24758             },
24759             "network-info": {
24760               "type": "array",
24761               "items": {
24762                 "$ref": "#/definitions/NetworkInfo"
24763               }
24764             }
24765           },
24766           "additionalProperties": false,
24767           "required": [
24768             "network-info"
24769           ]
24770         },
24771         "NetworkInfoResults": {
24772           "type": "object",
24773           "properties": {
24774             "results": {
24775               "type": "object",
24776               "patternProperties": {
24777                 ".*": {
24778                   "$ref": "#/definitions/NetworkInfoResult"
24779                 }
24780               }
24781             }
24782           },
24783           "additionalProperties": false,
24784           "required": [
24785             "results"
24786           ]
24787         },
24788         "NotifyWatchResult": {
24789           "type": "object",
24790           "properties": {
24791             "NotifyWatcherId": {
24792               "type": "string"
24793             },
24794             "error": {
24795               "$ref": "#/definitions/Error"
24796             }
24797           },
24798           "additionalProperties": false,
24799           "required": [
24800             "NotifyWatcherId"
24801           ]
24802         },
24803         "NotifyWatchResults": {
24804           "type": "object",
24805           "properties": {
24806             "results": {
24807               "type": "array",
24808               "items": {
24809                 "$ref": "#/definitions/NotifyWatchResult"
24810               }
24811             }
24812           },
24813           "additionalProperties": false,
24814           "required": [
24815             "results"
24816           ]
24817         },
24818         "PortRange": {
24819           "type": "object",
24820           "properties": {
24821             "from-port": {
24822               "type": "integer"
24823             },
24824             "protocol": {
24825               "type": "string"
24826             },
24827             "to-port": {
24828               "type": "integer"
24829             }
24830           },
24831           "additionalProperties": false,
24832           "required": [
24833             "from-port",
24834             "to-port",
24835             "protocol"
24836           ]
24837         },
24838         "RelationIds": {
24839           "type": "object",
24840           "properties": {
24841             "relation-ids": {
24842               "type": "array",
24843               "items": {
24844                 "type": "integer"
24845               }
24846             }
24847           },
24848           "additionalProperties": false,
24849           "required": [
24850             "relation-ids"
24851           ]
24852         },
24853         "RelationResult": {
24854           "type": "object",
24855           "properties": {
24856             "endpoint": {
24857               "$ref": "#/definitions/Endpoint"
24858             },
24859             "error": {
24860               "$ref": "#/definitions/Error"
24861             },
24862             "id": {
24863               "type": "integer"
24864             },
24865             "key": {
24866               "type": "string"
24867             },
24868             "life": {
24869               "type": "string"
24870             }
24871           },
24872           "additionalProperties": false,
24873           "required": [
24874             "life",
24875             "id",
24876             "key",
24877             "endpoint"
24878           ]
24879         },
24880         "RelationResults": {
24881           "type": "object",
24882           "properties": {
24883             "results": {
24884               "type": "array",
24885               "items": {
24886                 "$ref": "#/definitions/RelationResult"
24887               }
24888             }
24889           },
24890           "additionalProperties": false,
24891           "required": [
24892             "results"
24893           ]
24894         },
24895         "RelationUnit": {
24896           "type": "object",
24897           "properties": {
24898             "relation": {
24899               "type": "string"
24900             },
24901             "unit": {
24902               "type": "string"
24903             }
24904           },
24905           "additionalProperties": false,
24906           "required": [
24907             "relation",
24908             "unit"
24909           ]
24910         },
24911         "RelationUnitPair": {
24912           "type": "object",
24913           "properties": {
24914             "local-unit": {
24915               "type": "string"
24916             },
24917             "relation": {
24918               "type": "string"
24919             },
24920             "remote-unit": {
24921               "type": "string"
24922             }
24923           },
24924           "additionalProperties": false,
24925           "required": [
24926             "relation",
24927             "local-unit",
24928             "remote-unit"
24929           ]
24930         },
24931         "RelationUnitPairs": {
24932           "type": "object",
24933           "properties": {
24934             "relation-unit-pairs": {
24935               "type": "array",
24936               "items": {
24937                 "$ref": "#/definitions/RelationUnitPair"
24938               }
24939             }
24940           },
24941           "additionalProperties": false,
24942           "required": [
24943             "relation-unit-pairs"
24944           ]
24945         },
24946         "RelationUnitSettings": {
24947           "type": "object",
24948           "properties": {
24949             "relation": {
24950               "type": "string"
24951             },
24952             "settings": {
24953               "type": "object",
24954               "patternProperties": {
24955                 ".*": {
24956                   "type": "string"
24957                 }
24958               }
24959             },
24960             "unit": {
24961               "type": "string"
24962             }
24963           },
24964           "additionalProperties": false,
24965           "required": [
24966             "relation",
24967             "unit",
24968             "settings"
24969           ]
24970         },
24971         "RelationUnits": {
24972           "type": "object",
24973           "properties": {
24974             "relation-units": {
24975               "type": "array",
24976               "items": {
24977                 "$ref": "#/definitions/RelationUnit"
24978               }
24979             }
24980           },
24981           "additionalProperties": false,
24982           "required": [
24983             "relation-units"
24984           ]
24985         },
24986         "RelationUnitsChange": {
24987           "type": "object",
24988           "properties": {
24989             "changed": {
24990               "type": "object",
24991               "patternProperties": {
24992                 ".*": {
24993                   "$ref": "#/definitions/UnitSettings"
24994                 }
24995               }
24996             },
24997             "departed": {
24998               "type": "array",
24999               "items": {
25000                 "type": "string"
25001               }
25002             }
25003           },
25004           "additionalProperties": false,
25005           "required": [
25006             "changed"
25007           ]
25008         },
25009         "RelationUnitsSettings": {
25010           "type": "object",
25011           "properties": {
25012             "relation-units": {
25013               "type": "array",
25014               "items": {
25015                 "$ref": "#/definitions/RelationUnitSettings"
25016               }
25017             }
25018           },
25019           "additionalProperties": false,
25020           "required": [
25021             "relation-units"
25022           ]
25023         },
25024         "RelationUnitsWatchResult": {
25025           "type": "object",
25026           "properties": {
25027             "changes": {
25028               "$ref": "#/definitions/RelationUnitsChange"
25029             },
25030             "error": {
25031               "$ref": "#/definitions/Error"
25032             },
25033             "watcher-id": {
25034               "type": "string"
25035             }
25036           },
25037           "additionalProperties": false,
25038           "required": [
25039             "watcher-id",
25040             "changes"
25041           ]
25042         },
25043         "RelationUnitsWatchResults": {
25044           "type": "object",
25045           "properties": {
25046             "results": {
25047               "type": "array",
25048               "items": {
25049                 "$ref": "#/definitions/RelationUnitsWatchResult"
25050               }
25051             }
25052           },
25053           "additionalProperties": false,
25054           "required": [
25055             "results"
25056           ]
25057         },
25058         "ResolvedModeResult": {
25059           "type": "object",
25060           "properties": {
25061             "error": {
25062               "$ref": "#/definitions/Error"
25063             },
25064             "mode": {
25065               "type": "string"
25066             }
25067           },
25068           "additionalProperties": false,
25069           "required": [
25070             "mode"
25071           ]
25072         },
25073         "ResolvedModeResults": {
25074           "type": "object",
25075           "properties": {
25076             "results": {
25077               "type": "array",
25078               "items": {
25079                 "$ref": "#/definitions/ResolvedModeResult"
25080               }
25081             }
25082           },
25083           "additionalProperties": false,
25084           "required": [
25085             "results"
25086           ]
25087         },
25088         "SetStatus": {
25089           "type": "object",
25090           "properties": {
25091             "entities": {
25092               "type": "array",
25093               "items": {
25094                 "$ref": "#/definitions/EntityStatusArgs"
25095               }
25096             }
25097           },
25098           "additionalProperties": false,
25099           "required": [
25100             "entities"
25101           ]
25102         },
25103         "SettingsResult": {
25104           "type": "object",
25105           "properties": {
25106             "error": {
25107               "$ref": "#/definitions/Error"
25108             },
25109             "settings": {
25110               "type": "object",
25111               "patternProperties": {
25112                 ".*": {
25113                   "type": "string"
25114                 }
25115               }
25116             }
25117           },
25118           "additionalProperties": false,
25119           "required": [
25120             "settings"
25121           ]
25122         },
25123         "SettingsResults": {
25124           "type": "object",
25125           "properties": {
25126             "results": {
25127               "type": "array",
25128               "items": {
25129                 "$ref": "#/definitions/SettingsResult"
25130               }
25131             }
25132           },
25133           "additionalProperties": false,
25134           "required": [
25135             "results"
25136           ]
25137         },
25138         "StatusResult": {
25139           "type": "object",
25140           "properties": {
25141             "data": {
25142               "type": "object",
25143               "patternProperties": {
25144                 ".*": {
25145                   "type": "object",
25146                   "additionalProperties": true
25147                 }
25148               }
25149             },
25150             "error": {
25151               "$ref": "#/definitions/Error"
25152             },
25153             "id": {
25154               "type": "string"
25155             },
25156             "info": {
25157               "type": "string"
25158             },
25159             "life": {
25160               "type": "string"
25161             },
25162             "since": {
25163               "type": "string",
25164               "format": "date-time"
25165             },
25166             "status": {
25167               "type": "string"
25168             }
25169           },
25170           "additionalProperties": false,
25171           "required": [
25172             "id",
25173             "life",
25174             "status",
25175             "info",
25176             "data",
25177             "since"
25178           ]
25179         },
25180         "StatusResults": {
25181           "type": "object",
25182           "properties": {
25183             "results": {
25184               "type": "array",
25185               "items": {
25186                 "$ref": "#/definitions/StatusResult"
25187               }
25188             }
25189           },
25190           "additionalProperties": false,
25191           "required": [
25192             "results"
25193           ]
25194         },
25195         "StorageAddParams": {
25196           "type": "object",
25197           "properties": {
25198             "name": {
25199               "type": "string"
25200             },
25201             "storage": {
25202               "$ref": "#/definitions/StorageConstraints"
25203             },
25204             "unit": {
25205               "type": "string"
25206             }
25207           },
25208           "additionalProperties": false,
25209           "required": [
25210             "unit",
25211             "name",
25212             "storage"
25213           ]
25214         },
25215         "StorageAttachment": {
25216           "type": "object",
25217           "properties": {
25218             "kind": {
25219               "type": "integer"
25220             },
25221             "life": {
25222               "type": "string"
25223             },
25224             "location": {
25225               "type": "string"
25226             },
25227             "owner-tag": {
25228               "type": "string"
25229             },
25230             "storage-tag": {
25231               "type": "string"
25232             },
25233             "unit-tag": {
25234               "type": "string"
25235             }
25236           },
25237           "additionalProperties": false,
25238           "required": [
25239             "storage-tag",
25240             "owner-tag",
25241             "unit-tag",
25242             "kind",
25243             "location",
25244             "life"
25245           ]
25246         },
25247         "StorageAttachmentId": {
25248           "type": "object",
25249           "properties": {
25250             "storage-tag": {
25251               "type": "string"
25252             },
25253             "unit-tag": {
25254               "type": "string"
25255             }
25256           },
25257           "additionalProperties": false,
25258           "required": [
25259             "storage-tag",
25260             "unit-tag"
25261           ]
25262         },
25263         "StorageAttachmentIds": {
25264           "type": "object",
25265           "properties": {
25266             "ids": {
25267               "type": "array",
25268               "items": {
25269                 "$ref": "#/definitions/StorageAttachmentId"
25270               }
25271             }
25272           },
25273           "additionalProperties": false,
25274           "required": [
25275             "ids"
25276           ]
25277         },
25278         "StorageAttachmentIdsResult": {
25279           "type": "object",
25280           "properties": {
25281             "error": {
25282               "$ref": "#/definitions/Error"
25283             },
25284             "result": {
25285               "$ref": "#/definitions/StorageAttachmentIds"
25286             }
25287           },
25288           "additionalProperties": false,
25289           "required": [
25290             "result"
25291           ]
25292         },
25293         "StorageAttachmentIdsResults": {
25294           "type": "object",
25295           "properties": {
25296             "results": {
25297               "type": "array",
25298               "items": {
25299                 "$ref": "#/definitions/StorageAttachmentIdsResult"
25300               }
25301             }
25302           },
25303           "additionalProperties": false
25304         },
25305         "StorageAttachmentResult": {
25306           "type": "object",
25307           "properties": {
25308             "error": {
25309               "$ref": "#/definitions/Error"
25310             },
25311             "result": {
25312               "$ref": "#/definitions/StorageAttachment"
25313             }
25314           },
25315           "additionalProperties": false,
25316           "required": [
25317             "result"
25318           ]
25319         },
25320         "StorageAttachmentResults": {
25321           "type": "object",
25322           "properties": {
25323             "results": {
25324               "type": "array",
25325               "items": {
25326                 "$ref": "#/definitions/StorageAttachmentResult"
25327               }
25328             }
25329           },
25330           "additionalProperties": false
25331         },
25332         "StorageConstraints": {
25333           "type": "object",
25334           "properties": {
25335             "count": {
25336               "type": "integer"
25337             },
25338             "pool": {
25339               "type": "string"
25340             },
25341             "size": {
25342               "type": "integer"
25343             }
25344           },
25345           "additionalProperties": false
25346         },
25347         "StoragesAddParams": {
25348           "type": "object",
25349           "properties": {
25350             "storages": {
25351               "type": "array",
25352               "items": {
25353                 "$ref": "#/definitions/StorageAddParams"
25354               }
25355             }
25356           },
25357           "additionalProperties": false,
25358           "required": [
25359             "storages"
25360           ]
25361         },
25362         "StringBoolResult": {
25363           "type": "object",
25364           "properties": {
25365             "error": {
25366               "$ref": "#/definitions/Error"
25367             },
25368             "ok": {
25369               "type": "boolean"
25370             },
25371             "result": {
25372               "type": "string"
25373             }
25374           },
25375           "additionalProperties": false,
25376           "required": [
25377             "result",
25378             "ok"
25379           ]
25380         },
25381         "StringBoolResults": {
25382           "type": "object",
25383           "properties": {
25384             "results": {
25385               "type": "array",
25386               "items": {
25387                 "$ref": "#/definitions/StringBoolResult"
25388               }
25389             }
25390           },
25391           "additionalProperties": false,
25392           "required": [
25393             "results"
25394           ]
25395         },
25396         "StringResult": {
25397           "type": "object",
25398           "properties": {
25399             "error": {
25400               "$ref": "#/definitions/Error"
25401             },
25402             "result": {
25403               "type": "string"
25404             }
25405           },
25406           "additionalProperties": false,
25407           "required": [
25408             "result"
25409           ]
25410         },
25411         "StringResults": {
25412           "type": "object",
25413           "properties": {
25414             "results": {
25415               "type": "array",
25416               "items": {
25417                 "$ref": "#/definitions/StringResult"
25418               }
25419             }
25420           },
25421           "additionalProperties": false,
25422           "required": [
25423             "results"
25424           ]
25425         },
25426         "StringsResult": {
25427           "type": "object",
25428           "properties": {
25429             "error": {
25430               "$ref": "#/definitions/Error"
25431             },
25432             "result": {
25433               "type": "array",
25434               "items": {
25435                 "type": "string"
25436               }
25437             }
25438           },
25439           "additionalProperties": false
25440         },
25441         "StringsResults": {
25442           "type": "object",
25443           "properties": {
25444             "results": {
25445               "type": "array",
25446               "items": {
25447                 "$ref": "#/definitions/StringsResult"
25448               }
25449             }
25450           },
25451           "additionalProperties": false,
25452           "required": [
25453             "results"
25454           ]
25455         },
25456         "StringsWatchResult": {
25457           "type": "object",
25458           "properties": {
25459             "changes": {
25460               "type": "array",
25461               "items": {
25462                 "type": "string"
25463               }
25464             },
25465             "error": {
25466               "$ref": "#/definitions/Error"
25467             },
25468             "watcher-id": {
25469               "type": "string"
25470             }
25471           },
25472           "additionalProperties": false,
25473           "required": [
25474             "watcher-id"
25475           ]
25476         },
25477         "StringsWatchResults": {
25478           "type": "object",
25479           "properties": {
25480             "results": {
25481               "type": "array",
25482               "items": {
25483                 "$ref": "#/definitions/StringsWatchResult"
25484               }
25485             }
25486           },
25487           "additionalProperties": false,
25488           "required": [
25489             "results"
25490           ]
25491         },
25492         "UnitSettings": {
25493           "type": "object",
25494           "properties": {
25495             "version": {
25496               "type": "integer"
25497             }
25498           },
25499           "additionalProperties": false,
25500           "required": [
25501             "version"
25502           ]
25503         }
25504       }
25505     }
25506   },
25507   {
25508     "Name": "Upgrader",
25509     "Version": 1,
25510     "Schema": {
25511       "type": "object",
25512       "properties": {
25513         "DesiredVersion": {
25514           "type": "object",
25515           "properties": {
25516             "Params": {
25517               "$ref": "#/definitions/Entities"
25518             },
25519             "Result": {
25520               "$ref": "#/definitions/VersionResults"
25521             }
25522           }
25523         },
25524         "SetTools": {
25525           "type": "object",
25526           "properties": {
25527             "Params": {
25528               "$ref": "#/definitions/EntitiesVersion"
25529             },
25530             "Result": {
25531               "$ref": "#/definitions/ErrorResults"
25532             }
25533           }
25534         },
25535         "Tools": {
25536           "type": "object",
25537           "properties": {
25538             "Params": {
25539               "$ref": "#/definitions/Entities"
25540             },
25541             "Result": {
25542               "$ref": "#/definitions/ToolsResults"
25543             }
25544           }
25545         },
25546         "WatchAPIVersion": {
25547           "type": "object",
25548           "properties": {
25549             "Params": {
25550               "$ref": "#/definitions/Entities"
25551             },
25552             "Result": {
25553               "$ref": "#/definitions/NotifyWatchResults"
25554             }
25555           }
25556         }
25557       },
25558       "definitions": {
25559         "Binary": {
25560           "type": "object",
25561           "properties": {
25562             "Arch": {
25563               "type": "string"
25564             },
25565             "Number": {
25566               "$ref": "#/definitions/Number"
25567             },
25568             "Series": {
25569               "type": "string"
25570             }
25571           },
25572           "additionalProperties": false,
25573           "required": [
25574             "Number",
25575             "Series",
25576             "Arch"
25577           ]
25578         },
25579         "Entities": {
25580           "type": "object",
25581           "properties": {
25582             "entities": {
25583               "type": "array",
25584               "items": {
25585                 "$ref": "#/definitions/Entity"
25586               }
25587             }
25588           },
25589           "additionalProperties": false,
25590           "required": [
25591             "entities"
25592           ]
25593         },
25594         "EntitiesVersion": {
25595           "type": "object",
25596           "properties": {
25597             "agent-tools": {
25598               "type": "array",
25599               "items": {
25600                 "$ref": "#/definitions/EntityVersion"
25601               }
25602             }
25603           },
25604           "additionalProperties": false,
25605           "required": [
25606             "agent-tools"
25607           ]
25608         },
25609         "Entity": {
25610           "type": "object",
25611           "properties": {
25612             "tag": {
25613               "type": "string"
25614             }
25615           },
25616           "additionalProperties": false,
25617           "required": [
25618             "tag"
25619           ]
25620         },
25621         "EntityVersion": {
25622           "type": "object",
25623           "properties": {
25624             "tag": {
25625               "type": "string"
25626             },
25627             "tools": {
25628               "$ref": "#/definitions/Version"
25629             }
25630           },
25631           "additionalProperties": false,
25632           "required": [
25633             "tag",
25634             "tools"
25635           ]
25636         },
25637         "Error": {
25638           "type": "object",
25639           "properties": {
25640             "code": {
25641               "type": "string"
25642             },
25643             "info": {
25644               "$ref": "#/definitions/ErrorInfo"
25645             },
25646             "message": {
25647               "type": "string"
25648             }
25649           },
25650           "additionalProperties": false,
25651           "required": [
25652             "message",
25653             "code"
25654           ]
25655         },
25656         "ErrorInfo": {
25657           "type": "object",
25658           "properties": {
25659             "macaroon": {
25660               "$ref": "#/definitions/Macaroon"
25661             },
25662             "macaroon-path": {
25663               "type": "string"
25664             }
25665           },
25666           "additionalProperties": false
25667         },
25668         "ErrorResult": {
25669           "type": "object",
25670           "properties": {
25671             "error": {
25672               "$ref": "#/definitions/Error"
25673             }
25674           },
25675           "additionalProperties": false
25676         },
25677         "ErrorResults": {
25678           "type": "object",
25679           "properties": {
25680             "results": {
25681               "type": "array",
25682               "items": {
25683                 "$ref": "#/definitions/ErrorResult"
25684               }
25685             }
25686           },
25687           "additionalProperties": false,
25688           "required": [
25689             "results"
25690           ]
25691         },
25692         "Macaroon": {
25693           "type": "object",
25694           "additionalProperties": false
25695         },
25696         "NotifyWatchResult": {
25697           "type": "object",
25698           "properties": {
25699             "NotifyWatcherId": {
25700               "type": "string"
25701             },
25702             "error": {
25703               "$ref": "#/definitions/Error"
25704             }
25705           },
25706           "additionalProperties": false,
25707           "required": [
25708             "NotifyWatcherId"
25709           ]
25710         },
25711         "NotifyWatchResults": {
25712           "type": "object",
25713           "properties": {
25714             "results": {
25715               "type": "array",
25716               "items": {
25717                 "$ref": "#/definitions/NotifyWatchResult"
25718               }
25719             }
25720           },
25721           "additionalProperties": false,
25722           "required": [
25723             "results"
25724           ]
25725         },
25726         "Number": {
25727           "type": "object",
25728           "properties": {
25729             "Build": {
25730               "type": "integer"
25731             },
25732             "Major": {
25733               "type": "integer"
25734             },
25735             "Minor": {
25736               "type": "integer"
25737             },
25738             "Patch": {
25739               "type": "integer"
25740             },
25741             "Tag": {
25742               "type": "string"
25743             }
25744           },
25745           "additionalProperties": false,
25746           "required": [
25747             "Major",
25748             "Minor",
25749             "Tag",
25750             "Patch",
25751             "Build"
25752           ]
25753         },
25754         "Tools": {
25755           "type": "object",
25756           "properties": {
25757             "sha256": {
25758               "type": "string"
25759             },
25760             "size": {
25761               "type": "integer"
25762             },
25763             "url": {
25764               "type": "string"
25765             },
25766             "version": {
25767               "$ref": "#/definitions/Binary"
25768             }
25769           },
25770           "additionalProperties": false,
25771           "required": [
25772             "version",
25773             "url",
25774             "size"
25775           ]
25776         },
25777         "ToolsResult": {
25778           "type": "object",
25779           "properties": {
25780             "disable-ssl-hostname-verification": {
25781               "type": "boolean"
25782             },
25783             "error": {
25784               "$ref": "#/definitions/Error"
25785             },
25786             "tools": {
25787               "type": "array",
25788               "items": {
25789                 "$ref": "#/definitions/Tools"
25790               }
25791             }
25792           },
25793           "additionalProperties": false,
25794           "required": [
25795             "tools",
25796             "disable-ssl-hostname-verification"
25797           ]
25798         },
25799         "ToolsResults": {
25800           "type": "object",
25801           "properties": {
25802             "results": {
25803               "type": "array",
25804               "items": {
25805                 "$ref": "#/definitions/ToolsResult"
25806               }
25807             }
25808           },
25809           "additionalProperties": false,
25810           "required": [
25811             "results"
25812           ]
25813         },
25814         "Version": {
25815           "type": "object",
25816           "properties": {
25817             "version": {
25818               "$ref": "#/definitions/Binary"
25819             }
25820           },
25821           "additionalProperties": false,
25822           "required": [
25823             "version"
25824           ]
25825         },
25826         "VersionResult": {
25827           "type": "object",
25828           "properties": {
25829             "error": {
25830               "$ref": "#/definitions/Error"
25831             },
25832             "version": {
25833               "$ref": "#/definitions/Number"
25834             }
25835           },
25836           "additionalProperties": false
25837         },
25838         "VersionResults": {
25839           "type": "object",
25840           "properties": {
25841             "results": {
25842               "type": "array",
25843               "items": {
25844                 "$ref": "#/definitions/VersionResult"
25845               }
25846             }
25847           },
25848           "additionalProperties": false,
25849           "required": [
25850             "results"
25851           ]
25852         }
25853       }
25854     }
25855   },
25856   {
25857     "Name": "UserManager",
25858     "Version": 1,
25859     "Schema": {
25860       "type": "object",
25861       "properties": {
25862         "AddUser": {
25863           "type": "object",
25864           "properties": {
25865             "Params": {
25866               "$ref": "#/definitions/AddUsers"
25867             },
25868             "Result": {
25869               "$ref": "#/definitions/AddUserResults"
25870             }
25871           }
25872         },
25873         "DisableUser": {
25874           "type": "object",
25875           "properties": {
25876             "Params": {
25877               "$ref": "#/definitions/Entities"
25878             },
25879             "Result": {
25880               "$ref": "#/definitions/ErrorResults"
25881             }
25882           }
25883         },
25884         "EnableUser": {
25885           "type": "object",
25886           "properties": {
25887             "Params": {
25888               "$ref": "#/definitions/Entities"
25889             },
25890             "Result": {
25891               "$ref": "#/definitions/ErrorResults"
25892             }
25893           }
25894         },
25895         "RemoveUser": {
25896           "type": "object",
25897           "properties": {
25898             "Params": {
25899               "$ref": "#/definitions/Entities"
25900             },
25901             "Result": {
25902               "$ref": "#/definitions/ErrorResults"
25903             }
25904           }
25905         },
25906         "SetPassword": {
25907           "type": "object",
25908           "properties": {
25909             "Params": {
25910               "$ref": "#/definitions/EntityPasswords"
25911             },
25912             "Result": {
25913               "$ref": "#/definitions/ErrorResults"
25914             }
25915           }
25916         },
25917         "UserInfo": {
25918           "type": "object",
25919           "properties": {
25920             "Params": {
25921               "$ref": "#/definitions/UserInfoRequest"
25922             },
25923             "Result": {
25924               "$ref": "#/definitions/UserInfoResults"
25925             }
25926           }
25927         }
25928       },
25929       "definitions": {
25930         "AddUser": {
25931           "type": "object",
25932           "properties": {
25933             "display-name": {
25934               "type": "string"
25935             },
25936             "password": {
25937               "type": "string"
25938             },
25939             "username": {
25940               "type": "string"
25941             }
25942           },
25943           "additionalProperties": false,
25944           "required": [
25945             "username",
25946             "display-name"
25947           ]
25948         },
25949         "AddUserResult": {
25950           "type": "object",
25951           "properties": {
25952             "error": {
25953               "$ref": "#/definitions/Error"
25954             },
25955             "secret-key": {
25956               "type": "array",
25957               "items": {
25958                 "type": "integer"
25959               }
25960             },
25961             "tag": {
25962               "type": "string"
25963             }
25964           },
25965           "additionalProperties": false
25966         },
25967         "AddUserResults": {
25968           "type": "object",
25969           "properties": {
25970             "results": {
25971               "type": "array",
25972               "items": {
25973                 "$ref": "#/definitions/AddUserResult"
25974               }
25975             }
25976           },
25977           "additionalProperties": false,
25978           "required": [
25979             "results"
25980           ]
25981         },
25982         "AddUsers": {
25983           "type": "object",
25984           "properties": {
25985             "users": {
25986               "type": "array",
25987               "items": {
25988                 "$ref": "#/definitions/AddUser"
25989               }
25990             }
25991           },
25992           "additionalProperties": false,
25993           "required": [
25994             "users"
25995           ]
25996         },
25997         "Entities": {
25998           "type": "object",
25999           "properties": {
26000             "entities": {
26001               "type": "array",
26002               "items": {
26003                 "$ref": "#/definitions/Entity"
26004               }
26005             }
26006           },
26007           "additionalProperties": false,
26008           "required": [
26009             "entities"
26010           ]
26011         },
26012         "Entity": {
26013           "type": "object",
26014           "properties": {
26015             "tag": {
26016               "type": "string"
26017             }
26018           },
26019           "additionalProperties": false,
26020           "required": [
26021             "tag"
26022           ]
26023         },
26024         "EntityPassword": {
26025           "type": "object",
26026           "properties": {
26027             "password": {
26028               "type": "string"
26029             },
26030             "tag": {
26031               "type": "string"
26032             }
26033           },
26034           "additionalProperties": false,
26035           "required": [
26036             "tag",
26037             "password"
26038           ]
26039         },
26040         "EntityPasswords": {
26041           "type": "object",
26042           "properties": {
26043             "changes": {
26044               "type": "array",
26045               "items": {
26046                 "$ref": "#/definitions/EntityPassword"
26047               }
26048             }
26049           },
26050           "additionalProperties": false,
26051           "required": [
26052             "changes"
26053           ]
26054         },
26055         "Error": {
26056           "type": "object",
26057           "properties": {
26058             "code": {
26059               "type": "string"
26060             },
26061             "info": {
26062               "$ref": "#/definitions/ErrorInfo"
26063             },
26064             "message": {
26065               "type": "string"
26066             }
26067           },
26068           "additionalProperties": false,
26069           "required": [
26070             "message",
26071             "code"
26072           ]
26073         },
26074         "ErrorInfo": {
26075           "type": "object",
26076           "properties": {
26077             "macaroon": {
26078               "$ref": "#/definitions/Macaroon"
26079             },
26080             "macaroon-path": {
26081               "type": "string"
26082             }
26083           },
26084           "additionalProperties": false
26085         },
26086         "ErrorResult": {
26087           "type": "object",
26088           "properties": {
26089             "error": {
26090               "$ref": "#/definitions/Error"
26091             }
26092           },
26093           "additionalProperties": false
26094         },
26095         "ErrorResults": {
26096           "type": "object",
26097           "properties": {
26098             "results": {
26099               "type": "array",
26100               "items": {
26101                 "$ref": "#/definitions/ErrorResult"
26102               }
26103             }
26104           },
26105           "additionalProperties": false,
26106           "required": [
26107             "results"
26108           ]
26109         },
26110         "Macaroon": {
26111           "type": "object",
26112           "additionalProperties": false
26113         },
26114         "UserInfo": {
26115           "type": "object",
26116           "properties": {
26117             "access": {
26118               "type": "string"
26119             },
26120             "created-by": {
26121               "type": "string"
26122             },
26123             "date-created": {
26124               "type": "string",
26125               "format": "date-time"
26126             },
26127             "disabled": {
26128               "type": "boolean"
26129             },
26130             "display-name": {
26131               "type": "string"
26132             },
26133             "last-connection": {
26134               "type": "string",
26135               "format": "date-time"
26136             },
26137             "username": {
26138               "type": "string"
26139             }
26140           },
26141           "additionalProperties": false,
26142           "required": [
26143             "username",
26144             "display-name",
26145             "access",
26146             "created-by",
26147             "date-created",
26148             "disabled"
26149           ]
26150         },
26151         "UserInfoRequest": {
26152           "type": "object",
26153           "properties": {
26154             "entities": {
26155               "type": "array",
26156               "items": {
26157                 "$ref": "#/definitions/Entity"
26158               }
26159             },
26160             "include-disabled": {
26161               "type": "boolean"
26162             }
26163           },
26164           "additionalProperties": false,
26165           "required": [
26166             "entities",
26167             "include-disabled"
26168           ]
26169         },
26170         "UserInfoResult": {
26171           "type": "object",
26172           "properties": {
26173             "error": {
26174               "$ref": "#/definitions/Error"
26175             },
26176             "result": {
26177               "$ref": "#/definitions/UserInfo"
26178             }
26179           },
26180           "additionalProperties": false
26181         },
26182         "UserInfoResults": {
26183           "type": "object",
26184           "properties": {
26185             "results": {
26186               "type": "array",
26187               "items": {
26188                 "$ref": "#/definitions/UserInfoResult"
26189               }
26190             }
26191           },
26192           "additionalProperties": false,
26193           "required": [
26194             "results"
26195           ]
26196         }
26197       }
26198     }
26199   },
26200   {
26201     "Name": "VolumeAttachmentsWatcher",
26202     "Version": 2,
26203     "Schema": {
26204       "type": "object",
26205       "properties": {
26206         "Next": {
26207           "type": "object",
26208           "properties": {
26209             "Result": {
26210               "$ref": "#/definitions/MachineStorageIdsWatchResult"
26211             }
26212           }
26213         },
26214         "Stop": {
26215           "type": "object"
26216         }
26217       },
26218       "definitions": {
26219         "Error": {
26220           "type": "object",
26221           "properties": {
26222             "code": {
26223               "type": "string"
26224             },
26225             "info": {
26226               "$ref": "#/definitions/ErrorInfo"
26227             },
26228             "message": {
26229               "type": "string"
26230             }
26231           },
26232           "additionalProperties": false,
26233           "required": [
26234             "message",
26235             "code"
26236           ]
26237         },
26238         "ErrorInfo": {
26239           "type": "object",
26240           "properties": {
26241             "macaroon": {
26242               "$ref": "#/definitions/Macaroon"
26243             },
26244             "macaroon-path": {
26245               "type": "string"
26246             }
26247           },
26248           "additionalProperties": false
26249         },
26250         "Macaroon": {
26251           "type": "object",
26252           "additionalProperties": false
26253         },
26254         "MachineStorageId": {
26255           "type": "object",
26256           "properties": {
26257             "attachment-tag": {
26258               "type": "string"
26259             },
26260             "machine-tag": {
26261               "type": "string"
26262             }
26263           },
26264           "additionalProperties": false,
26265           "required": [
26266             "machine-tag",
26267             "attachment-tag"
26268           ]
26269         },
26270         "MachineStorageIdsWatchResult": {
26271           "type": "object",
26272           "properties": {
26273             "changes": {
26274               "type": "array",
26275               "items": {
26276                 "$ref": "#/definitions/MachineStorageId"
26277               }
26278             },
26279             "error": {
26280               "$ref": "#/definitions/Error"
26281             },
26282             "watcher-id": {
26283               "type": "string"
26284             }
26285           },
26286           "additionalProperties": false,
26287           "required": [
26288             "watcher-id",
26289             "changes"
26290           ]
26291         }
26292       }
26293     }
26294   }
26295 ]