K8s Juju connector
[osm/N2VC.git] / modules / libjuju / juju / client / schemas-juju-2.2-alpha1.json
1 [
2   {
3     "Name": "Action",
4     "Version": 2,
5     "Schema": {
6       "type": "object",
7       "properties": {
8         "Actions": {
9           "type": "object",
10           "properties": {
11             "Params": {
12               "$ref": "#/definitions/Entities"
13             },
14             "Result": {
15               "$ref": "#/definitions/ActionResults"
16             }
17           }
18         },
19         "ApplicationsCharmsActions": {
20           "type": "object",
21           "properties": {
22             "Params": {
23               "$ref": "#/definitions/Entities"
24             },
25             "Result": {
26               "$ref": "#/definitions/ApplicationsCharmActionsResults"
27             }
28           }
29         },
30         "Cancel": {
31           "type": "object",
32           "properties": {
33             "Params": {
34               "$ref": "#/definitions/Entities"
35             },
36             "Result": {
37               "$ref": "#/definitions/ActionResults"
38             }
39           }
40         },
41         "Enqueue": {
42           "type": "object",
43           "properties": {
44             "Params": {
45               "$ref": "#/definitions/Actions"
46             },
47             "Result": {
48               "$ref": "#/definitions/ActionResults"
49             }
50           }
51         },
52         "FindActionTagsByPrefix": {
53           "type": "object",
54           "properties": {
55             "Params": {
56               "$ref": "#/definitions/FindTags"
57             },
58             "Result": {
59               "$ref": "#/definitions/FindTagsResults"
60             }
61           }
62         },
63         "FindActionsByNames": {
64           "type": "object",
65           "properties": {
66             "Params": {
67               "$ref": "#/definitions/FindActionsByNames"
68             },
69             "Result": {
70               "$ref": "#/definitions/ActionsByNames"
71             }
72           }
73         },
74         "ListAll": {
75           "type": "object",
76           "properties": {
77             "Params": {
78               "$ref": "#/definitions/Entities"
79             },
80             "Result": {
81               "$ref": "#/definitions/ActionsByReceivers"
82             }
83           }
84         },
85         "ListCompleted": {
86           "type": "object",
87           "properties": {
88             "Params": {
89               "$ref": "#/definitions/Entities"
90             },
91             "Result": {
92               "$ref": "#/definitions/ActionsByReceivers"
93             }
94           }
95         },
96         "ListPending": {
97           "type": "object",
98           "properties": {
99             "Params": {
100               "$ref": "#/definitions/Entities"
101             },
102             "Result": {
103               "$ref": "#/definitions/ActionsByReceivers"
104             }
105           }
106         },
107         "ListRunning": {
108           "type": "object",
109           "properties": {
110             "Params": {
111               "$ref": "#/definitions/Entities"
112             },
113             "Result": {
114               "$ref": "#/definitions/ActionsByReceivers"
115             }
116           }
117         },
118         "Run": {
119           "type": "object",
120           "properties": {
121             "Params": {
122               "$ref": "#/definitions/RunParams"
123             },
124             "Result": {
125               "$ref": "#/definitions/ActionResults"
126             }
127           }
128         },
129         "RunOnAllMachines": {
130           "type": "object",
131           "properties": {
132             "Params": {
133               "$ref": "#/definitions/RunParams"
134             },
135             "Result": {
136               "$ref": "#/definitions/ActionResults"
137             }
138           }
139         }
140       },
141       "definitions": {
142         "Action": {
143           "type": "object",
144           "properties": {
145             "name": {
146               "type": "string"
147             },
148             "parameters": {
149               "type": "object",
150               "patternProperties": {
151                 ".*": {
152                   "type": "object",
153                   "additionalProperties": true
154                 }
155               }
156             },
157             "receiver": {
158               "type": "string"
159             },
160             "tag": {
161               "type": "string"
162             }
163           },
164           "additionalProperties": false,
165           "required": [
166             "tag",
167             "receiver",
168             "name"
169           ]
170         },
171         "ActionResult": {
172           "type": "object",
173           "properties": {
174             "action": {
175               "$ref": "#/definitions/Action"
176             },
177             "completed": {
178               "type": "string",
179               "format": "date-time"
180             },
181             "enqueued": {
182               "type": "string",
183               "format": "date-time"
184             },
185             "error": {
186               "$ref": "#/definitions/Error"
187             },
188             "message": {
189               "type": "string"
190             },
191             "output": {
192               "type": "object",
193               "patternProperties": {
194                 ".*": {
195                   "type": "object",
196                   "additionalProperties": true
197                 }
198               }
199             },
200             "started": {
201               "type": "string",
202               "format": "date-time"
203             },
204             "status": {
205               "type": "string"
206             }
207           },
208           "additionalProperties": false
209         },
210         "ActionResults": {
211           "type": "object",
212           "properties": {
213             "results": {
214               "type": "array",
215               "items": {
216                 "$ref": "#/definitions/ActionResult"
217               }
218             }
219           },
220           "additionalProperties": false
221         },
222         "ActionSpec": {
223           "type": "object",
224           "properties": {
225             "description": {
226               "type": "string"
227             },
228             "params": {
229               "type": "object",
230               "patternProperties": {
231                 ".*": {
232                   "type": "object",
233                   "additionalProperties": true
234                 }
235               }
236             }
237           },
238           "additionalProperties": false,
239           "required": [
240             "description",
241             "params"
242           ]
243         },
244         "Actions": {
245           "type": "object",
246           "properties": {
247             "actions": {
248               "type": "array",
249               "items": {
250                 "$ref": "#/definitions/Action"
251               }
252             }
253           },
254           "additionalProperties": false
255         },
256         "ActionsByName": {
257           "type": "object",
258           "properties": {
259             "actions": {
260               "type": "array",
261               "items": {
262                 "$ref": "#/definitions/ActionResult"
263               }
264             },
265             "error": {
266               "$ref": "#/definitions/Error"
267             },
268             "name": {
269               "type": "string"
270             }
271           },
272           "additionalProperties": false
273         },
274         "ActionsByNames": {
275           "type": "object",
276           "properties": {
277             "actions": {
278               "type": "array",
279               "items": {
280                 "$ref": "#/definitions/ActionsByName"
281               }
282             }
283           },
284           "additionalProperties": false
285         },
286         "ActionsByReceiver": {
287           "type": "object",
288           "properties": {
289             "actions": {
290               "type": "array",
291               "items": {
292                 "$ref": "#/definitions/ActionResult"
293               }
294             },
295             "error": {
296               "$ref": "#/definitions/Error"
297             },
298             "receiver": {
299               "type": "string"
300             }
301           },
302           "additionalProperties": false
303         },
304         "ActionsByReceivers": {
305           "type": "object",
306           "properties": {
307             "actions": {
308               "type": "array",
309               "items": {
310                 "$ref": "#/definitions/ActionsByReceiver"
311               }
312             }
313           },
314           "additionalProperties": false
315         },
316         "ApplicationCharmActionsResult": {
317           "type": "object",
318           "properties": {
319             "actions": {
320               "type": "object",
321               "patternProperties": {
322                 ".*": {
323                   "$ref": "#/definitions/ActionSpec"
324                 }
325               }
326             },
327             "application-tag": {
328               "type": "string"
329             },
330             "error": {
331               "$ref": "#/definitions/Error"
332             }
333           },
334           "additionalProperties": false
335         },
336         "ApplicationsCharmActionsResults": {
337           "type": "object",
338           "properties": {
339             "results": {
340               "type": "array",
341               "items": {
342                 "$ref": "#/definitions/ApplicationCharmActionsResult"
343               }
344             }
345           },
346           "additionalProperties": false
347         },
348         "Entities": {
349           "type": "object",
350           "properties": {
351             "entities": {
352               "type": "array",
353               "items": {
354                 "$ref": "#/definitions/Entity"
355               }
356             }
357           },
358           "additionalProperties": false,
359           "required": [
360             "entities"
361           ]
362         },
363         "Entity": {
364           "type": "object",
365           "properties": {
366             "tag": {
367               "type": "string"
368             }
369           },
370           "additionalProperties": false,
371           "required": [
372             "tag"
373           ]
374         },
375         "Error": {
376           "type": "object",
377           "properties": {
378             "code": {
379               "type": "string"
380             },
381             "info": {
382               "$ref": "#/definitions/ErrorInfo"
383             },
384             "message": {
385               "type": "string"
386             }
387           },
388           "additionalProperties": false,
389           "required": [
390             "message",
391             "code"
392           ]
393         },
394         "ErrorInfo": {
395           "type": "object",
396           "properties": {
397             "macaroon": {
398               "$ref": "#/definitions/Macaroon"
399             },
400             "macaroon-path": {
401               "type": "string"
402             }
403           },
404           "additionalProperties": false
405         },
406         "FindActionsByNames": {
407           "type": "object",
408           "properties": {
409             "names": {
410               "type": "array",
411               "items": {
412                 "type": "string"
413               }
414             }
415           },
416           "additionalProperties": false
417         },
418         "FindTags": {
419           "type": "object",
420           "properties": {
421             "prefixes": {
422               "type": "array",
423               "items": {
424                 "type": "string"
425               }
426             }
427           },
428           "additionalProperties": false,
429           "required": [
430             "prefixes"
431           ]
432         },
433         "FindTagsResults": {
434           "type": "object",
435           "properties": {
436             "matches": {
437               "type": "object",
438               "patternProperties": {
439                 ".*": {
440                   "type": "array",
441                   "items": {
442                     "$ref": "#/definitions/Entity"
443                   }
444                 }
445               }
446             }
447           },
448           "additionalProperties": false,
449           "required": [
450             "matches"
451           ]
452         },
453         "Macaroon": {
454           "type": "object",
455           "additionalProperties": false
456         },
457         "RunParams": {
458           "type": "object",
459           "properties": {
460             "applications": {
461               "type": "array",
462               "items": {
463                 "type": "string"
464               }
465             },
466             "commands": {
467               "type": "string"
468             },
469             "machines": {
470               "type": "array",
471               "items": {
472                 "type": "string"
473               }
474             },
475             "timeout": {
476               "type": "integer"
477             },
478             "units": {
479               "type": "array",
480               "items": {
481                 "type": "string"
482               }
483             }
484           },
485           "additionalProperties": false,
486           "required": [
487             "commands",
488             "timeout"
489           ]
490         }
491       }
492     }
493   },
494   {
495     "Name": "Agent",
496     "Version": 2,
497     "Schema": {
498       "type": "object",
499       "properties": {
500         "ClearReboot": {
501           "type": "object",
502           "properties": {
503             "Params": {
504               "$ref": "#/definitions/Entities"
505             },
506             "Result": {
507               "$ref": "#/definitions/ErrorResults"
508             }
509           }
510         },
511         "CloudSpec": {
512           "type": "object",
513           "properties": {
514             "Params": {
515               "$ref": "#/definitions/Entities"
516             },
517             "Result": {
518               "$ref": "#/definitions/CloudSpecResults"
519             }
520           }
521         },
522         "ControllerConfig": {
523           "type": "object",
524           "properties": {
525             "Result": {
526               "$ref": "#/definitions/ControllerConfigResult"
527             }
528           }
529         },
530         "GetCloudSpec": {
531           "type": "object",
532           "properties": {
533             "Params": {
534               "$ref": "#/definitions/ModelTag"
535             },
536             "Result": {
537               "$ref": "#/definitions/CloudSpecResult"
538             }
539           }
540         },
541         "GetEntities": {
542           "type": "object",
543           "properties": {
544             "Params": {
545               "$ref": "#/definitions/Entities"
546             },
547             "Result": {
548               "$ref": "#/definitions/AgentGetEntitiesResults"
549             }
550           }
551         },
552         "IsMaster": {
553           "type": "object",
554           "properties": {
555             "Result": {
556               "$ref": "#/definitions/IsMasterResult"
557             }
558           }
559         },
560         "ModelConfig": {
561           "type": "object",
562           "properties": {
563             "Result": {
564               "$ref": "#/definitions/ModelConfigResult"
565             }
566           }
567         },
568         "SetPasswords": {
569           "type": "object",
570           "properties": {
571             "Params": {
572               "$ref": "#/definitions/EntityPasswords"
573             },
574             "Result": {
575               "$ref": "#/definitions/ErrorResults"
576             }
577           }
578         },
579         "StateServingInfo": {
580           "type": "object",
581           "properties": {
582             "Result": {
583               "$ref": "#/definitions/StateServingInfo"
584             }
585           }
586         },
587         "WatchCredentials": {
588           "type": "object",
589           "properties": {
590             "Params": {
591               "$ref": "#/definitions/Entities"
592             },
593             "Result": {
594               "$ref": "#/definitions/NotifyWatchResults"
595             }
596           }
597         },
598         "WatchForModelConfigChanges": {
599           "type": "object",
600           "properties": {
601             "Result": {
602               "$ref": "#/definitions/NotifyWatchResult"
603             }
604           }
605         }
606       },
607       "definitions": {
608         "AgentGetEntitiesResult": {
609           "type": "object",
610           "properties": {
611             "container-type": {
612               "type": "string"
613             },
614             "error": {
615               "$ref": "#/definitions/Error"
616             },
617             "jobs": {
618               "type": "array",
619               "items": {
620                 "type": "string"
621               }
622             },
623             "life": {
624               "type": "string"
625             }
626           },
627           "additionalProperties": false,
628           "required": [
629             "life",
630             "jobs",
631             "container-type"
632           ]
633         },
634         "AgentGetEntitiesResults": {
635           "type": "object",
636           "properties": {
637             "entities": {
638               "type": "array",
639               "items": {
640                 "$ref": "#/definitions/AgentGetEntitiesResult"
641               }
642             }
643           },
644           "additionalProperties": false,
645           "required": [
646             "entities"
647           ]
648         },
649         "CloudCredential": {
650           "type": "object",
651           "properties": {
652             "attrs": {
653               "type": "object",
654               "patternProperties": {
655                 ".*": {
656                   "type": "string"
657                 }
658               }
659             },
660             "auth-type": {
661               "type": "string"
662             },
663             "redacted": {
664               "type": "array",
665               "items": {
666                 "type": "string"
667               }
668             }
669           },
670           "additionalProperties": false,
671           "required": [
672             "auth-type"
673           ]
674         },
675         "CloudSpec": {
676           "type": "object",
677           "properties": {
678             "credential": {
679               "$ref": "#/definitions/CloudCredential"
680             },
681             "endpoint": {
682               "type": "string"
683             },
684             "identity-endpoint": {
685               "type": "string"
686             },
687             "name": {
688               "type": "string"
689             },
690             "region": {
691               "type": "string"
692             },
693             "storage-endpoint": {
694               "type": "string"
695             },
696             "type": {
697               "type": "string"
698             }
699           },
700           "additionalProperties": false,
701           "required": [
702             "type",
703             "name"
704           ]
705         },
706         "CloudSpecResult": {
707           "type": "object",
708           "properties": {
709             "error": {
710               "$ref": "#/definitions/Error"
711             },
712             "result": {
713               "$ref": "#/definitions/CloudSpec"
714             }
715           },
716           "additionalProperties": false
717         },
718         "CloudSpecResults": {
719           "type": "object",
720           "properties": {
721             "results": {
722               "type": "array",
723               "items": {
724                 "$ref": "#/definitions/CloudSpecResult"
725               }
726             }
727           },
728           "additionalProperties": false
729         },
730         "ControllerConfigResult": {
731           "type": "object",
732           "properties": {
733             "config": {
734               "type": "object",
735               "patternProperties": {
736                 ".*": {
737                   "type": "object",
738                   "additionalProperties": true
739                 }
740               }
741             }
742           },
743           "additionalProperties": false,
744           "required": [
745             "config"
746           ]
747         },
748         "Entities": {
749           "type": "object",
750           "properties": {
751             "entities": {
752               "type": "array",
753               "items": {
754                 "$ref": "#/definitions/Entity"
755               }
756             }
757           },
758           "additionalProperties": false,
759           "required": [
760             "entities"
761           ]
762         },
763         "Entity": {
764           "type": "object",
765           "properties": {
766             "tag": {
767               "type": "string"
768             }
769           },
770           "additionalProperties": false,
771           "required": [
772             "tag"
773           ]
774         },
775         "EntityPassword": {
776           "type": "object",
777           "properties": {
778             "password": {
779               "type": "string"
780             },
781             "tag": {
782               "type": "string"
783             }
784           },
785           "additionalProperties": false,
786           "required": [
787             "tag",
788             "password"
789           ]
790         },
791         "EntityPasswords": {
792           "type": "object",
793           "properties": {
794             "changes": {
795               "type": "array",
796               "items": {
797                 "$ref": "#/definitions/EntityPassword"
798               }
799             }
800           },
801           "additionalProperties": false,
802           "required": [
803             "changes"
804           ]
805         },
806         "Error": {
807           "type": "object",
808           "properties": {
809             "code": {
810               "type": "string"
811             },
812             "info": {
813               "$ref": "#/definitions/ErrorInfo"
814             },
815             "message": {
816               "type": "string"
817             }
818           },
819           "additionalProperties": false,
820           "required": [
821             "message",
822             "code"
823           ]
824         },
825         "ErrorInfo": {
826           "type": "object",
827           "properties": {
828             "macaroon": {
829               "$ref": "#/definitions/Macaroon"
830             },
831             "macaroon-path": {
832               "type": "string"
833             }
834           },
835           "additionalProperties": false
836         },
837         "ErrorResult": {
838           "type": "object",
839           "properties": {
840             "error": {
841               "$ref": "#/definitions/Error"
842             }
843           },
844           "additionalProperties": false
845         },
846         "ErrorResults": {
847           "type": "object",
848           "properties": {
849             "results": {
850               "type": "array",
851               "items": {
852                 "$ref": "#/definitions/ErrorResult"
853               }
854             }
855           },
856           "additionalProperties": false,
857           "required": [
858             "results"
859           ]
860         },
861         "IsMasterResult": {
862           "type": "object",
863           "properties": {
864             "master": {
865               "type": "boolean"
866             }
867           },
868           "additionalProperties": false,
869           "required": [
870             "master"
871           ]
872         },
873         "Macaroon": {
874           "type": "object",
875           "additionalProperties": false
876         },
877         "ModelConfigResult": {
878           "type": "object",
879           "properties": {
880             "config": {
881               "type": "object",
882               "patternProperties": {
883                 ".*": {
884                   "type": "object",
885                   "additionalProperties": true
886                 }
887               }
888             }
889           },
890           "additionalProperties": false,
891           "required": [
892             "config"
893           ]
894         },
895         "ModelTag": {
896           "type": "object",
897           "additionalProperties": false
898         },
899         "NotifyWatchResult": {
900           "type": "object",
901           "properties": {
902             "NotifyWatcherId": {
903               "type": "string"
904             },
905             "error": {
906               "$ref": "#/definitions/Error"
907             }
908           },
909           "additionalProperties": false,
910           "required": [
911             "NotifyWatcherId"
912           ]
913         },
914         "NotifyWatchResults": {
915           "type": "object",
916           "properties": {
917             "results": {
918               "type": "array",
919               "items": {
920                 "$ref": "#/definitions/NotifyWatchResult"
921               }
922             }
923           },
924           "additionalProperties": false,
925           "required": [
926             "results"
927           ]
928         },
929         "StateServingInfo": {
930           "type": "object",
931           "properties": {
932             "api-port": {
933               "type": "integer"
934             },
935             "ca-private-key": {
936               "type": "string"
937             },
938             "cert": {
939               "type": "string"
940             },
941             "private-key": {
942               "type": "string"
943             },
944             "shared-secret": {
945               "type": "string"
946             },
947             "state-port": {
948               "type": "integer"
949             },
950             "system-identity": {
951               "type": "string"
952             }
953           },
954           "additionalProperties": false,
955           "required": [
956             "api-port",
957             "state-port",
958             "cert",
959             "private-key",
960             "ca-private-key",
961             "shared-secret",
962             "system-identity"
963           ]
964         }
965       }
966     }
967   },
968   {
969     "Name": "AgentTools",
970     "Version": 1,
971     "Schema": {
972       "type": "object",
973       "properties": {
974         "UpdateToolsAvailable": {
975           "type": "object"
976         }
977       }
978     }
979   },
980   {
981     "Name": "AllModelWatcher",
982     "Version": 2,
983     "Schema": {
984       "type": "object",
985       "properties": {
986         "Next": {
987           "type": "object",
988           "properties": {
989             "Result": {
990               "$ref": "#/definitions/AllWatcherNextResults"
991             }
992           }
993         },
994         "Stop": {
995           "type": "object"
996         }
997       },
998       "definitions": {
999         "AllWatcherNextResults": {
1000           "type": "object",
1001           "properties": {
1002             "deltas": {
1003               "type": "array",
1004               "items": {
1005                 "$ref": "#/definitions/Delta"
1006               }
1007             }
1008           },
1009           "additionalProperties": false,
1010           "required": [
1011             "deltas"
1012           ]
1013         },
1014         "Delta": {
1015           "type": "object",
1016           "properties": {
1017             "entity": {
1018               "type": "object",
1019               "additionalProperties": true
1020             },
1021             "removed": {
1022               "type": "boolean"
1023             }
1024           },
1025           "additionalProperties": false,
1026           "required": [
1027             "removed",
1028             "entity"
1029           ]
1030         }
1031       }
1032     }
1033   },
1034   {
1035     "Name": "AllWatcher",
1036     "Version": 1,
1037     "Schema": {
1038       "type": "object",
1039       "properties": {
1040         "Next": {
1041           "type": "object",
1042           "properties": {
1043             "Result": {
1044               "$ref": "#/definitions/AllWatcherNextResults"
1045             }
1046           }
1047         },
1048         "Stop": {
1049           "type": "object"
1050         }
1051       },
1052       "definitions": {
1053         "AllWatcherNextResults": {
1054           "type": "object",
1055           "properties": {
1056             "deltas": {
1057               "type": "array",
1058               "items": {
1059                 "$ref": "#/definitions/Delta"
1060               }
1061             }
1062           },
1063           "additionalProperties": false,
1064           "required": [
1065             "deltas"
1066           ]
1067         },
1068         "Delta": {
1069           "type": "object",
1070           "properties": {
1071             "entity": {
1072               "type": "object",
1073               "additionalProperties": true
1074             },
1075             "removed": {
1076               "type": "boolean"
1077             }
1078           },
1079           "additionalProperties": false,
1080           "required": [
1081             "removed",
1082             "entity"
1083           ]
1084         }
1085       }
1086     }
1087   },
1088   {
1089     "Name": "Annotations",
1090     "Version": 2,
1091     "Schema": {
1092       "type": "object",
1093       "properties": {
1094         "Get": {
1095           "type": "object",
1096           "properties": {
1097             "Params": {
1098               "$ref": "#/definitions/Entities"
1099             },
1100             "Result": {
1101               "$ref": "#/definitions/AnnotationsGetResults"
1102             }
1103           }
1104         },
1105         "Set": {
1106           "type": "object",
1107           "properties": {
1108             "Params": {
1109               "$ref": "#/definitions/AnnotationsSet"
1110             },
1111             "Result": {
1112               "$ref": "#/definitions/ErrorResults"
1113             }
1114           }
1115         }
1116       },
1117       "definitions": {
1118         "AnnotationsGetResult": {
1119           "type": "object",
1120           "properties": {
1121             "annotations": {
1122               "type": "object",
1123               "patternProperties": {
1124                 ".*": {
1125                   "type": "string"
1126                 }
1127               }
1128             },
1129             "entity": {
1130               "type": "string"
1131             },
1132             "error": {
1133               "$ref": "#/definitions/ErrorResult"
1134             }
1135           },
1136           "additionalProperties": false,
1137           "required": [
1138             "entity",
1139             "annotations"
1140           ]
1141         },
1142         "AnnotationsGetResults": {
1143           "type": "object",
1144           "properties": {
1145             "results": {
1146               "type": "array",
1147               "items": {
1148                 "$ref": "#/definitions/AnnotationsGetResult"
1149               }
1150             }
1151           },
1152           "additionalProperties": false,
1153           "required": [
1154             "results"
1155           ]
1156         },
1157         "AnnotationsSet": {
1158           "type": "object",
1159           "properties": {
1160             "annotations": {
1161               "type": "array",
1162               "items": {
1163                 "$ref": "#/definitions/EntityAnnotations"
1164               }
1165             }
1166           },
1167           "additionalProperties": false,
1168           "required": [
1169             "annotations"
1170           ]
1171         },
1172         "Entities": {
1173           "type": "object",
1174           "properties": {
1175             "entities": {
1176               "type": "array",
1177               "items": {
1178                 "$ref": "#/definitions/Entity"
1179               }
1180             }
1181           },
1182           "additionalProperties": false,
1183           "required": [
1184             "entities"
1185           ]
1186         },
1187         "Entity": {
1188           "type": "object",
1189           "properties": {
1190             "tag": {
1191               "type": "string"
1192             }
1193           },
1194           "additionalProperties": false,
1195           "required": [
1196             "tag"
1197           ]
1198         },
1199         "EntityAnnotations": {
1200           "type": "object",
1201           "properties": {
1202             "annotations": {
1203               "type": "object",
1204               "patternProperties": {
1205                 ".*": {
1206                   "type": "string"
1207                 }
1208               }
1209             },
1210             "entity": {
1211               "type": "string"
1212             }
1213           },
1214           "additionalProperties": false,
1215           "required": [
1216             "entity",
1217             "annotations"
1218           ]
1219         },
1220         "Error": {
1221           "type": "object",
1222           "properties": {
1223             "code": {
1224               "type": "string"
1225             },
1226             "info": {
1227               "$ref": "#/definitions/ErrorInfo"
1228             },
1229             "message": {
1230               "type": "string"
1231             }
1232           },
1233           "additionalProperties": false,
1234           "required": [
1235             "message",
1236             "code"
1237           ]
1238         },
1239         "ErrorInfo": {
1240           "type": "object",
1241           "properties": {
1242             "macaroon": {
1243               "$ref": "#/definitions/Macaroon"
1244             },
1245             "macaroon-path": {
1246               "type": "string"
1247             }
1248           },
1249           "additionalProperties": false
1250         },
1251         "ErrorResult": {
1252           "type": "object",
1253           "properties": {
1254             "error": {
1255               "$ref": "#/definitions/Error"
1256             }
1257           },
1258           "additionalProperties": false
1259         },
1260         "ErrorResults": {
1261           "type": "object",
1262           "properties": {
1263             "results": {
1264               "type": "array",
1265               "items": {
1266                 "$ref": "#/definitions/ErrorResult"
1267               }
1268             }
1269           },
1270           "additionalProperties": false,
1271           "required": [
1272             "results"
1273           ]
1274         },
1275         "Macaroon": {
1276           "type": "object",
1277           "additionalProperties": false
1278         }
1279       }
1280     }
1281   },
1282   {
1283     "Name": "Application",
1284     "Version": 4,
1285     "Schema": {
1286       "type": "object",
1287       "properties": {
1288         "AddRelation": {
1289           "type": "object",
1290           "properties": {
1291             "Params": {
1292               "$ref": "#/definitions/AddRelation"
1293             },
1294             "Result": {
1295               "$ref": "#/definitions/AddRelationResults"
1296             }
1297           }
1298         },
1299         "AddUnits": {
1300           "type": "object",
1301           "properties": {
1302             "Params": {
1303               "$ref": "#/definitions/AddApplicationUnits"
1304             },
1305             "Result": {
1306               "$ref": "#/definitions/AddApplicationUnitsResults"
1307             }
1308           }
1309         },
1310         "CharmRelations": {
1311           "type": "object",
1312           "properties": {
1313             "Params": {
1314               "$ref": "#/definitions/ApplicationCharmRelations"
1315             },
1316             "Result": {
1317               "$ref": "#/definitions/ApplicationCharmRelationsResults"
1318             }
1319           }
1320         },
1321         "Consume": {
1322           "type": "object",
1323           "properties": {
1324             "Params": {
1325               "$ref": "#/definitions/ConsumeApplicationArgs"
1326             },
1327             "Result": {
1328               "$ref": "#/definitions/ConsumeApplicationResults"
1329             }
1330           }
1331         },
1332         "Deploy": {
1333           "type": "object",
1334           "properties": {
1335             "Params": {
1336               "$ref": "#/definitions/ApplicationsDeploy"
1337             },
1338             "Result": {
1339               "$ref": "#/definitions/ErrorResults"
1340             }
1341           }
1342         },
1343         "Destroy": {
1344           "type": "object",
1345           "properties": {
1346             "Params": {
1347               "$ref": "#/definitions/ApplicationDestroy"
1348             }
1349           }
1350         },
1351         "DestroyApplication": {
1352           "type": "object",
1353           "properties": {
1354             "Params": {
1355               "$ref": "#/definitions/Entities"
1356             },
1357             "Result": {
1358               "$ref": "#/definitions/DestroyApplicationResults"
1359             }
1360           }
1361         },
1362         "DestroyRelation": {
1363           "type": "object",
1364           "properties": {
1365             "Params": {
1366               "$ref": "#/definitions/DestroyRelation"
1367             }
1368           }
1369         },
1370         "DestroyUnit": {
1371           "type": "object",
1372           "properties": {
1373             "Params": {
1374               "$ref": "#/definitions/Entities"
1375             },
1376             "Result": {
1377               "$ref": "#/definitions/DestroyUnitResults"
1378             }
1379           }
1380         },
1381         "DestroyUnits": {
1382           "type": "object",
1383           "properties": {
1384             "Params": {
1385               "$ref": "#/definitions/DestroyApplicationUnits"
1386             }
1387           }
1388         },
1389         "Expose": {
1390           "type": "object",
1391           "properties": {
1392             "Params": {
1393               "$ref": "#/definitions/ApplicationExpose"
1394             }
1395           }
1396         },
1397         "Get": {
1398           "type": "object",
1399           "properties": {
1400             "Params": {
1401               "$ref": "#/definitions/ApplicationGet"
1402             },
1403             "Result": {
1404               "$ref": "#/definitions/ApplicationGetResults"
1405             }
1406           }
1407         },
1408         "GetCharmURL": {
1409           "type": "object",
1410           "properties": {
1411             "Params": {
1412               "$ref": "#/definitions/ApplicationGet"
1413             },
1414             "Result": {
1415               "$ref": "#/definitions/StringResult"
1416             }
1417           }
1418         },
1419         "GetConstraints": {
1420           "type": "object",
1421           "properties": {
1422             "Params": {
1423               "$ref": "#/definitions/GetApplicationConstraints"
1424             },
1425             "Result": {
1426               "$ref": "#/definitions/GetConstraintsResults"
1427             }
1428           }
1429         },
1430         "RemoteApplicationInfo": {
1431           "type": "object",
1432           "properties": {
1433             "Params": {
1434               "$ref": "#/definitions/ApplicationURLs"
1435             },
1436             "Result": {
1437               "$ref": "#/definitions/RemoteApplicationInfoResults"
1438             }
1439           }
1440         },
1441         "Set": {
1442           "type": "object",
1443           "properties": {
1444             "Params": {
1445               "$ref": "#/definitions/ApplicationSet"
1446             }
1447           }
1448         },
1449         "SetCharm": {
1450           "type": "object",
1451           "properties": {
1452             "Params": {
1453               "$ref": "#/definitions/ApplicationSetCharm"
1454             }
1455           }
1456         },
1457         "SetConstraints": {
1458           "type": "object",
1459           "properties": {
1460             "Params": {
1461               "$ref": "#/definitions/SetConstraints"
1462             }
1463           }
1464         },
1465         "SetMetricCredentials": {
1466           "type": "object",
1467           "properties": {
1468             "Params": {
1469               "$ref": "#/definitions/ApplicationMetricCredentials"
1470             },
1471             "Result": {
1472               "$ref": "#/definitions/ErrorResults"
1473             }
1474           }
1475         },
1476         "Unexpose": {
1477           "type": "object",
1478           "properties": {
1479             "Params": {
1480               "$ref": "#/definitions/ApplicationUnexpose"
1481             }
1482           }
1483         },
1484         "Unset": {
1485           "type": "object",
1486           "properties": {
1487             "Params": {
1488               "$ref": "#/definitions/ApplicationUnset"
1489             }
1490           }
1491         },
1492         "Update": {
1493           "type": "object",
1494           "properties": {
1495             "Params": {
1496               "$ref": "#/definitions/ApplicationUpdate"
1497             }
1498           }
1499         }
1500       },
1501       "definitions": {
1502         "AddApplicationUnits": {
1503           "type": "object",
1504           "properties": {
1505             "application": {
1506               "type": "string"
1507             },
1508             "num-units": {
1509               "type": "integer"
1510             },
1511             "placement": {
1512               "type": "array",
1513               "items": {
1514                 "$ref": "#/definitions/Placement"
1515               }
1516             }
1517           },
1518           "additionalProperties": false,
1519           "required": [
1520             "application",
1521             "num-units",
1522             "placement"
1523           ]
1524         },
1525         "AddApplicationUnitsResults": {
1526           "type": "object",
1527           "properties": {
1528             "units": {
1529               "type": "array",
1530               "items": {
1531                 "type": "string"
1532               }
1533             }
1534           },
1535           "additionalProperties": false,
1536           "required": [
1537             "units"
1538           ]
1539         },
1540         "AddRelation": {
1541           "type": "object",
1542           "properties": {
1543             "endpoints": {
1544               "type": "array",
1545               "items": {
1546                 "type": "string"
1547               }
1548             }
1549           },
1550           "additionalProperties": false,
1551           "required": [
1552             "endpoints"
1553           ]
1554         },
1555         "AddRelationResults": {
1556           "type": "object",
1557           "properties": {
1558             "endpoints": {
1559               "type": "object",
1560               "patternProperties": {
1561                 ".*": {
1562                   "$ref": "#/definitions/CharmRelation"
1563                 }
1564               }
1565             }
1566           },
1567           "additionalProperties": false,
1568           "required": [
1569             "endpoints"
1570           ]
1571         },
1572         "ApplicationCharmRelations": {
1573           "type": "object",
1574           "properties": {
1575             "application": {
1576               "type": "string"
1577             }
1578           },
1579           "additionalProperties": false,
1580           "required": [
1581             "application"
1582           ]
1583         },
1584         "ApplicationCharmRelationsResults": {
1585           "type": "object",
1586           "properties": {
1587             "charm-relations": {
1588               "type": "array",
1589               "items": {
1590                 "type": "string"
1591               }
1592             }
1593           },
1594           "additionalProperties": false,
1595           "required": [
1596             "charm-relations"
1597           ]
1598         },
1599         "ApplicationDeploy": {
1600           "type": "object",
1601           "properties": {
1602             "application": {
1603               "type": "string"
1604             },
1605             "channel": {
1606               "type": "string"
1607             },
1608             "charm-url": {
1609               "type": "string"
1610             },
1611             "config": {
1612               "type": "object",
1613               "patternProperties": {
1614                 ".*": {
1615                   "type": "string"
1616                 }
1617               }
1618             },
1619             "config-yaml": {
1620               "type": "string"
1621             },
1622             "constraints": {
1623               "$ref": "#/definitions/Value"
1624             },
1625             "endpoint-bindings": {
1626               "type": "object",
1627               "patternProperties": {
1628                 ".*": {
1629                   "type": "string"
1630                 }
1631               }
1632             },
1633             "num-units": {
1634               "type": "integer"
1635             },
1636             "placement": {
1637               "type": "array",
1638               "items": {
1639                 "$ref": "#/definitions/Placement"
1640               }
1641             },
1642             "resources": {
1643               "type": "object",
1644               "patternProperties": {
1645                 ".*": {
1646                   "type": "string"
1647                 }
1648               }
1649             },
1650             "series": {
1651               "type": "string"
1652             },
1653             "storage": {
1654               "type": "object",
1655               "patternProperties": {
1656                 ".*": {
1657                   "$ref": "#/definitions/Constraints"
1658                 }
1659               }
1660             }
1661           },
1662           "additionalProperties": false,
1663           "required": [
1664             "application",
1665             "series",
1666             "charm-url",
1667             "channel",
1668             "num-units",
1669             "config-yaml",
1670             "constraints"
1671           ]
1672         },
1673         "ApplicationDestroy": {
1674           "type": "object",
1675           "properties": {
1676             "application": {
1677               "type": "string"
1678             }
1679           },
1680           "additionalProperties": false,
1681           "required": [
1682             "application"
1683           ]
1684         },
1685         "ApplicationExpose": {
1686           "type": "object",
1687           "properties": {
1688             "application": {
1689               "type": "string"
1690             }
1691           },
1692           "additionalProperties": false,
1693           "required": [
1694             "application"
1695           ]
1696         },
1697         "ApplicationGet": {
1698           "type": "object",
1699           "properties": {
1700             "application": {
1701               "type": "string"
1702             }
1703           },
1704           "additionalProperties": false,
1705           "required": [
1706             "application"
1707           ]
1708         },
1709         "ApplicationGetResults": {
1710           "type": "object",
1711           "properties": {
1712             "application": {
1713               "type": "string"
1714             },
1715             "charm": {
1716               "type": "string"
1717             },
1718             "config": {
1719               "type": "object",
1720               "patternProperties": {
1721                 ".*": {
1722                   "type": "object",
1723                   "additionalProperties": true
1724                 }
1725               }
1726             },
1727             "constraints": {
1728               "$ref": "#/definitions/Value"
1729             },
1730             "series": {
1731               "type": "string"
1732             }
1733           },
1734           "additionalProperties": false,
1735           "required": [
1736             "application",
1737             "charm",
1738             "config",
1739             "constraints",
1740             "series"
1741           ]
1742         },
1743         "ApplicationMetricCredential": {
1744           "type": "object",
1745           "properties": {
1746             "application": {
1747               "type": "string"
1748             },
1749             "metrics-credentials": {
1750               "type": "array",
1751               "items": {
1752                 "type": "integer"
1753               }
1754             }
1755           },
1756           "additionalProperties": false,
1757           "required": [
1758             "application",
1759             "metrics-credentials"
1760           ]
1761         },
1762         "ApplicationMetricCredentials": {
1763           "type": "object",
1764           "properties": {
1765             "creds": {
1766               "type": "array",
1767               "items": {
1768                 "$ref": "#/definitions/ApplicationMetricCredential"
1769               }
1770             }
1771           },
1772           "additionalProperties": false,
1773           "required": [
1774             "creds"
1775           ]
1776         },
1777         "ApplicationSet": {
1778           "type": "object",
1779           "properties": {
1780             "application": {
1781               "type": "string"
1782             },
1783             "options": {
1784               "type": "object",
1785               "patternProperties": {
1786                 ".*": {
1787                   "type": "string"
1788                 }
1789               }
1790             }
1791           },
1792           "additionalProperties": false,
1793           "required": [
1794             "application",
1795             "options"
1796           ]
1797         },
1798         "ApplicationSetCharm": {
1799           "type": "object",
1800           "properties": {
1801             "application": {
1802               "type": "string"
1803             },
1804             "channel": {
1805               "type": "string"
1806             },
1807             "charm-url": {
1808               "type": "string"
1809             },
1810             "config-settings": {
1811               "type": "object",
1812               "patternProperties": {
1813                 ".*": {
1814                   "type": "string"
1815                 }
1816               }
1817             },
1818             "config-settings-yaml": {
1819               "type": "string"
1820             },
1821             "force-series": {
1822               "type": "boolean"
1823             },
1824             "force-units": {
1825               "type": "boolean"
1826             },
1827             "resource-ids": {
1828               "type": "object",
1829               "patternProperties": {
1830                 ".*": {
1831                   "type": "string"
1832                 }
1833               }
1834             },
1835             "storage-constraints": {
1836               "type": "object",
1837               "patternProperties": {
1838                 ".*": {
1839                   "$ref": "#/definitions/StorageConstraints"
1840                 }
1841               }
1842             }
1843           },
1844           "additionalProperties": false,
1845           "required": [
1846             "application",
1847             "charm-url",
1848             "channel",
1849             "force-units",
1850             "force-series"
1851           ]
1852         },
1853         "ApplicationURLs": {
1854           "type": "object",
1855           "properties": {
1856             "application-urls": {
1857               "type": "array",
1858               "items": {
1859                 "type": "string"
1860               }
1861             }
1862           },
1863           "additionalProperties": false
1864         },
1865         "ApplicationUnexpose": {
1866           "type": "object",
1867           "properties": {
1868             "application": {
1869               "type": "string"
1870             }
1871           },
1872           "additionalProperties": false,
1873           "required": [
1874             "application"
1875           ]
1876         },
1877         "ApplicationUnset": {
1878           "type": "object",
1879           "properties": {
1880             "application": {
1881               "type": "string"
1882             },
1883             "options": {
1884               "type": "array",
1885               "items": {
1886                 "type": "string"
1887               }
1888             }
1889           },
1890           "additionalProperties": false,
1891           "required": [
1892             "application",
1893             "options"
1894           ]
1895         },
1896         "ApplicationUpdate": {
1897           "type": "object",
1898           "properties": {
1899             "application": {
1900               "type": "string"
1901             },
1902             "charm-url": {
1903               "type": "string"
1904             },
1905             "constraints": {
1906               "$ref": "#/definitions/Value"
1907             },
1908             "force-charm-url": {
1909               "type": "boolean"
1910             },
1911             "force-series": {
1912               "type": "boolean"
1913             },
1914             "min-units": {
1915               "type": "integer"
1916             },
1917             "settings": {
1918               "type": "object",
1919               "patternProperties": {
1920                 ".*": {
1921                   "type": "string"
1922                 }
1923               }
1924             },
1925             "settings-yaml": {
1926               "type": "string"
1927             }
1928           },
1929           "additionalProperties": false,
1930           "required": [
1931             "application",
1932             "charm-url",
1933             "force-charm-url",
1934             "force-series",
1935             "settings-yaml"
1936           ]
1937         },
1938         "ApplicationsDeploy": {
1939           "type": "object",
1940           "properties": {
1941             "applications": {
1942               "type": "array",
1943               "items": {
1944                 "$ref": "#/definitions/ApplicationDeploy"
1945               }
1946             }
1947           },
1948           "additionalProperties": false,
1949           "required": [
1950             "applications"
1951           ]
1952         },
1953         "CharmRelation": {
1954           "type": "object",
1955           "properties": {
1956             "interface": {
1957               "type": "string"
1958             },
1959             "limit": {
1960               "type": "integer"
1961             },
1962             "name": {
1963               "type": "string"
1964             },
1965             "optional": {
1966               "type": "boolean"
1967             },
1968             "role": {
1969               "type": "string"
1970             },
1971             "scope": {
1972               "type": "string"
1973             }
1974           },
1975           "additionalProperties": false,
1976           "required": [
1977             "name",
1978             "role",
1979             "interface",
1980             "optional",
1981             "limit",
1982             "scope"
1983           ]
1984         },
1985         "Constraints": {
1986           "type": "object",
1987           "properties": {
1988             "Count": {
1989               "type": "integer"
1990             },
1991             "Pool": {
1992               "type": "string"
1993             },
1994             "Size": {
1995               "type": "integer"
1996             }
1997           },
1998           "additionalProperties": false,
1999           "required": [
2000             "Pool",
2001             "Size",
2002             "Count"
2003           ]
2004         },
2005         "ConsumeApplicationArg": {
2006           "type": "object",
2007           "properties": {
2008             "application-alias": {
2009               "type": "string"
2010             },
2011             "application-url": {
2012               "type": "string"
2013             }
2014           },
2015           "additionalProperties": false,
2016           "required": [
2017             "application-url"
2018           ]
2019         },
2020         "ConsumeApplicationArgs": {
2021           "type": "object",
2022           "properties": {
2023             "args": {
2024               "type": "array",
2025               "items": {
2026                 "$ref": "#/definitions/ConsumeApplicationArg"
2027               }
2028             }
2029           },
2030           "additionalProperties": false
2031         },
2032         "ConsumeApplicationResult": {
2033           "type": "object",
2034           "properties": {
2035             "error": {
2036               "$ref": "#/definitions/Error"
2037             },
2038             "local-name": {
2039               "type": "string"
2040             }
2041           },
2042           "additionalProperties": false
2043         },
2044         "ConsumeApplicationResults": {
2045           "type": "object",
2046           "properties": {
2047             "results": {
2048               "type": "array",
2049               "items": {
2050                 "$ref": "#/definitions/ConsumeApplicationResult"
2051               }
2052             }
2053           },
2054           "additionalProperties": false,
2055           "required": [
2056             "results"
2057           ]
2058         },
2059         "DestroyApplicationInfo": {
2060           "type": "object",
2061           "properties": {
2062             "destroyed-storage": {
2063               "type": "array",
2064               "items": {
2065                 "$ref": "#/definitions/Entity"
2066               }
2067             },
2068             "destroyed-units": {
2069               "type": "array",
2070               "items": {
2071                 "$ref": "#/definitions/Entity"
2072               }
2073             },
2074             "detached-storage": {
2075               "type": "array",
2076               "items": {
2077                 "$ref": "#/definitions/Entity"
2078               }
2079             }
2080           },
2081           "additionalProperties": false
2082         },
2083         "DestroyApplicationResult": {
2084           "type": "object",
2085           "properties": {
2086             "error": {
2087               "$ref": "#/definitions/Error"
2088             },
2089             "info": {
2090               "$ref": "#/definitions/DestroyApplicationInfo"
2091             }
2092           },
2093           "additionalProperties": false
2094         },
2095         "DestroyApplicationResults": {
2096           "type": "object",
2097           "properties": {
2098             "results": {
2099               "type": "array",
2100               "items": {
2101                 "$ref": "#/definitions/DestroyApplicationResult"
2102               }
2103             }
2104           },
2105           "additionalProperties": false
2106         },
2107         "DestroyApplicationUnits": {
2108           "type": "object",
2109           "properties": {
2110             "unit-names": {
2111               "type": "array",
2112               "items": {
2113                 "type": "string"
2114               }
2115             }
2116           },
2117           "additionalProperties": false,
2118           "required": [
2119             "unit-names"
2120           ]
2121         },
2122         "DestroyRelation": {
2123           "type": "object",
2124           "properties": {
2125             "endpoints": {
2126               "type": "array",
2127               "items": {
2128                 "type": "string"
2129               }
2130             }
2131           },
2132           "additionalProperties": false,
2133           "required": [
2134             "endpoints"
2135           ]
2136         },
2137         "DestroyUnitInfo": {
2138           "type": "object",
2139           "properties": {
2140             "destroyed-storage": {
2141               "type": "array",
2142               "items": {
2143                 "$ref": "#/definitions/Entity"
2144               }
2145             },
2146             "detached-storage": {
2147               "type": "array",
2148               "items": {
2149                 "$ref": "#/definitions/Entity"
2150               }
2151             }
2152           },
2153           "additionalProperties": false
2154         },
2155         "DestroyUnitResult": {
2156           "type": "object",
2157           "properties": {
2158             "error": {
2159               "$ref": "#/definitions/Error"
2160             },
2161             "info": {
2162               "$ref": "#/definitions/DestroyUnitInfo"
2163             }
2164           },
2165           "additionalProperties": false
2166         },
2167         "DestroyUnitResults": {
2168           "type": "object",
2169           "properties": {
2170             "results": {
2171               "type": "array",
2172               "items": {
2173                 "$ref": "#/definitions/DestroyUnitResult"
2174               }
2175             }
2176           },
2177           "additionalProperties": false
2178         },
2179         "Entities": {
2180           "type": "object",
2181           "properties": {
2182             "entities": {
2183               "type": "array",
2184               "items": {
2185                 "$ref": "#/definitions/Entity"
2186               }
2187             }
2188           },
2189           "additionalProperties": false,
2190           "required": [
2191             "entities"
2192           ]
2193         },
2194         "Entity": {
2195           "type": "object",
2196           "properties": {
2197             "tag": {
2198               "type": "string"
2199             }
2200           },
2201           "additionalProperties": false,
2202           "required": [
2203             "tag"
2204           ]
2205         },
2206         "Error": {
2207           "type": "object",
2208           "properties": {
2209             "code": {
2210               "type": "string"
2211             },
2212             "info": {
2213               "$ref": "#/definitions/ErrorInfo"
2214             },
2215             "message": {
2216               "type": "string"
2217             }
2218           },
2219           "additionalProperties": false,
2220           "required": [
2221             "message",
2222             "code"
2223           ]
2224         },
2225         "ErrorInfo": {
2226           "type": "object",
2227           "properties": {
2228             "macaroon": {
2229               "$ref": "#/definitions/Macaroon"
2230             },
2231             "macaroon-path": {
2232               "type": "string"
2233             }
2234           },
2235           "additionalProperties": false
2236         },
2237         "ErrorResult": {
2238           "type": "object",
2239           "properties": {
2240             "error": {
2241               "$ref": "#/definitions/Error"
2242             }
2243           },
2244           "additionalProperties": false
2245         },
2246         "ErrorResults": {
2247           "type": "object",
2248           "properties": {
2249             "results": {
2250               "type": "array",
2251               "items": {
2252                 "$ref": "#/definitions/ErrorResult"
2253               }
2254             }
2255           },
2256           "additionalProperties": false,
2257           "required": [
2258             "results"
2259           ]
2260         },
2261         "GetApplicationConstraints": {
2262           "type": "object",
2263           "properties": {
2264             "application": {
2265               "type": "string"
2266             }
2267           },
2268           "additionalProperties": false,
2269           "required": [
2270             "application"
2271           ]
2272         },
2273         "GetConstraintsResults": {
2274           "type": "object",
2275           "properties": {
2276             "constraints": {
2277               "$ref": "#/definitions/Value"
2278             }
2279           },
2280           "additionalProperties": false,
2281           "required": [
2282             "constraints"
2283           ]
2284         },
2285         "Macaroon": {
2286           "type": "object",
2287           "additionalProperties": false
2288         },
2289         "Placement": {
2290           "type": "object",
2291           "properties": {
2292             "directive": {
2293               "type": "string"
2294             },
2295             "scope": {
2296               "type": "string"
2297             }
2298           },
2299           "additionalProperties": false,
2300           "required": [
2301             "scope",
2302             "directive"
2303           ]
2304         },
2305         "RemoteApplicationInfo": {
2306           "type": "object",
2307           "properties": {
2308             "application-url": {
2309               "type": "string"
2310             },
2311             "description": {
2312               "type": "string"
2313             },
2314             "endpoints": {
2315               "type": "array",
2316               "items": {
2317                 "$ref": "#/definitions/RemoteEndpoint"
2318               }
2319             },
2320             "icon-url-path": {
2321               "type": "string"
2322             },
2323             "model-tag": {
2324               "type": "string"
2325             },
2326             "name": {
2327               "type": "string"
2328             },
2329             "source-model-label": {
2330               "type": "string"
2331             }
2332           },
2333           "additionalProperties": false,
2334           "required": [
2335             "model-tag",
2336             "name",
2337             "description",
2338             "application-url",
2339             "endpoints",
2340             "icon-url-path"
2341           ]
2342         },
2343         "RemoteApplicationInfoResult": {
2344           "type": "object",
2345           "properties": {
2346             "error": {
2347               "$ref": "#/definitions/Error"
2348             },
2349             "result": {
2350               "$ref": "#/definitions/RemoteApplicationInfo"
2351             }
2352           },
2353           "additionalProperties": false
2354         },
2355         "RemoteApplicationInfoResults": {
2356           "type": "object",
2357           "properties": {
2358             "results": {
2359               "type": "array",
2360               "items": {
2361                 "$ref": "#/definitions/RemoteApplicationInfoResult"
2362               }
2363             }
2364           },
2365           "additionalProperties": false,
2366           "required": [
2367             "results"
2368           ]
2369         },
2370         "RemoteEndpoint": {
2371           "type": "object",
2372           "properties": {
2373             "interface": {
2374               "type": "string"
2375             },
2376             "limit": {
2377               "type": "integer"
2378             },
2379             "name": {
2380               "type": "string"
2381             },
2382             "role": {
2383               "type": "string"
2384             },
2385             "scope": {
2386               "type": "string"
2387             }
2388           },
2389           "additionalProperties": false,
2390           "required": [
2391             "name",
2392             "role",
2393             "interface",
2394             "limit",
2395             "scope"
2396           ]
2397         },
2398         "SetConstraints": {
2399           "type": "object",
2400           "properties": {
2401             "application": {
2402               "type": "string"
2403             },
2404             "constraints": {
2405               "$ref": "#/definitions/Value"
2406             }
2407           },
2408           "additionalProperties": false,
2409           "required": [
2410             "application",
2411             "constraints"
2412           ]
2413         },
2414         "StorageConstraints": {
2415           "type": "object",
2416           "properties": {
2417             "count": {
2418               "type": "integer"
2419             },
2420             "pool": {
2421               "type": "string"
2422             },
2423             "size": {
2424               "type": "integer"
2425             }
2426           },
2427           "additionalProperties": false
2428         },
2429         "StringResult": {
2430           "type": "object",
2431           "properties": {
2432             "error": {
2433               "$ref": "#/definitions/Error"
2434             },
2435             "result": {
2436               "type": "string"
2437             }
2438           },
2439           "additionalProperties": false,
2440           "required": [
2441             "result"
2442           ]
2443         },
2444         "Value": {
2445           "type": "object",
2446           "properties": {
2447             "arch": {
2448               "type": "string"
2449             },
2450             "container": {
2451               "type": "string"
2452             },
2453             "cores": {
2454               "type": "integer"
2455             },
2456             "cpu-power": {
2457               "type": "integer"
2458             },
2459             "instance-type": {
2460               "type": "string"
2461             },
2462             "mem": {
2463               "type": "integer"
2464             },
2465             "root-disk": {
2466               "type": "integer"
2467             },
2468             "spaces": {
2469               "type": "array",
2470               "items": {
2471                 "type": "string"
2472               }
2473             },
2474             "tags": {
2475               "type": "array",
2476               "items": {
2477                 "type": "string"
2478               }
2479             },
2480             "virt-type": {
2481               "type": "string"
2482             }
2483           },
2484           "additionalProperties": false
2485         }
2486       }
2487     }
2488   },
2489   {
2490     "Name": "ApplicationScaler",
2491     "Version": 1,
2492     "Schema": {
2493       "type": "object",
2494       "properties": {
2495         "Rescale": {
2496           "type": "object",
2497           "properties": {
2498             "Params": {
2499               "$ref": "#/definitions/Entities"
2500             },
2501             "Result": {
2502               "$ref": "#/definitions/ErrorResults"
2503             }
2504           }
2505         },
2506         "Watch": {
2507           "type": "object",
2508           "properties": {
2509             "Result": {
2510               "$ref": "#/definitions/StringsWatchResult"
2511             }
2512           }
2513         }
2514       },
2515       "definitions": {
2516         "Entities": {
2517           "type": "object",
2518           "properties": {
2519             "entities": {
2520               "type": "array",
2521               "items": {
2522                 "$ref": "#/definitions/Entity"
2523               }
2524             }
2525           },
2526           "additionalProperties": false,
2527           "required": [
2528             "entities"
2529           ]
2530         },
2531         "Entity": {
2532           "type": "object",
2533           "properties": {
2534             "tag": {
2535               "type": "string"
2536             }
2537           },
2538           "additionalProperties": false,
2539           "required": [
2540             "tag"
2541           ]
2542         },
2543         "Error": {
2544           "type": "object",
2545           "properties": {
2546             "code": {
2547               "type": "string"
2548             },
2549             "info": {
2550               "$ref": "#/definitions/ErrorInfo"
2551             },
2552             "message": {
2553               "type": "string"
2554             }
2555           },
2556           "additionalProperties": false,
2557           "required": [
2558             "message",
2559             "code"
2560           ]
2561         },
2562         "ErrorInfo": {
2563           "type": "object",
2564           "properties": {
2565             "macaroon": {
2566               "$ref": "#/definitions/Macaroon"
2567             },
2568             "macaroon-path": {
2569               "type": "string"
2570             }
2571           },
2572           "additionalProperties": false
2573         },
2574         "ErrorResult": {
2575           "type": "object",
2576           "properties": {
2577             "error": {
2578               "$ref": "#/definitions/Error"
2579             }
2580           },
2581           "additionalProperties": false
2582         },
2583         "ErrorResults": {
2584           "type": "object",
2585           "properties": {
2586             "results": {
2587               "type": "array",
2588               "items": {
2589                 "$ref": "#/definitions/ErrorResult"
2590               }
2591             }
2592           },
2593           "additionalProperties": false,
2594           "required": [
2595             "results"
2596           ]
2597         },
2598         "Macaroon": {
2599           "type": "object",
2600           "additionalProperties": false
2601         },
2602         "StringsWatchResult": {
2603           "type": "object",
2604           "properties": {
2605             "changes": {
2606               "type": "array",
2607               "items": {
2608                 "type": "string"
2609               }
2610             },
2611             "error": {
2612               "$ref": "#/definitions/Error"
2613             },
2614             "watcher-id": {
2615               "type": "string"
2616             }
2617           },
2618           "additionalProperties": false,
2619           "required": [
2620             "watcher-id"
2621           ]
2622         }
2623       }
2624     }
2625   },
2626   {
2627     "Name": "Backups",
2628     "Version": 1,
2629     "Schema": {
2630       "type": "object",
2631       "properties": {
2632         "Create": {
2633           "type": "object",
2634           "properties": {
2635             "Params": {
2636               "$ref": "#/definitions/BackupsCreateArgs"
2637             },
2638             "Result": {
2639               "$ref": "#/definitions/BackupsMetadataResult"
2640             }
2641           }
2642         },
2643         "FinishRestore": {
2644           "type": "object"
2645         },
2646         "Info": {
2647           "type": "object",
2648           "properties": {
2649             "Params": {
2650               "$ref": "#/definitions/BackupsInfoArgs"
2651             },
2652             "Result": {
2653               "$ref": "#/definitions/BackupsMetadataResult"
2654             }
2655           }
2656         },
2657         "List": {
2658           "type": "object",
2659           "properties": {
2660             "Params": {
2661               "$ref": "#/definitions/BackupsListArgs"
2662             },
2663             "Result": {
2664               "$ref": "#/definitions/BackupsListResult"
2665             }
2666           }
2667         },
2668         "PrepareRestore": {
2669           "type": "object"
2670         },
2671         "Remove": {
2672           "type": "object",
2673           "properties": {
2674             "Params": {
2675               "$ref": "#/definitions/BackupsRemoveArgs"
2676             }
2677           }
2678         },
2679         "Restore": {
2680           "type": "object",
2681           "properties": {
2682             "Params": {
2683               "$ref": "#/definitions/RestoreArgs"
2684             }
2685           }
2686         }
2687       },
2688       "definitions": {
2689         "BackupsCreateArgs": {
2690           "type": "object",
2691           "properties": {
2692             "notes": {
2693               "type": "string"
2694             }
2695           },
2696           "additionalProperties": false,
2697           "required": [
2698             "notes"
2699           ]
2700         },
2701         "BackupsInfoArgs": {
2702           "type": "object",
2703           "properties": {
2704             "id": {
2705               "type": "string"
2706             }
2707           },
2708           "additionalProperties": false,
2709           "required": [
2710             "id"
2711           ]
2712         },
2713         "BackupsListArgs": {
2714           "type": "object",
2715           "additionalProperties": false
2716         },
2717         "BackupsListResult": {
2718           "type": "object",
2719           "properties": {
2720             "list": {
2721               "type": "array",
2722               "items": {
2723                 "$ref": "#/definitions/BackupsMetadataResult"
2724               }
2725             }
2726           },
2727           "additionalProperties": false,
2728           "required": [
2729             "list"
2730           ]
2731         },
2732         "BackupsMetadataResult": {
2733           "type": "object",
2734           "properties": {
2735             "ca-cert": {
2736               "type": "string"
2737             },
2738             "ca-private-key": {
2739               "type": "string"
2740             },
2741             "checksum": {
2742               "type": "string"
2743             },
2744             "checksum-format": {
2745               "type": "string"
2746             },
2747             "finished": {
2748               "type": "string",
2749               "format": "date-time"
2750             },
2751             "hostname": {
2752               "type": "string"
2753             },
2754             "id": {
2755               "type": "string"
2756             },
2757             "machine": {
2758               "type": "string"
2759             },
2760             "model": {
2761               "type": "string"
2762             },
2763             "notes": {
2764               "type": "string"
2765             },
2766             "series": {
2767               "type": "string"
2768             },
2769             "size": {
2770               "type": "integer"
2771             },
2772             "started": {
2773               "type": "string",
2774               "format": "date-time"
2775             },
2776             "stored": {
2777               "type": "string",
2778               "format": "date-time"
2779             },
2780             "version": {
2781               "$ref": "#/definitions/Number"
2782             }
2783           },
2784           "additionalProperties": false,
2785           "required": [
2786             "id",
2787             "checksum",
2788             "checksum-format",
2789             "size",
2790             "stored",
2791             "started",
2792             "finished",
2793             "notes",
2794             "model",
2795             "machine",
2796             "hostname",
2797             "version",
2798             "series",
2799             "ca-cert",
2800             "ca-private-key"
2801           ]
2802         },
2803         "BackupsRemoveArgs": {
2804           "type": "object",
2805           "properties": {
2806             "id": {
2807               "type": "string"
2808             }
2809           },
2810           "additionalProperties": false,
2811           "required": [
2812             "id"
2813           ]
2814         },
2815         "Number": {
2816           "type": "object",
2817           "properties": {
2818             "Build": {
2819               "type": "integer"
2820             },
2821             "Major": {
2822               "type": "integer"
2823             },
2824             "Minor": {
2825               "type": "integer"
2826             },
2827             "Patch": {
2828               "type": "integer"
2829             },
2830             "Tag": {
2831               "type": "string"
2832             }
2833           },
2834           "additionalProperties": false,
2835           "required": [
2836             "Major",
2837             "Minor",
2838             "Tag",
2839             "Patch",
2840             "Build"
2841           ]
2842         },
2843         "RestoreArgs": {
2844           "type": "object",
2845           "properties": {
2846             "backup-id": {
2847               "type": "string"
2848             }
2849           },
2850           "additionalProperties": false,
2851           "required": [
2852             "backup-id"
2853           ]
2854         }
2855       }
2856     }
2857   },
2858   {
2859     "Name": "Block",
2860     "Version": 2,
2861     "Schema": {
2862       "type": "object",
2863       "properties": {
2864         "List": {
2865           "type": "object",
2866           "properties": {
2867             "Result": {
2868               "$ref": "#/definitions/BlockResults"
2869             }
2870           }
2871         },
2872         "SwitchBlockOff": {
2873           "type": "object",
2874           "properties": {
2875             "Params": {
2876               "$ref": "#/definitions/BlockSwitchParams"
2877             },
2878             "Result": {
2879               "$ref": "#/definitions/ErrorResult"
2880             }
2881           }
2882         },
2883         "SwitchBlockOn": {
2884           "type": "object",
2885           "properties": {
2886             "Params": {
2887               "$ref": "#/definitions/BlockSwitchParams"
2888             },
2889             "Result": {
2890               "$ref": "#/definitions/ErrorResult"
2891             }
2892           }
2893         }
2894       },
2895       "definitions": {
2896         "Block": {
2897           "type": "object",
2898           "properties": {
2899             "id": {
2900               "type": "string"
2901             },
2902             "message": {
2903               "type": "string"
2904             },
2905             "tag": {
2906               "type": "string"
2907             },
2908             "type": {
2909               "type": "string"
2910             }
2911           },
2912           "additionalProperties": false,
2913           "required": [
2914             "id",
2915             "tag",
2916             "type"
2917           ]
2918         },
2919         "BlockResult": {
2920           "type": "object",
2921           "properties": {
2922             "error": {
2923               "$ref": "#/definitions/Error"
2924             },
2925             "result": {
2926               "$ref": "#/definitions/Block"
2927             }
2928           },
2929           "additionalProperties": false,
2930           "required": [
2931             "result"
2932           ]
2933         },
2934         "BlockResults": {
2935           "type": "object",
2936           "properties": {
2937             "results": {
2938               "type": "array",
2939               "items": {
2940                 "$ref": "#/definitions/BlockResult"
2941               }
2942             }
2943           },
2944           "additionalProperties": false
2945         },
2946         "BlockSwitchParams": {
2947           "type": "object",
2948           "properties": {
2949             "message": {
2950               "type": "string"
2951             },
2952             "type": {
2953               "type": "string"
2954             }
2955           },
2956           "additionalProperties": false,
2957           "required": [
2958             "type"
2959           ]
2960         },
2961         "Error": {
2962           "type": "object",
2963           "properties": {
2964             "code": {
2965               "type": "string"
2966             },
2967             "info": {
2968               "$ref": "#/definitions/ErrorInfo"
2969             },
2970             "message": {
2971               "type": "string"
2972             }
2973           },
2974           "additionalProperties": false,
2975           "required": [
2976             "message",
2977             "code"
2978           ]
2979         },
2980         "ErrorInfo": {
2981           "type": "object",
2982           "properties": {
2983             "macaroon": {
2984               "$ref": "#/definitions/Macaroon"
2985             },
2986             "macaroon-path": {
2987               "type": "string"
2988             }
2989           },
2990           "additionalProperties": false
2991         },
2992         "ErrorResult": {
2993           "type": "object",
2994           "properties": {
2995             "error": {
2996               "$ref": "#/definitions/Error"
2997             }
2998           },
2999           "additionalProperties": false
3000         },
3001         "Macaroon": {
3002           "type": "object",
3003           "additionalProperties": false
3004         }
3005       }
3006     }
3007   },
3008   {
3009     "Name": "Bundle",
3010     "Version": 1,
3011     "Schema": {
3012       "type": "object",
3013       "properties": {
3014         "GetChanges": {
3015           "type": "object",
3016           "properties": {
3017             "Params": {
3018               "$ref": "#/definitions/BundleChangesParams"
3019             },
3020             "Result": {
3021               "$ref": "#/definitions/BundleChangesResults"
3022             }
3023           }
3024         }
3025       },
3026       "definitions": {
3027         "BundleChange": {
3028           "type": "object",
3029           "properties": {
3030             "args": {
3031               "type": "array",
3032               "items": {
3033                 "type": "object",
3034                 "additionalProperties": true
3035               }
3036             },
3037             "id": {
3038               "type": "string"
3039             },
3040             "method": {
3041               "type": "string"
3042             },
3043             "requires": {
3044               "type": "array",
3045               "items": {
3046                 "type": "string"
3047               }
3048             }
3049           },
3050           "additionalProperties": false,
3051           "required": [
3052             "id",
3053             "method",
3054             "args",
3055             "requires"
3056           ]
3057         },
3058         "BundleChangesParams": {
3059           "type": "object",
3060           "properties": {
3061             "yaml": {
3062               "type": "string"
3063             }
3064           },
3065           "additionalProperties": false,
3066           "required": [
3067             "yaml"
3068           ]
3069         },
3070         "BundleChangesResults": {
3071           "type": "object",
3072           "properties": {
3073             "changes": {
3074               "type": "array",
3075               "items": {
3076                 "$ref": "#/definitions/BundleChange"
3077               }
3078             },
3079             "errors": {
3080               "type": "array",
3081               "items": {
3082                 "type": "string"
3083               }
3084             }
3085           },
3086           "additionalProperties": false
3087         }
3088       }
3089     }
3090   },
3091   {
3092     "Name": "CharmRevisionUpdater",
3093     "Version": 2,
3094     "Schema": {
3095       "type": "object",
3096       "properties": {
3097         "UpdateLatestRevisions": {
3098           "type": "object",
3099           "properties": {
3100             "Result": {
3101               "$ref": "#/definitions/ErrorResult"
3102             }
3103           }
3104         }
3105       },
3106       "definitions": {
3107         "Error": {
3108           "type": "object",
3109           "properties": {
3110             "code": {
3111               "type": "string"
3112             },
3113             "info": {
3114               "$ref": "#/definitions/ErrorInfo"
3115             },
3116             "message": {
3117               "type": "string"
3118             }
3119           },
3120           "additionalProperties": false,
3121           "required": [
3122             "message",
3123             "code"
3124           ]
3125         },
3126         "ErrorInfo": {
3127           "type": "object",
3128           "properties": {
3129             "macaroon": {
3130               "$ref": "#/definitions/Macaroon"
3131             },
3132             "macaroon-path": {
3133               "type": "string"
3134             }
3135           },
3136           "additionalProperties": false
3137         },
3138         "ErrorResult": {
3139           "type": "object",
3140           "properties": {
3141             "error": {
3142               "$ref": "#/definitions/Error"
3143             }
3144           },
3145           "additionalProperties": false
3146         },
3147         "Macaroon": {
3148           "type": "object",
3149           "additionalProperties": false
3150         }
3151       }
3152     }
3153   },
3154   {
3155     "Name": "Charms",
3156     "Version": 2,
3157     "Schema": {
3158       "type": "object",
3159       "properties": {
3160         "CharmInfo": {
3161           "type": "object",
3162           "properties": {
3163             "Params": {
3164               "$ref": "#/definitions/CharmURL"
3165             },
3166             "Result": {
3167               "$ref": "#/definitions/CharmInfo"
3168             }
3169           }
3170         },
3171         "IsMetered": {
3172           "type": "object",
3173           "properties": {
3174             "Params": {
3175               "$ref": "#/definitions/CharmURL"
3176             },
3177             "Result": {
3178               "$ref": "#/definitions/IsMeteredResult"
3179             }
3180           }
3181         },
3182         "List": {
3183           "type": "object",
3184           "properties": {
3185             "Params": {
3186               "$ref": "#/definitions/CharmsList"
3187             },
3188             "Result": {
3189               "$ref": "#/definitions/CharmsListResult"
3190             }
3191           }
3192         }
3193       },
3194       "definitions": {
3195         "CharmActionSpec": {
3196           "type": "object",
3197           "properties": {
3198             "description": {
3199               "type": "string"
3200             },
3201             "params": {
3202               "type": "object",
3203               "patternProperties": {
3204                 ".*": {
3205                   "type": "object",
3206                   "additionalProperties": true
3207                 }
3208               }
3209             }
3210           },
3211           "additionalProperties": false,
3212           "required": [
3213             "description",
3214             "params"
3215           ]
3216         },
3217         "CharmActions": {
3218           "type": "object",
3219           "properties": {
3220             "specs": {
3221               "type": "object",
3222               "patternProperties": {
3223                 ".*": {
3224                   "$ref": "#/definitions/CharmActionSpec"
3225                 }
3226               }
3227             }
3228           },
3229           "additionalProperties": false
3230         },
3231         "CharmInfo": {
3232           "type": "object",
3233           "properties": {
3234             "actions": {
3235               "$ref": "#/definitions/CharmActions"
3236             },
3237             "config": {
3238               "type": "object",
3239               "patternProperties": {
3240                 ".*": {
3241                   "$ref": "#/definitions/CharmOption"
3242                 }
3243               }
3244             },
3245             "meta": {
3246               "$ref": "#/definitions/CharmMeta"
3247             },
3248             "metrics": {
3249               "$ref": "#/definitions/CharmMetrics"
3250             },
3251             "revision": {
3252               "type": "integer"
3253             },
3254             "url": {
3255               "type": "string"
3256             }
3257           },
3258           "additionalProperties": false,
3259           "required": [
3260             "revision",
3261             "url",
3262             "config"
3263           ]
3264         },
3265         "CharmMeta": {
3266           "type": "object",
3267           "properties": {
3268             "categories": {
3269               "type": "array",
3270               "items": {
3271                 "type": "string"
3272               }
3273             },
3274             "description": {
3275               "type": "string"
3276             },
3277             "extra-bindings": {
3278               "type": "object",
3279               "patternProperties": {
3280                 ".*": {
3281                   "type": "string"
3282                 }
3283               }
3284             },
3285             "min-juju-version": {
3286               "type": "string"
3287             },
3288             "name": {
3289               "type": "string"
3290             },
3291             "payload-classes": {
3292               "type": "object",
3293               "patternProperties": {
3294                 ".*": {
3295                   "$ref": "#/definitions/CharmPayloadClass"
3296                 }
3297               }
3298             },
3299             "peers": {
3300               "type": "object",
3301               "patternProperties": {
3302                 ".*": {
3303                   "$ref": "#/definitions/CharmRelation"
3304                 }
3305               }
3306             },
3307             "provides": {
3308               "type": "object",
3309               "patternProperties": {
3310                 ".*": {
3311                   "$ref": "#/definitions/CharmRelation"
3312                 }
3313               }
3314             },
3315             "requires": {
3316               "type": "object",
3317               "patternProperties": {
3318                 ".*": {
3319                   "$ref": "#/definitions/CharmRelation"
3320                 }
3321               }
3322             },
3323             "resources": {
3324               "type": "object",
3325               "patternProperties": {
3326                 ".*": {
3327                   "$ref": "#/definitions/CharmResourceMeta"
3328                 }
3329               }
3330             },
3331             "series": {
3332               "type": "array",
3333               "items": {
3334                 "type": "string"
3335               }
3336             },
3337             "storage": {
3338               "type": "object",
3339               "patternProperties": {
3340                 ".*": {
3341                   "$ref": "#/definitions/CharmStorage"
3342                 }
3343               }
3344             },
3345             "subordinate": {
3346               "type": "boolean"
3347             },
3348             "summary": {
3349               "type": "string"
3350             },
3351             "tags": {
3352               "type": "array",
3353               "items": {
3354                 "type": "string"
3355               }
3356             },
3357             "terms": {
3358               "type": "array",
3359               "items": {
3360                 "type": "string"
3361               }
3362             }
3363           },
3364           "additionalProperties": false,
3365           "required": [
3366             "name",
3367             "summary",
3368             "description",
3369             "subordinate"
3370           ]
3371         },
3372         "CharmMetric": {
3373           "type": "object",
3374           "properties": {
3375             "description": {
3376               "type": "string"
3377             },
3378             "type": {
3379               "type": "string"
3380             }
3381           },
3382           "additionalProperties": false,
3383           "required": [
3384             "type",
3385             "description"
3386           ]
3387         },
3388         "CharmMetrics": {
3389           "type": "object",
3390           "properties": {
3391             "metrics": {
3392               "type": "object",
3393               "patternProperties": {
3394                 ".*": {
3395                   "$ref": "#/definitions/CharmMetric"
3396                 }
3397               }
3398             },
3399             "plan": {
3400               "$ref": "#/definitions/CharmPlan"
3401             }
3402           },
3403           "additionalProperties": false,
3404           "required": [
3405             "metrics",
3406             "plan"
3407           ]
3408         },
3409         "CharmOption": {
3410           "type": "object",
3411           "properties": {
3412             "default": {
3413               "type": "object",
3414               "additionalProperties": true
3415             },
3416             "description": {
3417               "type": "string"
3418             },
3419             "type": {
3420               "type": "string"
3421             }
3422           },
3423           "additionalProperties": false,
3424           "required": [
3425             "type"
3426           ]
3427         },
3428         "CharmPayloadClass": {
3429           "type": "object",
3430           "properties": {
3431             "name": {
3432               "type": "string"
3433             },
3434             "type": {
3435               "type": "string"
3436             }
3437           },
3438           "additionalProperties": false,
3439           "required": [
3440             "name",
3441             "type"
3442           ]
3443         },
3444         "CharmPlan": {
3445           "type": "object",
3446           "properties": {
3447             "required": {
3448               "type": "boolean"
3449             }
3450           },
3451           "additionalProperties": false,
3452           "required": [
3453             "required"
3454           ]
3455         },
3456         "CharmRelation": {
3457           "type": "object",
3458           "properties": {
3459             "interface": {
3460               "type": "string"
3461             },
3462             "limit": {
3463               "type": "integer"
3464             },
3465             "name": {
3466               "type": "string"
3467             },
3468             "optional": {
3469               "type": "boolean"
3470             },
3471             "role": {
3472               "type": "string"
3473             },
3474             "scope": {
3475               "type": "string"
3476             }
3477           },
3478           "additionalProperties": false,
3479           "required": [
3480             "name",
3481             "role",
3482             "interface",
3483             "optional",
3484             "limit",
3485             "scope"
3486           ]
3487         },
3488         "CharmResourceMeta": {
3489           "type": "object",
3490           "properties": {
3491             "description": {
3492               "type": "string"
3493             },
3494             "name": {
3495               "type": "string"
3496             },
3497             "path": {
3498               "type": "string"
3499             },
3500             "type": {
3501               "type": "string"
3502             }
3503           },
3504           "additionalProperties": false,
3505           "required": [
3506             "name",
3507             "type",
3508             "path",
3509             "description"
3510           ]
3511         },
3512         "CharmStorage": {
3513           "type": "object",
3514           "properties": {
3515             "count-max": {
3516               "type": "integer"
3517             },
3518             "count-min": {
3519               "type": "integer"
3520             },
3521             "description": {
3522               "type": "string"
3523             },
3524             "location": {
3525               "type": "string"
3526             },
3527             "minimum-size": {
3528               "type": "integer"
3529             },
3530             "name": {
3531               "type": "string"
3532             },
3533             "properties": {
3534               "type": "array",
3535               "items": {
3536                 "type": "string"
3537               }
3538             },
3539             "read-only": {
3540               "type": "boolean"
3541             },
3542             "shared": {
3543               "type": "boolean"
3544             },
3545             "type": {
3546               "type": "string"
3547             }
3548           },
3549           "additionalProperties": false,
3550           "required": [
3551             "name",
3552             "description",
3553             "type",
3554             "shared",
3555             "read-only",
3556             "count-min",
3557             "count-max",
3558             "minimum-size"
3559           ]
3560         },
3561         "CharmURL": {
3562           "type": "object",
3563           "properties": {
3564             "url": {
3565               "type": "string"
3566             }
3567           },
3568           "additionalProperties": false,
3569           "required": [
3570             "url"
3571           ]
3572         },
3573         "CharmsList": {
3574           "type": "object",
3575           "properties": {
3576             "names": {
3577               "type": "array",
3578               "items": {
3579                 "type": "string"
3580               }
3581             }
3582           },
3583           "additionalProperties": false,
3584           "required": [
3585             "names"
3586           ]
3587         },
3588         "CharmsListResult": {
3589           "type": "object",
3590           "properties": {
3591             "charm-urls": {
3592               "type": "array",
3593               "items": {
3594                 "type": "string"
3595               }
3596             }
3597           },
3598           "additionalProperties": false,
3599           "required": [
3600             "charm-urls"
3601           ]
3602         },
3603         "IsMeteredResult": {
3604           "type": "object",
3605           "properties": {
3606             "metered": {
3607               "type": "boolean"
3608             }
3609           },
3610           "additionalProperties": false,
3611           "required": [
3612             "metered"
3613           ]
3614         }
3615       }
3616     }
3617   },
3618   {
3619     "Name": "Cleaner",
3620     "Version": 2,
3621     "Schema": {
3622       "type": "object",
3623       "properties": {
3624         "Cleanup": {
3625           "type": "object"
3626         },
3627         "WatchCleanups": {
3628           "type": "object",
3629           "properties": {
3630             "Result": {
3631               "$ref": "#/definitions/NotifyWatchResult"
3632             }
3633           }
3634         }
3635       },
3636       "definitions": {
3637         "Error": {
3638           "type": "object",
3639           "properties": {
3640             "code": {
3641               "type": "string"
3642             },
3643             "info": {
3644               "$ref": "#/definitions/ErrorInfo"
3645             },
3646             "message": {
3647               "type": "string"
3648             }
3649           },
3650           "additionalProperties": false,
3651           "required": [
3652             "message",
3653             "code"
3654           ]
3655         },
3656         "ErrorInfo": {
3657           "type": "object",
3658           "properties": {
3659             "macaroon": {
3660               "$ref": "#/definitions/Macaroon"
3661             },
3662             "macaroon-path": {
3663               "type": "string"
3664             }
3665           },
3666           "additionalProperties": false
3667         },
3668         "Macaroon": {
3669           "type": "object",
3670           "additionalProperties": false
3671         },
3672         "NotifyWatchResult": {
3673           "type": "object",
3674           "properties": {
3675             "NotifyWatcherId": {
3676               "type": "string"
3677             },
3678             "error": {
3679               "$ref": "#/definitions/Error"
3680             }
3681           },
3682           "additionalProperties": false,
3683           "required": [
3684             "NotifyWatcherId"
3685           ]
3686         }
3687       }
3688     }
3689   },
3690   {
3691     "Name": "Client",
3692     "Version": 1,
3693     "Schema": {
3694       "type": "object",
3695       "properties": {
3696         "APIHostPorts": {
3697           "type": "object",
3698           "properties": {
3699             "Result": {
3700               "$ref": "#/definitions/APIHostPortsResult"
3701             }
3702           }
3703         },
3704         "AbortCurrentUpgrade": {
3705           "type": "object"
3706         },
3707         "AddCharm": {
3708           "type": "object",
3709           "properties": {
3710             "Params": {
3711               "$ref": "#/definitions/AddCharm"
3712             }
3713           }
3714         },
3715         "AddCharmWithAuthorization": {
3716           "type": "object",
3717           "properties": {
3718             "Params": {
3719               "$ref": "#/definitions/AddCharmWithAuthorization"
3720             }
3721           }
3722         },
3723         "AddMachines": {
3724           "type": "object",
3725           "properties": {
3726             "Params": {
3727               "$ref": "#/definitions/AddMachines"
3728             },
3729             "Result": {
3730               "$ref": "#/definitions/AddMachinesResults"
3731             }
3732           }
3733         },
3734         "AddMachinesV2": {
3735           "type": "object",
3736           "properties": {
3737             "Params": {
3738               "$ref": "#/definitions/AddMachines"
3739             },
3740             "Result": {
3741               "$ref": "#/definitions/AddMachinesResults"
3742             }
3743           }
3744         },
3745         "AgentVersion": {
3746           "type": "object",
3747           "properties": {
3748             "Result": {
3749               "$ref": "#/definitions/AgentVersionResult"
3750             }
3751           }
3752         },
3753         "DestroyMachines": {
3754           "type": "object",
3755           "properties": {
3756             "Params": {
3757               "$ref": "#/definitions/DestroyMachines"
3758             }
3759           }
3760         },
3761         "FindTools": {
3762           "type": "object",
3763           "properties": {
3764             "Params": {
3765               "$ref": "#/definitions/FindToolsParams"
3766             },
3767             "Result": {
3768               "$ref": "#/definitions/FindToolsResult"
3769             }
3770           }
3771         },
3772         "FullStatus": {
3773           "type": "object",
3774           "properties": {
3775             "Params": {
3776               "$ref": "#/definitions/StatusParams"
3777             },
3778             "Result": {
3779               "$ref": "#/definitions/FullStatus"
3780             }
3781           }
3782         },
3783         "GetBundleChanges": {
3784           "type": "object",
3785           "properties": {
3786             "Params": {
3787               "$ref": "#/definitions/BundleChangesParams"
3788             },
3789             "Result": {
3790               "$ref": "#/definitions/BundleChangesResults"
3791             }
3792           }
3793         },
3794         "GetModelConstraints": {
3795           "type": "object",
3796           "properties": {
3797             "Result": {
3798               "$ref": "#/definitions/GetConstraintsResults"
3799             }
3800           }
3801         },
3802         "InjectMachines": {
3803           "type": "object",
3804           "properties": {
3805             "Params": {
3806               "$ref": "#/definitions/AddMachines"
3807             },
3808             "Result": {
3809               "$ref": "#/definitions/AddMachinesResults"
3810             }
3811           }
3812         },
3813         "ModelGet": {
3814           "type": "object",
3815           "properties": {
3816             "Result": {
3817               "$ref": "#/definitions/ModelConfigResults"
3818             }
3819           }
3820         },
3821         "ModelInfo": {
3822           "type": "object",
3823           "properties": {
3824             "Result": {
3825               "$ref": "#/definitions/ModelInfo"
3826             }
3827           }
3828         },
3829         "ModelSet": {
3830           "type": "object",
3831           "properties": {
3832             "Params": {
3833               "$ref": "#/definitions/ModelSet"
3834             }
3835           }
3836         },
3837         "ModelUnset": {
3838           "type": "object",
3839           "properties": {
3840             "Params": {
3841               "$ref": "#/definitions/ModelUnset"
3842             }
3843           }
3844         },
3845         "ModelUserInfo": {
3846           "type": "object",
3847           "properties": {
3848             "Result": {
3849               "$ref": "#/definitions/ModelUserInfoResults"
3850             }
3851           }
3852         },
3853         "PrivateAddress": {
3854           "type": "object",
3855           "properties": {
3856             "Params": {
3857               "$ref": "#/definitions/PrivateAddress"
3858             },
3859             "Result": {
3860               "$ref": "#/definitions/PrivateAddressResults"
3861             }
3862           }
3863         },
3864         "ProvisioningScript": {
3865           "type": "object",
3866           "properties": {
3867             "Params": {
3868               "$ref": "#/definitions/ProvisioningScriptParams"
3869             },
3870             "Result": {
3871               "$ref": "#/definitions/ProvisioningScriptResult"
3872             }
3873           }
3874         },
3875         "PublicAddress": {
3876           "type": "object",
3877           "properties": {
3878             "Params": {
3879               "$ref": "#/definitions/PublicAddress"
3880             },
3881             "Result": {
3882               "$ref": "#/definitions/PublicAddressResults"
3883             }
3884           }
3885         },
3886         "ResolveCharms": {
3887           "type": "object",
3888           "properties": {
3889             "Params": {
3890               "$ref": "#/definitions/ResolveCharms"
3891             },
3892             "Result": {
3893               "$ref": "#/definitions/ResolveCharmResults"
3894             }
3895           }
3896         },
3897         "Resolved": {
3898           "type": "object",
3899           "properties": {
3900             "Params": {
3901               "$ref": "#/definitions/Resolved"
3902             }
3903           }
3904         },
3905         "RetryProvisioning": {
3906           "type": "object",
3907           "properties": {
3908             "Params": {
3909               "$ref": "#/definitions/Entities"
3910             },
3911             "Result": {
3912               "$ref": "#/definitions/ErrorResults"
3913             }
3914           }
3915         },
3916         "SetModelAgentVersion": {
3917           "type": "object",
3918           "properties": {
3919             "Params": {
3920               "$ref": "#/definitions/SetModelAgentVersion"
3921             }
3922           }
3923         },
3924         "SetModelConstraints": {
3925           "type": "object",
3926           "properties": {
3927             "Params": {
3928               "$ref": "#/definitions/SetConstraints"
3929             }
3930           }
3931         },
3932         "StatusHistory": {
3933           "type": "object",
3934           "properties": {
3935             "Params": {
3936               "$ref": "#/definitions/StatusHistoryRequests"
3937             },
3938             "Result": {
3939               "$ref": "#/definitions/StatusHistoryResults"
3940             }
3941           }
3942         },
3943         "WatchAll": {
3944           "type": "object",
3945           "properties": {
3946             "Result": {
3947               "$ref": "#/definitions/AllWatcherId"
3948             }
3949           }
3950         }
3951       },
3952       "definitions": {
3953         "APIHostPortsResult": {
3954           "type": "object",
3955           "properties": {
3956             "servers": {
3957               "type": "array",
3958               "items": {
3959                 "type": "array",
3960                 "items": {
3961                   "$ref": "#/definitions/HostPort"
3962                 }
3963               }
3964             }
3965           },
3966           "additionalProperties": false,
3967           "required": [
3968             "servers"
3969           ]
3970         },
3971         "AddCharm": {
3972           "type": "object",
3973           "properties": {
3974             "channel": {
3975               "type": "string"
3976             },
3977             "url": {
3978               "type": "string"
3979             }
3980           },
3981           "additionalProperties": false,
3982           "required": [
3983             "url",
3984             "channel"
3985           ]
3986         },
3987         "AddCharmWithAuthorization": {
3988           "type": "object",
3989           "properties": {
3990             "channel": {
3991               "type": "string"
3992             },
3993             "macaroon": {
3994               "$ref": "#/definitions/Macaroon"
3995             },
3996             "url": {
3997               "type": "string"
3998             }
3999           },
4000           "additionalProperties": false,
4001           "required": [
4002             "url",
4003             "channel",
4004             "macaroon"
4005           ]
4006         },
4007         "AddMachineParams": {
4008           "type": "object",
4009           "properties": {
4010             "addresses": {
4011               "type": "array",
4012               "items": {
4013                 "$ref": "#/definitions/Address"
4014               }
4015             },
4016             "constraints": {
4017               "$ref": "#/definitions/Value"
4018             },
4019             "container-type": {
4020               "type": "string"
4021             },
4022             "disks": {
4023               "type": "array",
4024               "items": {
4025                 "$ref": "#/definitions/Constraints"
4026               }
4027             },
4028             "hardware-characteristics": {
4029               "$ref": "#/definitions/HardwareCharacteristics"
4030             },
4031             "instance-id": {
4032               "type": "string"
4033             },
4034             "jobs": {
4035               "type": "array",
4036               "items": {
4037                 "type": "string"
4038               }
4039             },
4040             "nonce": {
4041               "type": "string"
4042             },
4043             "parent-id": {
4044               "type": "string"
4045             },
4046             "placement": {
4047               "$ref": "#/definitions/Placement"
4048             },
4049             "series": {
4050               "type": "string"
4051             }
4052           },
4053           "additionalProperties": false,
4054           "required": [
4055             "series",
4056             "constraints",
4057             "jobs",
4058             "parent-id",
4059             "container-type",
4060             "instance-id",
4061             "nonce",
4062             "hardware-characteristics",
4063             "addresses"
4064           ]
4065         },
4066         "AddMachines": {
4067           "type": "object",
4068           "properties": {
4069             "params": {
4070               "type": "array",
4071               "items": {
4072                 "$ref": "#/definitions/AddMachineParams"
4073               }
4074             }
4075           },
4076           "additionalProperties": false,
4077           "required": [
4078             "params"
4079           ]
4080         },
4081         "AddMachinesResult": {
4082           "type": "object",
4083           "properties": {
4084             "error": {
4085               "$ref": "#/definitions/Error"
4086             },
4087             "machine": {
4088               "type": "string"
4089             }
4090           },
4091           "additionalProperties": false,
4092           "required": [
4093             "machine"
4094           ]
4095         },
4096         "AddMachinesResults": {
4097           "type": "object",
4098           "properties": {
4099             "machines": {
4100               "type": "array",
4101               "items": {
4102                 "$ref": "#/definitions/AddMachinesResult"
4103               }
4104             }
4105           },
4106           "additionalProperties": false,
4107           "required": [
4108             "machines"
4109           ]
4110         },
4111         "Address": {
4112           "type": "object",
4113           "properties": {
4114             "scope": {
4115               "type": "string"
4116             },
4117             "space-name": {
4118               "type": "string"
4119             },
4120             "type": {
4121               "type": "string"
4122             },
4123             "value": {
4124               "type": "string"
4125             }
4126           },
4127           "additionalProperties": false,
4128           "required": [
4129             "value",
4130             "type",
4131             "scope"
4132           ]
4133         },
4134         "AgentVersionResult": {
4135           "type": "object",
4136           "properties": {
4137             "version": {
4138               "$ref": "#/definitions/Number"
4139             }
4140           },
4141           "additionalProperties": false,
4142           "required": [
4143             "version"
4144           ]
4145         },
4146         "AllWatcherId": {
4147           "type": "object",
4148           "properties": {
4149             "watcher-id": {
4150               "type": "string"
4151             }
4152           },
4153           "additionalProperties": false,
4154           "required": [
4155             "watcher-id"
4156           ]
4157         },
4158         "ApplicationStatus": {
4159           "type": "object",
4160           "properties": {
4161             "can-upgrade-to": {
4162               "type": "string"
4163             },
4164             "charm": {
4165               "type": "string"
4166             },
4167             "err": {
4168               "type": "object",
4169               "additionalProperties": true
4170             },
4171             "exposed": {
4172               "type": "boolean"
4173             },
4174             "life": {
4175               "type": "string"
4176             },
4177             "meter-statuses": {
4178               "type": "object",
4179               "patternProperties": {
4180                 ".*": {
4181                   "$ref": "#/definitions/MeterStatus"
4182                 }
4183               }
4184             },
4185             "relations": {
4186               "type": "object",
4187               "patternProperties": {
4188                 ".*": {
4189                   "type": "array",
4190                   "items": {
4191                     "type": "string"
4192                   }
4193                 }
4194               }
4195             },
4196             "series": {
4197               "type": "string"
4198             },
4199             "status": {
4200               "$ref": "#/definitions/DetailedStatus"
4201             },
4202             "subordinate-to": {
4203               "type": "array",
4204               "items": {
4205                 "type": "string"
4206               }
4207             },
4208             "units": {
4209               "type": "object",
4210               "patternProperties": {
4211                 ".*": {
4212                   "$ref": "#/definitions/UnitStatus"
4213                 }
4214               }
4215             },
4216             "workload-version": {
4217               "type": "string"
4218             }
4219           },
4220           "additionalProperties": false,
4221           "required": [
4222             "charm",
4223             "series",
4224             "exposed",
4225             "life",
4226             "relations",
4227             "can-upgrade-to",
4228             "subordinate-to",
4229             "units",
4230             "meter-statuses",
4231             "status",
4232             "workload-version"
4233           ]
4234         },
4235         "Binary": {
4236           "type": "object",
4237           "properties": {
4238             "Arch": {
4239               "type": "string"
4240             },
4241             "Number": {
4242               "$ref": "#/definitions/Number"
4243             },
4244             "Series": {
4245               "type": "string"
4246             }
4247           },
4248           "additionalProperties": false,
4249           "required": [
4250             "Number",
4251             "Series",
4252             "Arch"
4253           ]
4254         },
4255         "BundleChange": {
4256           "type": "object",
4257           "properties": {
4258             "args": {
4259               "type": "array",
4260               "items": {
4261                 "type": "object",
4262                 "additionalProperties": true
4263               }
4264             },
4265             "id": {
4266               "type": "string"
4267             },
4268             "method": {
4269               "type": "string"
4270             },
4271             "requires": {
4272               "type": "array",
4273               "items": {
4274                 "type": "string"
4275               }
4276             }
4277           },
4278           "additionalProperties": false,
4279           "required": [
4280             "id",
4281             "method",
4282             "args",
4283             "requires"
4284           ]
4285         },
4286         "BundleChangesParams": {
4287           "type": "object",
4288           "properties": {
4289             "yaml": {
4290               "type": "string"
4291             }
4292           },
4293           "additionalProperties": false,
4294           "required": [
4295             "yaml"
4296           ]
4297         },
4298         "BundleChangesResults": {
4299           "type": "object",
4300           "properties": {
4301             "changes": {
4302               "type": "array",
4303               "items": {
4304                 "$ref": "#/definitions/BundleChange"
4305               }
4306             },
4307             "errors": {
4308               "type": "array",
4309               "items": {
4310                 "type": "string"
4311               }
4312             }
4313           },
4314           "additionalProperties": false
4315         },
4316         "ConfigValue": {
4317           "type": "object",
4318           "properties": {
4319             "source": {
4320               "type": "string"
4321             },
4322             "value": {
4323               "type": "object",
4324               "additionalProperties": true
4325             }
4326           },
4327           "additionalProperties": false,
4328           "required": [
4329             "value",
4330             "source"
4331           ]
4332         },
4333         "Constraints": {
4334           "type": "object",
4335           "properties": {
4336             "Count": {
4337               "type": "integer"
4338             },
4339             "Pool": {
4340               "type": "string"
4341             },
4342             "Size": {
4343               "type": "integer"
4344             }
4345           },
4346           "additionalProperties": false,
4347           "required": [
4348             "Pool",
4349             "Size",
4350             "Count"
4351           ]
4352         },
4353         "DestroyMachines": {
4354           "type": "object",
4355           "properties": {
4356             "force": {
4357               "type": "boolean"
4358             },
4359             "machine-names": {
4360               "type": "array",
4361               "items": {
4362                 "type": "string"
4363               }
4364             }
4365           },
4366           "additionalProperties": false,
4367           "required": [
4368             "machine-names",
4369             "force"
4370           ]
4371         },
4372         "DetailedStatus": {
4373           "type": "object",
4374           "properties": {
4375             "data": {
4376               "type": "object",
4377               "patternProperties": {
4378                 ".*": {
4379                   "type": "object",
4380                   "additionalProperties": true
4381                 }
4382               }
4383             },
4384             "err": {
4385               "type": "object",
4386               "additionalProperties": true
4387             },
4388             "info": {
4389               "type": "string"
4390             },
4391             "kind": {
4392               "type": "string"
4393             },
4394             "life": {
4395               "type": "string"
4396             },
4397             "since": {
4398               "type": "string",
4399               "format": "date-time"
4400             },
4401             "status": {
4402               "type": "string"
4403             },
4404             "version": {
4405               "type": "string"
4406             }
4407           },
4408           "additionalProperties": false,
4409           "required": [
4410             "status",
4411             "info",
4412             "data",
4413             "since",
4414             "kind",
4415             "version",
4416             "life"
4417           ]
4418         },
4419         "EndpointStatus": {
4420           "type": "object",
4421           "properties": {
4422             "application": {
4423               "type": "string"
4424             },
4425             "name": {
4426               "type": "string"
4427             },
4428             "role": {
4429               "type": "string"
4430             },
4431             "subordinate": {
4432               "type": "boolean"
4433             }
4434           },
4435           "additionalProperties": false,
4436           "required": [
4437             "application",
4438             "name",
4439             "role",
4440             "subordinate"
4441           ]
4442         },
4443         "Entities": {
4444           "type": "object",
4445           "properties": {
4446             "entities": {
4447               "type": "array",
4448               "items": {
4449                 "$ref": "#/definitions/Entity"
4450               }
4451             }
4452           },
4453           "additionalProperties": false,
4454           "required": [
4455             "entities"
4456           ]
4457         },
4458         "Entity": {
4459           "type": "object",
4460           "properties": {
4461             "tag": {
4462               "type": "string"
4463             }
4464           },
4465           "additionalProperties": false,
4466           "required": [
4467             "tag"
4468           ]
4469         },
4470         "EntityStatus": {
4471           "type": "object",
4472           "properties": {
4473             "data": {
4474               "type": "object",
4475               "patternProperties": {
4476                 ".*": {
4477                   "type": "object",
4478                   "additionalProperties": true
4479                 }
4480               }
4481             },
4482             "info": {
4483               "type": "string"
4484             },
4485             "since": {
4486               "type": "string",
4487               "format": "date-time"
4488             },
4489             "status": {
4490               "type": "string"
4491             }
4492           },
4493           "additionalProperties": false,
4494           "required": [
4495             "status",
4496             "info",
4497             "since"
4498           ]
4499         },
4500         "Error": {
4501           "type": "object",
4502           "properties": {
4503             "code": {
4504               "type": "string"
4505             },
4506             "info": {
4507               "$ref": "#/definitions/ErrorInfo"
4508             },
4509             "message": {
4510               "type": "string"
4511             }
4512           },
4513           "additionalProperties": false,
4514           "required": [
4515             "message",
4516             "code"
4517           ]
4518         },
4519         "ErrorInfo": {
4520           "type": "object",
4521           "properties": {
4522             "macaroon": {
4523               "$ref": "#/definitions/Macaroon"
4524             },
4525             "macaroon-path": {
4526               "type": "string"
4527             }
4528           },
4529           "additionalProperties": false
4530         },
4531         "ErrorResult": {
4532           "type": "object",
4533           "properties": {
4534             "error": {
4535               "$ref": "#/definitions/Error"
4536             }
4537           },
4538           "additionalProperties": false
4539         },
4540         "ErrorResults": {
4541           "type": "object",
4542           "properties": {
4543             "results": {
4544               "type": "array",
4545               "items": {
4546                 "$ref": "#/definitions/ErrorResult"
4547               }
4548             }
4549           },
4550           "additionalProperties": false,
4551           "required": [
4552             "results"
4553           ]
4554         },
4555         "FindToolsParams": {
4556           "type": "object",
4557           "properties": {
4558             "arch": {
4559               "type": "string"
4560             },
4561             "major": {
4562               "type": "integer"
4563             },
4564             "minor": {
4565               "type": "integer"
4566             },
4567             "number": {
4568               "$ref": "#/definitions/Number"
4569             },
4570             "series": {
4571               "type": "string"
4572             }
4573           },
4574           "additionalProperties": false,
4575           "required": [
4576             "number",
4577             "major",
4578             "minor",
4579             "arch",
4580             "series"
4581           ]
4582         },
4583         "FindToolsResult": {
4584           "type": "object",
4585           "properties": {
4586             "error": {
4587               "$ref": "#/definitions/Error"
4588             },
4589             "list": {
4590               "type": "array",
4591               "items": {
4592                 "$ref": "#/definitions/Tools"
4593               }
4594             }
4595           },
4596           "additionalProperties": false,
4597           "required": [
4598             "list"
4599           ]
4600         },
4601         "FullStatus": {
4602           "type": "object",
4603           "properties": {
4604             "applications": {
4605               "type": "object",
4606               "patternProperties": {
4607                 ".*": {
4608                   "$ref": "#/definitions/ApplicationStatus"
4609                 }
4610               }
4611             },
4612             "machines": {
4613               "type": "object",
4614               "patternProperties": {
4615                 ".*": {
4616                   "$ref": "#/definitions/MachineStatus"
4617                 }
4618               }
4619             },
4620             "model": {
4621               "$ref": "#/definitions/ModelStatusInfo"
4622             },
4623             "relations": {
4624               "type": "array",
4625               "items": {
4626                 "$ref": "#/definitions/RelationStatus"
4627               }
4628             },
4629             "remote-applications": {
4630               "type": "object",
4631               "patternProperties": {
4632                 ".*": {
4633                   "$ref": "#/definitions/RemoteApplicationStatus"
4634                 }
4635               }
4636             }
4637           },
4638           "additionalProperties": false,
4639           "required": [
4640             "model",
4641             "machines",
4642             "applications",
4643             "remote-applications",
4644             "relations"
4645           ]
4646         },
4647         "GetConstraintsResults": {
4648           "type": "object",
4649           "properties": {
4650             "constraints": {
4651               "$ref": "#/definitions/Value"
4652             }
4653           },
4654           "additionalProperties": false,
4655           "required": [
4656             "constraints"
4657           ]
4658         },
4659         "HardwareCharacteristics": {
4660           "type": "object",
4661           "properties": {
4662             "arch": {
4663               "type": "string"
4664             },
4665             "availability-zone": {
4666               "type": "string"
4667             },
4668             "cpu-cores": {
4669               "type": "integer"
4670             },
4671             "cpu-power": {
4672               "type": "integer"
4673             },
4674             "mem": {
4675               "type": "integer"
4676             },
4677             "root-disk": {
4678               "type": "integer"
4679             },
4680             "tags": {
4681               "type": "array",
4682               "items": {
4683                 "type": "string"
4684               }
4685             }
4686           },
4687           "additionalProperties": false
4688         },
4689         "History": {
4690           "type": "object",
4691           "properties": {
4692             "error": {
4693               "$ref": "#/definitions/Error"
4694             },
4695             "statuses": {
4696               "type": "array",
4697               "items": {
4698                 "$ref": "#/definitions/DetailedStatus"
4699               }
4700             }
4701           },
4702           "additionalProperties": false,
4703           "required": [
4704             "statuses"
4705           ]
4706         },
4707         "HostPort": {
4708           "type": "object",
4709           "properties": {
4710             "Address": {
4711               "$ref": "#/definitions/Address"
4712             },
4713             "port": {
4714               "type": "integer"
4715             }
4716           },
4717           "additionalProperties": false,
4718           "required": [
4719             "Address",
4720             "port"
4721           ]
4722         },
4723         "Macaroon": {
4724           "type": "object",
4725           "additionalProperties": false
4726         },
4727         "MachineHardware": {
4728           "type": "object",
4729           "properties": {
4730             "arch": {
4731               "type": "string"
4732             },
4733             "availability-zone": {
4734               "type": "string"
4735             },
4736             "cores": {
4737               "type": "integer"
4738             },
4739             "cpu-power": {
4740               "type": "integer"
4741             },
4742             "mem": {
4743               "type": "integer"
4744             },
4745             "root-disk": {
4746               "type": "integer"
4747             },
4748             "tags": {
4749               "type": "array",
4750               "items": {
4751                 "type": "string"
4752               }
4753             }
4754           },
4755           "additionalProperties": false
4756         },
4757         "MachineStatus": {
4758           "type": "object",
4759           "properties": {
4760             "agent-status": {
4761               "$ref": "#/definitions/DetailedStatus"
4762             },
4763             "constraints": {
4764               "type": "string"
4765             },
4766             "containers": {
4767               "type": "object",
4768               "patternProperties": {
4769                 ".*": {
4770                   "$ref": "#/definitions/MachineStatus"
4771                 }
4772               }
4773             },
4774             "dns-name": {
4775               "type": "string"
4776             },
4777             "hardware": {
4778               "type": "string"
4779             },
4780             "has-vote": {
4781               "type": "boolean"
4782             },
4783             "id": {
4784               "type": "string"
4785             },
4786             "instance-id": {
4787               "type": "string"
4788             },
4789             "instance-status": {
4790               "$ref": "#/definitions/DetailedStatus"
4791             },
4792             "ip-addresses": {
4793               "type": "array",
4794               "items": {
4795                 "type": "string"
4796               }
4797             },
4798             "jobs": {
4799               "type": "array",
4800               "items": {
4801                 "type": "string"
4802               }
4803             },
4804             "network-interfaces": {
4805               "type": "object",
4806               "patternProperties": {
4807                 ".*": {
4808                   "$ref": "#/definitions/NetworkInterface"
4809                 }
4810               }
4811             },
4812             "series": {
4813               "type": "string"
4814             },
4815             "wants-vote": {
4816               "type": "boolean"
4817             }
4818           },
4819           "additionalProperties": false,
4820           "required": [
4821             "agent-status",
4822             "instance-status",
4823             "dns-name",
4824             "instance-id",
4825             "series",
4826             "id",
4827             "containers",
4828             "constraints",
4829             "hardware",
4830             "jobs",
4831             "has-vote",
4832             "wants-vote"
4833           ]
4834         },
4835         "MeterStatus": {
4836           "type": "object",
4837           "properties": {
4838             "color": {
4839               "type": "string"
4840             },
4841             "message": {
4842               "type": "string"
4843             }
4844           },
4845           "additionalProperties": false,
4846           "required": [
4847             "color",
4848             "message"
4849           ]
4850         },
4851         "ModelConfigResults": {
4852           "type": "object",
4853           "properties": {
4854             "config": {
4855               "type": "object",
4856               "patternProperties": {
4857                 ".*": {
4858                   "$ref": "#/definitions/ConfigValue"
4859                 }
4860               }
4861             }
4862           },
4863           "additionalProperties": false,
4864           "required": [
4865             "config"
4866           ]
4867         },
4868         "ModelInfo": {
4869           "type": "object",
4870           "properties": {
4871             "cloud-credential-tag": {
4872               "type": "string"
4873             },
4874             "cloud-region": {
4875               "type": "string"
4876             },
4877             "cloud-tag": {
4878               "type": "string"
4879             },
4880             "controller-uuid": {
4881               "type": "string"
4882             },
4883             "default-series": {
4884               "type": "string"
4885             },
4886             "life": {
4887               "type": "string"
4888             },
4889             "machines": {
4890               "type": "array",
4891               "items": {
4892                 "$ref": "#/definitions/ModelMachineInfo"
4893               }
4894             },
4895             "migration": {
4896               "$ref": "#/definitions/ModelMigrationStatus"
4897             },
4898             "name": {
4899               "type": "string"
4900             },
4901             "owner-tag": {
4902               "type": "string"
4903             },
4904             "provider-type": {
4905               "type": "string"
4906             },
4907             "status": {
4908               "$ref": "#/definitions/EntityStatus"
4909             },
4910             "users": {
4911               "type": "array",
4912               "items": {
4913                 "$ref": "#/definitions/ModelUserInfo"
4914               }
4915             },
4916             "uuid": {
4917               "type": "string"
4918             }
4919           },
4920           "additionalProperties": false,
4921           "required": [
4922             "name",
4923             "uuid",
4924             "controller-uuid",
4925             "provider-type",
4926             "default-series",
4927             "cloud-tag",
4928             "owner-tag",
4929             "life",
4930             "status",
4931             "users",
4932             "machines"
4933           ]
4934         },
4935         "ModelMachineInfo": {
4936           "type": "object",
4937           "properties": {
4938             "hardware": {
4939               "$ref": "#/definitions/MachineHardware"
4940             },
4941             "has-vote": {
4942               "type": "boolean"
4943             },
4944             "id": {
4945               "type": "string"
4946             },
4947             "instance-id": {
4948               "type": "string"
4949             },
4950             "status": {
4951               "type": "string"
4952             },
4953             "wants-vote": {
4954               "type": "boolean"
4955             }
4956           },
4957           "additionalProperties": false,
4958           "required": [
4959             "id"
4960           ]
4961         },
4962         "ModelMigrationStatus": {
4963           "type": "object",
4964           "properties": {
4965             "end": {
4966               "type": "string",
4967               "format": "date-time"
4968             },
4969             "start": {
4970               "type": "string",
4971               "format": "date-time"
4972             },
4973             "status": {
4974               "type": "string"
4975             }
4976           },
4977           "additionalProperties": false,
4978           "required": [
4979             "status",
4980             "start"
4981           ]
4982         },
4983         "ModelSet": {
4984           "type": "object",
4985           "properties": {
4986             "config": {
4987               "type": "object",
4988               "patternProperties": {
4989                 ".*": {
4990                   "type": "object",
4991                   "additionalProperties": true
4992                 }
4993               }
4994             }
4995           },
4996           "additionalProperties": false,
4997           "required": [
4998             "config"
4999           ]
5000         },
5001         "ModelStatusInfo": {
5002           "type": "object",
5003           "properties": {
5004             "available-version": {
5005               "type": "string"
5006             },
5007             "cloud-tag": {
5008               "type": "string"
5009             },
5010             "model-status": {
5011               "$ref": "#/definitions/DetailedStatus"
5012             },
5013             "name": {
5014               "type": "string"
5015             },
5016             "region": {
5017               "type": "string"
5018             },
5019             "version": {
5020               "type": "string"
5021             }
5022           },
5023           "additionalProperties": false,
5024           "required": [
5025             "name",
5026             "cloud-tag",
5027             "version",
5028             "available-version",
5029             "model-status"
5030           ]
5031         },
5032         "ModelUnset": {
5033           "type": "object",
5034           "properties": {
5035             "keys": {
5036               "type": "array",
5037               "items": {
5038                 "type": "string"
5039               }
5040             }
5041           },
5042           "additionalProperties": false,
5043           "required": [
5044             "keys"
5045           ]
5046         },
5047         "ModelUserInfo": {
5048           "type": "object",
5049           "properties": {
5050             "access": {
5051               "type": "string"
5052             },
5053             "display-name": {
5054               "type": "string"
5055             },
5056             "last-connection": {
5057               "type": "string",
5058               "format": "date-time"
5059             },
5060             "user": {
5061               "type": "string"
5062             }
5063           },
5064           "additionalProperties": false,
5065           "required": [
5066             "user",
5067             "display-name",
5068             "last-connection",
5069             "access"
5070           ]
5071         },
5072         "ModelUserInfoResult": {
5073           "type": "object",
5074           "properties": {
5075             "error": {
5076               "$ref": "#/definitions/Error"
5077             },
5078             "result": {
5079               "$ref": "#/definitions/ModelUserInfo"
5080             }
5081           },
5082           "additionalProperties": false
5083         },
5084         "ModelUserInfoResults": {
5085           "type": "object",
5086           "properties": {
5087             "results": {
5088               "type": "array",
5089               "items": {
5090                 "$ref": "#/definitions/ModelUserInfoResult"
5091               }
5092             }
5093           },
5094           "additionalProperties": false,
5095           "required": [
5096             "results"
5097           ]
5098         },
5099         "NetworkInterface": {
5100           "type": "object",
5101           "properties": {
5102             "dns-nameservers": {
5103               "type": "array",
5104               "items": {
5105                 "type": "string"
5106               }
5107             },
5108             "gateway": {
5109               "type": "string"
5110             },
5111             "ip-addresses": {
5112               "type": "array",
5113               "items": {
5114                 "type": "string"
5115               }
5116             },
5117             "is-up": {
5118               "type": "boolean"
5119             },
5120             "mac-address": {
5121               "type": "string"
5122             },
5123             "space": {
5124               "type": "string"
5125             }
5126           },
5127           "additionalProperties": false,
5128           "required": [
5129             "ip-addresses",
5130             "mac-address",
5131             "is-up"
5132           ]
5133         },
5134         "Number": {
5135           "type": "object",
5136           "properties": {
5137             "Build": {
5138               "type": "integer"
5139             },
5140             "Major": {
5141               "type": "integer"
5142             },
5143             "Minor": {
5144               "type": "integer"
5145             },
5146             "Patch": {
5147               "type": "integer"
5148             },
5149             "Tag": {
5150               "type": "string"
5151             }
5152           },
5153           "additionalProperties": false,
5154           "required": [
5155             "Major",
5156             "Minor",
5157             "Tag",
5158             "Patch",
5159             "Build"
5160           ]
5161         },
5162         "Placement": {
5163           "type": "object",
5164           "properties": {
5165             "directive": {
5166               "type": "string"
5167             },
5168             "scope": {
5169               "type": "string"
5170             }
5171           },
5172           "additionalProperties": false,
5173           "required": [
5174             "scope",
5175             "directive"
5176           ]
5177         },
5178         "PrivateAddress": {
5179           "type": "object",
5180           "properties": {
5181             "target": {
5182               "type": "string"
5183             }
5184           },
5185           "additionalProperties": false,
5186           "required": [
5187             "target"
5188           ]
5189         },
5190         "PrivateAddressResults": {
5191           "type": "object",
5192           "properties": {
5193             "private-address": {
5194               "type": "string"
5195             }
5196           },
5197           "additionalProperties": false,
5198           "required": [
5199             "private-address"
5200           ]
5201         },
5202         "ProvisioningScriptParams": {
5203           "type": "object",
5204           "properties": {
5205             "data-dir": {
5206               "type": "string"
5207             },
5208             "disable-package-commands": {
5209               "type": "boolean"
5210             },
5211             "machine-id": {
5212               "type": "string"
5213             },
5214             "nonce": {
5215               "type": "string"
5216             }
5217           },
5218           "additionalProperties": false,
5219           "required": [
5220             "machine-id",
5221             "nonce",
5222             "data-dir",
5223             "disable-package-commands"
5224           ]
5225         },
5226         "ProvisioningScriptResult": {
5227           "type": "object",
5228           "properties": {
5229             "script": {
5230               "type": "string"
5231             }
5232           },
5233           "additionalProperties": false,
5234           "required": [
5235             "script"
5236           ]
5237         },
5238         "PublicAddress": {
5239           "type": "object",
5240           "properties": {
5241             "target": {
5242               "type": "string"
5243             }
5244           },
5245           "additionalProperties": false,
5246           "required": [
5247             "target"
5248           ]
5249         },
5250         "PublicAddressResults": {
5251           "type": "object",
5252           "properties": {
5253             "public-address": {
5254               "type": "string"
5255             }
5256           },
5257           "additionalProperties": false,
5258           "required": [
5259             "public-address"
5260           ]
5261         },
5262         "RelationStatus": {
5263           "type": "object",
5264           "properties": {
5265             "endpoints": {
5266               "type": "array",
5267               "items": {
5268                 "$ref": "#/definitions/EndpointStatus"
5269               }
5270             },
5271             "id": {
5272               "type": "integer"
5273             },
5274             "interface": {
5275               "type": "string"
5276             },
5277             "key": {
5278               "type": "string"
5279             },
5280             "scope": {
5281               "type": "string"
5282             }
5283           },
5284           "additionalProperties": false,
5285           "required": [
5286             "id",
5287             "key",
5288             "interface",
5289             "scope",
5290             "endpoints"
5291           ]
5292         },
5293         "RemoteApplicationStatus": {
5294           "type": "object",
5295           "properties": {
5296             "application-name": {
5297               "type": "string"
5298             },
5299             "application-url": {
5300               "type": "string"
5301             },
5302             "endpoints": {
5303               "type": "array",
5304               "items": {
5305                 "$ref": "#/definitions/RemoteEndpoint"
5306               }
5307             },
5308             "err": {
5309               "type": "object",
5310               "additionalProperties": true
5311             },
5312             "life": {
5313               "type": "string"
5314             },
5315             "relations": {
5316               "type": "object",
5317               "patternProperties": {
5318                 ".*": {
5319                   "type": "array",
5320                   "items": {
5321                     "type": "string"
5322                   }
5323                 }
5324               }
5325             },
5326             "status": {
5327               "$ref": "#/definitions/DetailedStatus"
5328             }
5329           },
5330           "additionalProperties": false,
5331           "required": [
5332             "application-url",
5333             "application-name",
5334             "endpoints",
5335             "life",
5336             "relations",
5337             "status"
5338           ]
5339         },
5340         "RemoteEndpoint": {
5341           "type": "object",
5342           "properties": {
5343             "interface": {
5344               "type": "string"
5345             },
5346             "limit": {
5347               "type": "integer"
5348             },
5349             "name": {
5350               "type": "string"
5351             },
5352             "role": {
5353               "type": "string"
5354             },
5355             "scope": {
5356               "type": "string"
5357             }
5358           },
5359           "additionalProperties": false,
5360           "required": [
5361             "name",
5362             "role",
5363             "interface",
5364             "limit",
5365             "scope"
5366           ]
5367         },
5368         "ResolveCharmResult": {
5369           "type": "object",
5370           "properties": {
5371             "error": {
5372               "type": "string"
5373             },
5374             "url": {
5375               "type": "string"
5376             }
5377           },
5378           "additionalProperties": false
5379         },
5380         "ResolveCharmResults": {
5381           "type": "object",
5382           "properties": {
5383             "urls": {
5384               "type": "array",
5385               "items": {
5386                 "$ref": "#/definitions/ResolveCharmResult"
5387               }
5388             }
5389           },
5390           "additionalProperties": false,
5391           "required": [
5392             "urls"
5393           ]
5394         },
5395         "ResolveCharms": {
5396           "type": "object",
5397           "properties": {
5398             "references": {
5399               "type": "array",
5400               "items": {
5401                 "type": "string"
5402               }
5403             }
5404           },
5405           "additionalProperties": false,
5406           "required": [
5407             "references"
5408           ]
5409         },
5410         "Resolved": {
5411           "type": "object",
5412           "properties": {
5413             "retry": {
5414               "type": "boolean"
5415             },
5416             "unit-name": {
5417               "type": "string"
5418             }
5419           },
5420           "additionalProperties": false,
5421           "required": [
5422             "unit-name",
5423             "retry"
5424           ]
5425         },
5426         "SetConstraints": {
5427           "type": "object",
5428           "properties": {
5429             "application": {
5430               "type": "string"
5431             },
5432             "constraints": {
5433               "$ref": "#/definitions/Value"
5434             }
5435           },
5436           "additionalProperties": false,
5437           "required": [
5438             "application",
5439             "constraints"
5440           ]
5441         },
5442         "SetModelAgentVersion": {
5443           "type": "object",
5444           "properties": {
5445             "version": {
5446               "$ref": "#/definitions/Number"
5447             }
5448           },
5449           "additionalProperties": false,
5450           "required": [
5451             "version"
5452           ]
5453         },
5454         "StatusHistoryFilter": {
5455           "type": "object",
5456           "properties": {
5457             "date": {
5458               "type": "string",
5459               "format": "date-time"
5460             },
5461             "delta": {
5462               "type": "integer"
5463             },
5464             "exclude": {
5465               "type": "array",
5466               "items": {
5467                 "type": "string"
5468               }
5469             },
5470             "size": {
5471               "type": "integer"
5472             }
5473           },
5474           "additionalProperties": false,
5475           "required": [
5476             "size",
5477             "date",
5478             "delta",
5479             "exclude"
5480           ]
5481         },
5482         "StatusHistoryRequest": {
5483           "type": "object",
5484           "properties": {
5485             "filter": {
5486               "$ref": "#/definitions/StatusHistoryFilter"
5487             },
5488             "historyKind": {
5489               "type": "string"
5490             },
5491             "size": {
5492               "type": "integer"
5493             },
5494             "tag": {
5495               "type": "string"
5496             }
5497           },
5498           "additionalProperties": false,
5499           "required": [
5500             "historyKind",
5501             "size",
5502             "filter",
5503             "tag"
5504           ]
5505         },
5506         "StatusHistoryRequests": {
5507           "type": "object",
5508           "properties": {
5509             "requests": {
5510               "type": "array",
5511               "items": {
5512                 "$ref": "#/definitions/StatusHistoryRequest"
5513               }
5514             }
5515           },
5516           "additionalProperties": false,
5517           "required": [
5518             "requests"
5519           ]
5520         },
5521         "StatusHistoryResult": {
5522           "type": "object",
5523           "properties": {
5524             "error": {
5525               "$ref": "#/definitions/Error"
5526             },
5527             "history": {
5528               "$ref": "#/definitions/History"
5529             }
5530           },
5531           "additionalProperties": false,
5532           "required": [
5533             "history"
5534           ]
5535         },
5536         "StatusHistoryResults": {
5537           "type": "object",
5538           "properties": {
5539             "results": {
5540               "type": "array",
5541               "items": {
5542                 "$ref": "#/definitions/StatusHistoryResult"
5543               }
5544             }
5545           },
5546           "additionalProperties": false,
5547           "required": [
5548             "results"
5549           ]
5550         },
5551         "StatusParams": {
5552           "type": "object",
5553           "properties": {
5554             "patterns": {
5555               "type": "array",
5556               "items": {
5557                 "type": "string"
5558               }
5559             }
5560           },
5561           "additionalProperties": false,
5562           "required": [
5563             "patterns"
5564           ]
5565         },
5566         "Tools": {
5567           "type": "object",
5568           "properties": {
5569             "sha256": {
5570               "type": "string"
5571             },
5572             "size": {
5573               "type": "integer"
5574             },
5575             "url": {
5576               "type": "string"
5577             },
5578             "version": {
5579               "$ref": "#/definitions/Binary"
5580             }
5581           },
5582           "additionalProperties": false,
5583           "required": [
5584             "version",
5585             "url",
5586             "size"
5587           ]
5588         },
5589         "UnitStatus": {
5590           "type": "object",
5591           "properties": {
5592             "agent-status": {
5593               "$ref": "#/definitions/DetailedStatus"
5594             },
5595             "charm": {
5596               "type": "string"
5597             },
5598             "leader": {
5599               "type": "boolean"
5600             },
5601             "machine": {
5602               "type": "string"
5603             },
5604             "opened-ports": {
5605               "type": "array",
5606               "items": {
5607                 "type": "string"
5608               }
5609             },
5610             "public-address": {
5611               "type": "string"
5612             },
5613             "subordinates": {
5614               "type": "object",
5615               "patternProperties": {
5616                 ".*": {
5617                   "$ref": "#/definitions/UnitStatus"
5618                 }
5619               }
5620             },
5621             "workload-status": {
5622               "$ref": "#/definitions/DetailedStatus"
5623             },
5624             "workload-version": {
5625               "type": "string"
5626             }
5627           },
5628           "additionalProperties": false,
5629           "required": [
5630             "agent-status",
5631             "workload-status",
5632             "workload-version",
5633             "machine",
5634             "opened-ports",
5635             "public-address",
5636             "charm",
5637             "subordinates"
5638           ]
5639         },
5640         "Value": {
5641           "type": "object",
5642           "properties": {
5643             "arch": {
5644               "type": "string"
5645             },
5646             "container": {
5647               "type": "string"
5648             },
5649             "cores": {
5650               "type": "integer"
5651             },
5652             "cpu-power": {
5653               "type": "integer"
5654             },
5655             "instance-type": {
5656               "type": "string"
5657             },
5658             "mem": {
5659               "type": "integer"
5660             },
5661             "root-disk": {
5662               "type": "integer"
5663             },
5664             "spaces": {
5665               "type": "array",
5666               "items": {
5667                 "type": "string"
5668               }
5669             },
5670             "tags": {
5671               "type": "array",
5672               "items": {
5673                 "type": "string"
5674               }
5675             },
5676             "virt-type": {
5677               "type": "string"
5678             }
5679           },
5680           "additionalProperties": false
5681         }
5682       }
5683     }
5684   },
5685   {
5686     "Name": "Cloud",
5687     "Version": 1,
5688     "Schema": {
5689       "type": "object",
5690       "properties": {
5691         "Cloud": {
5692           "type": "object",
5693           "properties": {
5694             "Params": {
5695               "$ref": "#/definitions/Entities"
5696             },
5697             "Result": {
5698               "$ref": "#/definitions/CloudResults"
5699             }
5700           }
5701         },
5702         "Clouds": {
5703           "type": "object",
5704           "properties": {
5705             "Result": {
5706               "$ref": "#/definitions/CloudsResult"
5707             }
5708           }
5709         },
5710         "Credential": {
5711           "type": "object",
5712           "properties": {
5713             "Params": {
5714               "$ref": "#/definitions/Entities"
5715             },
5716             "Result": {
5717               "$ref": "#/definitions/CloudCredentialResults"
5718             }
5719           }
5720         },
5721         "DefaultCloud": {
5722           "type": "object",
5723           "properties": {
5724             "Result": {
5725               "$ref": "#/definitions/StringResult"
5726             }
5727           }
5728         },
5729         "InstanceTypes": {
5730           "type": "object",
5731           "properties": {
5732             "Params": {
5733               "$ref": "#/definitions/CloudInstanceTypesConstraints"
5734             },
5735             "Result": {
5736               "$ref": "#/definitions/InstanceTypesResults"
5737             }
5738           }
5739         },
5740         "RevokeCredentials": {
5741           "type": "object",
5742           "properties": {
5743             "Params": {
5744               "$ref": "#/definitions/Entities"
5745             },
5746             "Result": {
5747               "$ref": "#/definitions/ErrorResults"
5748             }
5749           }
5750         },
5751         "UpdateCredentials": {
5752           "type": "object",
5753           "properties": {
5754             "Params": {
5755               "$ref": "#/definitions/UpdateCloudCredentials"
5756             },
5757             "Result": {
5758               "$ref": "#/definitions/ErrorResults"
5759             }
5760           }
5761         },
5762         "UserCredentials": {
5763           "type": "object",
5764           "properties": {
5765             "Params": {
5766               "$ref": "#/definitions/UserClouds"
5767             },
5768             "Result": {
5769               "$ref": "#/definitions/StringsResults"
5770             }
5771           }
5772         }
5773       },
5774       "definitions": {
5775         "Cloud": {
5776           "type": "object",
5777           "properties": {
5778             "auth-types": {
5779               "type": "array",
5780               "items": {
5781                 "type": "string"
5782               }
5783             },
5784             "endpoint": {
5785               "type": "string"
5786             },
5787             "identity-endpoint": {
5788               "type": "string"
5789             },
5790             "regions": {
5791               "type": "array",
5792               "items": {
5793                 "$ref": "#/definitions/CloudRegion"
5794               }
5795             },
5796             "storage-endpoint": {
5797               "type": "string"
5798             },
5799             "type": {
5800               "type": "string"
5801             }
5802           },
5803           "additionalProperties": false,
5804           "required": [
5805             "type"
5806           ]
5807         },
5808         "CloudCredential": {
5809           "type": "object",
5810           "properties": {
5811             "attrs": {
5812               "type": "object",
5813               "patternProperties": {
5814                 ".*": {
5815                   "type": "string"
5816                 }
5817               }
5818             },
5819             "auth-type": {
5820               "type": "string"
5821             },
5822             "redacted": {
5823               "type": "array",
5824               "items": {
5825                 "type": "string"
5826               }
5827             }
5828           },
5829           "additionalProperties": false,
5830           "required": [
5831             "auth-type"
5832           ]
5833         },
5834         "CloudCredentialResult": {
5835           "type": "object",
5836           "properties": {
5837             "error": {
5838               "$ref": "#/definitions/Error"
5839             },
5840             "result": {
5841               "$ref": "#/definitions/CloudCredential"
5842             }
5843           },
5844           "additionalProperties": false
5845         },
5846         "CloudCredentialResults": {
5847           "type": "object",
5848           "properties": {
5849             "results": {
5850               "type": "array",
5851               "items": {
5852                 "$ref": "#/definitions/CloudCredentialResult"
5853               }
5854             }
5855           },
5856           "additionalProperties": false
5857         },
5858         "CloudInstanceTypesConstraint": {
5859           "type": "object",
5860           "properties": {
5861             "cloud-tag": {
5862               "type": "string"
5863             },
5864             "constraints": {
5865               "$ref": "#/definitions/Value"
5866             },
5867             "region": {
5868               "type": "string"
5869             }
5870           },
5871           "additionalProperties": false,
5872           "required": [
5873             "cloud-tag",
5874             "region"
5875           ]
5876         },
5877         "CloudInstanceTypesConstraints": {
5878           "type": "object",
5879           "properties": {
5880             "constraints": {
5881               "type": "array",
5882               "items": {
5883                 "$ref": "#/definitions/CloudInstanceTypesConstraint"
5884               }
5885             }
5886           },
5887           "additionalProperties": false,
5888           "required": [
5889             "constraints"
5890           ]
5891         },
5892         "CloudRegion": {
5893           "type": "object",
5894           "properties": {
5895             "endpoint": {
5896               "type": "string"
5897             },
5898             "identity-endpoint": {
5899               "type": "string"
5900             },
5901             "name": {
5902               "type": "string"
5903             },
5904             "storage-endpoint": {
5905               "type": "string"
5906             }
5907           },
5908           "additionalProperties": false,
5909           "required": [
5910             "name"
5911           ]
5912         },
5913         "CloudResult": {
5914           "type": "object",
5915           "properties": {
5916             "cloud": {
5917               "$ref": "#/definitions/Cloud"
5918             },
5919             "error": {
5920               "$ref": "#/definitions/Error"
5921             }
5922           },
5923           "additionalProperties": false
5924         },
5925         "CloudResults": {
5926           "type": "object",
5927           "properties": {
5928             "results": {
5929               "type": "array",
5930               "items": {
5931                 "$ref": "#/definitions/CloudResult"
5932               }
5933             }
5934           },
5935           "additionalProperties": false
5936         },
5937         "CloudsResult": {
5938           "type": "object",
5939           "properties": {
5940             "clouds": {
5941               "type": "object",
5942               "patternProperties": {
5943                 ".*": {
5944                   "$ref": "#/definitions/Cloud"
5945                 }
5946               }
5947             }
5948           },
5949           "additionalProperties": false
5950         },
5951         "Entities": {
5952           "type": "object",
5953           "properties": {
5954             "entities": {
5955               "type": "array",
5956               "items": {
5957                 "$ref": "#/definitions/Entity"
5958               }
5959             }
5960           },
5961           "additionalProperties": false,
5962           "required": [
5963             "entities"
5964           ]
5965         },
5966         "Entity": {
5967           "type": "object",
5968           "properties": {
5969             "tag": {
5970               "type": "string"
5971             }
5972           },
5973           "additionalProperties": false,
5974           "required": [
5975             "tag"
5976           ]
5977         },
5978         "Error": {
5979           "type": "object",
5980           "properties": {
5981             "code": {
5982               "type": "string"
5983             },
5984             "info": {
5985               "$ref": "#/definitions/ErrorInfo"
5986             },
5987             "message": {
5988               "type": "string"
5989             }
5990           },
5991           "additionalProperties": false,
5992           "required": [
5993             "message",
5994             "code"
5995           ]
5996         },
5997         "ErrorInfo": {
5998           "type": "object",
5999           "properties": {
6000             "macaroon": {
6001               "$ref": "#/definitions/Macaroon"
6002             },
6003             "macaroon-path": {
6004               "type": "string"
6005             }
6006           },
6007           "additionalProperties": false
6008         },
6009         "ErrorResult": {
6010           "type": "object",
6011           "properties": {
6012             "error": {
6013               "$ref": "#/definitions/Error"
6014             }
6015           },
6016           "additionalProperties": false
6017         },
6018         "ErrorResults": {
6019           "type": "object",
6020           "properties": {
6021             "results": {
6022               "type": "array",
6023               "items": {
6024                 "$ref": "#/definitions/ErrorResult"
6025               }
6026             }
6027           },
6028           "additionalProperties": false,
6029           "required": [
6030             "results"
6031           ]
6032         },
6033         "InstanceType": {
6034           "type": "object",
6035           "properties": {
6036             "arches": {
6037               "type": "array",
6038               "items": {
6039                 "type": "string"
6040               }
6041             },
6042             "cost": {
6043               "type": "integer"
6044             },
6045             "cpu-cores": {
6046               "type": "integer"
6047             },
6048             "deprecated": {
6049               "type": "boolean"
6050             },
6051             "memory": {
6052               "type": "integer"
6053             },
6054             "name": {
6055               "type": "string"
6056             },
6057             "root-disk": {
6058               "type": "integer"
6059             },
6060             "virt-type": {
6061               "type": "string"
6062             }
6063           },
6064           "additionalProperties": false,
6065           "required": [
6066             "arches",
6067             "cpu-cores",
6068             "memory"
6069           ]
6070         },
6071         "InstanceTypesResult": {
6072           "type": "object",
6073           "properties": {
6074             "cost-currency": {
6075               "type": "string"
6076             },
6077             "cost-divisor": {
6078               "type": "integer"
6079             },
6080             "cost-unit": {
6081               "type": "string"
6082             },
6083             "error": {
6084               "$ref": "#/definitions/Error"
6085             },
6086             "instance-types": {
6087               "type": "array",
6088               "items": {
6089                 "$ref": "#/definitions/InstanceType"
6090               }
6091             }
6092           },
6093           "additionalProperties": false
6094         },
6095         "InstanceTypesResults": {
6096           "type": "object",
6097           "properties": {
6098             "results": {
6099               "type": "array",
6100               "items": {
6101                 "$ref": "#/definitions/InstanceTypesResult"
6102               }
6103             }
6104           },
6105           "additionalProperties": false,
6106           "required": [
6107             "results"
6108           ]
6109         },
6110         "Macaroon": {
6111           "type": "object",
6112           "additionalProperties": false
6113         },
6114         "StringResult": {
6115           "type": "object",
6116           "properties": {
6117             "error": {
6118               "$ref": "#/definitions/Error"
6119             },
6120             "result": {
6121               "type": "string"
6122             }
6123           },
6124           "additionalProperties": false,
6125           "required": [
6126             "result"
6127           ]
6128         },
6129         "StringsResult": {
6130           "type": "object",
6131           "properties": {
6132             "error": {
6133               "$ref": "#/definitions/Error"
6134             },
6135             "result": {
6136               "type": "array",
6137               "items": {
6138                 "type": "string"
6139               }
6140             }
6141           },
6142           "additionalProperties": false
6143         },
6144         "StringsResults": {
6145           "type": "object",
6146           "properties": {
6147             "results": {
6148               "type": "array",
6149               "items": {
6150                 "$ref": "#/definitions/StringsResult"
6151               }
6152             }
6153           },
6154           "additionalProperties": false,
6155           "required": [
6156             "results"
6157           ]
6158         },
6159         "UpdateCloudCredential": {
6160           "type": "object",
6161           "properties": {
6162             "credential": {
6163               "$ref": "#/definitions/CloudCredential"
6164             },
6165             "tag": {
6166               "type": "string"
6167             }
6168           },
6169           "additionalProperties": false,
6170           "required": [
6171             "tag",
6172             "credential"
6173           ]
6174         },
6175         "UpdateCloudCredentials": {
6176           "type": "object",
6177           "properties": {
6178             "credentials": {
6179               "type": "array",
6180               "items": {
6181                 "$ref": "#/definitions/UpdateCloudCredential"
6182               }
6183             }
6184           },
6185           "additionalProperties": false
6186         },
6187         "UserCloud": {
6188           "type": "object",
6189           "properties": {
6190             "cloud-tag": {
6191               "type": "string"
6192             },
6193             "user-tag": {
6194               "type": "string"
6195             }
6196           },
6197           "additionalProperties": false,
6198           "required": [
6199             "user-tag",
6200             "cloud-tag"
6201           ]
6202         },
6203         "UserClouds": {
6204           "type": "object",
6205           "properties": {
6206             "user-clouds": {
6207               "type": "array",
6208               "items": {
6209                 "$ref": "#/definitions/UserCloud"
6210               }
6211             }
6212           },
6213           "additionalProperties": false
6214         },
6215         "Value": {
6216           "type": "object",
6217           "properties": {
6218             "arch": {
6219               "type": "string"
6220             },
6221             "container": {
6222               "type": "string"
6223             },
6224             "cores": {
6225               "type": "integer"
6226             },
6227             "cpu-power": {
6228               "type": "integer"
6229             },
6230             "instance-type": {
6231               "type": "string"
6232             },
6233             "mem": {
6234               "type": "integer"
6235             },
6236             "root-disk": {
6237               "type": "integer"
6238             },
6239             "spaces": {
6240               "type": "array",
6241               "items": {
6242                 "type": "string"
6243               }
6244             },
6245             "tags": {
6246               "type": "array",
6247               "items": {
6248                 "type": "string"
6249               }
6250             },
6251             "virt-type": {
6252               "type": "string"
6253             }
6254           },
6255           "additionalProperties": false
6256         }
6257       }
6258     }
6259   },
6260   {
6261     "Name": "Controller",
6262     "Version": 3,
6263     "Schema": {
6264       "type": "object",
6265       "properties": {
6266         "AllModels": {
6267           "type": "object",
6268           "properties": {
6269             "Result": {
6270               "$ref": "#/definitions/UserModelList"
6271             }
6272           }
6273         },
6274         "CloudSpec": {
6275           "type": "object",
6276           "properties": {
6277             "Params": {
6278               "$ref": "#/definitions/Entities"
6279             },
6280             "Result": {
6281               "$ref": "#/definitions/CloudSpecResults"
6282             }
6283           }
6284         },
6285         "ControllerConfig": {
6286           "type": "object",
6287           "properties": {
6288             "Result": {
6289               "$ref": "#/definitions/ControllerConfigResult"
6290             }
6291           }
6292         },
6293         "DestroyController": {
6294           "type": "object",
6295           "properties": {
6296             "Params": {
6297               "$ref": "#/definitions/DestroyControllerArgs"
6298             }
6299           }
6300         },
6301         "GetCloudSpec": {
6302           "type": "object",
6303           "properties": {
6304             "Params": {
6305               "$ref": "#/definitions/ModelTag"
6306             },
6307             "Result": {
6308               "$ref": "#/definitions/CloudSpecResult"
6309             }
6310           }
6311         },
6312         "GetControllerAccess": {
6313           "type": "object",
6314           "properties": {
6315             "Params": {
6316               "$ref": "#/definitions/Entities"
6317             },
6318             "Result": {
6319               "$ref": "#/definitions/UserAccessResults"
6320             }
6321           }
6322         },
6323         "HostedModelConfigs": {
6324           "type": "object",
6325           "properties": {
6326             "Result": {
6327               "$ref": "#/definitions/HostedModelConfigsResults"
6328             }
6329           }
6330         },
6331         "InitiateMigration": {
6332           "type": "object",
6333           "properties": {
6334             "Params": {
6335               "$ref": "#/definitions/InitiateMigrationArgs"
6336             },
6337             "Result": {
6338               "$ref": "#/definitions/InitiateMigrationResults"
6339             }
6340           }
6341         },
6342         "ListBlockedModels": {
6343           "type": "object",
6344           "properties": {
6345             "Result": {
6346               "$ref": "#/definitions/ModelBlockInfoList"
6347             }
6348           }
6349         },
6350         "ModelConfig": {
6351           "type": "object",
6352           "properties": {
6353             "Result": {
6354               "$ref": "#/definitions/ModelConfigResults"
6355             }
6356           }
6357         },
6358         "ModelStatus": {
6359           "type": "object",
6360           "properties": {
6361             "Params": {
6362               "$ref": "#/definitions/Entities"
6363             },
6364             "Result": {
6365               "$ref": "#/definitions/ModelStatusResults"
6366             }
6367           }
6368         },
6369         "ModifyControllerAccess": {
6370           "type": "object",
6371           "properties": {
6372             "Params": {
6373               "$ref": "#/definitions/ModifyControllerAccessRequest"
6374             },
6375             "Result": {
6376               "$ref": "#/definitions/ErrorResults"
6377             }
6378           }
6379         },
6380         "RemoveBlocks": {
6381           "type": "object",
6382           "properties": {
6383             "Params": {
6384               "$ref": "#/definitions/RemoveBlocksArgs"
6385             }
6386           }
6387         },
6388         "WatchAllModels": {
6389           "type": "object",
6390           "properties": {
6391             "Result": {
6392               "$ref": "#/definitions/AllWatcherId"
6393             }
6394           }
6395         }
6396       },
6397       "definitions": {
6398         "AllWatcherId": {
6399           "type": "object",
6400           "properties": {
6401             "watcher-id": {
6402               "type": "string"
6403             }
6404           },
6405           "additionalProperties": false,
6406           "required": [
6407             "watcher-id"
6408           ]
6409         },
6410         "CloudCredential": {
6411           "type": "object",
6412           "properties": {
6413             "attrs": {
6414               "type": "object",
6415               "patternProperties": {
6416                 ".*": {
6417                   "type": "string"
6418                 }
6419               }
6420             },
6421             "auth-type": {
6422               "type": "string"
6423             },
6424             "redacted": {
6425               "type": "array",
6426               "items": {
6427                 "type": "string"
6428               }
6429             }
6430           },
6431           "additionalProperties": false,
6432           "required": [
6433             "auth-type"
6434           ]
6435         },
6436         "CloudSpec": {
6437           "type": "object",
6438           "properties": {
6439             "credential": {
6440               "$ref": "#/definitions/CloudCredential"
6441             },
6442             "endpoint": {
6443               "type": "string"
6444             },
6445             "identity-endpoint": {
6446               "type": "string"
6447             },
6448             "name": {
6449               "type": "string"
6450             },
6451             "region": {
6452               "type": "string"
6453             },
6454             "storage-endpoint": {
6455               "type": "string"
6456             },
6457             "type": {
6458               "type": "string"
6459             }
6460           },
6461           "additionalProperties": false,
6462           "required": [
6463             "type",
6464             "name"
6465           ]
6466         },
6467         "CloudSpecResult": {
6468           "type": "object",
6469           "properties": {
6470             "error": {
6471               "$ref": "#/definitions/Error"
6472             },
6473             "result": {
6474               "$ref": "#/definitions/CloudSpec"
6475             }
6476           },
6477           "additionalProperties": false
6478         },
6479         "CloudSpecResults": {
6480           "type": "object",
6481           "properties": {
6482             "results": {
6483               "type": "array",
6484               "items": {
6485                 "$ref": "#/definitions/CloudSpecResult"
6486               }
6487             }
6488           },
6489           "additionalProperties": false
6490         },
6491         "ConfigValue": {
6492           "type": "object",
6493           "properties": {
6494             "source": {
6495               "type": "string"
6496             },
6497             "value": {
6498               "type": "object",
6499               "additionalProperties": true
6500             }
6501           },
6502           "additionalProperties": false,
6503           "required": [
6504             "value",
6505             "source"
6506           ]
6507         },
6508         "ControllerConfigResult": {
6509           "type": "object",
6510           "properties": {
6511             "config": {
6512               "type": "object",
6513               "patternProperties": {
6514                 ".*": {
6515                   "type": "object",
6516                   "additionalProperties": true
6517                 }
6518               }
6519             }
6520           },
6521           "additionalProperties": false,
6522           "required": [
6523             "config"
6524           ]
6525         },
6526         "DestroyControllerArgs": {
6527           "type": "object",
6528           "properties": {
6529             "destroy-models": {
6530               "type": "boolean"
6531             }
6532           },
6533           "additionalProperties": false,
6534           "required": [
6535             "destroy-models"
6536           ]
6537         },
6538         "Entities": {
6539           "type": "object",
6540           "properties": {
6541             "entities": {
6542               "type": "array",
6543               "items": {
6544                 "$ref": "#/definitions/Entity"
6545               }
6546             }
6547           },
6548           "additionalProperties": false,
6549           "required": [
6550             "entities"
6551           ]
6552         },
6553         "Entity": {
6554           "type": "object",
6555           "properties": {
6556             "tag": {
6557               "type": "string"
6558             }
6559           },
6560           "additionalProperties": false,
6561           "required": [
6562             "tag"
6563           ]
6564         },
6565         "Error": {
6566           "type": "object",
6567           "properties": {
6568             "code": {
6569               "type": "string"
6570             },
6571             "info": {
6572               "$ref": "#/definitions/ErrorInfo"
6573             },
6574             "message": {
6575               "type": "string"
6576             }
6577           },
6578           "additionalProperties": false,
6579           "required": [
6580             "message",
6581             "code"
6582           ]
6583         },
6584         "ErrorInfo": {
6585           "type": "object",
6586           "properties": {
6587             "macaroon": {
6588               "$ref": "#/definitions/Macaroon"
6589             },
6590             "macaroon-path": {
6591               "type": "string"
6592             }
6593           },
6594           "additionalProperties": false
6595         },
6596         "ErrorResult": {
6597           "type": "object",
6598           "properties": {
6599             "error": {
6600               "$ref": "#/definitions/Error"
6601             }
6602           },
6603           "additionalProperties": false
6604         },
6605         "ErrorResults": {
6606           "type": "object",
6607           "properties": {
6608             "results": {
6609               "type": "array",
6610               "items": {
6611                 "$ref": "#/definitions/ErrorResult"
6612               }
6613             }
6614           },
6615           "additionalProperties": false,
6616           "required": [
6617             "results"
6618           ]
6619         },
6620         "HostedModelConfig": {
6621           "type": "object",
6622           "properties": {
6623             "cloud-spec": {
6624               "$ref": "#/definitions/CloudSpec"
6625             },
6626             "config": {
6627               "type": "object",
6628               "patternProperties": {
6629                 ".*": {
6630                   "type": "object",
6631                   "additionalProperties": true
6632                 }
6633               }
6634             },
6635             "error": {
6636               "$ref": "#/definitions/Error"
6637             },
6638             "name": {
6639               "type": "string"
6640             },
6641             "owner": {
6642               "type": "string"
6643             }
6644           },
6645           "additionalProperties": false,
6646           "required": [
6647             "name",
6648             "owner"
6649           ]
6650         },
6651         "HostedModelConfigsResults": {
6652           "type": "object",
6653           "properties": {
6654             "models": {
6655               "type": "array",
6656               "items": {
6657                 "$ref": "#/definitions/HostedModelConfig"
6658               }
6659             }
6660           },
6661           "additionalProperties": false,
6662           "required": [
6663             "models"
6664           ]
6665         },
6666         "InitiateMigrationArgs": {
6667           "type": "object",
6668           "properties": {
6669             "specs": {
6670               "type": "array",
6671               "items": {
6672                 "$ref": "#/definitions/MigrationSpec"
6673               }
6674             }
6675           },
6676           "additionalProperties": false,
6677           "required": [
6678             "specs"
6679           ]
6680         },
6681         "InitiateMigrationResult": {
6682           "type": "object",
6683           "properties": {
6684             "error": {
6685               "$ref": "#/definitions/Error"
6686             },
6687             "migration-id": {
6688               "type": "string"
6689             },
6690             "model-tag": {
6691               "type": "string"
6692             }
6693           },
6694           "additionalProperties": false,
6695           "required": [
6696             "model-tag",
6697             "migration-id"
6698           ]
6699         },
6700         "InitiateMigrationResults": {
6701           "type": "object",
6702           "properties": {
6703             "results": {
6704               "type": "array",
6705               "items": {
6706                 "$ref": "#/definitions/InitiateMigrationResult"
6707               }
6708             }
6709           },
6710           "additionalProperties": false,
6711           "required": [
6712             "results"
6713           ]
6714         },
6715         "Macaroon": {
6716           "type": "object",
6717           "additionalProperties": false
6718         },
6719         "MachineHardware": {
6720           "type": "object",
6721           "properties": {
6722             "arch": {
6723               "type": "string"
6724             },
6725             "availability-zone": {
6726               "type": "string"
6727             },
6728             "cores": {
6729               "type": "integer"
6730             },
6731             "cpu-power": {
6732               "type": "integer"
6733             },
6734             "mem": {
6735               "type": "integer"
6736             },
6737             "root-disk": {
6738               "type": "integer"
6739             },
6740             "tags": {
6741               "type": "array",
6742               "items": {
6743                 "type": "string"
6744               }
6745             }
6746           },
6747           "additionalProperties": false
6748         },
6749         "MigrationSpec": {
6750           "type": "object",
6751           "properties": {
6752             "external-control": {
6753               "type": "boolean"
6754             },
6755             "model-tag": {
6756               "type": "string"
6757             },
6758             "skip-initial-prechecks": {
6759               "type": "boolean"
6760             },
6761             "target-info": {
6762               "$ref": "#/definitions/MigrationTargetInfo"
6763             }
6764           },
6765           "additionalProperties": false,
6766           "required": [
6767             "model-tag",
6768             "target-info",
6769             "external-control",
6770             "skip-initial-prechecks"
6771           ]
6772         },
6773         "MigrationTargetInfo": {
6774           "type": "object",
6775           "properties": {
6776             "addrs": {
6777               "type": "array",
6778               "items": {
6779                 "type": "string"
6780               }
6781             },
6782             "auth-tag": {
6783               "type": "string"
6784             },
6785             "ca-cert": {
6786               "type": "string"
6787             },
6788             "controller-tag": {
6789               "type": "string"
6790             },
6791             "macaroons": {
6792               "type": "string"
6793             },
6794             "password": {
6795               "type": "string"
6796             }
6797           },
6798           "additionalProperties": false,
6799           "required": [
6800             "controller-tag",
6801             "addrs",
6802             "ca-cert",
6803             "auth-tag"
6804           ]
6805         },
6806         "Model": {
6807           "type": "object",
6808           "properties": {
6809             "name": {
6810               "type": "string"
6811             },
6812             "owner-tag": {
6813               "type": "string"
6814             },
6815             "uuid": {
6816               "type": "string"
6817             }
6818           },
6819           "additionalProperties": false,
6820           "required": [
6821             "name",
6822             "uuid",
6823             "owner-tag"
6824           ]
6825         },
6826         "ModelBlockInfo": {
6827           "type": "object",
6828           "properties": {
6829             "blocks": {
6830               "type": "array",
6831               "items": {
6832                 "type": "string"
6833               }
6834             },
6835             "model-uuid": {
6836               "type": "string"
6837             },
6838             "name": {
6839               "type": "string"
6840             },
6841             "owner-tag": {
6842               "type": "string"
6843             }
6844           },
6845           "additionalProperties": false,
6846           "required": [
6847             "name",
6848             "model-uuid",
6849             "owner-tag",
6850             "blocks"
6851           ]
6852         },
6853         "ModelBlockInfoList": {
6854           "type": "object",
6855           "properties": {
6856             "models": {
6857               "type": "array",
6858               "items": {
6859                 "$ref": "#/definitions/ModelBlockInfo"
6860               }
6861             }
6862           },
6863           "additionalProperties": false
6864         },
6865         "ModelConfigResults": {
6866           "type": "object",
6867           "properties": {
6868             "config": {
6869               "type": "object",
6870               "patternProperties": {
6871                 ".*": {
6872                   "$ref": "#/definitions/ConfigValue"
6873                 }
6874               }
6875             }
6876           },
6877           "additionalProperties": false,
6878           "required": [
6879             "config"
6880           ]
6881         },
6882         "ModelMachineInfo": {
6883           "type": "object",
6884           "properties": {
6885             "hardware": {
6886               "$ref": "#/definitions/MachineHardware"
6887             },
6888             "has-vote": {
6889               "type": "boolean"
6890             },
6891             "id": {
6892               "type": "string"
6893             },
6894             "instance-id": {
6895               "type": "string"
6896             },
6897             "status": {
6898               "type": "string"
6899             },
6900             "wants-vote": {
6901               "type": "boolean"
6902             }
6903           },
6904           "additionalProperties": false,
6905           "required": [
6906             "id"
6907           ]
6908         },
6909         "ModelStatus": {
6910           "type": "object",
6911           "properties": {
6912             "application-count": {
6913               "type": "integer"
6914             },
6915             "hosted-machine-count": {
6916               "type": "integer"
6917             },
6918             "life": {
6919               "type": "string"
6920             },
6921             "machines": {
6922               "type": "array",
6923               "items": {
6924                 "$ref": "#/definitions/ModelMachineInfo"
6925               }
6926             },
6927             "model-tag": {
6928               "type": "string"
6929             },
6930             "owner-tag": {
6931               "type": "string"
6932             }
6933           },
6934           "additionalProperties": false,
6935           "required": [
6936             "model-tag",
6937             "life",
6938             "hosted-machine-count",
6939             "application-count",
6940             "owner-tag"
6941           ]
6942         },
6943         "ModelStatusResults": {
6944           "type": "object",
6945           "properties": {
6946             "models": {
6947               "type": "array",
6948               "items": {
6949                 "$ref": "#/definitions/ModelStatus"
6950               }
6951             }
6952           },
6953           "additionalProperties": false,
6954           "required": [
6955             "models"
6956           ]
6957         },
6958         "ModelTag": {
6959           "type": "object",
6960           "additionalProperties": false
6961         },
6962         "ModifyControllerAccess": {
6963           "type": "object",
6964           "properties": {
6965             "access": {
6966               "type": "string"
6967             },
6968             "action": {
6969               "type": "string"
6970             },
6971             "user-tag": {
6972               "type": "string"
6973             }
6974           },
6975           "additionalProperties": false,
6976           "required": [
6977             "user-tag",
6978             "action",
6979             "access"
6980           ]
6981         },
6982         "ModifyControllerAccessRequest": {
6983           "type": "object",
6984           "properties": {
6985             "changes": {
6986               "type": "array",
6987               "items": {
6988                 "$ref": "#/definitions/ModifyControllerAccess"
6989               }
6990             }
6991           },
6992           "additionalProperties": false,
6993           "required": [
6994             "changes"
6995           ]
6996         },
6997         "RemoveBlocksArgs": {
6998           "type": "object",
6999           "properties": {
7000             "all": {
7001               "type": "boolean"
7002             }
7003           },
7004           "additionalProperties": false,
7005           "required": [
7006             "all"
7007           ]
7008         },
7009         "UserAccess": {
7010           "type": "object",
7011           "properties": {
7012             "access": {
7013               "type": "string"
7014             },
7015             "user-tag": {
7016               "type": "string"
7017             }
7018           },
7019           "additionalProperties": false,
7020           "required": [
7021             "user-tag",
7022             "access"
7023           ]
7024         },
7025         "UserAccessResult": {
7026           "type": "object",
7027           "properties": {
7028             "error": {
7029               "$ref": "#/definitions/Error"
7030             },
7031             "result": {
7032               "$ref": "#/definitions/UserAccess"
7033             }
7034           },
7035           "additionalProperties": false
7036         },
7037         "UserAccessResults": {
7038           "type": "object",
7039           "properties": {
7040             "results": {
7041               "type": "array",
7042               "items": {
7043                 "$ref": "#/definitions/UserAccessResult"
7044               }
7045             }
7046           },
7047           "additionalProperties": false
7048         },
7049         "UserModel": {
7050           "type": "object",
7051           "properties": {
7052             "last-connection": {
7053               "type": "string",
7054               "format": "date-time"
7055             },
7056             "model": {
7057               "$ref": "#/definitions/Model"
7058             }
7059           },
7060           "additionalProperties": false,
7061           "required": [
7062             "model",
7063             "last-connection"
7064           ]
7065         },
7066         "UserModelList": {
7067           "type": "object",
7068           "properties": {
7069             "user-models": {
7070               "type": "array",
7071               "items": {
7072                 "$ref": "#/definitions/UserModel"
7073               }
7074             }
7075           },
7076           "additionalProperties": false,
7077           "required": [
7078             "user-models"
7079           ]
7080         }
7081       }
7082     }
7083   },
7084   {
7085     "Name": "Deployer",
7086     "Version": 1,
7087     "Schema": {
7088       "type": "object",
7089       "properties": {
7090         "APIAddresses": {
7091           "type": "object",
7092           "properties": {
7093             "Result": {
7094               "$ref": "#/definitions/StringsResult"
7095             }
7096           }
7097         },
7098         "APIHostPorts": {
7099           "type": "object",
7100           "properties": {
7101             "Result": {
7102               "$ref": "#/definitions/APIHostPortsResult"
7103             }
7104           }
7105         },
7106         "CACert": {
7107           "type": "object",
7108           "properties": {
7109             "Result": {
7110               "$ref": "#/definitions/BytesResult"
7111             }
7112           }
7113         },
7114         "ConnectionInfo": {
7115           "type": "object",
7116           "properties": {
7117             "Result": {
7118               "$ref": "#/definitions/DeployerConnectionValues"
7119             }
7120           }
7121         },
7122         "Life": {
7123           "type": "object",
7124           "properties": {
7125             "Params": {
7126               "$ref": "#/definitions/Entities"
7127             },
7128             "Result": {
7129               "$ref": "#/definitions/LifeResults"
7130             }
7131           }
7132         },
7133         "ModelUUID": {
7134           "type": "object",
7135           "properties": {
7136             "Result": {
7137               "$ref": "#/definitions/StringResult"
7138             }
7139           }
7140         },
7141         "Remove": {
7142           "type": "object",
7143           "properties": {
7144             "Params": {
7145               "$ref": "#/definitions/Entities"
7146             },
7147             "Result": {
7148               "$ref": "#/definitions/ErrorResults"
7149             }
7150           }
7151         },
7152         "SetPasswords": {
7153           "type": "object",
7154           "properties": {
7155             "Params": {
7156               "$ref": "#/definitions/EntityPasswords"
7157             },
7158             "Result": {
7159               "$ref": "#/definitions/ErrorResults"
7160             }
7161           }
7162         },
7163         "SetStatus": {
7164           "type": "object",
7165           "properties": {
7166             "Params": {
7167               "$ref": "#/definitions/SetStatus"
7168             },
7169             "Result": {
7170               "$ref": "#/definitions/ErrorResults"
7171             }
7172           }
7173         },
7174         "StateAddresses": {
7175           "type": "object",
7176           "properties": {
7177             "Result": {
7178               "$ref": "#/definitions/StringsResult"
7179             }
7180           }
7181         },
7182         "UpdateStatus": {
7183           "type": "object",
7184           "properties": {
7185             "Params": {
7186               "$ref": "#/definitions/SetStatus"
7187             },
7188             "Result": {
7189               "$ref": "#/definitions/ErrorResults"
7190             }
7191           }
7192         },
7193         "WatchAPIHostPorts": {
7194           "type": "object",
7195           "properties": {
7196             "Result": {
7197               "$ref": "#/definitions/NotifyWatchResult"
7198             }
7199           }
7200         },
7201         "WatchUnits": {
7202           "type": "object",
7203           "properties": {
7204             "Params": {
7205               "$ref": "#/definitions/Entities"
7206             },
7207             "Result": {
7208               "$ref": "#/definitions/StringsWatchResults"
7209             }
7210           }
7211         }
7212       },
7213       "definitions": {
7214         "APIHostPortsResult": {
7215           "type": "object",
7216           "properties": {
7217             "servers": {
7218               "type": "array",
7219               "items": {
7220                 "type": "array",
7221                 "items": {
7222                   "$ref": "#/definitions/HostPort"
7223                 }
7224               }
7225             }
7226           },
7227           "additionalProperties": false,
7228           "required": [
7229             "servers"
7230           ]
7231         },
7232         "Address": {
7233           "type": "object",
7234           "properties": {
7235             "scope": {
7236               "type": "string"
7237             },
7238             "space-name": {
7239               "type": "string"
7240             },
7241             "type": {
7242               "type": "string"
7243             },
7244             "value": {
7245               "type": "string"
7246             }
7247           },
7248           "additionalProperties": false,
7249           "required": [
7250             "value",
7251             "type",
7252             "scope"
7253           ]
7254         },
7255         "BytesResult": {
7256           "type": "object",
7257           "properties": {
7258             "result": {
7259               "type": "array",
7260               "items": {
7261                 "type": "integer"
7262               }
7263             }
7264           },
7265           "additionalProperties": false,
7266           "required": [
7267             "result"
7268           ]
7269         },
7270         "DeployerConnectionValues": {
7271           "type": "object",
7272           "properties": {
7273             "api-addresses": {
7274               "type": "array",
7275               "items": {
7276                 "type": "string"
7277               }
7278             },
7279             "state-addresses": {
7280               "type": "array",
7281               "items": {
7282                 "type": "string"
7283               }
7284             }
7285           },
7286           "additionalProperties": false,
7287           "required": [
7288             "state-addresses",
7289             "api-addresses"
7290           ]
7291         },
7292         "Entities": {
7293           "type": "object",
7294           "properties": {
7295             "entities": {
7296               "type": "array",
7297               "items": {
7298                 "$ref": "#/definitions/Entity"
7299               }
7300             }
7301           },
7302           "additionalProperties": false,
7303           "required": [
7304             "entities"
7305           ]
7306         },
7307         "Entity": {
7308           "type": "object",
7309           "properties": {
7310             "tag": {
7311               "type": "string"
7312             }
7313           },
7314           "additionalProperties": false,
7315           "required": [
7316             "tag"
7317           ]
7318         },
7319         "EntityPassword": {
7320           "type": "object",
7321           "properties": {
7322             "password": {
7323               "type": "string"
7324             },
7325             "tag": {
7326               "type": "string"
7327             }
7328           },
7329           "additionalProperties": false,
7330           "required": [
7331             "tag",
7332             "password"
7333           ]
7334         },
7335         "EntityPasswords": {
7336           "type": "object",
7337           "properties": {
7338             "changes": {
7339               "type": "array",
7340               "items": {
7341                 "$ref": "#/definitions/EntityPassword"
7342               }
7343             }
7344           },
7345           "additionalProperties": false,
7346           "required": [
7347             "changes"
7348           ]
7349         },
7350         "EntityStatusArgs": {
7351           "type": "object",
7352           "properties": {
7353             "data": {
7354               "type": "object",
7355               "patternProperties": {
7356                 ".*": {
7357                   "type": "object",
7358                   "additionalProperties": true
7359                 }
7360               }
7361             },
7362             "info": {
7363               "type": "string"
7364             },
7365             "status": {
7366               "type": "string"
7367             },
7368             "tag": {
7369               "type": "string"
7370             }
7371           },
7372           "additionalProperties": false,
7373           "required": [
7374             "tag",
7375             "status",
7376             "info",
7377             "data"
7378           ]
7379         },
7380         "Error": {
7381           "type": "object",
7382           "properties": {
7383             "code": {
7384               "type": "string"
7385             },
7386             "info": {
7387               "$ref": "#/definitions/ErrorInfo"
7388             },
7389             "message": {
7390               "type": "string"
7391             }
7392           },
7393           "additionalProperties": false,
7394           "required": [
7395             "message",
7396             "code"
7397           ]
7398         },
7399         "ErrorInfo": {
7400           "type": "object",
7401           "properties": {
7402             "macaroon": {
7403               "$ref": "#/definitions/Macaroon"
7404             },
7405             "macaroon-path": {
7406               "type": "string"
7407             }
7408           },
7409           "additionalProperties": false
7410         },
7411         "ErrorResult": {
7412           "type": "object",
7413           "properties": {
7414             "error": {
7415               "$ref": "#/definitions/Error"
7416             }
7417           },
7418           "additionalProperties": false
7419         },
7420         "ErrorResults": {
7421           "type": "object",
7422           "properties": {
7423             "results": {
7424               "type": "array",
7425               "items": {
7426                 "$ref": "#/definitions/ErrorResult"
7427               }
7428             }
7429           },
7430           "additionalProperties": false,
7431           "required": [
7432             "results"
7433           ]
7434         },
7435         "HostPort": {
7436           "type": "object",
7437           "properties": {
7438             "Address": {
7439               "$ref": "#/definitions/Address"
7440             },
7441             "port": {
7442               "type": "integer"
7443             }
7444           },
7445           "additionalProperties": false,
7446           "required": [
7447             "Address",
7448             "port"
7449           ]
7450         },
7451         "LifeResult": {
7452           "type": "object",
7453           "properties": {
7454             "error": {
7455               "$ref": "#/definitions/Error"
7456             },
7457             "life": {
7458               "type": "string"
7459             }
7460           },
7461           "additionalProperties": false,
7462           "required": [
7463             "life"
7464           ]
7465         },
7466         "LifeResults": {
7467           "type": "object",
7468           "properties": {
7469             "results": {
7470               "type": "array",
7471               "items": {
7472                 "$ref": "#/definitions/LifeResult"
7473               }
7474             }
7475           },
7476           "additionalProperties": false,
7477           "required": [
7478             "results"
7479           ]
7480         },
7481         "Macaroon": {
7482           "type": "object",
7483           "additionalProperties": false
7484         },
7485         "NotifyWatchResult": {
7486           "type": "object",
7487           "properties": {
7488             "NotifyWatcherId": {
7489               "type": "string"
7490             },
7491             "error": {
7492               "$ref": "#/definitions/Error"
7493             }
7494           },
7495           "additionalProperties": false,
7496           "required": [
7497             "NotifyWatcherId"
7498           ]
7499         },
7500         "SetStatus": {
7501           "type": "object",
7502           "properties": {
7503             "entities": {
7504               "type": "array",
7505               "items": {
7506                 "$ref": "#/definitions/EntityStatusArgs"
7507               }
7508             }
7509           },
7510           "additionalProperties": false,
7511           "required": [
7512             "entities"
7513           ]
7514         },
7515         "StringResult": {
7516           "type": "object",
7517           "properties": {
7518             "error": {
7519               "$ref": "#/definitions/Error"
7520             },
7521             "result": {
7522               "type": "string"
7523             }
7524           },
7525           "additionalProperties": false,
7526           "required": [
7527             "result"
7528           ]
7529         },
7530         "StringsResult": {
7531           "type": "object",
7532           "properties": {
7533             "error": {
7534               "$ref": "#/definitions/Error"
7535             },
7536             "result": {
7537               "type": "array",
7538               "items": {
7539                 "type": "string"
7540               }
7541             }
7542           },
7543           "additionalProperties": false
7544         },
7545         "StringsWatchResult": {
7546           "type": "object",
7547           "properties": {
7548             "changes": {
7549               "type": "array",
7550               "items": {
7551                 "type": "string"
7552               }
7553             },
7554             "error": {
7555               "$ref": "#/definitions/Error"
7556             },
7557             "watcher-id": {
7558               "type": "string"
7559             }
7560           },
7561           "additionalProperties": false,
7562           "required": [
7563             "watcher-id"
7564           ]
7565         },
7566         "StringsWatchResults": {
7567           "type": "object",
7568           "properties": {
7569             "results": {
7570               "type": "array",
7571               "items": {
7572                 "$ref": "#/definitions/StringsWatchResult"
7573               }
7574             }
7575           },
7576           "additionalProperties": false,
7577           "required": [
7578             "results"
7579           ]
7580         }
7581       }
7582     }
7583   },
7584   {
7585     "Name": "DiscoverSpaces",
7586     "Version": 2,
7587     "Schema": {
7588       "type": "object",
7589       "properties": {
7590         "AddSubnets": {
7591           "type": "object",
7592           "properties": {
7593             "Params": {
7594               "$ref": "#/definitions/AddSubnetsParams"
7595             },
7596             "Result": {
7597               "$ref": "#/definitions/ErrorResults"
7598             }
7599           }
7600         },
7601         "CreateSpaces": {
7602           "type": "object",
7603           "properties": {
7604             "Params": {
7605               "$ref": "#/definitions/CreateSpacesParams"
7606             },
7607             "Result": {
7608               "$ref": "#/definitions/ErrorResults"
7609             }
7610           }
7611         },
7612         "ListSpaces": {
7613           "type": "object",
7614           "properties": {
7615             "Result": {
7616               "$ref": "#/definitions/DiscoverSpacesResults"
7617             }
7618           }
7619         },
7620         "ListSubnets": {
7621           "type": "object",
7622           "properties": {
7623             "Params": {
7624               "$ref": "#/definitions/SubnetsFilters"
7625             },
7626             "Result": {
7627               "$ref": "#/definitions/ListSubnetsResults"
7628             }
7629           }
7630         },
7631         "ModelConfig": {
7632           "type": "object",
7633           "properties": {
7634             "Result": {
7635               "$ref": "#/definitions/ModelConfigResult"
7636             }
7637           }
7638         }
7639       },
7640       "definitions": {
7641         "AddSubnetParams": {
7642           "type": "object",
7643           "properties": {
7644             "space-tag": {
7645               "type": "string"
7646             },
7647             "subnet-provider-id": {
7648               "type": "string"
7649             },
7650             "subnet-tag": {
7651               "type": "string"
7652             },
7653             "vlan-tag": {
7654               "type": "integer"
7655             },
7656             "zones": {
7657               "type": "array",
7658               "items": {
7659                 "type": "string"
7660               }
7661             }
7662           },
7663           "additionalProperties": false,
7664           "required": [
7665             "space-tag"
7666           ]
7667         },
7668         "AddSubnetsParams": {
7669           "type": "object",
7670           "properties": {
7671             "subnets": {
7672               "type": "array",
7673               "items": {
7674                 "$ref": "#/definitions/AddSubnetParams"
7675               }
7676             }
7677           },
7678           "additionalProperties": false,
7679           "required": [
7680             "subnets"
7681           ]
7682         },
7683         "CreateSpaceParams": {
7684           "type": "object",
7685           "properties": {
7686             "provider-id": {
7687               "type": "string"
7688             },
7689             "public": {
7690               "type": "boolean"
7691             },
7692             "space-tag": {
7693               "type": "string"
7694             },
7695             "subnet-tags": {
7696               "type": "array",
7697               "items": {
7698                 "type": "string"
7699               }
7700             }
7701           },
7702           "additionalProperties": false,
7703           "required": [
7704             "subnet-tags",
7705             "space-tag",
7706             "public"
7707           ]
7708         },
7709         "CreateSpacesParams": {
7710           "type": "object",
7711           "properties": {
7712             "spaces": {
7713               "type": "array",
7714               "items": {
7715                 "$ref": "#/definitions/CreateSpaceParams"
7716               }
7717             }
7718           },
7719           "additionalProperties": false,
7720           "required": [
7721             "spaces"
7722           ]
7723         },
7724         "DiscoverSpacesResults": {
7725           "type": "object",
7726           "properties": {
7727             "results": {
7728               "type": "array",
7729               "items": {
7730                 "$ref": "#/definitions/ProviderSpace"
7731               }
7732             }
7733           },
7734           "additionalProperties": false,
7735           "required": [
7736             "results"
7737           ]
7738         },
7739         "Error": {
7740           "type": "object",
7741           "properties": {
7742             "code": {
7743               "type": "string"
7744             },
7745             "info": {
7746               "$ref": "#/definitions/ErrorInfo"
7747             },
7748             "message": {
7749               "type": "string"
7750             }
7751           },
7752           "additionalProperties": false,
7753           "required": [
7754             "message",
7755             "code"
7756           ]
7757         },
7758         "ErrorInfo": {
7759           "type": "object",
7760           "properties": {
7761             "macaroon": {
7762               "$ref": "#/definitions/Macaroon"
7763             },
7764             "macaroon-path": {
7765               "type": "string"
7766             }
7767           },
7768           "additionalProperties": false
7769         },
7770         "ErrorResult": {
7771           "type": "object",
7772           "properties": {
7773             "error": {
7774               "$ref": "#/definitions/Error"
7775             }
7776           },
7777           "additionalProperties": false
7778         },
7779         "ErrorResults": {
7780           "type": "object",
7781           "properties": {
7782             "results": {
7783               "type": "array",
7784               "items": {
7785                 "$ref": "#/definitions/ErrorResult"
7786               }
7787             }
7788           },
7789           "additionalProperties": false,
7790           "required": [
7791             "results"
7792           ]
7793         },
7794         "ListSubnetsResults": {
7795           "type": "object",
7796           "properties": {
7797             "results": {
7798               "type": "array",
7799               "items": {
7800                 "$ref": "#/definitions/Subnet"
7801               }
7802             }
7803           },
7804           "additionalProperties": false,
7805           "required": [
7806             "results"
7807           ]
7808         },
7809         "Macaroon": {
7810           "type": "object",
7811           "additionalProperties": false
7812         },
7813         "ModelConfigResult": {
7814           "type": "object",
7815           "properties": {
7816             "config": {
7817               "type": "object",
7818               "patternProperties": {
7819                 ".*": {
7820                   "type": "object",
7821                   "additionalProperties": true
7822                 }
7823               }
7824             }
7825           },
7826           "additionalProperties": false,
7827           "required": [
7828             "config"
7829           ]
7830         },
7831         "ProviderSpace": {
7832           "type": "object",
7833           "properties": {
7834             "error": {
7835               "$ref": "#/definitions/Error"
7836             },
7837             "name": {
7838               "type": "string"
7839             },
7840             "provider-id": {
7841               "type": "string"
7842             },
7843             "subnets": {
7844               "type": "array",
7845               "items": {
7846                 "$ref": "#/definitions/Subnet"
7847               }
7848             }
7849           },
7850           "additionalProperties": false,
7851           "required": [
7852             "name",
7853             "provider-id",
7854             "subnets"
7855           ]
7856         },
7857         "Subnet": {
7858           "type": "object",
7859           "properties": {
7860             "cidr": {
7861               "type": "string"
7862             },
7863             "life": {
7864               "type": "string"
7865             },
7866             "provider-id": {
7867               "type": "string"
7868             },
7869             "space-tag": {
7870               "type": "string"
7871             },
7872             "status": {
7873               "type": "string"
7874             },
7875             "vlan-tag": {
7876               "type": "integer"
7877             },
7878             "zones": {
7879               "type": "array",
7880               "items": {
7881                 "type": "string"
7882               }
7883             }
7884           },
7885           "additionalProperties": false,
7886           "required": [
7887             "cidr",
7888             "vlan-tag",
7889             "life",
7890             "space-tag",
7891             "zones"
7892           ]
7893         },
7894         "SubnetsFilters": {
7895           "type": "object",
7896           "properties": {
7897             "space-tag": {
7898               "type": "string"
7899             },
7900             "zone": {
7901               "type": "string"
7902             }
7903           },
7904           "additionalProperties": false
7905         }
7906       }
7907     }
7908   },
7909   {
7910     "Name": "DiskManager",
7911     "Version": 2,
7912     "Schema": {
7913       "type": "object",
7914       "properties": {
7915         "SetMachineBlockDevices": {
7916           "type": "object",
7917           "properties": {
7918             "Params": {
7919               "$ref": "#/definitions/SetMachineBlockDevices"
7920             },
7921             "Result": {
7922               "$ref": "#/definitions/ErrorResults"
7923             }
7924           }
7925         }
7926       },
7927       "definitions": {
7928         "BlockDevice": {
7929           "type": "object",
7930           "properties": {
7931             "BusAddress": {
7932               "type": "string"
7933             },
7934             "DeviceLinks": {
7935               "type": "array",
7936               "items": {
7937                 "type": "string"
7938               }
7939             },
7940             "DeviceName": {
7941               "type": "string"
7942             },
7943             "FilesystemType": {
7944               "type": "string"
7945             },
7946             "HardwareId": {
7947               "type": "string"
7948             },
7949             "InUse": {
7950               "type": "boolean"
7951             },
7952             "Label": {
7953               "type": "string"
7954             },
7955             "MountPoint": {
7956               "type": "string"
7957             },
7958             "Size": {
7959               "type": "integer"
7960             },
7961             "UUID": {
7962               "type": "string"
7963             }
7964           },
7965           "additionalProperties": false,
7966           "required": [
7967             "DeviceName",
7968             "DeviceLinks",
7969             "Label",
7970             "UUID",
7971             "HardwareId",
7972             "BusAddress",
7973             "Size",
7974             "FilesystemType",
7975             "InUse",
7976             "MountPoint"
7977           ]
7978         },
7979         "Error": {
7980           "type": "object",
7981           "properties": {
7982             "code": {
7983               "type": "string"
7984             },
7985             "info": {
7986               "$ref": "#/definitions/ErrorInfo"
7987             },
7988             "message": {
7989               "type": "string"
7990             }
7991           },
7992           "additionalProperties": false,
7993           "required": [
7994             "message",
7995             "code"
7996           ]
7997         },
7998         "ErrorInfo": {
7999           "type": "object",
8000           "properties": {
8001             "macaroon": {
8002               "$ref": "#/definitions/Macaroon"
8003             },
8004             "macaroon-path": {
8005               "type": "string"
8006             }
8007           },
8008           "additionalProperties": false
8009         },
8010         "ErrorResult": {
8011           "type": "object",
8012           "properties": {
8013             "error": {
8014               "$ref": "#/definitions/Error"
8015             }
8016           },
8017           "additionalProperties": false
8018         },
8019         "ErrorResults": {
8020           "type": "object",
8021           "properties": {
8022             "results": {
8023               "type": "array",
8024               "items": {
8025                 "$ref": "#/definitions/ErrorResult"
8026               }
8027             }
8028           },
8029           "additionalProperties": false,
8030           "required": [
8031             "results"
8032           ]
8033         },
8034         "Macaroon": {
8035           "type": "object",
8036           "additionalProperties": false
8037         },
8038         "MachineBlockDevices": {
8039           "type": "object",
8040           "properties": {
8041             "block-devices": {
8042               "type": "array",
8043               "items": {
8044                 "$ref": "#/definitions/BlockDevice"
8045               }
8046             },
8047             "machine": {
8048               "type": "string"
8049             }
8050           },
8051           "additionalProperties": false,
8052           "required": [
8053             "machine"
8054           ]
8055         },
8056         "SetMachineBlockDevices": {
8057           "type": "object",
8058           "properties": {
8059             "machine-block-devices": {
8060               "type": "array",
8061               "items": {
8062                 "$ref": "#/definitions/MachineBlockDevices"
8063               }
8064             }
8065           },
8066           "additionalProperties": false,
8067           "required": [
8068             "machine-block-devices"
8069           ]
8070         }
8071       }
8072     }
8073   },
8074   {
8075     "Name": "EntityWatcher",
8076     "Version": 2,
8077     "Schema": {
8078       "type": "object",
8079       "properties": {
8080         "Next": {
8081           "type": "object",
8082           "properties": {
8083             "Result": {
8084               "$ref": "#/definitions/EntitiesWatchResult"
8085             }
8086           }
8087         },
8088         "Stop": {
8089           "type": "object"
8090         }
8091       },
8092       "definitions": {
8093         "EntitiesWatchResult": {
8094           "type": "object",
8095           "properties": {
8096             "changes": {
8097               "type": "array",
8098               "items": {
8099                 "type": "string"
8100               }
8101             },
8102             "error": {
8103               "$ref": "#/definitions/Error"
8104             },
8105             "watcher-id": {
8106               "type": "string"
8107             }
8108           },
8109           "additionalProperties": false,
8110           "required": [
8111             "watcher-id"
8112           ]
8113         },
8114         "Error": {
8115           "type": "object",
8116           "properties": {
8117             "code": {
8118               "type": "string"
8119             },
8120             "info": {
8121               "$ref": "#/definitions/ErrorInfo"
8122             },
8123             "message": {
8124               "type": "string"
8125             }
8126           },
8127           "additionalProperties": false,
8128           "required": [
8129             "message",
8130             "code"
8131           ]
8132         },
8133         "ErrorInfo": {
8134           "type": "object",
8135           "properties": {
8136             "macaroon": {
8137               "$ref": "#/definitions/Macaroon"
8138             },
8139             "macaroon-path": {
8140               "type": "string"
8141             }
8142           },
8143           "additionalProperties": false
8144         },
8145         "Macaroon": {
8146           "type": "object",
8147           "additionalProperties": false
8148         }
8149       }
8150     }
8151   },
8152   {
8153     "Name": "FilesystemAttachmentsWatcher",
8154     "Version": 2,
8155     "Schema": {
8156       "type": "object",
8157       "properties": {
8158         "Next": {
8159           "type": "object",
8160           "properties": {
8161             "Result": {
8162               "$ref": "#/definitions/MachineStorageIdsWatchResult"
8163             }
8164           }
8165         },
8166         "Stop": {
8167           "type": "object"
8168         }
8169       },
8170       "definitions": {
8171         "Error": {
8172           "type": "object",
8173           "properties": {
8174             "code": {
8175               "type": "string"
8176             },
8177             "info": {
8178               "$ref": "#/definitions/ErrorInfo"
8179             },
8180             "message": {
8181               "type": "string"
8182             }
8183           },
8184           "additionalProperties": false,
8185           "required": [
8186             "message",
8187             "code"
8188           ]
8189         },
8190         "ErrorInfo": {
8191           "type": "object",
8192           "properties": {
8193             "macaroon": {
8194               "$ref": "#/definitions/Macaroon"
8195             },
8196             "macaroon-path": {
8197               "type": "string"
8198             }
8199           },
8200           "additionalProperties": false
8201         },
8202         "Macaroon": {
8203           "type": "object",
8204           "additionalProperties": false
8205         },
8206         "MachineStorageId": {
8207           "type": "object",
8208           "properties": {
8209             "attachment-tag": {
8210               "type": "string"
8211             },
8212             "machine-tag": {
8213               "type": "string"
8214             }
8215           },
8216           "additionalProperties": false,
8217           "required": [
8218             "machine-tag",
8219             "attachment-tag"
8220           ]
8221         },
8222         "MachineStorageIdsWatchResult": {
8223           "type": "object",
8224           "properties": {
8225             "changes": {
8226               "type": "array",
8227               "items": {
8228                 "$ref": "#/definitions/MachineStorageId"
8229               }
8230             },
8231             "error": {
8232               "$ref": "#/definitions/Error"
8233             },
8234             "watcher-id": {
8235               "type": "string"
8236             }
8237           },
8238           "additionalProperties": false,
8239           "required": [
8240             "watcher-id",
8241             "changes"
8242           ]
8243         }
8244       }
8245     }
8246   },
8247   {
8248     "Name": "Firewaller",
8249     "Version": 3,
8250     "Schema": {
8251       "type": "object",
8252       "properties": {
8253         "CloudSpec": {
8254           "type": "object",
8255           "properties": {
8256             "Params": {
8257               "$ref": "#/definitions/Entities"
8258             },
8259             "Result": {
8260               "$ref": "#/definitions/CloudSpecResults"
8261             }
8262           }
8263         },
8264         "GetAssignedMachine": {
8265           "type": "object",
8266           "properties": {
8267             "Params": {
8268               "$ref": "#/definitions/Entities"
8269             },
8270             "Result": {
8271               "$ref": "#/definitions/StringResults"
8272             }
8273           }
8274         },
8275         "GetCloudSpec": {
8276           "type": "object",
8277           "properties": {
8278             "Params": {
8279               "$ref": "#/definitions/ModelTag"
8280             },
8281             "Result": {
8282               "$ref": "#/definitions/CloudSpecResult"
8283             }
8284           }
8285         },
8286         "GetExposed": {
8287           "type": "object",
8288           "properties": {
8289             "Params": {
8290               "$ref": "#/definitions/Entities"
8291             },
8292             "Result": {
8293               "$ref": "#/definitions/BoolResults"
8294             }
8295           }
8296         },
8297         "GetMachineActiveSubnets": {
8298           "type": "object",
8299           "properties": {
8300             "Params": {
8301               "$ref": "#/definitions/Entities"
8302             },
8303             "Result": {
8304               "$ref": "#/definitions/StringsResults"
8305             }
8306           }
8307         },
8308         "GetMachinePorts": {
8309           "type": "object",
8310           "properties": {
8311             "Params": {
8312               "$ref": "#/definitions/MachinePortsParams"
8313             },
8314             "Result": {
8315               "$ref": "#/definitions/MachinePortsResults"
8316             }
8317           }
8318         },
8319         "InstanceId": {
8320           "type": "object",
8321           "properties": {
8322             "Params": {
8323               "$ref": "#/definitions/Entities"
8324             },
8325             "Result": {
8326               "$ref": "#/definitions/StringResults"
8327             }
8328           }
8329         },
8330         "Life": {
8331           "type": "object",
8332           "properties": {
8333             "Params": {
8334               "$ref": "#/definitions/Entities"
8335             },
8336             "Result": {
8337               "$ref": "#/definitions/LifeResults"
8338             }
8339           }
8340         },
8341         "ModelConfig": {
8342           "type": "object",
8343           "properties": {
8344             "Result": {
8345               "$ref": "#/definitions/ModelConfigResult"
8346             }
8347           }
8348         },
8349         "Watch": {
8350           "type": "object",
8351           "properties": {
8352             "Params": {
8353               "$ref": "#/definitions/Entities"
8354             },
8355             "Result": {
8356               "$ref": "#/definitions/NotifyWatchResults"
8357             }
8358           }
8359         },
8360         "WatchForModelConfigChanges": {
8361           "type": "object",
8362           "properties": {
8363             "Result": {
8364               "$ref": "#/definitions/NotifyWatchResult"
8365             }
8366           }
8367         },
8368         "WatchModelMachines": {
8369           "type": "object",
8370           "properties": {
8371             "Result": {
8372               "$ref": "#/definitions/StringsWatchResult"
8373             }
8374           }
8375         },
8376         "WatchOpenedPorts": {
8377           "type": "object",
8378           "properties": {
8379             "Params": {
8380               "$ref": "#/definitions/Entities"
8381             },
8382             "Result": {
8383               "$ref": "#/definitions/StringsWatchResults"
8384             }
8385           }
8386         },
8387         "WatchUnits": {
8388           "type": "object",
8389           "properties": {
8390             "Params": {
8391               "$ref": "#/definitions/Entities"
8392             },
8393             "Result": {
8394               "$ref": "#/definitions/StringsWatchResults"
8395             }
8396           }
8397         }
8398       },
8399       "definitions": {
8400         "BoolResult": {
8401           "type": "object",
8402           "properties": {
8403             "error": {
8404               "$ref": "#/definitions/Error"
8405             },
8406             "result": {
8407               "type": "boolean"
8408             }
8409           },
8410           "additionalProperties": false,
8411           "required": [
8412             "result"
8413           ]
8414         },
8415         "BoolResults": {
8416           "type": "object",
8417           "properties": {
8418             "results": {
8419               "type": "array",
8420               "items": {
8421                 "$ref": "#/definitions/BoolResult"
8422               }
8423             }
8424           },
8425           "additionalProperties": false,
8426           "required": [
8427             "results"
8428           ]
8429         },
8430         "CloudCredential": {
8431           "type": "object",
8432           "properties": {
8433             "attrs": {
8434               "type": "object",
8435               "patternProperties": {
8436                 ".*": {
8437                   "type": "string"
8438                 }
8439               }
8440             },
8441             "auth-type": {
8442               "type": "string"
8443             },
8444             "redacted": {
8445               "type": "array",
8446               "items": {
8447                 "type": "string"
8448               }
8449             }
8450           },
8451           "additionalProperties": false,
8452           "required": [
8453             "auth-type"
8454           ]
8455         },
8456         "CloudSpec": {
8457           "type": "object",
8458           "properties": {
8459             "credential": {
8460               "$ref": "#/definitions/CloudCredential"
8461             },
8462             "endpoint": {
8463               "type": "string"
8464             },
8465             "identity-endpoint": {
8466               "type": "string"
8467             },
8468             "name": {
8469               "type": "string"
8470             },
8471             "region": {
8472               "type": "string"
8473             },
8474             "storage-endpoint": {
8475               "type": "string"
8476             },
8477             "type": {
8478               "type": "string"
8479             }
8480           },
8481           "additionalProperties": false,
8482           "required": [
8483             "type",
8484             "name"
8485           ]
8486         },
8487         "CloudSpecResult": {
8488           "type": "object",
8489           "properties": {
8490             "error": {
8491               "$ref": "#/definitions/Error"
8492             },
8493             "result": {
8494               "$ref": "#/definitions/CloudSpec"
8495             }
8496           },
8497           "additionalProperties": false
8498         },
8499         "CloudSpecResults": {
8500           "type": "object",
8501           "properties": {
8502             "results": {
8503               "type": "array",
8504               "items": {
8505                 "$ref": "#/definitions/CloudSpecResult"
8506               }
8507             }
8508           },
8509           "additionalProperties": false
8510         },
8511         "Entities": {
8512           "type": "object",
8513           "properties": {
8514             "entities": {
8515               "type": "array",
8516               "items": {
8517                 "$ref": "#/definitions/Entity"
8518               }
8519             }
8520           },
8521           "additionalProperties": false,
8522           "required": [
8523             "entities"
8524           ]
8525         },
8526         "Entity": {
8527           "type": "object",
8528           "properties": {
8529             "tag": {
8530               "type": "string"
8531             }
8532           },
8533           "additionalProperties": false,
8534           "required": [
8535             "tag"
8536           ]
8537         },
8538         "Error": {
8539           "type": "object",
8540           "properties": {
8541             "code": {
8542               "type": "string"
8543             },
8544             "info": {
8545               "$ref": "#/definitions/ErrorInfo"
8546             },
8547             "message": {
8548               "type": "string"
8549             }
8550           },
8551           "additionalProperties": false,
8552           "required": [
8553             "message",
8554             "code"
8555           ]
8556         },
8557         "ErrorInfo": {
8558           "type": "object",
8559           "properties": {
8560             "macaroon": {
8561               "$ref": "#/definitions/Macaroon"
8562             },
8563             "macaroon-path": {
8564               "type": "string"
8565             }
8566           },
8567           "additionalProperties": false
8568         },
8569         "LifeResult": {
8570           "type": "object",
8571           "properties": {
8572             "error": {
8573               "$ref": "#/definitions/Error"
8574             },
8575             "life": {
8576               "type": "string"
8577             }
8578           },
8579           "additionalProperties": false,
8580           "required": [
8581             "life"
8582           ]
8583         },
8584         "LifeResults": {
8585           "type": "object",
8586           "properties": {
8587             "results": {
8588               "type": "array",
8589               "items": {
8590                 "$ref": "#/definitions/LifeResult"
8591               }
8592             }
8593           },
8594           "additionalProperties": false,
8595           "required": [
8596             "results"
8597           ]
8598         },
8599         "Macaroon": {
8600           "type": "object",
8601           "additionalProperties": false
8602         },
8603         "MachinePortRange": {
8604           "type": "object",
8605           "properties": {
8606             "port-range": {
8607               "$ref": "#/definitions/PortRange"
8608             },
8609             "relation-tag": {
8610               "type": "string"
8611             },
8612             "unit-tag": {
8613               "type": "string"
8614             }
8615           },
8616           "additionalProperties": false,
8617           "required": [
8618             "unit-tag",
8619             "relation-tag",
8620             "port-range"
8621           ]
8622         },
8623         "MachinePorts": {
8624           "type": "object",
8625           "properties": {
8626             "machine-tag": {
8627               "type": "string"
8628             },
8629             "subnet-tag": {
8630               "type": "string"
8631             }
8632           },
8633           "additionalProperties": false,
8634           "required": [
8635             "machine-tag",
8636             "subnet-tag"
8637           ]
8638         },
8639         "MachinePortsParams": {
8640           "type": "object",
8641           "properties": {
8642             "params": {
8643               "type": "array",
8644               "items": {
8645                 "$ref": "#/definitions/MachinePorts"
8646               }
8647             }
8648           },
8649           "additionalProperties": false,
8650           "required": [
8651             "params"
8652           ]
8653         },
8654         "MachinePortsResult": {
8655           "type": "object",
8656           "properties": {
8657             "error": {
8658               "$ref": "#/definitions/Error"
8659             },
8660             "ports": {
8661               "type": "array",
8662               "items": {
8663                 "$ref": "#/definitions/MachinePortRange"
8664               }
8665             }
8666           },
8667           "additionalProperties": false,
8668           "required": [
8669             "ports"
8670           ]
8671         },
8672         "MachinePortsResults": {
8673           "type": "object",
8674           "properties": {
8675             "results": {
8676               "type": "array",
8677               "items": {
8678                 "$ref": "#/definitions/MachinePortsResult"
8679               }
8680             }
8681           },
8682           "additionalProperties": false,
8683           "required": [
8684             "results"
8685           ]
8686         },
8687         "ModelConfigResult": {
8688           "type": "object",
8689           "properties": {
8690             "config": {
8691               "type": "object",
8692               "patternProperties": {
8693                 ".*": {
8694                   "type": "object",
8695                   "additionalProperties": true
8696                 }
8697               }
8698             }
8699           },
8700           "additionalProperties": false,
8701           "required": [
8702             "config"
8703           ]
8704         },
8705         "ModelTag": {
8706           "type": "object",
8707           "additionalProperties": false
8708         },
8709         "NotifyWatchResult": {
8710           "type": "object",
8711           "properties": {
8712             "NotifyWatcherId": {
8713               "type": "string"
8714             },
8715             "error": {
8716               "$ref": "#/definitions/Error"
8717             }
8718           },
8719           "additionalProperties": false,
8720           "required": [
8721             "NotifyWatcherId"
8722           ]
8723         },
8724         "NotifyWatchResults": {
8725           "type": "object",
8726           "properties": {
8727             "results": {
8728               "type": "array",
8729               "items": {
8730                 "$ref": "#/definitions/NotifyWatchResult"
8731               }
8732             }
8733           },
8734           "additionalProperties": false,
8735           "required": [
8736             "results"
8737           ]
8738         },
8739         "PortRange": {
8740           "type": "object",
8741           "properties": {
8742             "from-port": {
8743               "type": "integer"
8744             },
8745             "protocol": {
8746               "type": "string"
8747             },
8748             "to-port": {
8749               "type": "integer"
8750             }
8751           },
8752           "additionalProperties": false,
8753           "required": [
8754             "from-port",
8755             "to-port",
8756             "protocol"
8757           ]
8758         },
8759         "StringResult": {
8760           "type": "object",
8761           "properties": {
8762             "error": {
8763               "$ref": "#/definitions/Error"
8764             },
8765             "result": {
8766               "type": "string"
8767             }
8768           },
8769           "additionalProperties": false,
8770           "required": [
8771             "result"
8772           ]
8773         },
8774         "StringResults": {
8775           "type": "object",
8776           "properties": {
8777             "results": {
8778               "type": "array",
8779               "items": {
8780                 "$ref": "#/definitions/StringResult"
8781               }
8782             }
8783           },
8784           "additionalProperties": false,
8785           "required": [
8786             "results"
8787           ]
8788         },
8789         "StringsResult": {
8790           "type": "object",
8791           "properties": {
8792             "error": {
8793               "$ref": "#/definitions/Error"
8794             },
8795             "result": {
8796               "type": "array",
8797               "items": {
8798                 "type": "string"
8799               }
8800             }
8801           },
8802           "additionalProperties": false
8803         },
8804         "StringsResults": {
8805           "type": "object",
8806           "properties": {
8807             "results": {
8808               "type": "array",
8809               "items": {
8810                 "$ref": "#/definitions/StringsResult"
8811               }
8812             }
8813           },
8814           "additionalProperties": false,
8815           "required": [
8816             "results"
8817           ]
8818         },
8819         "StringsWatchResult": {
8820           "type": "object",
8821           "properties": {
8822             "changes": {
8823               "type": "array",
8824               "items": {
8825                 "type": "string"
8826               }
8827             },
8828             "error": {
8829               "$ref": "#/definitions/Error"
8830             },
8831             "watcher-id": {
8832               "type": "string"
8833             }
8834           },
8835           "additionalProperties": false,
8836           "required": [
8837             "watcher-id"
8838           ]
8839         },
8840         "StringsWatchResults": {
8841           "type": "object",
8842           "properties": {
8843             "results": {
8844               "type": "array",
8845               "items": {
8846                 "$ref": "#/definitions/StringsWatchResult"
8847               }
8848             }
8849           },
8850           "additionalProperties": false,
8851           "required": [
8852             "results"
8853           ]
8854         }
8855       }
8856     }
8857   },
8858   {
8859     "Name": "HighAvailability",
8860     "Version": 2,
8861     "Schema": {
8862       "type": "object",
8863       "properties": {
8864         "EnableHA": {
8865           "type": "object",
8866           "properties": {
8867             "Params": {
8868               "$ref": "#/definitions/ControllersSpecs"
8869             },
8870             "Result": {
8871               "$ref": "#/definitions/ControllersChangeResults"
8872             }
8873           }
8874         },
8875         "ResumeHAReplicationAfterUpgrade": {
8876           "type": "object",
8877           "properties": {
8878             "Params": {
8879               "$ref": "#/definitions/ResumeReplicationParams"
8880             }
8881           }
8882         },
8883         "StopHAReplicationForUpgrade": {
8884           "type": "object",
8885           "properties": {
8886             "Params": {
8887               "$ref": "#/definitions/UpgradeMongoParams"
8888             },
8889             "Result": {
8890               "$ref": "#/definitions/MongoUpgradeResults"
8891             }
8892           }
8893         }
8894       },
8895       "definitions": {
8896         "Address": {
8897           "type": "object",
8898           "properties": {
8899             "Scope": {
8900               "type": "string"
8901             },
8902             "SpaceName": {
8903               "type": "string"
8904             },
8905             "SpaceProviderId": {
8906               "type": "string"
8907             },
8908             "Type": {
8909               "type": "string"
8910             },
8911             "Value": {
8912               "type": "string"
8913             }
8914           },
8915           "additionalProperties": false,
8916           "required": [
8917             "Value",
8918             "Type",
8919             "Scope",
8920             "SpaceName",
8921             "SpaceProviderId"
8922           ]
8923         },
8924         "ControllersChangeResult": {
8925           "type": "object",
8926           "properties": {
8927             "error": {
8928               "$ref": "#/definitions/Error"
8929             },
8930             "result": {
8931               "$ref": "#/definitions/ControllersChanges"
8932             }
8933           },
8934           "additionalProperties": false,
8935           "required": [
8936             "result"
8937           ]
8938         },
8939         "ControllersChangeResults": {
8940           "type": "object",
8941           "properties": {
8942             "results": {
8943               "type": "array",
8944               "items": {
8945                 "$ref": "#/definitions/ControllersChangeResult"
8946               }
8947             }
8948           },
8949           "additionalProperties": false,
8950           "required": [
8951             "results"
8952           ]
8953         },
8954         "ControllersChanges": {
8955           "type": "object",
8956           "properties": {
8957             "added": {
8958               "type": "array",
8959               "items": {
8960                 "type": "string"
8961               }
8962             },
8963             "converted": {
8964               "type": "array",
8965               "items": {
8966                 "type": "string"
8967               }
8968             },
8969             "demoted": {
8970               "type": "array",
8971               "items": {
8972                 "type": "string"
8973               }
8974             },
8975             "maintained": {
8976               "type": "array",
8977               "items": {
8978                 "type": "string"
8979               }
8980             },
8981             "promoted": {
8982               "type": "array",
8983               "items": {
8984                 "type": "string"
8985               }
8986             },
8987             "removed": {
8988               "type": "array",
8989               "items": {
8990                 "type": "string"
8991               }
8992             }
8993           },
8994           "additionalProperties": false
8995         },
8996         "ControllersSpec": {
8997           "type": "object",
8998           "properties": {
8999             "constraints": {
9000               "$ref": "#/definitions/Value"
9001             },
9002             "num-controllers": {
9003               "type": "integer"
9004             },
9005             "placement": {
9006               "type": "array",
9007               "items": {
9008                 "type": "string"
9009               }
9010             },
9011             "series": {
9012               "type": "string"
9013             }
9014           },
9015           "additionalProperties": false,
9016           "required": [
9017             "num-controllers"
9018           ]
9019         },
9020         "ControllersSpecs": {
9021           "type": "object",
9022           "properties": {
9023             "specs": {
9024               "type": "array",
9025               "items": {
9026                 "$ref": "#/definitions/ControllersSpec"
9027               }
9028             }
9029           },
9030           "additionalProperties": false,
9031           "required": [
9032             "specs"
9033           ]
9034         },
9035         "Error": {
9036           "type": "object",
9037           "properties": {
9038             "code": {
9039               "type": "string"
9040             },
9041             "info": {
9042               "$ref": "#/definitions/ErrorInfo"
9043             },
9044             "message": {
9045               "type": "string"
9046             }
9047           },
9048           "additionalProperties": false,
9049           "required": [
9050             "message",
9051             "code"
9052           ]
9053         },
9054         "ErrorInfo": {
9055           "type": "object",
9056           "properties": {
9057             "macaroon": {
9058               "$ref": "#/definitions/Macaroon"
9059             },
9060             "macaroon-path": {
9061               "type": "string"
9062             }
9063           },
9064           "additionalProperties": false
9065         },
9066         "HAMember": {
9067           "type": "object",
9068           "properties": {
9069             "public-address": {
9070               "$ref": "#/definitions/Address"
9071             },
9072             "series": {
9073               "type": "string"
9074             },
9075             "tag": {
9076               "type": "string"
9077             }
9078           },
9079           "additionalProperties": false,
9080           "required": [
9081             "tag",
9082             "public-address",
9083             "series"
9084           ]
9085         },
9086         "Macaroon": {
9087           "type": "object",
9088           "additionalProperties": false
9089         },
9090         "Member": {
9091           "type": "object",
9092           "properties": {
9093             "Address": {
9094               "type": "string"
9095             },
9096             "Arbiter": {
9097               "type": "boolean"
9098             },
9099             "BuildIndexes": {
9100               "type": "boolean"
9101             },
9102             "Hidden": {
9103               "type": "boolean"
9104             },
9105             "Id": {
9106               "type": "integer"
9107             },
9108             "Priority": {
9109               "type": "number"
9110             },
9111             "SlaveDelay": {
9112               "type": "integer"
9113             },
9114             "Tags": {
9115               "type": "object",
9116               "patternProperties": {
9117                 ".*": {
9118                   "type": "string"
9119                 }
9120               }
9121             },
9122             "Votes": {
9123               "type": "integer"
9124             }
9125           },
9126           "additionalProperties": false,
9127           "required": [
9128             "Id",
9129             "Address",
9130             "Arbiter",
9131             "BuildIndexes",
9132             "Hidden",
9133             "Priority",
9134             "Tags",
9135             "SlaveDelay",
9136             "Votes"
9137           ]
9138         },
9139         "MongoUpgradeResults": {
9140           "type": "object",
9141           "properties": {
9142             "ha-members": {
9143               "type": "array",
9144               "items": {
9145                 "$ref": "#/definitions/HAMember"
9146               }
9147             },
9148             "master": {
9149               "$ref": "#/definitions/HAMember"
9150             },
9151             "rs-members": {
9152               "type": "array",
9153               "items": {
9154                 "$ref": "#/definitions/Member"
9155               }
9156             }
9157           },
9158           "additionalProperties": false,
9159           "required": [
9160             "rs-members",
9161             "master",
9162             "ha-members"
9163           ]
9164         },
9165         "MongoVersion": {
9166           "type": "object",
9167           "properties": {
9168             "engine": {
9169               "type": "string"
9170             },
9171             "major": {
9172               "type": "integer"
9173             },
9174             "minor": {
9175               "type": "integer"
9176             },
9177             "patch": {
9178               "type": "string"
9179             }
9180           },
9181           "additionalProperties": false,
9182           "required": [
9183             "major",
9184             "minor",
9185             "patch",
9186             "engine"
9187           ]
9188         },
9189         "ResumeReplicationParams": {
9190           "type": "object",
9191           "properties": {
9192             "members": {
9193               "type": "array",
9194               "items": {
9195                 "$ref": "#/definitions/Member"
9196               }
9197             }
9198           },
9199           "additionalProperties": false,
9200           "required": [
9201             "members"
9202           ]
9203         },
9204         "UpgradeMongoParams": {
9205           "type": "object",
9206           "properties": {
9207             "target": {
9208               "$ref": "#/definitions/MongoVersion"
9209             }
9210           },
9211           "additionalProperties": false,
9212           "required": [
9213             "target"
9214           ]
9215         },
9216         "Value": {
9217           "type": "object",
9218           "properties": {
9219             "arch": {
9220               "type": "string"
9221             },
9222             "container": {
9223               "type": "string"
9224             },
9225             "cores": {
9226               "type": "integer"
9227             },
9228             "cpu-power": {
9229               "type": "integer"
9230             },
9231             "instance-type": {
9232               "type": "string"
9233             },
9234             "mem": {
9235               "type": "integer"
9236             },
9237             "root-disk": {
9238               "type": "integer"
9239             },
9240             "spaces": {
9241               "type": "array",
9242               "items": {
9243                 "type": "string"
9244               }
9245             },
9246             "tags": {
9247               "type": "array",
9248               "items": {
9249                 "type": "string"
9250               }
9251             },
9252             "virt-type": {
9253               "type": "string"
9254             }
9255           },
9256           "additionalProperties": false
9257         }
9258       }
9259     }
9260   },
9261   {
9262     "Name": "HostKeyReporter",
9263     "Version": 1,
9264     "Schema": {
9265       "type": "object",
9266       "properties": {
9267         "ReportKeys": {
9268           "type": "object",
9269           "properties": {
9270             "Params": {
9271               "$ref": "#/definitions/SSHHostKeySet"
9272             },
9273             "Result": {
9274               "$ref": "#/definitions/ErrorResults"
9275             }
9276           }
9277         }
9278       },
9279       "definitions": {
9280         "Error": {
9281           "type": "object",
9282           "properties": {
9283             "code": {
9284               "type": "string"
9285             },
9286             "info": {
9287               "$ref": "#/definitions/ErrorInfo"
9288             },
9289             "message": {
9290               "type": "string"
9291             }
9292           },
9293           "additionalProperties": false,
9294           "required": [
9295             "message",
9296             "code"
9297           ]
9298         },
9299         "ErrorInfo": {
9300           "type": "object",
9301           "properties": {
9302             "macaroon": {
9303               "$ref": "#/definitions/Macaroon"
9304             },
9305             "macaroon-path": {
9306               "type": "string"
9307             }
9308           },
9309           "additionalProperties": false
9310         },
9311         "ErrorResult": {
9312           "type": "object",
9313           "properties": {
9314             "error": {
9315               "$ref": "#/definitions/Error"
9316             }
9317           },
9318           "additionalProperties": false
9319         },
9320         "ErrorResults": {
9321           "type": "object",
9322           "properties": {
9323             "results": {
9324               "type": "array",
9325               "items": {
9326                 "$ref": "#/definitions/ErrorResult"
9327               }
9328             }
9329           },
9330           "additionalProperties": false,
9331           "required": [
9332             "results"
9333           ]
9334         },
9335         "Macaroon": {
9336           "type": "object",
9337           "additionalProperties": false
9338         },
9339         "SSHHostKeySet": {
9340           "type": "object",
9341           "properties": {
9342             "entity-keys": {
9343               "type": "array",
9344               "items": {
9345                 "$ref": "#/definitions/SSHHostKeys"
9346               }
9347             }
9348           },
9349           "additionalProperties": false,
9350           "required": [
9351             "entity-keys"
9352           ]
9353         },
9354         "SSHHostKeys": {
9355           "type": "object",
9356           "properties": {
9357             "public-keys": {
9358               "type": "array",
9359               "items": {
9360                 "type": "string"
9361               }
9362             },
9363             "tag": {
9364               "type": "string"
9365             }
9366           },
9367           "additionalProperties": false,
9368           "required": [
9369             "tag",
9370             "public-keys"
9371           ]
9372         }
9373       }
9374     }
9375   },
9376   {
9377     "Name": "ImageManager",
9378     "Version": 2,
9379     "Schema": {
9380       "type": "object",
9381       "properties": {
9382         "DeleteImages": {
9383           "type": "object",
9384           "properties": {
9385             "Params": {
9386               "$ref": "#/definitions/ImageFilterParams"
9387             },
9388             "Result": {
9389               "$ref": "#/definitions/ErrorResults"
9390             }
9391           }
9392         },
9393         "ListImages": {
9394           "type": "object",
9395           "properties": {
9396             "Params": {
9397               "$ref": "#/definitions/ImageFilterParams"
9398             },
9399             "Result": {
9400               "$ref": "#/definitions/ListImageResult"
9401             }
9402           }
9403         }
9404       },
9405       "definitions": {
9406         "Error": {
9407           "type": "object",
9408           "properties": {
9409             "code": {
9410               "type": "string"
9411             },
9412             "info": {
9413               "$ref": "#/definitions/ErrorInfo"
9414             },
9415             "message": {
9416               "type": "string"
9417             }
9418           },
9419           "additionalProperties": false,
9420           "required": [
9421             "message",
9422             "code"
9423           ]
9424         },
9425         "ErrorInfo": {
9426           "type": "object",
9427           "properties": {
9428             "macaroon": {
9429               "$ref": "#/definitions/Macaroon"
9430             },
9431             "macaroon-path": {
9432               "type": "string"
9433             }
9434           },
9435           "additionalProperties": false
9436         },
9437         "ErrorResult": {
9438           "type": "object",
9439           "properties": {
9440             "error": {
9441               "$ref": "#/definitions/Error"
9442             }
9443           },
9444           "additionalProperties": false
9445         },
9446         "ErrorResults": {
9447           "type": "object",
9448           "properties": {
9449             "results": {
9450               "type": "array",
9451               "items": {
9452                 "$ref": "#/definitions/ErrorResult"
9453               }
9454             }
9455           },
9456           "additionalProperties": false,
9457           "required": [
9458             "results"
9459           ]
9460         },
9461         "ImageFilterParams": {
9462           "type": "object",
9463           "properties": {
9464             "images": {
9465               "type": "array",
9466               "items": {
9467                 "$ref": "#/definitions/ImageSpec"
9468               }
9469             }
9470           },
9471           "additionalProperties": false,
9472           "required": [
9473             "images"
9474           ]
9475         },
9476         "ImageMetadata": {
9477           "type": "object",
9478           "properties": {
9479             "arch": {
9480               "type": "string"
9481             },
9482             "created": {
9483               "type": "string",
9484               "format": "date-time"
9485             },
9486             "kind": {
9487               "type": "string"
9488             },
9489             "series": {
9490               "type": "string"
9491             },
9492             "url": {
9493               "type": "string"
9494             }
9495           },
9496           "additionalProperties": false,
9497           "required": [
9498             "kind",
9499             "arch",
9500             "series",
9501             "url",
9502             "created"
9503           ]
9504         },
9505         "ImageSpec": {
9506           "type": "object",
9507           "properties": {
9508             "arch": {
9509               "type": "string"
9510             },
9511             "kind": {
9512               "type": "string"
9513             },
9514             "series": {
9515               "type": "string"
9516             }
9517           },
9518           "additionalProperties": false,
9519           "required": [
9520             "kind",
9521             "arch",
9522             "series"
9523           ]
9524         },
9525         "ListImageResult": {
9526           "type": "object",
9527           "properties": {
9528             "result": {
9529               "type": "array",
9530               "items": {
9531                 "$ref": "#/definitions/ImageMetadata"
9532               }
9533             }
9534           },
9535           "additionalProperties": false,
9536           "required": [
9537             "result"
9538           ]
9539         },
9540         "Macaroon": {
9541           "type": "object",
9542           "additionalProperties": false
9543         }
9544       }
9545     }
9546   },
9547   {
9548     "Name": "ImageMetadata",
9549     "Version": 2,
9550     "Schema": {
9551       "type": "object",
9552       "properties": {
9553         "Delete": {
9554           "type": "object",
9555           "properties": {
9556             "Params": {
9557               "$ref": "#/definitions/MetadataImageIds"
9558             },
9559             "Result": {
9560               "$ref": "#/definitions/ErrorResults"
9561             }
9562           }
9563         },
9564         "List": {
9565           "type": "object",
9566           "properties": {
9567             "Params": {
9568               "$ref": "#/definitions/ImageMetadataFilter"
9569             },
9570             "Result": {
9571               "$ref": "#/definitions/ListCloudImageMetadataResult"
9572             }
9573           }
9574         },
9575         "Save": {
9576           "type": "object",
9577           "properties": {
9578             "Params": {
9579               "$ref": "#/definitions/MetadataSaveParams"
9580             },
9581             "Result": {
9582               "$ref": "#/definitions/ErrorResults"
9583             }
9584           }
9585         },
9586         "UpdateFromPublishedImages": {
9587           "type": "object"
9588         }
9589       },
9590       "definitions": {
9591         "CloudImageMetadata": {
9592           "type": "object",
9593           "properties": {
9594             "arch": {
9595               "type": "string"
9596             },
9597             "image-id": {
9598               "type": "string"
9599             },
9600             "priority": {
9601               "type": "integer"
9602             },
9603             "region": {
9604               "type": "string"
9605             },
9606             "root-storage-size": {
9607               "type": "integer"
9608             },
9609             "root-storage-type": {
9610               "type": "string"
9611             },
9612             "series": {
9613               "type": "string"
9614             },
9615             "source": {
9616               "type": "string"
9617             },
9618             "stream": {
9619               "type": "string"
9620             },
9621             "version": {
9622               "type": "string"
9623             },
9624             "virt-type": {
9625               "type": "string"
9626             }
9627           },
9628           "additionalProperties": false,
9629           "required": [
9630             "image-id",
9631             "region",
9632             "version",
9633             "series",
9634             "arch",
9635             "source",
9636             "priority"
9637           ]
9638         },
9639         "CloudImageMetadataList": {
9640           "type": "object",
9641           "properties": {
9642             "metadata": {
9643               "type": "array",
9644               "items": {
9645                 "$ref": "#/definitions/CloudImageMetadata"
9646               }
9647             }
9648           },
9649           "additionalProperties": false
9650         },
9651         "Error": {
9652           "type": "object",
9653           "properties": {
9654             "code": {
9655               "type": "string"
9656             },
9657             "info": {
9658               "$ref": "#/definitions/ErrorInfo"
9659             },
9660             "message": {
9661               "type": "string"
9662             }
9663           },
9664           "additionalProperties": false,
9665           "required": [
9666             "message",
9667             "code"
9668           ]
9669         },
9670         "ErrorInfo": {
9671           "type": "object",
9672           "properties": {
9673             "macaroon": {
9674               "$ref": "#/definitions/Macaroon"
9675             },
9676             "macaroon-path": {
9677               "type": "string"
9678             }
9679           },
9680           "additionalProperties": false
9681         },
9682         "ErrorResult": {
9683           "type": "object",
9684           "properties": {
9685             "error": {
9686               "$ref": "#/definitions/Error"
9687             }
9688           },
9689           "additionalProperties": false
9690         },
9691         "ErrorResults": {
9692           "type": "object",
9693           "properties": {
9694             "results": {
9695               "type": "array",
9696               "items": {
9697                 "$ref": "#/definitions/ErrorResult"
9698               }
9699             }
9700           },
9701           "additionalProperties": false,
9702           "required": [
9703             "results"
9704           ]
9705         },
9706         "ImageMetadataFilter": {
9707           "type": "object",
9708           "properties": {
9709             "arches": {
9710               "type": "array",
9711               "items": {
9712                 "type": "string"
9713               }
9714             },
9715             "region": {
9716               "type": "string"
9717             },
9718             "root-storage-type": {
9719               "type": "string"
9720             },
9721             "series": {
9722               "type": "array",
9723               "items": {
9724                 "type": "string"
9725               }
9726             },
9727             "stream": {
9728               "type": "string"
9729             },
9730             "virt-type": {
9731               "type": "string"
9732             }
9733           },
9734           "additionalProperties": false
9735         },
9736         "ListCloudImageMetadataResult": {
9737           "type": "object",
9738           "properties": {
9739             "result": {
9740               "type": "array",
9741               "items": {
9742                 "$ref": "#/definitions/CloudImageMetadata"
9743               }
9744             }
9745           },
9746           "additionalProperties": false,
9747           "required": [
9748             "result"
9749           ]
9750         },
9751         "Macaroon": {
9752           "type": "object",
9753           "additionalProperties": false
9754         },
9755         "MetadataImageIds": {
9756           "type": "object",
9757           "properties": {
9758             "image-ids": {
9759               "type": "array",
9760               "items": {
9761                 "type": "string"
9762               }
9763             }
9764           },
9765           "additionalProperties": false,
9766           "required": [
9767             "image-ids"
9768           ]
9769         },
9770         "MetadataSaveParams": {
9771           "type": "object",
9772           "properties": {
9773             "metadata": {
9774               "type": "array",
9775               "items": {
9776                 "$ref": "#/definitions/CloudImageMetadataList"
9777               }
9778             }
9779           },
9780           "additionalProperties": false
9781         }
9782       }
9783     }
9784   },
9785   {
9786     "Name": "InstancePoller",
9787     "Version": 3,
9788     "Schema": {
9789       "type": "object",
9790       "properties": {
9791         "AreManuallyProvisioned": {
9792           "type": "object",
9793           "properties": {
9794             "Params": {
9795               "$ref": "#/definitions/Entities"
9796             },
9797             "Result": {
9798               "$ref": "#/definitions/BoolResults"
9799             }
9800           }
9801         },
9802         "InstanceId": {
9803           "type": "object",
9804           "properties": {
9805             "Params": {
9806               "$ref": "#/definitions/Entities"
9807             },
9808             "Result": {
9809               "$ref": "#/definitions/StringResults"
9810             }
9811           }
9812         },
9813         "InstanceStatus": {
9814           "type": "object",
9815           "properties": {
9816             "Params": {
9817               "$ref": "#/definitions/Entities"
9818             },
9819             "Result": {
9820               "$ref": "#/definitions/StatusResults"
9821             }
9822           }
9823         },
9824         "Life": {
9825           "type": "object",
9826           "properties": {
9827             "Params": {
9828               "$ref": "#/definitions/Entities"
9829             },
9830             "Result": {
9831               "$ref": "#/definitions/LifeResults"
9832             }
9833           }
9834         },
9835         "ModelConfig": {
9836           "type": "object",
9837           "properties": {
9838             "Result": {
9839               "$ref": "#/definitions/ModelConfigResult"
9840             }
9841           }
9842         },
9843         "ProviderAddresses": {
9844           "type": "object",
9845           "properties": {
9846             "Params": {
9847               "$ref": "#/definitions/Entities"
9848             },
9849             "Result": {
9850               "$ref": "#/definitions/MachineAddressesResults"
9851             }
9852           }
9853         },
9854         "SetInstanceStatus": {
9855           "type": "object",
9856           "properties": {
9857             "Params": {
9858               "$ref": "#/definitions/SetStatus"
9859             },
9860             "Result": {
9861               "$ref": "#/definitions/ErrorResults"
9862             }
9863           }
9864         },
9865         "SetProviderAddresses": {
9866           "type": "object",
9867           "properties": {
9868             "Params": {
9869               "$ref": "#/definitions/SetMachinesAddresses"
9870             },
9871             "Result": {
9872               "$ref": "#/definitions/ErrorResults"
9873             }
9874           }
9875         },
9876         "Status": {
9877           "type": "object",
9878           "properties": {
9879             "Params": {
9880               "$ref": "#/definitions/Entities"
9881             },
9882             "Result": {
9883               "$ref": "#/definitions/StatusResults"
9884             }
9885           }
9886         },
9887         "WatchForModelConfigChanges": {
9888           "type": "object",
9889           "properties": {
9890             "Result": {
9891               "$ref": "#/definitions/NotifyWatchResult"
9892             }
9893           }
9894         },
9895         "WatchModelMachines": {
9896           "type": "object",
9897           "properties": {
9898             "Result": {
9899               "$ref": "#/definitions/StringsWatchResult"
9900             }
9901           }
9902         }
9903       },
9904       "definitions": {
9905         "Address": {
9906           "type": "object",
9907           "properties": {
9908             "scope": {
9909               "type": "string"
9910             },
9911             "space-name": {
9912               "type": "string"
9913             },
9914             "type": {
9915               "type": "string"
9916             },
9917             "value": {
9918               "type": "string"
9919             }
9920           },
9921           "additionalProperties": false,
9922           "required": [
9923             "value",
9924             "type",
9925             "scope"
9926           ]
9927         },
9928         "BoolResult": {
9929           "type": "object",
9930           "properties": {
9931             "error": {
9932               "$ref": "#/definitions/Error"
9933             },
9934             "result": {
9935               "type": "boolean"
9936             }
9937           },
9938           "additionalProperties": false,
9939           "required": [
9940             "result"
9941           ]
9942         },
9943         "BoolResults": {
9944           "type": "object",
9945           "properties": {
9946             "results": {
9947               "type": "array",
9948               "items": {
9949                 "$ref": "#/definitions/BoolResult"
9950               }
9951             }
9952           },
9953           "additionalProperties": false,
9954           "required": [
9955             "results"
9956           ]
9957         },
9958         "Entities": {
9959           "type": "object",
9960           "properties": {
9961             "entities": {
9962               "type": "array",
9963               "items": {
9964                 "$ref": "#/definitions/Entity"
9965               }
9966             }
9967           },
9968           "additionalProperties": false,
9969           "required": [
9970             "entities"
9971           ]
9972         },
9973         "Entity": {
9974           "type": "object",
9975           "properties": {
9976             "tag": {
9977               "type": "string"
9978             }
9979           },
9980           "additionalProperties": false,
9981           "required": [
9982             "tag"
9983           ]
9984         },
9985         "EntityStatusArgs": {
9986           "type": "object",
9987           "properties": {
9988             "data": {
9989               "type": "object",
9990               "patternProperties": {
9991                 ".*": {
9992                   "type": "object",
9993                   "additionalProperties": true
9994                 }
9995               }
9996             },
9997             "info": {
9998               "type": "string"
9999             },
10000             "status": {
10001               "type": "string"
10002             },
10003             "tag": {
10004               "type": "string"
10005             }
10006           },
10007           "additionalProperties": false,
10008           "required": [
10009             "tag",
10010             "status",
10011             "info",
10012             "data"
10013           ]
10014         },
10015         "Error": {
10016           "type": "object",
10017           "properties": {
10018             "code": {
10019               "type": "string"
10020             },
10021             "info": {
10022               "$ref": "#/definitions/ErrorInfo"
10023             },
10024             "message": {
10025               "type": "string"
10026             }
10027           },
10028           "additionalProperties": false,
10029           "required": [
10030             "message",
10031             "code"
10032           ]
10033         },
10034         "ErrorInfo": {
10035           "type": "object",
10036           "properties": {
10037             "macaroon": {
10038               "$ref": "#/definitions/Macaroon"
10039             },
10040             "macaroon-path": {
10041               "type": "string"
10042             }
10043           },
10044           "additionalProperties": false
10045         },
10046         "ErrorResult": {
10047           "type": "object",
10048           "properties": {
10049             "error": {
10050               "$ref": "#/definitions/Error"
10051             }
10052           },
10053           "additionalProperties": false
10054         },
10055         "ErrorResults": {
10056           "type": "object",
10057           "properties": {
10058             "results": {
10059               "type": "array",
10060               "items": {
10061                 "$ref": "#/definitions/ErrorResult"
10062               }
10063             }
10064           },
10065           "additionalProperties": false,
10066           "required": [
10067             "results"
10068           ]
10069         },
10070         "LifeResult": {
10071           "type": "object",
10072           "properties": {
10073             "error": {
10074               "$ref": "#/definitions/Error"
10075             },
10076             "life": {
10077               "type": "string"
10078             }
10079           },
10080           "additionalProperties": false,
10081           "required": [
10082             "life"
10083           ]
10084         },
10085         "LifeResults": {
10086           "type": "object",
10087           "properties": {
10088             "results": {
10089               "type": "array",
10090               "items": {
10091                 "$ref": "#/definitions/LifeResult"
10092               }
10093             }
10094           },
10095           "additionalProperties": false,
10096           "required": [
10097             "results"
10098           ]
10099         },
10100         "Macaroon": {
10101           "type": "object",
10102           "additionalProperties": false
10103         },
10104         "MachineAddresses": {
10105           "type": "object",
10106           "properties": {
10107             "addresses": {
10108               "type": "array",
10109               "items": {
10110                 "$ref": "#/definitions/Address"
10111               }
10112             },
10113             "tag": {
10114               "type": "string"
10115             }
10116           },
10117           "additionalProperties": false,
10118           "required": [
10119             "tag",
10120             "addresses"
10121           ]
10122         },
10123         "MachineAddressesResult": {
10124           "type": "object",
10125           "properties": {
10126             "addresses": {
10127               "type": "array",
10128               "items": {
10129                 "$ref": "#/definitions/Address"
10130               }
10131             },
10132             "error": {
10133               "$ref": "#/definitions/Error"
10134             }
10135           },
10136           "additionalProperties": false,
10137           "required": [
10138             "addresses"
10139           ]
10140         },
10141         "MachineAddressesResults": {
10142           "type": "object",
10143           "properties": {
10144             "results": {
10145               "type": "array",
10146               "items": {
10147                 "$ref": "#/definitions/MachineAddressesResult"
10148               }
10149             }
10150           },
10151           "additionalProperties": false,
10152           "required": [
10153             "results"
10154           ]
10155         },
10156         "ModelConfigResult": {
10157           "type": "object",
10158           "properties": {
10159             "config": {
10160               "type": "object",
10161               "patternProperties": {
10162                 ".*": {
10163                   "type": "object",
10164                   "additionalProperties": true
10165                 }
10166               }
10167             }
10168           },
10169           "additionalProperties": false,
10170           "required": [
10171             "config"
10172           ]
10173         },
10174         "NotifyWatchResult": {
10175           "type": "object",
10176           "properties": {
10177             "NotifyWatcherId": {
10178               "type": "string"
10179             },
10180             "error": {
10181               "$ref": "#/definitions/Error"
10182             }
10183           },
10184           "additionalProperties": false,
10185           "required": [
10186             "NotifyWatcherId"
10187           ]
10188         },
10189         "SetMachinesAddresses": {
10190           "type": "object",
10191           "properties": {
10192             "machine-addresses": {
10193               "type": "array",
10194               "items": {
10195                 "$ref": "#/definitions/MachineAddresses"
10196               }
10197             }
10198           },
10199           "additionalProperties": false,
10200           "required": [
10201             "machine-addresses"
10202           ]
10203         },
10204         "SetStatus": {
10205           "type": "object",
10206           "properties": {
10207             "entities": {
10208               "type": "array",
10209               "items": {
10210                 "$ref": "#/definitions/EntityStatusArgs"
10211               }
10212             }
10213           },
10214           "additionalProperties": false,
10215           "required": [
10216             "entities"
10217           ]
10218         },
10219         "StatusResult": {
10220           "type": "object",
10221           "properties": {
10222             "data": {
10223               "type": "object",
10224               "patternProperties": {
10225                 ".*": {
10226                   "type": "object",
10227                   "additionalProperties": true
10228                 }
10229               }
10230             },
10231             "error": {
10232               "$ref": "#/definitions/Error"
10233             },
10234             "id": {
10235               "type": "string"
10236             },
10237             "info": {
10238               "type": "string"
10239             },
10240             "life": {
10241               "type": "string"
10242             },
10243             "since": {
10244               "type": "string",
10245               "format": "date-time"
10246             },
10247             "status": {
10248               "type": "string"
10249             }
10250           },
10251           "additionalProperties": false,
10252           "required": [
10253             "id",
10254             "life",
10255             "status",
10256             "info",
10257             "data",
10258             "since"
10259           ]
10260         },
10261         "StatusResults": {
10262           "type": "object",
10263           "properties": {
10264             "results": {
10265               "type": "array",
10266               "items": {
10267                 "$ref": "#/definitions/StatusResult"
10268               }
10269             }
10270           },
10271           "additionalProperties": false,
10272           "required": [
10273             "results"
10274           ]
10275         },
10276         "StringResult": {
10277           "type": "object",
10278           "properties": {
10279             "error": {
10280               "$ref": "#/definitions/Error"
10281             },
10282             "result": {
10283               "type": "string"
10284             }
10285           },
10286           "additionalProperties": false,
10287           "required": [
10288             "result"
10289           ]
10290         },
10291         "StringResults": {
10292           "type": "object",
10293           "properties": {
10294             "results": {
10295               "type": "array",
10296               "items": {
10297                 "$ref": "#/definitions/StringResult"
10298               }
10299             }
10300           },
10301           "additionalProperties": false,
10302           "required": [
10303             "results"
10304           ]
10305         },
10306         "StringsWatchResult": {
10307           "type": "object",
10308           "properties": {
10309             "changes": {
10310               "type": "array",
10311               "items": {
10312                 "type": "string"
10313               }
10314             },
10315             "error": {
10316               "$ref": "#/definitions/Error"
10317             },
10318             "watcher-id": {
10319               "type": "string"
10320             }
10321           },
10322           "additionalProperties": false,
10323           "required": [
10324             "watcher-id"
10325           ]
10326         }
10327       }
10328     }
10329   },
10330   {
10331     "Name": "KeyManager",
10332     "Version": 1,
10333     "Schema": {
10334       "type": "object",
10335       "properties": {
10336         "AddKeys": {
10337           "type": "object",
10338           "properties": {
10339             "Params": {
10340               "$ref": "#/definitions/ModifyUserSSHKeys"
10341             },
10342             "Result": {
10343               "$ref": "#/definitions/ErrorResults"
10344             }
10345           }
10346         },
10347         "DeleteKeys": {
10348           "type": "object",
10349           "properties": {
10350             "Params": {
10351               "$ref": "#/definitions/ModifyUserSSHKeys"
10352             },
10353             "Result": {
10354               "$ref": "#/definitions/ErrorResults"
10355             }
10356           }
10357         },
10358         "ImportKeys": {
10359           "type": "object",
10360           "properties": {
10361             "Params": {
10362               "$ref": "#/definitions/ModifyUserSSHKeys"
10363             },
10364             "Result": {
10365               "$ref": "#/definitions/ErrorResults"
10366             }
10367           }
10368         },
10369         "ListKeys": {
10370           "type": "object",
10371           "properties": {
10372             "Params": {
10373               "$ref": "#/definitions/ListSSHKeys"
10374             },
10375             "Result": {
10376               "$ref": "#/definitions/StringsResults"
10377             }
10378           }
10379         }
10380       },
10381       "definitions": {
10382         "Entities": {
10383           "type": "object",
10384           "properties": {
10385             "entities": {
10386               "type": "array",
10387               "items": {
10388                 "$ref": "#/definitions/Entity"
10389               }
10390             }
10391           },
10392           "additionalProperties": false,
10393           "required": [
10394             "entities"
10395           ]
10396         },
10397         "Entity": {
10398           "type": "object",
10399           "properties": {
10400             "tag": {
10401               "type": "string"
10402             }
10403           },
10404           "additionalProperties": false,
10405           "required": [
10406             "tag"
10407           ]
10408         },
10409         "Error": {
10410           "type": "object",
10411           "properties": {
10412             "code": {
10413               "type": "string"
10414             },
10415             "info": {
10416               "$ref": "#/definitions/ErrorInfo"
10417             },
10418             "message": {
10419               "type": "string"
10420             }
10421           },
10422           "additionalProperties": false,
10423           "required": [
10424             "message",
10425             "code"
10426           ]
10427         },
10428         "ErrorInfo": {
10429           "type": "object",
10430           "properties": {
10431             "macaroon": {
10432               "$ref": "#/definitions/Macaroon"
10433             },
10434             "macaroon-path": {
10435               "type": "string"
10436             }
10437           },
10438           "additionalProperties": false
10439         },
10440         "ErrorResult": {
10441           "type": "object",
10442           "properties": {
10443             "error": {
10444               "$ref": "#/definitions/Error"
10445             }
10446           },
10447           "additionalProperties": false
10448         },
10449         "ErrorResults": {
10450           "type": "object",
10451           "properties": {
10452             "results": {
10453               "type": "array",
10454               "items": {
10455                 "$ref": "#/definitions/ErrorResult"
10456               }
10457             }
10458           },
10459           "additionalProperties": false,
10460           "required": [
10461             "results"
10462           ]
10463         },
10464         "ListSSHKeys": {
10465           "type": "object",
10466           "properties": {
10467             "entities": {
10468               "$ref": "#/definitions/Entities"
10469             },
10470             "mode": {
10471               "type": "boolean"
10472             }
10473           },
10474           "additionalProperties": false,
10475           "required": [
10476             "entities",
10477             "mode"
10478           ]
10479         },
10480         "Macaroon": {
10481           "type": "object",
10482           "additionalProperties": false
10483         },
10484         "ModifyUserSSHKeys": {
10485           "type": "object",
10486           "properties": {
10487             "ssh-keys": {
10488               "type": "array",
10489               "items": {
10490                 "type": "string"
10491               }
10492             },
10493             "user": {
10494               "type": "string"
10495             }
10496           },
10497           "additionalProperties": false,
10498           "required": [
10499             "user",
10500             "ssh-keys"
10501           ]
10502         },
10503         "StringsResult": {
10504           "type": "object",
10505           "properties": {
10506             "error": {
10507               "$ref": "#/definitions/Error"
10508             },
10509             "result": {
10510               "type": "array",
10511               "items": {
10512                 "type": "string"
10513               }
10514             }
10515           },
10516           "additionalProperties": false
10517         },
10518         "StringsResults": {
10519           "type": "object",
10520           "properties": {
10521             "results": {
10522               "type": "array",
10523               "items": {
10524                 "$ref": "#/definitions/StringsResult"
10525               }
10526             }
10527           },
10528           "additionalProperties": false,
10529           "required": [
10530             "results"
10531           ]
10532         }
10533       }
10534     }
10535   },
10536   {
10537     "Name": "KeyUpdater",
10538     "Version": 1,
10539     "Schema": {
10540       "type": "object",
10541       "properties": {
10542         "AuthorisedKeys": {
10543           "type": "object",
10544           "properties": {
10545             "Params": {
10546               "$ref": "#/definitions/Entities"
10547             },
10548             "Result": {
10549               "$ref": "#/definitions/StringsResults"
10550             }
10551           }
10552         },
10553         "WatchAuthorisedKeys": {
10554           "type": "object",
10555           "properties": {
10556             "Params": {
10557               "$ref": "#/definitions/Entities"
10558             },
10559             "Result": {
10560               "$ref": "#/definitions/NotifyWatchResults"
10561             }
10562           }
10563         }
10564       },
10565       "definitions": {
10566         "Entities": {
10567           "type": "object",
10568           "properties": {
10569             "entities": {
10570               "type": "array",
10571               "items": {
10572                 "$ref": "#/definitions/Entity"
10573               }
10574             }
10575           },
10576           "additionalProperties": false,
10577           "required": [
10578             "entities"
10579           ]
10580         },
10581         "Entity": {
10582           "type": "object",
10583           "properties": {
10584             "tag": {
10585               "type": "string"
10586             }
10587           },
10588           "additionalProperties": false,
10589           "required": [
10590             "tag"
10591           ]
10592         },
10593         "Error": {
10594           "type": "object",
10595           "properties": {
10596             "code": {
10597               "type": "string"
10598             },
10599             "info": {
10600               "$ref": "#/definitions/ErrorInfo"
10601             },
10602             "message": {
10603               "type": "string"
10604             }
10605           },
10606           "additionalProperties": false,
10607           "required": [
10608             "message",
10609             "code"
10610           ]
10611         },
10612         "ErrorInfo": {
10613           "type": "object",
10614           "properties": {
10615             "macaroon": {
10616               "$ref": "#/definitions/Macaroon"
10617             },
10618             "macaroon-path": {
10619               "type": "string"
10620             }
10621           },
10622           "additionalProperties": false
10623         },
10624         "Macaroon": {
10625           "type": "object",
10626           "additionalProperties": false
10627         },
10628         "NotifyWatchResult": {
10629           "type": "object",
10630           "properties": {
10631             "NotifyWatcherId": {
10632               "type": "string"
10633             },
10634             "error": {
10635               "$ref": "#/definitions/Error"
10636             }
10637           },
10638           "additionalProperties": false,
10639           "required": [
10640             "NotifyWatcherId"
10641           ]
10642         },
10643         "NotifyWatchResults": {
10644           "type": "object",
10645           "properties": {
10646             "results": {
10647               "type": "array",
10648               "items": {
10649                 "$ref": "#/definitions/NotifyWatchResult"
10650               }
10651             }
10652           },
10653           "additionalProperties": false,
10654           "required": [
10655             "results"
10656           ]
10657         },
10658         "StringsResult": {
10659           "type": "object",
10660           "properties": {
10661             "error": {
10662               "$ref": "#/definitions/Error"
10663             },
10664             "result": {
10665               "type": "array",
10666               "items": {
10667                 "type": "string"
10668               }
10669             }
10670           },
10671           "additionalProperties": false
10672         },
10673         "StringsResults": {
10674           "type": "object",
10675           "properties": {
10676             "results": {
10677               "type": "array",
10678               "items": {
10679                 "$ref": "#/definitions/StringsResult"
10680               }
10681             }
10682           },
10683           "additionalProperties": false,
10684           "required": [
10685             "results"
10686           ]
10687         }
10688       }
10689     }
10690   },
10691   {
10692     "Name": "LeadershipService",
10693     "Version": 2,
10694     "Schema": {
10695       "type": "object",
10696       "properties": {
10697         "BlockUntilLeadershipReleased": {
10698           "type": "object",
10699           "properties": {
10700             "Params": {
10701               "$ref": "#/definitions/ApplicationTag"
10702             },
10703             "Result": {
10704               "$ref": "#/definitions/ErrorResult"
10705             }
10706           }
10707         },
10708         "ClaimLeadership": {
10709           "type": "object",
10710           "properties": {
10711             "Params": {
10712               "$ref": "#/definitions/ClaimLeadershipBulkParams"
10713             },
10714             "Result": {
10715               "$ref": "#/definitions/ClaimLeadershipBulkResults"
10716             }
10717           }
10718         }
10719       },
10720       "definitions": {
10721         "ApplicationTag": {
10722           "type": "object",
10723           "properties": {
10724             "Name": {
10725               "type": "string"
10726             }
10727           },
10728           "additionalProperties": false,
10729           "required": [
10730             "Name"
10731           ]
10732         },
10733         "ClaimLeadershipBulkParams": {
10734           "type": "object",
10735           "properties": {
10736             "params": {
10737               "type": "array",
10738               "items": {
10739                 "$ref": "#/definitions/ClaimLeadershipParams"
10740               }
10741             }
10742           },
10743           "additionalProperties": false,
10744           "required": [
10745             "params"
10746           ]
10747         },
10748         "ClaimLeadershipBulkResults": {
10749           "type": "object",
10750           "properties": {
10751             "results": {
10752               "type": "array",
10753               "items": {
10754                 "$ref": "#/definitions/ErrorResult"
10755               }
10756             }
10757           },
10758           "additionalProperties": false,
10759           "required": [
10760             "results"
10761           ]
10762         },
10763         "ClaimLeadershipParams": {
10764           "type": "object",
10765           "properties": {
10766             "application-tag": {
10767               "type": "string"
10768             },
10769             "duration": {
10770               "type": "number"
10771             },
10772             "unit-tag": {
10773               "type": "string"
10774             }
10775           },
10776           "additionalProperties": false,
10777           "required": [
10778             "application-tag",
10779             "unit-tag",
10780             "duration"
10781           ]
10782         },
10783         "Error": {
10784           "type": "object",
10785           "properties": {
10786             "code": {
10787               "type": "string"
10788             },
10789             "info": {
10790               "$ref": "#/definitions/ErrorInfo"
10791             },
10792             "message": {
10793               "type": "string"
10794             }
10795           },
10796           "additionalProperties": false,
10797           "required": [
10798             "message",
10799             "code"
10800           ]
10801         },
10802         "ErrorInfo": {
10803           "type": "object",
10804           "properties": {
10805             "macaroon": {
10806               "$ref": "#/definitions/Macaroon"
10807             },
10808             "macaroon-path": {
10809               "type": "string"
10810             }
10811           },
10812           "additionalProperties": false
10813         },
10814         "ErrorResult": {
10815           "type": "object",
10816           "properties": {
10817             "error": {
10818               "$ref": "#/definitions/Error"
10819             }
10820           },
10821           "additionalProperties": false
10822         },
10823         "Macaroon": {
10824           "type": "object",
10825           "additionalProperties": false
10826         }
10827       }
10828     }
10829   },
10830   {
10831     "Name": "LifeFlag",
10832     "Version": 1,
10833     "Schema": {
10834       "type": "object",
10835       "properties": {
10836         "Life": {
10837           "type": "object",
10838           "properties": {
10839             "Params": {
10840               "$ref": "#/definitions/Entities"
10841             },
10842             "Result": {
10843               "$ref": "#/definitions/LifeResults"
10844             }
10845           }
10846         },
10847         "Watch": {
10848           "type": "object",
10849           "properties": {
10850             "Params": {
10851               "$ref": "#/definitions/Entities"
10852             },
10853             "Result": {
10854               "$ref": "#/definitions/NotifyWatchResults"
10855             }
10856           }
10857         }
10858       },
10859       "definitions": {
10860         "Entities": {
10861           "type": "object",
10862           "properties": {
10863             "entities": {
10864               "type": "array",
10865               "items": {
10866                 "$ref": "#/definitions/Entity"
10867               }
10868             }
10869           },
10870           "additionalProperties": false,
10871           "required": [
10872             "entities"
10873           ]
10874         },
10875         "Entity": {
10876           "type": "object",
10877           "properties": {
10878             "tag": {
10879               "type": "string"
10880             }
10881           },
10882           "additionalProperties": false,
10883           "required": [
10884             "tag"
10885           ]
10886         },
10887         "Error": {
10888           "type": "object",
10889           "properties": {
10890             "code": {
10891               "type": "string"
10892             },
10893             "info": {
10894               "$ref": "#/definitions/ErrorInfo"
10895             },
10896             "message": {
10897               "type": "string"
10898             }
10899           },
10900           "additionalProperties": false,
10901           "required": [
10902             "message",
10903             "code"
10904           ]
10905         },
10906         "ErrorInfo": {
10907           "type": "object",
10908           "properties": {
10909             "macaroon": {
10910               "$ref": "#/definitions/Macaroon"
10911             },
10912             "macaroon-path": {
10913               "type": "string"
10914             }
10915           },
10916           "additionalProperties": false
10917         },
10918         "LifeResult": {
10919           "type": "object",
10920           "properties": {
10921             "error": {
10922               "$ref": "#/definitions/Error"
10923             },
10924             "life": {
10925               "type": "string"
10926             }
10927           },
10928           "additionalProperties": false,
10929           "required": [
10930             "life"
10931           ]
10932         },
10933         "LifeResults": {
10934           "type": "object",
10935           "properties": {
10936             "results": {
10937               "type": "array",
10938               "items": {
10939                 "$ref": "#/definitions/LifeResult"
10940               }
10941             }
10942           },
10943           "additionalProperties": false,
10944           "required": [
10945             "results"
10946           ]
10947         },
10948         "Macaroon": {
10949           "type": "object",
10950           "additionalProperties": false
10951         },
10952         "NotifyWatchResult": {
10953           "type": "object",
10954           "properties": {
10955             "NotifyWatcherId": {
10956               "type": "string"
10957             },
10958             "error": {
10959               "$ref": "#/definitions/Error"
10960             }
10961           },
10962           "additionalProperties": false,
10963           "required": [
10964             "NotifyWatcherId"
10965           ]
10966         },
10967         "NotifyWatchResults": {
10968           "type": "object",
10969           "properties": {
10970             "results": {
10971               "type": "array",
10972               "items": {
10973                 "$ref": "#/definitions/NotifyWatchResult"
10974               }
10975             }
10976           },
10977           "additionalProperties": false,
10978           "required": [
10979             "results"
10980           ]
10981         }
10982       }
10983     }
10984   },
10985   {
10986     "Name": "LogForwarding",
10987     "Version": 1,
10988     "Schema": {
10989       "type": "object",
10990       "properties": {
10991         "GetLastSent": {
10992           "type": "object",
10993           "properties": {
10994             "Params": {
10995               "$ref": "#/definitions/LogForwardingGetLastSentParams"
10996             },
10997             "Result": {
10998               "$ref": "#/definitions/LogForwardingGetLastSentResults"
10999             }
11000           }
11001         },
11002         "SetLastSent": {
11003           "type": "object",
11004           "properties": {
11005             "Params": {
11006               "$ref": "#/definitions/LogForwardingSetLastSentParams"
11007             },
11008             "Result": {
11009               "$ref": "#/definitions/ErrorResults"
11010             }
11011           }
11012         }
11013       },
11014       "definitions": {
11015         "Error": {
11016           "type": "object",
11017           "properties": {
11018             "code": {
11019               "type": "string"
11020             },
11021             "info": {
11022               "$ref": "#/definitions/ErrorInfo"
11023             },
11024             "message": {
11025               "type": "string"
11026             }
11027           },
11028           "additionalProperties": false,
11029           "required": [
11030             "message",
11031             "code"
11032           ]
11033         },
11034         "ErrorInfo": {
11035           "type": "object",
11036           "properties": {
11037             "macaroon": {
11038               "$ref": "#/definitions/Macaroon"
11039             },
11040             "macaroon-path": {
11041               "type": "string"
11042             }
11043           },
11044           "additionalProperties": false
11045         },
11046         "ErrorResult": {
11047           "type": "object",
11048           "properties": {
11049             "error": {
11050               "$ref": "#/definitions/Error"
11051             }
11052           },
11053           "additionalProperties": false
11054         },
11055         "ErrorResults": {
11056           "type": "object",
11057           "properties": {
11058             "results": {
11059               "type": "array",
11060               "items": {
11061                 "$ref": "#/definitions/ErrorResult"
11062               }
11063             }
11064           },
11065           "additionalProperties": false,
11066           "required": [
11067             "results"
11068           ]
11069         },
11070         "LogForwardingGetLastSentParams": {
11071           "type": "object",
11072           "properties": {
11073             "ids": {
11074               "type": "array",
11075               "items": {
11076                 "$ref": "#/definitions/LogForwardingID"
11077               }
11078             }
11079           },
11080           "additionalProperties": false,
11081           "required": [
11082             "ids"
11083           ]
11084         },
11085         "LogForwardingGetLastSentResult": {
11086           "type": "object",
11087           "properties": {
11088             "err": {
11089               "$ref": "#/definitions/Error"
11090             },
11091             "record-id": {
11092               "type": "integer"
11093             },
11094             "record-timestamp": {
11095               "type": "integer"
11096             }
11097           },
11098           "additionalProperties": false,
11099           "required": [
11100             "record-id",
11101             "record-timestamp",
11102             "err"
11103           ]
11104         },
11105         "LogForwardingGetLastSentResults": {
11106           "type": "object",
11107           "properties": {
11108             "results": {
11109               "type": "array",
11110               "items": {
11111                 "$ref": "#/definitions/LogForwardingGetLastSentResult"
11112               }
11113             }
11114           },
11115           "additionalProperties": false,
11116           "required": [
11117             "results"
11118           ]
11119         },
11120         "LogForwardingID": {
11121           "type": "object",
11122           "properties": {
11123             "model": {
11124               "type": "string"
11125             },
11126             "sink": {
11127               "type": "string"
11128             }
11129           },
11130           "additionalProperties": false,
11131           "required": [
11132             "model",
11133             "sink"
11134           ]
11135         },
11136         "LogForwardingSetLastSentParam": {
11137           "type": "object",
11138           "properties": {
11139             "LogForwardingID": {
11140               "$ref": "#/definitions/LogForwardingID"
11141             },
11142             "record-id": {
11143               "type": "integer"
11144             },
11145             "record-timestamp": {
11146               "type": "integer"
11147             }
11148           },
11149           "additionalProperties": false,
11150           "required": [
11151             "LogForwardingID",
11152             "record-id",
11153             "record-timestamp"
11154           ]
11155         },
11156         "LogForwardingSetLastSentParams": {
11157           "type": "object",
11158           "properties": {
11159             "params": {
11160               "type": "array",
11161               "items": {
11162                 "$ref": "#/definitions/LogForwardingSetLastSentParam"
11163               }
11164             }
11165           },
11166           "additionalProperties": false,
11167           "required": [
11168             "params"
11169           ]
11170         },
11171         "Macaroon": {
11172           "type": "object",
11173           "additionalProperties": false
11174         }
11175       }
11176     }
11177   },
11178   {
11179     "Name": "Logger",
11180     "Version": 1,
11181     "Schema": {
11182       "type": "object",
11183       "properties": {
11184         "LoggingConfig": {
11185           "type": "object",
11186           "properties": {
11187             "Params": {
11188               "$ref": "#/definitions/Entities"
11189             },
11190             "Result": {
11191               "$ref": "#/definitions/StringResults"
11192             }
11193           }
11194         },
11195         "WatchLoggingConfig": {
11196           "type": "object",
11197           "properties": {
11198             "Params": {
11199               "$ref": "#/definitions/Entities"
11200             },
11201             "Result": {
11202               "$ref": "#/definitions/NotifyWatchResults"
11203             }
11204           }
11205         }
11206       },
11207       "definitions": {
11208         "Entities": {
11209           "type": "object",
11210           "properties": {
11211             "entities": {
11212               "type": "array",
11213               "items": {
11214                 "$ref": "#/definitions/Entity"
11215               }
11216             }
11217           },
11218           "additionalProperties": false,
11219           "required": [
11220             "entities"
11221           ]
11222         },
11223         "Entity": {
11224           "type": "object",
11225           "properties": {
11226             "tag": {
11227               "type": "string"
11228             }
11229           },
11230           "additionalProperties": false,
11231           "required": [
11232             "tag"
11233           ]
11234         },
11235         "Error": {
11236           "type": "object",
11237           "properties": {
11238             "code": {
11239               "type": "string"
11240             },
11241             "info": {
11242               "$ref": "#/definitions/ErrorInfo"
11243             },
11244             "message": {
11245               "type": "string"
11246             }
11247           },
11248           "additionalProperties": false,
11249           "required": [
11250             "message",
11251             "code"
11252           ]
11253         },
11254         "ErrorInfo": {
11255           "type": "object",
11256           "properties": {
11257             "macaroon": {
11258               "$ref": "#/definitions/Macaroon"
11259             },
11260             "macaroon-path": {
11261               "type": "string"
11262             }
11263           },
11264           "additionalProperties": false
11265         },
11266         "Macaroon": {
11267           "type": "object",
11268           "additionalProperties": false
11269         },
11270         "NotifyWatchResult": {
11271           "type": "object",
11272           "properties": {
11273             "NotifyWatcherId": {
11274               "type": "string"
11275             },
11276             "error": {
11277               "$ref": "#/definitions/Error"
11278             }
11279           },
11280           "additionalProperties": false,
11281           "required": [
11282             "NotifyWatcherId"
11283           ]
11284         },
11285         "NotifyWatchResults": {
11286           "type": "object",
11287           "properties": {
11288             "results": {
11289               "type": "array",
11290               "items": {
11291                 "$ref": "#/definitions/NotifyWatchResult"
11292               }
11293             }
11294           },
11295           "additionalProperties": false,
11296           "required": [
11297             "results"
11298           ]
11299         },
11300         "StringResult": {
11301           "type": "object",
11302           "properties": {
11303             "error": {
11304               "$ref": "#/definitions/Error"
11305             },
11306             "result": {
11307               "type": "string"
11308             }
11309           },
11310           "additionalProperties": false,
11311           "required": [
11312             "result"
11313           ]
11314         },
11315         "StringResults": {
11316           "type": "object",
11317           "properties": {
11318             "results": {
11319               "type": "array",
11320               "items": {
11321                 "$ref": "#/definitions/StringResult"
11322               }
11323             }
11324           },
11325           "additionalProperties": false,
11326           "required": [
11327             "results"
11328           ]
11329         }
11330       }
11331     }
11332   },
11333   {
11334     "Name": "MachineActions",
11335     "Version": 1,
11336     "Schema": {
11337       "type": "object",
11338       "properties": {
11339         "Actions": {
11340           "type": "object",
11341           "properties": {
11342             "Params": {
11343               "$ref": "#/definitions/Entities"
11344             },
11345             "Result": {
11346               "$ref": "#/definitions/ActionResults"
11347             }
11348           }
11349         },
11350         "BeginActions": {
11351           "type": "object",
11352           "properties": {
11353             "Params": {
11354               "$ref": "#/definitions/Entities"
11355             },
11356             "Result": {
11357               "$ref": "#/definitions/ErrorResults"
11358             }
11359           }
11360         },
11361         "FinishActions": {
11362           "type": "object",
11363           "properties": {
11364             "Params": {
11365               "$ref": "#/definitions/ActionExecutionResults"
11366             },
11367             "Result": {
11368               "$ref": "#/definitions/ErrorResults"
11369             }
11370           }
11371         },
11372         "RunningActions": {
11373           "type": "object",
11374           "properties": {
11375             "Params": {
11376               "$ref": "#/definitions/Entities"
11377             },
11378             "Result": {
11379               "$ref": "#/definitions/ActionsByReceivers"
11380             }
11381           }
11382         },
11383         "WatchActionNotifications": {
11384           "type": "object",
11385           "properties": {
11386             "Params": {
11387               "$ref": "#/definitions/Entities"
11388             },
11389             "Result": {
11390               "$ref": "#/definitions/StringsWatchResults"
11391             }
11392           }
11393         }
11394       },
11395       "definitions": {
11396         "Action": {
11397           "type": "object",
11398           "properties": {
11399             "name": {
11400               "type": "string"
11401             },
11402             "parameters": {
11403               "type": "object",
11404               "patternProperties": {
11405                 ".*": {
11406                   "type": "object",
11407                   "additionalProperties": true
11408                 }
11409               }
11410             },
11411             "receiver": {
11412               "type": "string"
11413             },
11414             "tag": {
11415               "type": "string"
11416             }
11417           },
11418           "additionalProperties": false,
11419           "required": [
11420             "tag",
11421             "receiver",
11422             "name"
11423           ]
11424         },
11425         "ActionExecutionResult": {
11426           "type": "object",
11427           "properties": {
11428             "action-tag": {
11429               "type": "string"
11430             },
11431             "message": {
11432               "type": "string"
11433             },
11434             "results": {
11435               "type": "object",
11436               "patternProperties": {
11437                 ".*": {
11438                   "type": "object",
11439                   "additionalProperties": true
11440                 }
11441               }
11442             },
11443             "status": {
11444               "type": "string"
11445             }
11446           },
11447           "additionalProperties": false,
11448           "required": [
11449             "action-tag",
11450             "status"
11451           ]
11452         },
11453         "ActionExecutionResults": {
11454           "type": "object",
11455           "properties": {
11456             "results": {
11457               "type": "array",
11458               "items": {
11459                 "$ref": "#/definitions/ActionExecutionResult"
11460               }
11461             }
11462           },
11463           "additionalProperties": false
11464         },
11465         "ActionResult": {
11466           "type": "object",
11467           "properties": {
11468             "action": {
11469               "$ref": "#/definitions/Action"
11470             },
11471             "completed": {
11472               "type": "string",
11473               "format": "date-time"
11474             },
11475             "enqueued": {
11476               "type": "string",
11477               "format": "date-time"
11478             },
11479             "error": {
11480               "$ref": "#/definitions/Error"
11481             },
11482             "message": {
11483               "type": "string"
11484             },
11485             "output": {
11486               "type": "object",
11487               "patternProperties": {
11488                 ".*": {
11489                   "type": "object",
11490                   "additionalProperties": true
11491                 }
11492               }
11493             },
11494             "started": {
11495               "type": "string",
11496               "format": "date-time"
11497             },
11498             "status": {
11499               "type": "string"
11500             }
11501           },
11502           "additionalProperties": false
11503         },
11504         "ActionResults": {
11505           "type": "object",
11506           "properties": {
11507             "results": {
11508               "type": "array",
11509               "items": {
11510                 "$ref": "#/definitions/ActionResult"
11511               }
11512             }
11513           },
11514           "additionalProperties": false
11515         },
11516         "ActionsByReceiver": {
11517           "type": "object",
11518           "properties": {
11519             "actions": {
11520               "type": "array",
11521               "items": {
11522                 "$ref": "#/definitions/ActionResult"
11523               }
11524             },
11525             "error": {
11526               "$ref": "#/definitions/Error"
11527             },
11528             "receiver": {
11529               "type": "string"
11530             }
11531           },
11532           "additionalProperties": false
11533         },
11534         "ActionsByReceivers": {
11535           "type": "object",
11536           "properties": {
11537             "actions": {
11538               "type": "array",
11539               "items": {
11540                 "$ref": "#/definitions/ActionsByReceiver"
11541               }
11542             }
11543           },
11544           "additionalProperties": false
11545         },
11546         "Entities": {
11547           "type": "object",
11548           "properties": {
11549             "entities": {
11550               "type": "array",
11551               "items": {
11552                 "$ref": "#/definitions/Entity"
11553               }
11554             }
11555           },
11556           "additionalProperties": false,
11557           "required": [
11558             "entities"
11559           ]
11560         },
11561         "Entity": {
11562           "type": "object",
11563           "properties": {
11564             "tag": {
11565               "type": "string"
11566             }
11567           },
11568           "additionalProperties": false,
11569           "required": [
11570             "tag"
11571           ]
11572         },
11573         "Error": {
11574           "type": "object",
11575           "properties": {
11576             "code": {
11577               "type": "string"
11578             },
11579             "info": {
11580               "$ref": "#/definitions/ErrorInfo"
11581             },
11582             "message": {
11583               "type": "string"
11584             }
11585           },
11586           "additionalProperties": false,
11587           "required": [
11588             "message",
11589             "code"
11590           ]
11591         },
11592         "ErrorInfo": {
11593           "type": "object",
11594           "properties": {
11595             "macaroon": {
11596               "$ref": "#/definitions/Macaroon"
11597             },
11598             "macaroon-path": {
11599               "type": "string"
11600             }
11601           },
11602           "additionalProperties": false
11603         },
11604         "ErrorResult": {
11605           "type": "object",
11606           "properties": {
11607             "error": {
11608               "$ref": "#/definitions/Error"
11609             }
11610           },
11611           "additionalProperties": false
11612         },
11613         "ErrorResults": {
11614           "type": "object",
11615           "properties": {
11616             "results": {
11617               "type": "array",
11618               "items": {
11619                 "$ref": "#/definitions/ErrorResult"
11620               }
11621             }
11622           },
11623           "additionalProperties": false,
11624           "required": [
11625             "results"
11626           ]
11627         },
11628         "Macaroon": {
11629           "type": "object",
11630           "additionalProperties": false
11631         },
11632         "StringsWatchResult": {
11633           "type": "object",
11634           "properties": {
11635             "changes": {
11636               "type": "array",
11637               "items": {
11638                 "type": "string"
11639               }
11640             },
11641             "error": {
11642               "$ref": "#/definitions/Error"
11643             },
11644             "watcher-id": {
11645               "type": "string"
11646             }
11647           },
11648           "additionalProperties": false,
11649           "required": [
11650             "watcher-id"
11651           ]
11652         },
11653         "StringsWatchResults": {
11654           "type": "object",
11655           "properties": {
11656             "results": {
11657               "type": "array",
11658               "items": {
11659                 "$ref": "#/definitions/StringsWatchResult"
11660               }
11661             }
11662           },
11663           "additionalProperties": false,
11664           "required": [
11665             "results"
11666           ]
11667         }
11668       }
11669     }
11670   },
11671   {
11672     "Name": "MachineManager",
11673     "Version": 3,
11674     "Schema": {
11675       "type": "object",
11676       "properties": {
11677         "AddMachines": {
11678           "type": "object",
11679           "properties": {
11680             "Params": {
11681               "$ref": "#/definitions/AddMachines"
11682             },
11683             "Result": {
11684               "$ref": "#/definitions/AddMachinesResults"
11685             }
11686           }
11687         },
11688         "DestroyMachine": {
11689           "type": "object",
11690           "properties": {
11691             "Params": {
11692               "$ref": "#/definitions/Entities"
11693             },
11694             "Result": {
11695               "$ref": "#/definitions/DestroyMachineResults"
11696             }
11697           }
11698         },
11699         "ForceDestroyMachine": {
11700           "type": "object",
11701           "properties": {
11702             "Params": {
11703               "$ref": "#/definitions/Entities"
11704             },
11705             "Result": {
11706               "$ref": "#/definitions/DestroyMachineResults"
11707             }
11708           }
11709         },
11710         "InstanceTypes": {
11711           "type": "object",
11712           "properties": {
11713             "Params": {
11714               "$ref": "#/definitions/ModelInstanceTypesConstraints"
11715             },
11716             "Result": {
11717               "$ref": "#/definitions/InstanceTypesResults"
11718             }
11719           }
11720         }
11721       },
11722       "definitions": {
11723         "AddMachineParams": {
11724           "type": "object",
11725           "properties": {
11726             "addresses": {
11727               "type": "array",
11728               "items": {
11729                 "$ref": "#/definitions/Address"
11730               }
11731             },
11732             "constraints": {
11733               "$ref": "#/definitions/Value"
11734             },
11735             "container-type": {
11736               "type": "string"
11737             },
11738             "disks": {
11739               "type": "array",
11740               "items": {
11741                 "$ref": "#/definitions/Constraints"
11742               }
11743             },
11744             "hardware-characteristics": {
11745               "$ref": "#/definitions/HardwareCharacteristics"
11746             },
11747             "instance-id": {
11748               "type": "string"
11749             },
11750             "jobs": {
11751               "type": "array",
11752               "items": {
11753                 "type": "string"
11754               }
11755             },
11756             "nonce": {
11757               "type": "string"
11758             },
11759             "parent-id": {
11760               "type": "string"
11761             },
11762             "placement": {
11763               "$ref": "#/definitions/Placement"
11764             },
11765             "series": {
11766               "type": "string"
11767             }
11768           },
11769           "additionalProperties": false,
11770           "required": [
11771             "series",
11772             "constraints",
11773             "jobs",
11774             "parent-id",
11775             "container-type",
11776             "instance-id",
11777             "nonce",
11778             "hardware-characteristics",
11779             "addresses"
11780           ]
11781         },
11782         "AddMachines": {
11783           "type": "object",
11784           "properties": {
11785             "params": {
11786               "type": "array",
11787               "items": {
11788                 "$ref": "#/definitions/AddMachineParams"
11789               }
11790             }
11791           },
11792           "additionalProperties": false,
11793           "required": [
11794             "params"
11795           ]
11796         },
11797         "AddMachinesResult": {
11798           "type": "object",
11799           "properties": {
11800             "error": {
11801               "$ref": "#/definitions/Error"
11802             },
11803             "machine": {
11804               "type": "string"
11805             }
11806           },
11807           "additionalProperties": false,
11808           "required": [
11809             "machine"
11810           ]
11811         },
11812         "AddMachinesResults": {
11813           "type": "object",
11814           "properties": {
11815             "machines": {
11816               "type": "array",
11817               "items": {
11818                 "$ref": "#/definitions/AddMachinesResult"
11819               }
11820             }
11821           },
11822           "additionalProperties": false,
11823           "required": [
11824             "machines"
11825           ]
11826         },
11827         "Address": {
11828           "type": "object",
11829           "properties": {
11830             "scope": {
11831               "type": "string"
11832             },
11833             "space-name": {
11834               "type": "string"
11835             },
11836             "type": {
11837               "type": "string"
11838             },
11839             "value": {
11840               "type": "string"
11841             }
11842           },
11843           "additionalProperties": false,
11844           "required": [
11845             "value",
11846             "type",
11847             "scope"
11848           ]
11849         },
11850         "Constraints": {
11851           "type": "object",
11852           "properties": {
11853             "Count": {
11854               "type": "integer"
11855             },
11856             "Pool": {
11857               "type": "string"
11858             },
11859             "Size": {
11860               "type": "integer"
11861             }
11862           },
11863           "additionalProperties": false,
11864           "required": [
11865             "Pool",
11866             "Size",
11867             "Count"
11868           ]
11869         },
11870         "DestroyMachineInfo": {
11871           "type": "object",
11872           "properties": {
11873             "destroyed-storage": {
11874               "type": "array",
11875               "items": {
11876                 "$ref": "#/definitions/Entity"
11877               }
11878             },
11879             "destroyed-units": {
11880               "type": "array",
11881               "items": {
11882                 "$ref": "#/definitions/Entity"
11883               }
11884             },
11885             "detached-storage": {
11886               "type": "array",
11887               "items": {
11888                 "$ref": "#/definitions/Entity"
11889               }
11890             }
11891           },
11892           "additionalProperties": false
11893         },
11894         "DestroyMachineResult": {
11895           "type": "object",
11896           "properties": {
11897             "error": {
11898               "$ref": "#/definitions/Error"
11899             },
11900             "info": {
11901               "$ref": "#/definitions/DestroyMachineInfo"
11902             }
11903           },
11904           "additionalProperties": false
11905         },
11906         "DestroyMachineResults": {
11907           "type": "object",
11908           "properties": {
11909             "results": {
11910               "type": "array",
11911               "items": {
11912                 "$ref": "#/definitions/DestroyMachineResult"
11913               }
11914             }
11915           },
11916           "additionalProperties": false
11917         },
11918         "Entities": {
11919           "type": "object",
11920           "properties": {
11921             "entities": {
11922               "type": "array",
11923               "items": {
11924                 "$ref": "#/definitions/Entity"
11925               }
11926             }
11927           },
11928           "additionalProperties": false,
11929           "required": [
11930             "entities"
11931           ]
11932         },
11933         "Entity": {
11934           "type": "object",
11935           "properties": {
11936             "tag": {
11937               "type": "string"
11938             }
11939           },
11940           "additionalProperties": false,
11941           "required": [
11942             "tag"
11943           ]
11944         },
11945         "Error": {
11946           "type": "object",
11947           "properties": {
11948             "code": {
11949               "type": "string"
11950             },
11951             "info": {
11952               "$ref": "#/definitions/ErrorInfo"
11953             },
11954             "message": {
11955               "type": "string"
11956             }
11957           },
11958           "additionalProperties": false,
11959           "required": [
11960             "message",
11961             "code"
11962           ]
11963         },
11964         "ErrorInfo": {
11965           "type": "object",
11966           "properties": {
11967             "macaroon": {
11968               "$ref": "#/definitions/Macaroon"
11969             },
11970             "macaroon-path": {
11971               "type": "string"
11972             }
11973           },
11974           "additionalProperties": false
11975         },
11976         "HardwareCharacteristics": {
11977           "type": "object",
11978           "properties": {
11979             "arch": {
11980               "type": "string"
11981             },
11982             "availability-zone": {
11983               "type": "string"
11984             },
11985             "cpu-cores": {
11986               "type": "integer"
11987             },
11988             "cpu-power": {
11989               "type": "integer"
11990             },
11991             "mem": {
11992               "type": "integer"
11993             },
11994             "root-disk": {
11995               "type": "integer"
11996             },
11997             "tags": {
11998               "type": "array",
11999               "items": {
12000                 "type": "string"
12001               }
12002             }
12003           },
12004           "additionalProperties": false
12005         },
12006         "InstanceType": {
12007           "type": "object",
12008           "properties": {
12009             "arches": {
12010               "type": "array",
12011               "items": {
12012                 "type": "string"
12013               }
12014             },
12015             "cost": {
12016               "type": "integer"
12017             },
12018             "cpu-cores": {
12019               "type": "integer"
12020             },
12021             "deprecated": {
12022               "type": "boolean"
12023             },
12024             "memory": {
12025               "type": "integer"
12026             },
12027             "name": {
12028               "type": "string"
12029             },
12030             "root-disk": {
12031               "type": "integer"
12032             },
12033             "virt-type": {
12034               "type": "string"
12035             }
12036           },
12037           "additionalProperties": false,
12038           "required": [
12039             "arches",
12040             "cpu-cores",
12041             "memory"
12042           ]
12043         },
12044         "InstanceTypesResult": {
12045           "type": "object",
12046           "properties": {
12047             "cost-currency": {
12048               "type": "string"
12049             },
12050             "cost-divisor": {
12051               "type": "integer"
12052             },
12053             "cost-unit": {
12054               "type": "string"
12055             },
12056             "error": {
12057               "$ref": "#/definitions/Error"
12058             },
12059             "instance-types": {
12060               "type": "array",
12061               "items": {
12062                 "$ref": "#/definitions/InstanceType"
12063               }
12064             }
12065           },
12066           "additionalProperties": false
12067         },
12068         "InstanceTypesResults": {
12069           "type": "object",
12070           "properties": {
12071             "results": {
12072               "type": "array",
12073               "items": {
12074                 "$ref": "#/definitions/InstanceTypesResult"
12075               }
12076             }
12077           },
12078           "additionalProperties": false,
12079           "required": [
12080             "results"
12081           ]
12082         },
12083         "Macaroon": {
12084           "type": "object",
12085           "additionalProperties": false
12086         },
12087         "ModelInstanceTypesConstraint": {
12088           "type": "object",
12089           "properties": {
12090             "value": {
12091               "$ref": "#/definitions/Value"
12092             }
12093           },
12094           "additionalProperties": false
12095         },
12096         "ModelInstanceTypesConstraints": {
12097           "type": "object",
12098           "properties": {
12099             "constraints": {
12100               "type": "array",
12101               "items": {
12102                 "$ref": "#/definitions/ModelInstanceTypesConstraint"
12103               }
12104             }
12105           },
12106           "additionalProperties": false,
12107           "required": [
12108             "constraints"
12109           ]
12110         },
12111         "Placement": {
12112           "type": "object",
12113           "properties": {
12114             "directive": {
12115               "type": "string"
12116             },
12117             "scope": {
12118               "type": "string"
12119             }
12120           },
12121           "additionalProperties": false,
12122           "required": [
12123             "scope",
12124             "directive"
12125           ]
12126         },
12127         "Value": {
12128           "type": "object",
12129           "properties": {
12130             "arch": {
12131               "type": "string"
12132             },
12133             "container": {
12134               "type": "string"
12135             },
12136             "cores": {
12137               "type": "integer"
12138             },
12139             "cpu-power": {
12140               "type": "integer"
12141             },
12142             "instance-type": {
12143               "type": "string"
12144             },
12145             "mem": {
12146               "type": "integer"
12147             },
12148             "root-disk": {
12149               "type": "integer"
12150             },
12151             "spaces": {
12152               "type": "array",
12153               "items": {
12154                 "type": "string"
12155               }
12156             },
12157             "tags": {
12158               "type": "array",
12159               "items": {
12160                 "type": "string"
12161               }
12162             },
12163             "virt-type": {
12164               "type": "string"
12165             }
12166           },
12167           "additionalProperties": false
12168         }
12169       }
12170     }
12171   },
12172   {
12173     "Name": "MachineUndertaker",
12174     "Version": 1,
12175     "Schema": {
12176       "type": "object",
12177       "properties": {
12178         "AllMachineRemovals": {
12179           "type": "object",
12180           "properties": {
12181             "Params": {
12182               "$ref": "#/definitions/Entities"
12183             },
12184             "Result": {
12185               "$ref": "#/definitions/EntitiesResults"
12186             }
12187           }
12188         },
12189         "CompleteMachineRemovals": {
12190           "type": "object",
12191           "properties": {
12192             "Params": {
12193               "$ref": "#/definitions/Entities"
12194             }
12195           }
12196         },
12197         "GetMachineProviderInterfaceInfo": {
12198           "type": "object",
12199           "properties": {
12200             "Params": {
12201               "$ref": "#/definitions/Entities"
12202             },
12203             "Result": {
12204               "$ref": "#/definitions/ProviderInterfaceInfoResults"
12205             }
12206           }
12207         },
12208         "WatchMachineRemovals": {
12209           "type": "object",
12210           "properties": {
12211             "Params": {
12212               "$ref": "#/definitions/Entities"
12213             },
12214             "Result": {
12215               "$ref": "#/definitions/NotifyWatchResults"
12216             }
12217           }
12218         }
12219       },
12220       "definitions": {
12221         "Entities": {
12222           "type": "object",
12223           "properties": {
12224             "entities": {
12225               "type": "array",
12226               "items": {
12227                 "$ref": "#/definitions/Entity"
12228               }
12229             }
12230           },
12231           "additionalProperties": false,
12232           "required": [
12233             "entities"
12234           ]
12235         },
12236         "EntitiesResult": {
12237           "type": "object",
12238           "properties": {
12239             "entities": {
12240               "type": "array",
12241               "items": {
12242                 "$ref": "#/definitions/Entity"
12243               }
12244             },
12245             "error": {
12246               "$ref": "#/definitions/Error"
12247             }
12248           },
12249           "additionalProperties": false,
12250           "required": [
12251             "entities"
12252           ]
12253         },
12254         "EntitiesResults": {
12255           "type": "object",
12256           "properties": {
12257             "results": {
12258               "type": "array",
12259               "items": {
12260                 "$ref": "#/definitions/EntitiesResult"
12261               }
12262             }
12263           },
12264           "additionalProperties": false,
12265           "required": [
12266             "results"
12267           ]
12268         },
12269         "Entity": {
12270           "type": "object",
12271           "properties": {
12272             "tag": {
12273               "type": "string"
12274             }
12275           },
12276           "additionalProperties": false,
12277           "required": [
12278             "tag"
12279           ]
12280         },
12281         "Error": {
12282           "type": "object",
12283           "properties": {
12284             "code": {
12285               "type": "string"
12286             },
12287             "info": {
12288               "$ref": "#/definitions/ErrorInfo"
12289             },
12290             "message": {
12291               "type": "string"
12292             }
12293           },
12294           "additionalProperties": false,
12295           "required": [
12296             "message",
12297             "code"
12298           ]
12299         },
12300         "ErrorInfo": {
12301           "type": "object",
12302           "properties": {
12303             "macaroon": {
12304               "$ref": "#/definitions/Macaroon"
12305             },
12306             "macaroon-path": {
12307               "type": "string"
12308             }
12309           },
12310           "additionalProperties": false
12311         },
12312         "Macaroon": {
12313           "type": "object",
12314           "additionalProperties": false
12315         },
12316         "NotifyWatchResult": {
12317           "type": "object",
12318           "properties": {
12319             "NotifyWatcherId": {
12320               "type": "string"
12321             },
12322             "error": {
12323               "$ref": "#/definitions/Error"
12324             }
12325           },
12326           "additionalProperties": false,
12327           "required": [
12328             "NotifyWatcherId"
12329           ]
12330         },
12331         "NotifyWatchResults": {
12332           "type": "object",
12333           "properties": {
12334             "results": {
12335               "type": "array",
12336               "items": {
12337                 "$ref": "#/definitions/NotifyWatchResult"
12338               }
12339             }
12340           },
12341           "additionalProperties": false,
12342           "required": [
12343             "results"
12344           ]
12345         },
12346         "ProviderInterfaceInfo": {
12347           "type": "object",
12348           "properties": {
12349             "interface-name": {
12350               "type": "string"
12351             },
12352             "mac-address": {
12353               "type": "string"
12354             },
12355             "provider-id": {
12356               "type": "string"
12357             }
12358           },
12359           "additionalProperties": false,
12360           "required": [
12361             "interface-name",
12362             "mac-address",
12363             "provider-id"
12364           ]
12365         },
12366         "ProviderInterfaceInfoResult": {
12367           "type": "object",
12368           "properties": {
12369             "error": {
12370               "$ref": "#/definitions/Error"
12371             },
12372             "interfaces": {
12373               "type": "array",
12374               "items": {
12375                 "$ref": "#/definitions/ProviderInterfaceInfo"
12376               }
12377             },
12378             "machine-tag": {
12379               "type": "string"
12380             }
12381           },
12382           "additionalProperties": false,
12383           "required": [
12384             "machine-tag",
12385             "interfaces"
12386           ]
12387         },
12388         "ProviderInterfaceInfoResults": {
12389           "type": "object",
12390           "properties": {
12391             "results": {
12392               "type": "array",
12393               "items": {
12394                 "$ref": "#/definitions/ProviderInterfaceInfoResult"
12395               }
12396             }
12397           },
12398           "additionalProperties": false,
12399           "required": [
12400             "results"
12401           ]
12402         }
12403       }
12404     }
12405   },
12406   {
12407     "Name": "Machiner",
12408     "Version": 1,
12409     "Schema": {
12410       "type": "object",
12411       "properties": {
12412         "APIAddresses": {
12413           "type": "object",
12414           "properties": {
12415             "Result": {
12416               "$ref": "#/definitions/StringsResult"
12417             }
12418           }
12419         },
12420         "APIHostPorts": {
12421           "type": "object",
12422           "properties": {
12423             "Result": {
12424               "$ref": "#/definitions/APIHostPortsResult"
12425             }
12426           }
12427         },
12428         "CACert": {
12429           "type": "object",
12430           "properties": {
12431             "Result": {
12432               "$ref": "#/definitions/BytesResult"
12433             }
12434           }
12435         },
12436         "EnsureDead": {
12437           "type": "object",
12438           "properties": {
12439             "Params": {
12440               "$ref": "#/definitions/Entities"
12441             },
12442             "Result": {
12443               "$ref": "#/definitions/ErrorResults"
12444             }
12445           }
12446         },
12447         "Jobs": {
12448           "type": "object",
12449           "properties": {
12450             "Params": {
12451               "$ref": "#/definitions/Entities"
12452             },
12453             "Result": {
12454               "$ref": "#/definitions/JobsResults"
12455             }
12456           }
12457         },
12458         "Life": {
12459           "type": "object",
12460           "properties": {
12461             "Params": {
12462               "$ref": "#/definitions/Entities"
12463             },
12464             "Result": {
12465               "$ref": "#/definitions/LifeResults"
12466             }
12467           }
12468         },
12469         "ModelUUID": {
12470           "type": "object",
12471           "properties": {
12472             "Result": {
12473               "$ref": "#/definitions/StringResult"
12474             }
12475           }
12476         },
12477         "SetMachineAddresses": {
12478           "type": "object",
12479           "properties": {
12480             "Params": {
12481               "$ref": "#/definitions/SetMachinesAddresses"
12482             },
12483             "Result": {
12484               "$ref": "#/definitions/ErrorResults"
12485             }
12486           }
12487         },
12488         "SetObservedNetworkConfig": {
12489           "type": "object",
12490           "properties": {
12491             "Params": {
12492               "$ref": "#/definitions/SetMachineNetworkConfig"
12493             }
12494           }
12495         },
12496         "SetProviderNetworkConfig": {
12497           "type": "object",
12498           "properties": {
12499             "Params": {
12500               "$ref": "#/definitions/Entities"
12501             },
12502             "Result": {
12503               "$ref": "#/definitions/ErrorResults"
12504             }
12505           }
12506         },
12507         "SetStatus": {
12508           "type": "object",
12509           "properties": {
12510             "Params": {
12511               "$ref": "#/definitions/SetStatus"
12512             },
12513             "Result": {
12514               "$ref": "#/definitions/ErrorResults"
12515             }
12516           }
12517         },
12518         "UpdateStatus": {
12519           "type": "object",
12520           "properties": {
12521             "Params": {
12522               "$ref": "#/definitions/SetStatus"
12523             },
12524             "Result": {
12525               "$ref": "#/definitions/ErrorResults"
12526             }
12527           }
12528         },
12529         "Watch": {
12530           "type": "object",
12531           "properties": {
12532             "Params": {
12533               "$ref": "#/definitions/Entities"
12534             },
12535             "Result": {
12536               "$ref": "#/definitions/NotifyWatchResults"
12537             }
12538           }
12539         },
12540         "WatchAPIHostPorts": {
12541           "type": "object",
12542           "properties": {
12543             "Result": {
12544               "$ref": "#/definitions/NotifyWatchResult"
12545             }
12546           }
12547         }
12548       },
12549       "definitions": {
12550         "APIHostPortsResult": {
12551           "type": "object",
12552           "properties": {
12553             "servers": {
12554               "type": "array",
12555               "items": {
12556                 "type": "array",
12557                 "items": {
12558                   "$ref": "#/definitions/HostPort"
12559                 }
12560               }
12561             }
12562           },
12563           "additionalProperties": false,
12564           "required": [
12565             "servers"
12566           ]
12567         },
12568         "Address": {
12569           "type": "object",
12570           "properties": {
12571             "scope": {
12572               "type": "string"
12573             },
12574             "space-name": {
12575               "type": "string"
12576             },
12577             "type": {
12578               "type": "string"
12579             },
12580             "value": {
12581               "type": "string"
12582             }
12583           },
12584           "additionalProperties": false,
12585           "required": [
12586             "value",
12587             "type",
12588             "scope"
12589           ]
12590         },
12591         "BytesResult": {
12592           "type": "object",
12593           "properties": {
12594             "result": {
12595               "type": "array",
12596               "items": {
12597                 "type": "integer"
12598               }
12599             }
12600           },
12601           "additionalProperties": false,
12602           "required": [
12603             "result"
12604           ]
12605         },
12606         "Entities": {
12607           "type": "object",
12608           "properties": {
12609             "entities": {
12610               "type": "array",
12611               "items": {
12612                 "$ref": "#/definitions/Entity"
12613               }
12614             }
12615           },
12616           "additionalProperties": false,
12617           "required": [
12618             "entities"
12619           ]
12620         },
12621         "Entity": {
12622           "type": "object",
12623           "properties": {
12624             "tag": {
12625               "type": "string"
12626             }
12627           },
12628           "additionalProperties": false,
12629           "required": [
12630             "tag"
12631           ]
12632         },
12633         "EntityStatusArgs": {
12634           "type": "object",
12635           "properties": {
12636             "data": {
12637               "type": "object",
12638               "patternProperties": {
12639                 ".*": {
12640                   "type": "object",
12641                   "additionalProperties": true
12642                 }
12643               }
12644             },
12645             "info": {
12646               "type": "string"
12647             },
12648             "status": {
12649               "type": "string"
12650             },
12651             "tag": {
12652               "type": "string"
12653             }
12654           },
12655           "additionalProperties": false,
12656           "required": [
12657             "tag",
12658             "status",
12659             "info",
12660             "data"
12661           ]
12662         },
12663         "Error": {
12664           "type": "object",
12665           "properties": {
12666             "code": {
12667               "type": "string"
12668             },
12669             "info": {
12670               "$ref": "#/definitions/ErrorInfo"
12671             },
12672             "message": {
12673               "type": "string"
12674             }
12675           },
12676           "additionalProperties": false,
12677           "required": [
12678             "message",
12679             "code"
12680           ]
12681         },
12682         "ErrorInfo": {
12683           "type": "object",
12684           "properties": {
12685             "macaroon": {
12686               "$ref": "#/definitions/Macaroon"
12687             },
12688             "macaroon-path": {
12689               "type": "string"
12690             }
12691           },
12692           "additionalProperties": false
12693         },
12694         "ErrorResult": {
12695           "type": "object",
12696           "properties": {
12697             "error": {
12698               "$ref": "#/definitions/Error"
12699             }
12700           },
12701           "additionalProperties": false
12702         },
12703         "ErrorResults": {
12704           "type": "object",
12705           "properties": {
12706             "results": {
12707               "type": "array",
12708               "items": {
12709                 "$ref": "#/definitions/ErrorResult"
12710               }
12711             }
12712           },
12713           "additionalProperties": false,
12714           "required": [
12715             "results"
12716           ]
12717         },
12718         "HostPort": {
12719           "type": "object",
12720           "properties": {
12721             "Address": {
12722               "$ref": "#/definitions/Address"
12723             },
12724             "port": {
12725               "type": "integer"
12726             }
12727           },
12728           "additionalProperties": false,
12729           "required": [
12730             "Address",
12731             "port"
12732           ]
12733         },
12734         "JobsResult": {
12735           "type": "object",
12736           "properties": {
12737             "error": {
12738               "$ref": "#/definitions/Error"
12739             },
12740             "jobs": {
12741               "type": "array",
12742               "items": {
12743                 "type": "string"
12744               }
12745             }
12746           },
12747           "additionalProperties": false,
12748           "required": [
12749             "jobs"
12750           ]
12751         },
12752         "JobsResults": {
12753           "type": "object",
12754           "properties": {
12755             "results": {
12756               "type": "array",
12757               "items": {
12758                 "$ref": "#/definitions/JobsResult"
12759               }
12760             }
12761           },
12762           "additionalProperties": false,
12763           "required": [
12764             "results"
12765           ]
12766         },
12767         "LifeResult": {
12768           "type": "object",
12769           "properties": {
12770             "error": {
12771               "$ref": "#/definitions/Error"
12772             },
12773             "life": {
12774               "type": "string"
12775             }
12776           },
12777           "additionalProperties": false,
12778           "required": [
12779             "life"
12780           ]
12781         },
12782         "LifeResults": {
12783           "type": "object",
12784           "properties": {
12785             "results": {
12786               "type": "array",
12787               "items": {
12788                 "$ref": "#/definitions/LifeResult"
12789               }
12790             }
12791           },
12792           "additionalProperties": false,
12793           "required": [
12794             "results"
12795           ]
12796         },
12797         "Macaroon": {
12798           "type": "object",
12799           "additionalProperties": false
12800         },
12801         "MachineAddresses": {
12802           "type": "object",
12803           "properties": {
12804             "addresses": {
12805               "type": "array",
12806               "items": {
12807                 "$ref": "#/definitions/Address"
12808               }
12809             },
12810             "tag": {
12811               "type": "string"
12812             }
12813           },
12814           "additionalProperties": false,
12815           "required": [
12816             "tag",
12817             "addresses"
12818           ]
12819         },
12820         "NetworkConfig": {
12821           "type": "object",
12822           "properties": {
12823             "address": {
12824               "type": "string"
12825             },
12826             "cidr": {
12827               "type": "string"
12828             },
12829             "config-type": {
12830               "type": "string"
12831             },
12832             "device-index": {
12833               "type": "integer"
12834             },
12835             "disabled": {
12836               "type": "boolean"
12837             },
12838             "dns-search-domains": {
12839               "type": "array",
12840               "items": {
12841                 "type": "string"
12842               }
12843             },
12844             "dns-servers": {
12845               "type": "array",
12846               "items": {
12847                 "type": "string"
12848               }
12849             },
12850             "gateway-address": {
12851               "type": "string"
12852             },
12853             "interface-name": {
12854               "type": "string"
12855             },
12856             "interface-type": {
12857               "type": "string"
12858             },
12859             "mac-address": {
12860               "type": "string"
12861             },
12862             "mtu": {
12863               "type": "integer"
12864             },
12865             "no-auto-start": {
12866               "type": "boolean"
12867             },
12868             "parent-interface-name": {
12869               "type": "string"
12870             },
12871             "provider-address-id": {
12872               "type": "string"
12873             },
12874             "provider-id": {
12875               "type": "string"
12876             },
12877             "provider-space-id": {
12878               "type": "string"
12879             },
12880             "provider-subnet-id": {
12881               "type": "string"
12882             },
12883             "provider-vlan-id": {
12884               "type": "string"
12885             },
12886             "routes": {
12887               "type": "array",
12888               "items": {
12889                 "$ref": "#/definitions/NetworkRoute"
12890               }
12891             },
12892             "vlan-tag": {
12893               "type": "integer"
12894             }
12895           },
12896           "additionalProperties": false,
12897           "required": [
12898             "device-index",
12899             "mac-address",
12900             "cidr",
12901             "mtu",
12902             "provider-id",
12903             "provider-subnet-id",
12904             "provider-space-id",
12905             "provider-address-id",
12906             "provider-vlan-id",
12907             "vlan-tag",
12908             "interface-name",
12909             "parent-interface-name",
12910             "interface-type",
12911             "disabled"
12912           ]
12913         },
12914         "NetworkRoute": {
12915           "type": "object",
12916           "properties": {
12917             "destination-cidr": {
12918               "type": "string"
12919             },
12920             "gateway-ip": {
12921               "type": "string"
12922             },
12923             "metric": {
12924               "type": "integer"
12925             }
12926           },
12927           "additionalProperties": false,
12928           "required": [
12929             "destination-cidr",
12930             "gateway-ip",
12931             "metric"
12932           ]
12933         },
12934         "NotifyWatchResult": {
12935           "type": "object",
12936           "properties": {
12937             "NotifyWatcherId": {
12938               "type": "string"
12939             },
12940             "error": {
12941               "$ref": "#/definitions/Error"
12942             }
12943           },
12944           "additionalProperties": false,
12945           "required": [
12946             "NotifyWatcherId"
12947           ]
12948         },
12949         "NotifyWatchResults": {
12950           "type": "object",
12951           "properties": {
12952             "results": {
12953               "type": "array",
12954               "items": {
12955                 "$ref": "#/definitions/NotifyWatchResult"
12956               }
12957             }
12958           },
12959           "additionalProperties": false,
12960           "required": [
12961             "results"
12962           ]
12963         },
12964         "SetMachineNetworkConfig": {
12965           "type": "object",
12966           "properties": {
12967             "config": {
12968               "type": "array",
12969               "items": {
12970                 "$ref": "#/definitions/NetworkConfig"
12971               }
12972             },
12973             "tag": {
12974               "type": "string"
12975             }
12976           },
12977           "additionalProperties": false,
12978           "required": [
12979             "tag",
12980             "config"
12981           ]
12982         },
12983         "SetMachinesAddresses": {
12984           "type": "object",
12985           "properties": {
12986             "machine-addresses": {
12987               "type": "array",
12988               "items": {
12989                 "$ref": "#/definitions/MachineAddresses"
12990               }
12991             }
12992           },
12993           "additionalProperties": false,
12994           "required": [
12995             "machine-addresses"
12996           ]
12997         },
12998         "SetStatus": {
12999           "type": "object",
13000           "properties": {
13001             "entities": {
13002               "type": "array",
13003               "items": {
13004                 "$ref": "#/definitions/EntityStatusArgs"
13005               }
13006             }
13007           },
13008           "additionalProperties": false,
13009           "required": [
13010             "entities"
13011           ]
13012         },
13013         "StringResult": {
13014           "type": "object",
13015           "properties": {
13016             "error": {
13017               "$ref": "#/definitions/Error"
13018             },
13019             "result": {
13020               "type": "string"
13021             }
13022           },
13023           "additionalProperties": false,
13024           "required": [
13025             "result"
13026           ]
13027         },
13028         "StringsResult": {
13029           "type": "object",
13030           "properties": {
13031             "error": {
13032               "$ref": "#/definitions/Error"
13033             },
13034             "result": {
13035               "type": "array",
13036               "items": {
13037                 "type": "string"
13038               }
13039             }
13040           },
13041           "additionalProperties": false
13042         }
13043       }
13044     }
13045   },
13046   {
13047     "Name": "MeterStatus",
13048     "Version": 1,
13049     "Schema": {
13050       "type": "object",
13051       "properties": {
13052         "GetMeterStatus": {
13053           "type": "object",
13054           "properties": {
13055             "Params": {
13056               "$ref": "#/definitions/Entities"
13057             },
13058             "Result": {
13059               "$ref": "#/definitions/MeterStatusResults"
13060             }
13061           }
13062         },
13063         "WatchMeterStatus": {
13064           "type": "object",
13065           "properties": {
13066             "Params": {
13067               "$ref": "#/definitions/Entities"
13068             },
13069             "Result": {
13070               "$ref": "#/definitions/NotifyWatchResults"
13071             }
13072           }
13073         }
13074       },
13075       "definitions": {
13076         "Entities": {
13077           "type": "object",
13078           "properties": {
13079             "entities": {
13080               "type": "array",
13081               "items": {
13082                 "$ref": "#/definitions/Entity"
13083               }
13084             }
13085           },
13086           "additionalProperties": false,
13087           "required": [
13088             "entities"
13089           ]
13090         },
13091         "Entity": {
13092           "type": "object",
13093           "properties": {
13094             "tag": {
13095               "type": "string"
13096             }
13097           },
13098           "additionalProperties": false,
13099           "required": [
13100             "tag"
13101           ]
13102         },
13103         "Error": {
13104           "type": "object",
13105           "properties": {
13106             "code": {
13107               "type": "string"
13108             },
13109             "info": {
13110               "$ref": "#/definitions/ErrorInfo"
13111             },
13112             "message": {
13113               "type": "string"
13114             }
13115           },
13116           "additionalProperties": false,
13117           "required": [
13118             "message",
13119             "code"
13120           ]
13121         },
13122         "ErrorInfo": {
13123           "type": "object",
13124           "properties": {
13125             "macaroon": {
13126               "$ref": "#/definitions/Macaroon"
13127             },
13128             "macaroon-path": {
13129               "type": "string"
13130             }
13131           },
13132           "additionalProperties": false
13133         },
13134         "Macaroon": {
13135           "type": "object",
13136           "additionalProperties": false
13137         },
13138         "MeterStatusResult": {
13139           "type": "object",
13140           "properties": {
13141             "code": {
13142               "type": "string"
13143             },
13144             "error": {
13145               "$ref": "#/definitions/Error"
13146             },
13147             "info": {
13148               "type": "string"
13149             }
13150           },
13151           "additionalProperties": false,
13152           "required": [
13153             "code",
13154             "info"
13155           ]
13156         },
13157         "MeterStatusResults": {
13158           "type": "object",
13159           "properties": {
13160             "results": {
13161               "type": "array",
13162               "items": {
13163                 "$ref": "#/definitions/MeterStatusResult"
13164               }
13165             }
13166           },
13167           "additionalProperties": false,
13168           "required": [
13169             "results"
13170           ]
13171         },
13172         "NotifyWatchResult": {
13173           "type": "object",
13174           "properties": {
13175             "NotifyWatcherId": {
13176               "type": "string"
13177             },
13178             "error": {
13179               "$ref": "#/definitions/Error"
13180             }
13181           },
13182           "additionalProperties": false,
13183           "required": [
13184             "NotifyWatcherId"
13185           ]
13186         },
13187         "NotifyWatchResults": {
13188           "type": "object",
13189           "properties": {
13190             "results": {
13191               "type": "array",
13192               "items": {
13193                 "$ref": "#/definitions/NotifyWatchResult"
13194               }
13195             }
13196           },
13197           "additionalProperties": false,
13198           "required": [
13199             "results"
13200           ]
13201         }
13202       }
13203     }
13204   },
13205   {
13206     "Name": "MetricsAdder",
13207     "Version": 2,
13208     "Schema": {
13209       "type": "object",
13210       "properties": {
13211         "AddMetricBatches": {
13212           "type": "object",
13213           "properties": {
13214             "Params": {
13215               "$ref": "#/definitions/MetricBatchParams"
13216             },
13217             "Result": {
13218               "$ref": "#/definitions/ErrorResults"
13219             }
13220           }
13221         }
13222       },
13223       "definitions": {
13224         "Error": {
13225           "type": "object",
13226           "properties": {
13227             "code": {
13228               "type": "string"
13229             },
13230             "info": {
13231               "$ref": "#/definitions/ErrorInfo"
13232             },
13233             "message": {
13234               "type": "string"
13235             }
13236           },
13237           "additionalProperties": false,
13238           "required": [
13239             "message",
13240             "code"
13241           ]
13242         },
13243         "ErrorInfo": {
13244           "type": "object",
13245           "properties": {
13246             "macaroon": {
13247               "$ref": "#/definitions/Macaroon"
13248             },
13249             "macaroon-path": {
13250               "type": "string"
13251             }
13252           },
13253           "additionalProperties": false
13254         },
13255         "ErrorResult": {
13256           "type": "object",
13257           "properties": {
13258             "error": {
13259               "$ref": "#/definitions/Error"
13260             }
13261           },
13262           "additionalProperties": false
13263         },
13264         "ErrorResults": {
13265           "type": "object",
13266           "properties": {
13267             "results": {
13268               "type": "array",
13269               "items": {
13270                 "$ref": "#/definitions/ErrorResult"
13271               }
13272             }
13273           },
13274           "additionalProperties": false,
13275           "required": [
13276             "results"
13277           ]
13278         },
13279         "Macaroon": {
13280           "type": "object",
13281           "additionalProperties": false
13282         },
13283         "Metric": {
13284           "type": "object",
13285           "properties": {
13286             "key": {
13287               "type": "string"
13288             },
13289             "time": {
13290               "type": "string",
13291               "format": "date-time"
13292             },
13293             "value": {
13294               "type": "string"
13295             }
13296           },
13297           "additionalProperties": false,
13298           "required": [
13299             "key",
13300             "value",
13301             "time"
13302           ]
13303         },
13304         "MetricBatch": {
13305           "type": "object",
13306           "properties": {
13307             "charm-url": {
13308               "type": "string"
13309             },
13310             "created": {
13311               "type": "string",
13312               "format": "date-time"
13313             },
13314             "metrics": {
13315               "type": "array",
13316               "items": {
13317                 "$ref": "#/definitions/Metric"
13318               }
13319             },
13320             "uuid": {
13321               "type": "string"
13322             }
13323           },
13324           "additionalProperties": false,
13325           "required": [
13326             "uuid",
13327             "charm-url",
13328             "created",
13329             "metrics"
13330           ]
13331         },
13332         "MetricBatchParam": {
13333           "type": "object",
13334           "properties": {
13335             "batch": {
13336               "$ref": "#/definitions/MetricBatch"
13337             },
13338             "tag": {
13339               "type": "string"
13340             }
13341           },
13342           "additionalProperties": false,
13343           "required": [
13344             "tag",
13345             "batch"
13346           ]
13347         },
13348         "MetricBatchParams": {
13349           "type": "object",
13350           "properties": {
13351             "batches": {
13352               "type": "array",
13353               "items": {
13354                 "$ref": "#/definitions/MetricBatchParam"
13355               }
13356             }
13357           },
13358           "additionalProperties": false,
13359           "required": [
13360             "batches"
13361           ]
13362         }
13363       }
13364     }
13365   },
13366   {
13367     "Name": "MetricsDebug",
13368     "Version": 2,
13369     "Schema": {
13370       "type": "object",
13371       "properties": {
13372         "GetMetrics": {
13373           "type": "object",
13374           "properties": {
13375             "Params": {
13376               "$ref": "#/definitions/Entities"
13377             },
13378             "Result": {
13379               "$ref": "#/definitions/MetricResults"
13380             }
13381           }
13382         },
13383         "SetMeterStatus": {
13384           "type": "object",
13385           "properties": {
13386             "Params": {
13387               "$ref": "#/definitions/MeterStatusParams"
13388             },
13389             "Result": {
13390               "$ref": "#/definitions/ErrorResults"
13391             }
13392           }
13393         }
13394       },
13395       "definitions": {
13396         "Entities": {
13397           "type": "object",
13398           "properties": {
13399             "entities": {
13400               "type": "array",
13401               "items": {
13402                 "$ref": "#/definitions/Entity"
13403               }
13404             }
13405           },
13406           "additionalProperties": false,
13407           "required": [
13408             "entities"
13409           ]
13410         },
13411         "Entity": {
13412           "type": "object",
13413           "properties": {
13414             "tag": {
13415               "type": "string"
13416             }
13417           },
13418           "additionalProperties": false,
13419           "required": [
13420             "tag"
13421           ]
13422         },
13423         "EntityMetrics": {
13424           "type": "object",
13425           "properties": {
13426             "error": {
13427               "$ref": "#/definitions/Error"
13428             },
13429             "metrics": {
13430               "type": "array",
13431               "items": {
13432                 "$ref": "#/definitions/MetricResult"
13433               }
13434             }
13435           },
13436           "additionalProperties": false
13437         },
13438         "Error": {
13439           "type": "object",
13440           "properties": {
13441             "code": {
13442               "type": "string"
13443             },
13444             "info": {
13445               "$ref": "#/definitions/ErrorInfo"
13446             },
13447             "message": {
13448               "type": "string"
13449             }
13450           },
13451           "additionalProperties": false,
13452           "required": [
13453             "message",
13454             "code"
13455           ]
13456         },
13457         "ErrorInfo": {
13458           "type": "object",
13459           "properties": {
13460             "macaroon": {
13461               "$ref": "#/definitions/Macaroon"
13462             },
13463             "macaroon-path": {
13464               "type": "string"
13465             }
13466           },
13467           "additionalProperties": false
13468         },
13469         "ErrorResult": {
13470           "type": "object",
13471           "properties": {
13472             "error": {
13473               "$ref": "#/definitions/Error"
13474             }
13475           },
13476           "additionalProperties": false
13477         },
13478         "ErrorResults": {
13479           "type": "object",
13480           "properties": {
13481             "results": {
13482               "type": "array",
13483               "items": {
13484                 "$ref": "#/definitions/ErrorResult"
13485               }
13486             }
13487           },
13488           "additionalProperties": false,
13489           "required": [
13490             "results"
13491           ]
13492         },
13493         "Macaroon": {
13494           "type": "object",
13495           "additionalProperties": false
13496         },
13497         "MeterStatusParam": {
13498           "type": "object",
13499           "properties": {
13500             "code": {
13501               "type": "string"
13502             },
13503             "info": {
13504               "type": "string"
13505             },
13506             "tag": {
13507               "type": "string"
13508             }
13509           },
13510           "additionalProperties": false,
13511           "required": [
13512             "tag",
13513             "code",
13514             "info"
13515           ]
13516         },
13517         "MeterStatusParams": {
13518           "type": "object",
13519           "properties": {
13520             "statues": {
13521               "type": "array",
13522               "items": {
13523                 "$ref": "#/definitions/MeterStatusParam"
13524               }
13525             }
13526           },
13527           "additionalProperties": false,
13528           "required": [
13529             "statues"
13530           ]
13531         },
13532         "MetricResult": {
13533           "type": "object",
13534           "properties": {
13535             "key": {
13536               "type": "string"
13537             },
13538             "time": {
13539               "type": "string",
13540               "format": "date-time"
13541             },
13542             "unit": {
13543               "type": "string"
13544             },
13545             "value": {
13546               "type": "string"
13547             }
13548           },
13549           "additionalProperties": false,
13550           "required": [
13551             "time",
13552             "key",
13553             "value",
13554             "unit"
13555           ]
13556         },
13557         "MetricResults": {
13558           "type": "object",
13559           "properties": {
13560             "results": {
13561               "type": "array",
13562               "items": {
13563                 "$ref": "#/definitions/EntityMetrics"
13564               }
13565             }
13566           },
13567           "additionalProperties": false,
13568           "required": [
13569             "results"
13570           ]
13571         }
13572       }
13573     }
13574   },
13575   {
13576     "Name": "MetricsManager",
13577     "Version": 1,
13578     "Schema": {
13579       "type": "object",
13580       "properties": {
13581         "CleanupOldMetrics": {
13582           "type": "object",
13583           "properties": {
13584             "Params": {
13585               "$ref": "#/definitions/Entities"
13586             },
13587             "Result": {
13588               "$ref": "#/definitions/ErrorResults"
13589             }
13590           }
13591         },
13592         "SendMetrics": {
13593           "type": "object",
13594           "properties": {
13595             "Params": {
13596               "$ref": "#/definitions/Entities"
13597             },
13598             "Result": {
13599               "$ref": "#/definitions/ErrorResults"
13600             }
13601           }
13602         }
13603       },
13604       "definitions": {
13605         "Entities": {
13606           "type": "object",
13607           "properties": {
13608             "entities": {
13609               "type": "array",
13610               "items": {
13611                 "$ref": "#/definitions/Entity"
13612               }
13613             }
13614           },
13615           "additionalProperties": false,
13616           "required": [
13617             "entities"
13618           ]
13619         },
13620         "Entity": {
13621           "type": "object",
13622           "properties": {
13623             "tag": {
13624               "type": "string"
13625             }
13626           },
13627           "additionalProperties": false,
13628           "required": [
13629             "tag"
13630           ]
13631         },
13632         "Error": {
13633           "type": "object",
13634           "properties": {
13635             "code": {
13636               "type": "string"
13637             },
13638             "info": {
13639               "$ref": "#/definitions/ErrorInfo"
13640             },
13641             "message": {
13642               "type": "string"
13643             }
13644           },
13645           "additionalProperties": false,
13646           "required": [
13647             "message",
13648             "code"
13649           ]
13650         },
13651         "ErrorInfo": {
13652           "type": "object",
13653           "properties": {
13654             "macaroon": {
13655               "$ref": "#/definitions/Macaroon"
13656             },
13657             "macaroon-path": {
13658               "type": "string"
13659             }
13660           },
13661           "additionalProperties": false
13662         },
13663         "ErrorResult": {
13664           "type": "object",
13665           "properties": {
13666             "error": {
13667               "$ref": "#/definitions/Error"
13668             }
13669           },
13670           "additionalProperties": false
13671         },
13672         "ErrorResults": {
13673           "type": "object",
13674           "properties": {
13675             "results": {
13676               "type": "array",
13677               "items": {
13678                 "$ref": "#/definitions/ErrorResult"
13679               }
13680             }
13681           },
13682           "additionalProperties": false,
13683           "required": [
13684             "results"
13685           ]
13686         },
13687         "Macaroon": {
13688           "type": "object",
13689           "additionalProperties": false
13690         }
13691       }
13692     }
13693   },
13694   {
13695     "Name": "MigrationFlag",
13696     "Version": 1,
13697     "Schema": {
13698       "type": "object",
13699       "properties": {
13700         "Phase": {
13701           "type": "object",
13702           "properties": {
13703             "Params": {
13704               "$ref": "#/definitions/Entities"
13705             },
13706             "Result": {
13707               "$ref": "#/definitions/PhaseResults"
13708             }
13709           }
13710         },
13711         "Watch": {
13712           "type": "object",
13713           "properties": {
13714             "Params": {
13715               "$ref": "#/definitions/Entities"
13716             },
13717             "Result": {
13718               "$ref": "#/definitions/NotifyWatchResults"
13719             }
13720           }
13721         }
13722       },
13723       "definitions": {
13724         "Entities": {
13725           "type": "object",
13726           "properties": {
13727             "entities": {
13728               "type": "array",
13729               "items": {
13730                 "$ref": "#/definitions/Entity"
13731               }
13732             }
13733           },
13734           "additionalProperties": false,
13735           "required": [
13736             "entities"
13737           ]
13738         },
13739         "Entity": {
13740           "type": "object",
13741           "properties": {
13742             "tag": {
13743               "type": "string"
13744             }
13745           },
13746           "additionalProperties": false,
13747           "required": [
13748             "tag"
13749           ]
13750         },
13751         "Error": {
13752           "type": "object",
13753           "properties": {
13754             "code": {
13755               "type": "string"
13756             },
13757             "info": {
13758               "$ref": "#/definitions/ErrorInfo"
13759             },
13760             "message": {
13761               "type": "string"
13762             }
13763           },
13764           "additionalProperties": false,
13765           "required": [
13766             "message",
13767             "code"
13768           ]
13769         },
13770         "ErrorInfo": {
13771           "type": "object",
13772           "properties": {
13773             "macaroon": {
13774               "$ref": "#/definitions/Macaroon"
13775             },
13776             "macaroon-path": {
13777               "type": "string"
13778             }
13779           },
13780           "additionalProperties": false
13781         },
13782         "Macaroon": {
13783           "type": "object",
13784           "additionalProperties": false
13785         },
13786         "NotifyWatchResult": {
13787           "type": "object",
13788           "properties": {
13789             "NotifyWatcherId": {
13790               "type": "string"
13791             },
13792             "error": {
13793               "$ref": "#/definitions/Error"
13794             }
13795           },
13796           "additionalProperties": false,
13797           "required": [
13798             "NotifyWatcherId"
13799           ]
13800         },
13801         "NotifyWatchResults": {
13802           "type": "object",
13803           "properties": {
13804             "results": {
13805               "type": "array",
13806               "items": {
13807                 "$ref": "#/definitions/NotifyWatchResult"
13808               }
13809             }
13810           },
13811           "additionalProperties": false,
13812           "required": [
13813             "results"
13814           ]
13815         },
13816         "PhaseResult": {
13817           "type": "object",
13818           "properties": {
13819             "error": {
13820               "$ref": "#/definitions/Error"
13821             },
13822             "phase": {
13823               "type": "string"
13824             }
13825           },
13826           "additionalProperties": false
13827         },
13828         "PhaseResults": {
13829           "type": "object",
13830           "properties": {
13831             "results": {
13832               "type": "array",
13833               "items": {
13834                 "$ref": "#/definitions/PhaseResult"
13835               }
13836             }
13837           },
13838           "additionalProperties": false,
13839           "required": [
13840             "results"
13841           ]
13842         }
13843       }
13844     }
13845   },
13846   {
13847     "Name": "MigrationMaster",
13848     "Version": 1,
13849     "Schema": {
13850       "type": "object",
13851       "properties": {
13852         "Export": {
13853           "type": "object",
13854           "properties": {
13855             "Result": {
13856               "$ref": "#/definitions/SerializedModel"
13857             }
13858           }
13859         },
13860         "MigrationStatus": {
13861           "type": "object",
13862           "properties": {
13863             "Result": {
13864               "$ref": "#/definitions/MasterMigrationStatus"
13865             }
13866           }
13867         },
13868         "MinionReports": {
13869           "type": "object",
13870           "properties": {
13871             "Result": {
13872               "$ref": "#/definitions/MinionReports"
13873             }
13874           }
13875         },
13876         "ModelInfo": {
13877           "type": "object",
13878           "properties": {
13879             "Result": {
13880               "$ref": "#/definitions/MigrationModelInfo"
13881             }
13882           }
13883         },
13884         "Prechecks": {
13885           "type": "object"
13886         },
13887         "Reap": {
13888           "type": "object"
13889         },
13890         "SetPhase": {
13891           "type": "object",
13892           "properties": {
13893             "Params": {
13894               "$ref": "#/definitions/SetMigrationPhaseArgs"
13895             }
13896           }
13897         },
13898         "SetStatusMessage": {
13899           "type": "object",
13900           "properties": {
13901             "Params": {
13902               "$ref": "#/definitions/SetMigrationStatusMessageArgs"
13903             }
13904           }
13905         },
13906         "Watch": {
13907           "type": "object",
13908           "properties": {
13909             "Result": {
13910               "$ref": "#/definitions/NotifyWatchResult"
13911             }
13912           }
13913         },
13914         "WatchMinionReports": {
13915           "type": "object",
13916           "properties": {
13917             "Result": {
13918               "$ref": "#/definitions/NotifyWatchResult"
13919             }
13920           }
13921         }
13922       },
13923       "definitions": {
13924         "Error": {
13925           "type": "object",
13926           "properties": {
13927             "code": {
13928               "type": "string"
13929             },
13930             "info": {
13931               "$ref": "#/definitions/ErrorInfo"
13932             },
13933             "message": {
13934               "type": "string"
13935             }
13936           },
13937           "additionalProperties": false,
13938           "required": [
13939             "message",
13940             "code"
13941           ]
13942         },
13943         "ErrorInfo": {
13944           "type": "object",
13945           "properties": {
13946             "macaroon": {
13947               "$ref": "#/definitions/Macaroon"
13948             },
13949             "macaroon-path": {
13950               "type": "string"
13951             }
13952           },
13953           "additionalProperties": false
13954         },
13955         "Macaroon": {
13956           "type": "object",
13957           "additionalProperties": false
13958         },
13959         "MasterMigrationStatus": {
13960           "type": "object",
13961           "properties": {
13962             "migration-id": {
13963               "type": "string"
13964             },
13965             "phase": {
13966               "type": "string"
13967             },
13968             "phase-changed-time": {
13969               "type": "string",
13970               "format": "date-time"
13971             },
13972             "spec": {
13973               "$ref": "#/definitions/MigrationSpec"
13974             }
13975           },
13976           "additionalProperties": false,
13977           "required": [
13978             "spec",
13979             "migration-id",
13980             "phase",
13981             "phase-changed-time"
13982           ]
13983         },
13984         "MigrationModelInfo": {
13985           "type": "object",
13986           "properties": {
13987             "agent-version": {
13988               "$ref": "#/definitions/Number"
13989             },
13990             "controller-agent-version": {
13991               "$ref": "#/definitions/Number"
13992             },
13993             "name": {
13994               "type": "string"
13995             },
13996             "owner-tag": {
13997               "type": "string"
13998             },
13999             "uuid": {
14000               "type": "string"
14001             }
14002           },
14003           "additionalProperties": false,
14004           "required": [
14005             "uuid",
14006             "name",
14007             "owner-tag",
14008             "agent-version",
14009             "controller-agent-version"
14010           ]
14011         },
14012         "MigrationSpec": {
14013           "type": "object",
14014           "properties": {
14015             "external-control": {
14016               "type": "boolean"
14017             },
14018             "model-tag": {
14019               "type": "string"
14020             },
14021             "skip-initial-prechecks": {
14022               "type": "boolean"
14023             },
14024             "target-info": {
14025               "$ref": "#/definitions/MigrationTargetInfo"
14026             }
14027           },
14028           "additionalProperties": false,
14029           "required": [
14030             "model-tag",
14031             "target-info",
14032             "external-control",
14033             "skip-initial-prechecks"
14034           ]
14035         },
14036         "MigrationTargetInfo": {
14037           "type": "object",
14038           "properties": {
14039             "addrs": {
14040               "type": "array",
14041               "items": {
14042                 "type": "string"
14043               }
14044             },
14045             "auth-tag": {
14046               "type": "string"
14047             },
14048             "ca-cert": {
14049               "type": "string"
14050             },
14051             "controller-tag": {
14052               "type": "string"
14053             },
14054             "macaroons": {
14055               "type": "string"
14056             },
14057             "password": {
14058               "type": "string"
14059             }
14060           },
14061           "additionalProperties": false,
14062           "required": [
14063             "controller-tag",
14064             "addrs",
14065             "ca-cert",
14066             "auth-tag"
14067           ]
14068         },
14069         "MinionReports": {
14070           "type": "object",
14071           "properties": {
14072             "failed": {
14073               "type": "array",
14074               "items": {
14075                 "type": "string"
14076               }
14077             },
14078             "migration-id": {
14079               "type": "string"
14080             },
14081             "phase": {
14082               "type": "string"
14083             },
14084             "success-count": {
14085               "type": "integer"
14086             },
14087             "unknown-count": {
14088               "type": "integer"
14089             },
14090             "unknown-sample": {
14091               "type": "array",
14092               "items": {
14093                 "type": "string"
14094               }
14095             }
14096           },
14097           "additionalProperties": false,
14098           "required": [
14099             "migration-id",
14100             "phase",
14101             "success-count",
14102             "unknown-count",
14103             "unknown-sample",
14104             "failed"
14105           ]
14106         },
14107         "NotifyWatchResult": {
14108           "type": "object",
14109           "properties": {
14110             "NotifyWatcherId": {
14111               "type": "string"
14112             },
14113             "error": {
14114               "$ref": "#/definitions/Error"
14115             }
14116           },
14117           "additionalProperties": false,
14118           "required": [
14119             "NotifyWatcherId"
14120           ]
14121         },
14122         "Number": {
14123           "type": "object",
14124           "properties": {
14125             "Build": {
14126               "type": "integer"
14127             },
14128             "Major": {
14129               "type": "integer"
14130             },
14131             "Minor": {
14132               "type": "integer"
14133             },
14134             "Patch": {
14135               "type": "integer"
14136             },
14137             "Tag": {
14138               "type": "string"
14139             }
14140           },
14141           "additionalProperties": false,
14142           "required": [
14143             "Major",
14144             "Minor",
14145             "Tag",
14146             "Patch",
14147             "Build"
14148           ]
14149         },
14150         "SerializedModel": {
14151           "type": "object",
14152           "properties": {
14153             "bytes": {
14154               "type": "array",
14155               "items": {
14156                 "type": "integer"
14157               }
14158             },
14159             "charms": {
14160               "type": "array",
14161               "items": {
14162                 "type": "string"
14163               }
14164             },
14165             "resources": {
14166               "type": "array",
14167               "items": {
14168                 "$ref": "#/definitions/SerializedModelResource"
14169               }
14170             },
14171             "tools": {
14172               "type": "array",
14173               "items": {
14174                 "$ref": "#/definitions/SerializedModelTools"
14175               }
14176             }
14177           },
14178           "additionalProperties": false,
14179           "required": [
14180             "bytes",
14181             "charms",
14182             "tools",
14183             "resources"
14184           ]
14185         },
14186         "SerializedModelResource": {
14187           "type": "object",
14188           "properties": {
14189             "application": {
14190               "type": "string"
14191             },
14192             "application-revision": {
14193               "$ref": "#/definitions/SerializedModelResourceRevision"
14194             },
14195             "charmstore-revision": {
14196               "$ref": "#/definitions/SerializedModelResourceRevision"
14197             },
14198             "name": {
14199               "type": "string"
14200             },
14201             "unit-revisions": {
14202               "type": "object",
14203               "patternProperties": {
14204                 ".*": {
14205                   "$ref": "#/definitions/SerializedModelResourceRevision"
14206                 }
14207               }
14208             }
14209           },
14210           "additionalProperties": false,
14211           "required": [
14212             "application",
14213             "name",
14214             "application-revision",
14215             "charmstore-revision",
14216             "unit-revisions"
14217           ]
14218         },
14219         "SerializedModelResourceRevision": {
14220           "type": "object",
14221           "properties": {
14222             "description": {
14223               "type": "string"
14224             },
14225             "fingerprint": {
14226               "type": "string"
14227             },
14228             "origin": {
14229               "type": "string"
14230             },
14231             "path": {
14232               "type": "string"
14233             },
14234             "revision": {
14235               "type": "integer"
14236             },
14237             "size": {
14238               "type": "integer"
14239             },
14240             "timestamp": {
14241               "type": "string",
14242               "format": "date-time"
14243             },
14244             "type": {
14245               "type": "string"
14246             },
14247             "username": {
14248               "type": "string"
14249             }
14250           },
14251           "additionalProperties": false,
14252           "required": [
14253             "revision",
14254             "type",
14255             "path",
14256             "description",
14257             "origin",
14258             "fingerprint",
14259             "size",
14260             "timestamp"
14261           ]
14262         },
14263         "SerializedModelTools": {
14264           "type": "object",
14265           "properties": {
14266             "uri": {
14267               "type": "string"
14268             },
14269             "version": {
14270               "type": "string"
14271             }
14272           },
14273           "additionalProperties": false,
14274           "required": [
14275             "version",
14276             "uri"
14277           ]
14278         },
14279         "SetMigrationPhaseArgs": {
14280           "type": "object",
14281           "properties": {
14282             "phase": {
14283               "type": "string"
14284             }
14285           },
14286           "additionalProperties": false,
14287           "required": [
14288             "phase"
14289           ]
14290         },
14291         "SetMigrationStatusMessageArgs": {
14292           "type": "object",
14293           "properties": {
14294             "message": {
14295               "type": "string"
14296             }
14297           },
14298           "additionalProperties": false,
14299           "required": [
14300             "message"
14301           ]
14302         }
14303       }
14304     }
14305   },
14306   {
14307     "Name": "MigrationMinion",
14308     "Version": 1,
14309     "Schema": {
14310       "type": "object",
14311       "properties": {
14312         "Report": {
14313           "type": "object",
14314           "properties": {
14315             "Params": {
14316               "$ref": "#/definitions/MinionReport"
14317             }
14318           }
14319         },
14320         "Watch": {
14321           "type": "object",
14322           "properties": {
14323             "Result": {
14324               "$ref": "#/definitions/NotifyWatchResult"
14325             }
14326           }
14327         }
14328       },
14329       "definitions": {
14330         "Error": {
14331           "type": "object",
14332           "properties": {
14333             "code": {
14334               "type": "string"
14335             },
14336             "info": {
14337               "$ref": "#/definitions/ErrorInfo"
14338             },
14339             "message": {
14340               "type": "string"
14341             }
14342           },
14343           "additionalProperties": false,
14344           "required": [
14345             "message",
14346             "code"
14347           ]
14348         },
14349         "ErrorInfo": {
14350           "type": "object",
14351           "properties": {
14352             "macaroon": {
14353               "$ref": "#/definitions/Macaroon"
14354             },
14355             "macaroon-path": {
14356               "type": "string"
14357             }
14358           },
14359           "additionalProperties": false
14360         },
14361         "Macaroon": {
14362           "type": "object",
14363           "additionalProperties": false
14364         },
14365         "MinionReport": {
14366           "type": "object",
14367           "properties": {
14368             "migration-id": {
14369               "type": "string"
14370             },
14371             "phase": {
14372               "type": "string"
14373             },
14374             "success": {
14375               "type": "boolean"
14376             }
14377           },
14378           "additionalProperties": false,
14379           "required": [
14380             "migration-id",
14381             "phase",
14382             "success"
14383           ]
14384         },
14385         "NotifyWatchResult": {
14386           "type": "object",
14387           "properties": {
14388             "NotifyWatcherId": {
14389               "type": "string"
14390             },
14391             "error": {
14392               "$ref": "#/definitions/Error"
14393             }
14394           },
14395           "additionalProperties": false,
14396           "required": [
14397             "NotifyWatcherId"
14398           ]
14399         }
14400       }
14401     }
14402   },
14403   {
14404     "Name": "MigrationStatusWatcher",
14405     "Version": 1,
14406     "Schema": {
14407       "type": "object",
14408       "properties": {
14409         "Next": {
14410           "type": "object",
14411           "properties": {
14412             "Result": {
14413               "$ref": "#/definitions/MigrationStatus"
14414             }
14415           }
14416         },
14417         "Stop": {
14418           "type": "object"
14419         }
14420       },
14421       "definitions": {
14422         "MigrationStatus": {
14423           "type": "object",
14424           "properties": {
14425             "attempt": {
14426               "type": "integer"
14427             },
14428             "external-control": {
14429               "type": "boolean"
14430             },
14431             "migration-id": {
14432               "type": "string"
14433             },
14434             "phase": {
14435               "type": "string"
14436             },
14437             "source-api-addrs": {
14438               "type": "array",
14439               "items": {
14440                 "type": "string"
14441               }
14442             },
14443             "source-ca-cert": {
14444               "type": "string"
14445             },
14446             "target-api-addrs": {
14447               "type": "array",
14448               "items": {
14449                 "type": "string"
14450               }
14451             },
14452             "target-ca-cert": {
14453               "type": "string"
14454             }
14455           },
14456           "additionalProperties": false,
14457           "required": [
14458             "migration-id",
14459             "attempt",
14460             "phase",
14461             "external-control",
14462             "source-api-addrs",
14463             "source-ca-cert",
14464             "target-api-addrs",
14465             "target-ca-cert"
14466           ]
14467         }
14468       }
14469     }
14470   },
14471   {
14472     "Name": "MigrationTarget",
14473     "Version": 1,
14474     "Schema": {
14475       "type": "object",
14476       "properties": {
14477         "Abort": {
14478           "type": "object",
14479           "properties": {
14480             "Params": {
14481               "$ref": "#/definitions/ModelArgs"
14482             }
14483           }
14484         },
14485         "Activate": {
14486           "type": "object",
14487           "properties": {
14488             "Params": {
14489               "$ref": "#/definitions/ModelArgs"
14490             }
14491           }
14492         },
14493         "AdoptResources": {
14494           "type": "object",
14495           "properties": {
14496             "Params": {
14497               "$ref": "#/definitions/AdoptResourcesArgs"
14498             }
14499           }
14500         },
14501         "Import": {
14502           "type": "object",
14503           "properties": {
14504             "Params": {
14505               "$ref": "#/definitions/SerializedModel"
14506             }
14507           }
14508         },
14509         "LatestLogTime": {
14510           "type": "object",
14511           "properties": {
14512             "Params": {
14513               "$ref": "#/definitions/ModelArgs"
14514             },
14515             "Result": {
14516               "type": "string",
14517               "format": "date-time"
14518             }
14519           }
14520         },
14521         "Prechecks": {
14522           "type": "object",
14523           "properties": {
14524             "Params": {
14525               "$ref": "#/definitions/MigrationModelInfo"
14526             }
14527           }
14528         }
14529       },
14530       "definitions": {
14531         "AdoptResourcesArgs": {
14532           "type": "object",
14533           "properties": {
14534             "model-tag": {
14535               "type": "string"
14536             },
14537             "source-controller-version": {
14538               "$ref": "#/definitions/Number"
14539             }
14540           },
14541           "additionalProperties": false,
14542           "required": [
14543             "model-tag",
14544             "source-controller-version"
14545           ]
14546         },
14547         "MigrationModelInfo": {
14548           "type": "object",
14549           "properties": {
14550             "agent-version": {
14551               "$ref": "#/definitions/Number"
14552             },
14553             "controller-agent-version": {
14554               "$ref": "#/definitions/Number"
14555             },
14556             "name": {
14557               "type": "string"
14558             },
14559             "owner-tag": {
14560               "type": "string"
14561             },
14562             "uuid": {
14563               "type": "string"
14564             }
14565           },
14566           "additionalProperties": false,
14567           "required": [
14568             "uuid",
14569             "name",
14570             "owner-tag",
14571             "agent-version",
14572             "controller-agent-version"
14573           ]
14574         },
14575         "ModelArgs": {
14576           "type": "object",
14577           "properties": {
14578             "model-tag": {
14579               "type": "string"
14580             }
14581           },
14582           "additionalProperties": false,
14583           "required": [
14584             "model-tag"
14585           ]
14586         },
14587         "Number": {
14588           "type": "object",
14589           "properties": {
14590             "Build": {
14591               "type": "integer"
14592             },
14593             "Major": {
14594               "type": "integer"
14595             },
14596             "Minor": {
14597               "type": "integer"
14598             },
14599             "Patch": {
14600               "type": "integer"
14601             },
14602             "Tag": {
14603               "type": "string"
14604             }
14605           },
14606           "additionalProperties": false,
14607           "required": [
14608             "Major",
14609             "Minor",
14610             "Tag",
14611             "Patch",
14612             "Build"
14613           ]
14614         },
14615         "SerializedModel": {
14616           "type": "object",
14617           "properties": {
14618             "bytes": {
14619               "type": "array",
14620               "items": {
14621                 "type": "integer"
14622               }
14623             },
14624             "charms": {
14625               "type": "array",
14626               "items": {
14627                 "type": "string"
14628               }
14629             },
14630             "resources": {
14631               "type": "array",
14632               "items": {
14633                 "$ref": "#/definitions/SerializedModelResource"
14634               }
14635             },
14636             "tools": {
14637               "type": "array",
14638               "items": {
14639                 "$ref": "#/definitions/SerializedModelTools"
14640               }
14641             }
14642           },
14643           "additionalProperties": false,
14644           "required": [
14645             "bytes",
14646             "charms",
14647             "tools",
14648             "resources"
14649           ]
14650         },
14651         "SerializedModelResource": {
14652           "type": "object",
14653           "properties": {
14654             "application": {
14655               "type": "string"
14656             },
14657             "application-revision": {
14658               "$ref": "#/definitions/SerializedModelResourceRevision"
14659             },
14660             "charmstore-revision": {
14661               "$ref": "#/definitions/SerializedModelResourceRevision"
14662             },
14663             "name": {
14664               "type": "string"
14665             },
14666             "unit-revisions": {
14667               "type": "object",
14668               "patternProperties": {
14669                 ".*": {
14670                   "$ref": "#/definitions/SerializedModelResourceRevision"
14671                 }
14672               }
14673             }
14674           },
14675           "additionalProperties": false,
14676           "required": [
14677             "application",
14678             "name",
14679             "application-revision",
14680             "charmstore-revision",
14681             "unit-revisions"
14682           ]
14683         },
14684         "SerializedModelResourceRevision": {
14685           "type": "object",
14686           "properties": {
14687             "description": {
14688               "type": "string"
14689             },
14690             "fingerprint": {
14691               "type": "string"
14692             },
14693             "origin": {
14694               "type": "string"
14695             },
14696             "path": {
14697               "type": "string"
14698             },
14699             "revision": {
14700               "type": "integer"
14701             },
14702             "size": {
14703               "type": "integer"
14704             },
14705             "timestamp": {
14706               "type": "string",
14707               "format": "date-time"
14708             },
14709             "type": {
14710               "type": "string"
14711             },
14712             "username": {
14713               "type": "string"
14714             }
14715           },
14716           "additionalProperties": false,
14717           "required": [
14718             "revision",
14719             "type",
14720             "path",
14721             "description",
14722             "origin",
14723             "fingerprint",
14724             "size",
14725             "timestamp"
14726           ]
14727         },
14728         "SerializedModelTools": {
14729           "type": "object",
14730           "properties": {
14731             "uri": {
14732               "type": "string"
14733             },
14734             "version": {
14735               "type": "string"
14736             }
14737           },
14738           "additionalProperties": false,
14739           "required": [
14740             "version",
14741             "uri"
14742           ]
14743         }
14744       }
14745     }
14746   },
14747   {
14748     "Name": "ModelConfig",
14749     "Version": 1,
14750     "Schema": {
14751       "type": "object",
14752       "properties": {
14753         "ModelGet": {
14754           "type": "object",
14755           "properties": {
14756             "Result": {
14757               "$ref": "#/definitions/ModelConfigResults"
14758             }
14759           }
14760         },
14761         "ModelSet": {
14762           "type": "object",
14763           "properties": {
14764             "Params": {
14765               "$ref": "#/definitions/ModelSet"
14766             }
14767           }
14768         },
14769         "ModelUnset": {
14770           "type": "object",
14771           "properties": {
14772             "Params": {
14773               "$ref": "#/definitions/ModelUnset"
14774             }
14775           }
14776         }
14777       },
14778       "definitions": {
14779         "ConfigValue": {
14780           "type": "object",
14781           "properties": {
14782             "source": {
14783               "type": "string"
14784             },
14785             "value": {
14786               "type": "object",
14787               "additionalProperties": true
14788             }
14789           },
14790           "additionalProperties": false,
14791           "required": [
14792             "value",
14793             "source"
14794           ]
14795         },
14796         "ModelConfigResults": {
14797           "type": "object",
14798           "properties": {
14799             "config": {
14800               "type": "object",
14801               "patternProperties": {
14802                 ".*": {
14803                   "$ref": "#/definitions/ConfigValue"
14804                 }
14805               }
14806             }
14807           },
14808           "additionalProperties": false,
14809           "required": [
14810             "config"
14811           ]
14812         },
14813         "ModelSet": {
14814           "type": "object",
14815           "properties": {
14816             "config": {
14817               "type": "object",
14818               "patternProperties": {
14819                 ".*": {
14820                   "type": "object",
14821                   "additionalProperties": true
14822                 }
14823               }
14824             }
14825           },
14826           "additionalProperties": false,
14827           "required": [
14828             "config"
14829           ]
14830         },
14831         "ModelUnset": {
14832           "type": "object",
14833           "properties": {
14834             "keys": {
14835               "type": "array",
14836               "items": {
14837                 "type": "string"
14838               }
14839             }
14840           },
14841           "additionalProperties": false,
14842           "required": [
14843             "keys"
14844           ]
14845         }
14846       }
14847     }
14848   },
14849   {
14850     "Name": "ModelManager",
14851     "Version": 2,
14852     "Schema": {
14853       "type": "object",
14854       "properties": {
14855         "CreateModel": {
14856           "type": "object",
14857           "properties": {
14858             "Params": {
14859               "$ref": "#/definitions/ModelCreateArgs"
14860             },
14861             "Result": {
14862               "$ref": "#/definitions/ModelInfo"
14863             }
14864           }
14865         },
14866         "DestroyModels": {
14867           "type": "object",
14868           "properties": {
14869             "Params": {
14870               "$ref": "#/definitions/Entities"
14871             },
14872             "Result": {
14873               "$ref": "#/definitions/ErrorResults"
14874             }
14875           }
14876         },
14877         "DumpModels": {
14878           "type": "object",
14879           "properties": {
14880             "Params": {
14881               "$ref": "#/definitions/Entities"
14882             },
14883             "Result": {
14884               "$ref": "#/definitions/MapResults"
14885             }
14886           }
14887         },
14888         "DumpModelsDB": {
14889           "type": "object",
14890           "properties": {
14891             "Params": {
14892               "$ref": "#/definitions/Entities"
14893             },
14894             "Result": {
14895               "$ref": "#/definitions/MapResults"
14896             }
14897           }
14898         },
14899         "ListModels": {
14900           "type": "object",
14901           "properties": {
14902             "Params": {
14903               "$ref": "#/definitions/Entity"
14904             },
14905             "Result": {
14906               "$ref": "#/definitions/UserModelList"
14907             }
14908           }
14909         },
14910         "ModelDefaults": {
14911           "type": "object",
14912           "properties": {
14913             "Result": {
14914               "$ref": "#/definitions/ModelDefaultsResult"
14915             }
14916           }
14917         },
14918         "ModelInfo": {
14919           "type": "object",
14920           "properties": {
14921             "Params": {
14922               "$ref": "#/definitions/Entities"
14923             },
14924             "Result": {
14925               "$ref": "#/definitions/ModelInfoResults"
14926             }
14927           }
14928         },
14929         "ModelStatus": {
14930           "type": "object",
14931           "properties": {
14932             "Params": {
14933               "$ref": "#/definitions/Entities"
14934             },
14935             "Result": {
14936               "$ref": "#/definitions/ModelStatusResults"
14937             }
14938           }
14939         },
14940         "ModifyModelAccess": {
14941           "type": "object",
14942           "properties": {
14943             "Params": {
14944               "$ref": "#/definitions/ModifyModelAccessRequest"
14945             },
14946             "Result": {
14947               "$ref": "#/definitions/ErrorResults"
14948             }
14949           }
14950         },
14951         "SetModelDefaults": {
14952           "type": "object",
14953           "properties": {
14954             "Params": {
14955               "$ref": "#/definitions/SetModelDefaults"
14956             },
14957             "Result": {
14958               "$ref": "#/definitions/ErrorResults"
14959             }
14960           }
14961         },
14962         "UnsetModelDefaults": {
14963           "type": "object",
14964           "properties": {
14965             "Params": {
14966               "$ref": "#/definitions/UnsetModelDefaults"
14967             },
14968             "Result": {
14969               "$ref": "#/definitions/ErrorResults"
14970             }
14971           }
14972         }
14973       },
14974       "definitions": {
14975         "Entities": {
14976           "type": "object",
14977           "properties": {
14978             "entities": {
14979               "type": "array",
14980               "items": {
14981                 "$ref": "#/definitions/Entity"
14982               }
14983             }
14984           },
14985           "additionalProperties": false,
14986           "required": [
14987             "entities"
14988           ]
14989         },
14990         "Entity": {
14991           "type": "object",
14992           "properties": {
14993             "tag": {
14994               "type": "string"
14995             }
14996           },
14997           "additionalProperties": false,
14998           "required": [
14999             "tag"
15000           ]
15001         },
15002         "EntityStatus": {
15003           "type": "object",
15004           "properties": {
15005             "data": {
15006               "type": "object",
15007               "patternProperties": {
15008                 ".*": {
15009                   "type": "object",
15010                   "additionalProperties": true
15011                 }
15012               }
15013             },
15014             "info": {
15015               "type": "string"
15016             },
15017             "since": {
15018               "type": "string",
15019               "format": "date-time"
15020             },
15021             "status": {
15022               "type": "string"
15023             }
15024           },
15025           "additionalProperties": false,
15026           "required": [
15027             "status",
15028             "info",
15029             "since"
15030           ]
15031         },
15032         "Error": {
15033           "type": "object",
15034           "properties": {
15035             "code": {
15036               "type": "string"
15037             },
15038             "info": {
15039               "$ref": "#/definitions/ErrorInfo"
15040             },
15041             "message": {
15042               "type": "string"
15043             }
15044           },
15045           "additionalProperties": false,
15046           "required": [
15047             "message",
15048             "code"
15049           ]
15050         },
15051         "ErrorInfo": {
15052           "type": "object",
15053           "properties": {
15054             "macaroon": {
15055               "$ref": "#/definitions/Macaroon"
15056             },
15057             "macaroon-path": {
15058               "type": "string"
15059             }
15060           },
15061           "additionalProperties": false
15062         },
15063         "ErrorResult": {
15064           "type": "object",
15065           "properties": {
15066             "error": {
15067               "$ref": "#/definitions/Error"
15068             }
15069           },
15070           "additionalProperties": false
15071         },
15072         "ErrorResults": {
15073           "type": "object",
15074           "properties": {
15075             "results": {
15076               "type": "array",
15077               "items": {
15078                 "$ref": "#/definitions/ErrorResult"
15079               }
15080             }
15081           },
15082           "additionalProperties": false,
15083           "required": [
15084             "results"
15085           ]
15086         },
15087         "Macaroon": {
15088           "type": "object",
15089           "additionalProperties": false
15090         },
15091         "MachineHardware": {
15092           "type": "object",
15093           "properties": {
15094             "arch": {
15095               "type": "string"
15096             },
15097             "availability-zone": {
15098               "type": "string"
15099             },
15100             "cores": {
15101               "type": "integer"
15102             },
15103             "cpu-power": {
15104               "type": "integer"
15105             },
15106             "mem": {
15107               "type": "integer"
15108             },
15109             "root-disk": {
15110               "type": "integer"
15111             },
15112             "tags": {
15113               "type": "array",
15114               "items": {
15115                 "type": "string"
15116               }
15117             }
15118           },
15119           "additionalProperties": false
15120         },
15121         "MapResult": {
15122           "type": "object",
15123           "properties": {
15124             "error": {
15125               "$ref": "#/definitions/Error"
15126             },
15127             "result": {
15128               "type": "object",
15129               "patternProperties": {
15130                 ".*": {
15131                   "type": "object",
15132                   "additionalProperties": true
15133                 }
15134               }
15135             }
15136           },
15137           "additionalProperties": false,
15138           "required": [
15139             "result"
15140           ]
15141         },
15142         "MapResults": {
15143           "type": "object",
15144           "properties": {
15145             "results": {
15146               "type": "array",
15147               "items": {
15148                 "$ref": "#/definitions/MapResult"
15149               }
15150             }
15151           },
15152           "additionalProperties": false,
15153           "required": [
15154             "results"
15155           ]
15156         },
15157         "Model": {
15158           "type": "object",
15159           "properties": {
15160             "name": {
15161               "type": "string"
15162             },
15163             "owner-tag": {
15164               "type": "string"
15165             },
15166             "uuid": {
15167               "type": "string"
15168             }
15169           },
15170           "additionalProperties": false,
15171           "required": [
15172             "name",
15173             "uuid",
15174             "owner-tag"
15175           ]
15176         },
15177         "ModelCreateArgs": {
15178           "type": "object",
15179           "properties": {
15180             "cloud-tag": {
15181               "type": "string"
15182             },
15183             "config": {
15184               "type": "object",
15185               "patternProperties": {
15186                 ".*": {
15187                   "type": "object",
15188                   "additionalProperties": true
15189                 }
15190               }
15191             },
15192             "credential": {
15193               "type": "string"
15194             },
15195             "name": {
15196               "type": "string"
15197             },
15198             "owner-tag": {
15199               "type": "string"
15200             },
15201             "region": {
15202               "type": "string"
15203             }
15204           },
15205           "additionalProperties": false,
15206           "required": [
15207             "name",
15208             "owner-tag"
15209           ]
15210         },
15211         "ModelDefaultValues": {
15212           "type": "object",
15213           "properties": {
15214             "cloud-region": {
15215               "type": "string"
15216             },
15217             "cloud-tag": {
15218               "type": "string"
15219             },
15220             "config": {
15221               "type": "object",
15222               "patternProperties": {
15223                 ".*": {
15224                   "type": "object",
15225                   "additionalProperties": true
15226                 }
15227               }
15228             }
15229           },
15230           "additionalProperties": false,
15231           "required": [
15232             "config"
15233           ]
15234         },
15235         "ModelDefaults": {
15236           "type": "object",
15237           "properties": {
15238             "controller": {
15239               "type": "object",
15240               "additionalProperties": true
15241             },
15242             "default": {
15243               "type": "object",
15244               "additionalProperties": true
15245             },
15246             "regions": {
15247               "type": "array",
15248               "items": {
15249                 "$ref": "#/definitions/RegionDefaults"
15250               }
15251             }
15252           },
15253           "additionalProperties": false
15254         },
15255         "ModelDefaultsResult": {
15256           "type": "object",
15257           "properties": {
15258             "config": {
15259               "type": "object",
15260               "patternProperties": {
15261                 ".*": {
15262                   "$ref": "#/definitions/ModelDefaults"
15263                 }
15264               }
15265             }
15266           },
15267           "additionalProperties": false,
15268           "required": [
15269             "config"
15270           ]
15271         },
15272         "ModelInfo": {
15273           "type": "object",
15274           "properties": {
15275             "cloud-credential-tag": {
15276               "type": "string"
15277             },
15278             "cloud-region": {
15279               "type": "string"
15280             },
15281             "cloud-tag": {
15282               "type": "string"
15283             },
15284             "controller-uuid": {
15285               "type": "string"
15286             },
15287             "default-series": {
15288               "type": "string"
15289             },
15290             "life": {
15291               "type": "string"
15292             },
15293             "machines": {
15294               "type": "array",
15295               "items": {
15296                 "$ref": "#/definitions/ModelMachineInfo"
15297               }
15298             },
15299             "migration": {
15300               "$ref": "#/definitions/ModelMigrationStatus"
15301             },
15302             "name": {
15303               "type": "string"
15304             },
15305             "owner-tag": {
15306               "type": "string"
15307             },
15308             "provider-type": {
15309               "type": "string"
15310             },
15311             "status": {
15312               "$ref": "#/definitions/EntityStatus"
15313             },
15314             "users": {
15315               "type": "array",
15316               "items": {
15317                 "$ref": "#/definitions/ModelUserInfo"
15318               }
15319             },
15320             "uuid": {
15321               "type": "string"
15322             }
15323           },
15324           "additionalProperties": false,
15325           "required": [
15326             "name",
15327             "uuid",
15328             "controller-uuid",
15329             "provider-type",
15330             "default-series",
15331             "cloud-tag",
15332             "owner-tag",
15333             "life",
15334             "status",
15335             "users",
15336             "machines"
15337           ]
15338         },
15339         "ModelInfoResult": {
15340           "type": "object",
15341           "properties": {
15342             "error": {
15343               "$ref": "#/definitions/Error"
15344             },
15345             "result": {
15346               "$ref": "#/definitions/ModelInfo"
15347             }
15348           },
15349           "additionalProperties": false
15350         },
15351         "ModelInfoResults": {
15352           "type": "object",
15353           "properties": {
15354             "results": {
15355               "type": "array",
15356               "items": {
15357                 "$ref": "#/definitions/ModelInfoResult"
15358               }
15359             }
15360           },
15361           "additionalProperties": false,
15362           "required": [
15363             "results"
15364           ]
15365         },
15366         "ModelMachineInfo": {
15367           "type": "object",
15368           "properties": {
15369             "hardware": {
15370               "$ref": "#/definitions/MachineHardware"
15371             },
15372             "has-vote": {
15373               "type": "boolean"
15374             },
15375             "id": {
15376               "type": "string"
15377             },
15378             "instance-id": {
15379               "type": "string"
15380             },
15381             "status": {
15382               "type": "string"
15383             },
15384             "wants-vote": {
15385               "type": "boolean"
15386             }
15387           },
15388           "additionalProperties": false,
15389           "required": [
15390             "id"
15391           ]
15392         },
15393         "ModelMigrationStatus": {
15394           "type": "object",
15395           "properties": {
15396             "end": {
15397               "type": "string",
15398               "format": "date-time"
15399             },
15400             "start": {
15401               "type": "string",
15402               "format": "date-time"
15403             },
15404             "status": {
15405               "type": "string"
15406             }
15407           },
15408           "additionalProperties": false,
15409           "required": [
15410             "status",
15411             "start"
15412           ]
15413         },
15414         "ModelStatus": {
15415           "type": "object",
15416           "properties": {
15417             "application-count": {
15418               "type": "integer"
15419             },
15420             "hosted-machine-count": {
15421               "type": "integer"
15422             },
15423             "life": {
15424               "type": "string"
15425             },
15426             "machines": {
15427               "type": "array",
15428               "items": {
15429                 "$ref": "#/definitions/ModelMachineInfo"
15430               }
15431             },
15432             "model-tag": {
15433               "type": "string"
15434             },
15435             "owner-tag": {
15436               "type": "string"
15437             }
15438           },
15439           "additionalProperties": false,
15440           "required": [
15441             "model-tag",
15442             "life",
15443             "hosted-machine-count",
15444             "application-count",
15445             "owner-tag"
15446           ]
15447         },
15448         "ModelStatusResults": {
15449           "type": "object",
15450           "properties": {
15451             "models": {
15452               "type": "array",
15453               "items": {
15454                 "$ref": "#/definitions/ModelStatus"
15455               }
15456             }
15457           },
15458           "additionalProperties": false,
15459           "required": [
15460             "models"
15461           ]
15462         },
15463         "ModelUnsetKeys": {
15464           "type": "object",
15465           "properties": {
15466             "cloud-region": {
15467               "type": "string"
15468             },
15469             "cloud-tag": {
15470               "type": "string"
15471             },
15472             "keys": {
15473               "type": "array",
15474               "items": {
15475                 "type": "string"
15476               }
15477             }
15478           },
15479           "additionalProperties": false,
15480           "required": [
15481             "keys"
15482           ]
15483         },
15484         "ModelUserInfo": {
15485           "type": "object",
15486           "properties": {
15487             "access": {
15488               "type": "string"
15489             },
15490             "display-name": {
15491               "type": "string"
15492             },
15493             "last-connection": {
15494               "type": "string",
15495               "format": "date-time"
15496             },
15497             "user": {
15498               "type": "string"
15499             }
15500           },
15501           "additionalProperties": false,
15502           "required": [
15503             "user",
15504             "display-name",
15505             "last-connection",
15506             "access"
15507           ]
15508         },
15509         "ModifyModelAccess": {
15510           "type": "object",
15511           "properties": {
15512             "access": {
15513               "type": "string"
15514             },
15515             "action": {
15516               "type": "string"
15517             },
15518             "model-tag": {
15519               "type": "string"
15520             },
15521             "user-tag": {
15522               "type": "string"
15523             }
15524           },
15525           "additionalProperties": false,
15526           "required": [
15527             "user-tag",
15528             "action",
15529             "access",
15530             "model-tag"
15531           ]
15532         },
15533         "ModifyModelAccessRequest": {
15534           "type": "object",
15535           "properties": {
15536             "changes": {
15537               "type": "array",
15538               "items": {
15539                 "$ref": "#/definitions/ModifyModelAccess"
15540               }
15541             }
15542           },
15543           "additionalProperties": false,
15544           "required": [
15545             "changes"
15546           ]
15547         },
15548         "RegionDefaults": {
15549           "type": "object",
15550           "properties": {
15551             "region-name": {
15552               "type": "string"
15553             },
15554             "value": {
15555               "type": "object",
15556               "additionalProperties": true
15557             }
15558           },
15559           "additionalProperties": false,
15560           "required": [
15561             "region-name",
15562             "value"
15563           ]
15564         },
15565         "SetModelDefaults": {
15566           "type": "object",
15567           "properties": {
15568             "config": {
15569               "type": "array",
15570               "items": {
15571                 "$ref": "#/definitions/ModelDefaultValues"
15572               }
15573             }
15574           },
15575           "additionalProperties": false,
15576           "required": [
15577             "config"
15578           ]
15579         },
15580         "UnsetModelDefaults": {
15581           "type": "object",
15582           "properties": {
15583             "keys": {
15584               "type": "array",
15585               "items": {
15586                 "$ref": "#/definitions/ModelUnsetKeys"
15587               }
15588             }
15589           },
15590           "additionalProperties": false,
15591           "required": [
15592             "keys"
15593           ]
15594         },
15595         "UserModel": {
15596           "type": "object",
15597           "properties": {
15598             "last-connection": {
15599               "type": "string",
15600               "format": "date-time"
15601             },
15602             "model": {
15603               "$ref": "#/definitions/Model"
15604             }
15605           },
15606           "additionalProperties": false,
15607           "required": [
15608             "model",
15609             "last-connection"
15610           ]
15611         },
15612         "UserModelList": {
15613           "type": "object",
15614           "properties": {
15615             "user-models": {
15616               "type": "array",
15617               "items": {
15618                 "$ref": "#/definitions/UserModel"
15619               }
15620             }
15621           },
15622           "additionalProperties": false,
15623           "required": [
15624             "user-models"
15625           ]
15626         }
15627       }
15628     }
15629   },
15630   {
15631     "Name": "NotifyWatcher",
15632     "Version": 1,
15633     "Schema": {
15634       "type": "object",
15635       "properties": {
15636         "Next": {
15637           "type": "object"
15638         },
15639         "Stop": {
15640           "type": "object"
15641         }
15642       }
15643     }
15644   },
15645   {
15646     "Name": "Payloads",
15647     "Version": 1,
15648     "Schema": {
15649       "type": "object",
15650       "properties": {
15651         "List": {
15652           "type": "object",
15653           "properties": {
15654             "Params": {
15655               "$ref": "#/definitions/PayloadListArgs"
15656             },
15657             "Result": {
15658               "$ref": "#/definitions/PayloadListResults"
15659             }
15660           }
15661         }
15662       },
15663       "definitions": {
15664         "Payload": {
15665           "type": "object",
15666           "properties": {
15667             "class": {
15668               "type": "string"
15669             },
15670             "id": {
15671               "type": "string"
15672             },
15673             "labels": {
15674               "type": "array",
15675               "items": {
15676                 "type": "string"
15677               }
15678             },
15679             "machine": {
15680               "type": "string"
15681             },
15682             "status": {
15683               "type": "string"
15684             },
15685             "type": {
15686               "type": "string"
15687             },
15688             "unit": {
15689               "type": "string"
15690             }
15691           },
15692           "additionalProperties": false,
15693           "required": [
15694             "class",
15695             "type",
15696             "id",
15697             "status",
15698             "labels",
15699             "unit",
15700             "machine"
15701           ]
15702         },
15703         "PayloadListArgs": {
15704           "type": "object",
15705           "properties": {
15706             "patterns": {
15707               "type": "array",
15708               "items": {
15709                 "type": "string"
15710               }
15711             }
15712           },
15713           "additionalProperties": false,
15714           "required": [
15715             "patterns"
15716           ]
15717         },
15718         "PayloadListResults": {
15719           "type": "object",
15720           "properties": {
15721             "results": {
15722               "type": "array",
15723               "items": {
15724                 "$ref": "#/definitions/Payload"
15725               }
15726             }
15727           },
15728           "additionalProperties": false,
15729           "required": [
15730             "results"
15731           ]
15732         }
15733       }
15734     }
15735   },
15736   {
15737     "Name": "PayloadsHookContext",
15738     "Version": 1,
15739     "Schema": {
15740       "type": "object",
15741       "properties": {
15742         "List": {
15743           "type": "object",
15744           "properties": {
15745             "Params": {
15746               "$ref": "#/definitions/Entities"
15747             },
15748             "Result": {
15749               "$ref": "#/definitions/PayloadResults"
15750             }
15751           }
15752         },
15753         "LookUp": {
15754           "type": "object",
15755           "properties": {
15756             "Params": {
15757               "$ref": "#/definitions/LookUpPayloadArgs"
15758             },
15759             "Result": {
15760               "$ref": "#/definitions/PayloadResults"
15761             }
15762           }
15763         },
15764         "SetStatus": {
15765           "type": "object",
15766           "properties": {
15767             "Params": {
15768               "$ref": "#/definitions/SetPayloadStatusArgs"
15769             },
15770             "Result": {
15771               "$ref": "#/definitions/PayloadResults"
15772             }
15773           }
15774         },
15775         "Track": {
15776           "type": "object",
15777           "properties": {
15778             "Params": {
15779               "$ref": "#/definitions/TrackPayloadArgs"
15780             },
15781             "Result": {
15782               "$ref": "#/definitions/PayloadResults"
15783             }
15784           }
15785         },
15786         "Untrack": {
15787           "type": "object",
15788           "properties": {
15789             "Params": {
15790               "$ref": "#/definitions/Entities"
15791             },
15792             "Result": {
15793               "$ref": "#/definitions/PayloadResults"
15794             }
15795           }
15796         }
15797       },
15798       "definitions": {
15799         "Entities": {
15800           "type": "object",
15801           "properties": {
15802             "entities": {
15803               "type": "array",
15804               "items": {
15805                 "$ref": "#/definitions/Entity"
15806               }
15807             }
15808           },
15809           "additionalProperties": false,
15810           "required": [
15811             "entities"
15812           ]
15813         },
15814         "Entity": {
15815           "type": "object",
15816           "properties": {
15817             "tag": {
15818               "type": "string"
15819             }
15820           },
15821           "additionalProperties": false,
15822           "required": [
15823             "tag"
15824           ]
15825         },
15826         "Error": {
15827           "type": "object",
15828           "properties": {
15829             "code": {
15830               "type": "string"
15831             },
15832             "info": {
15833               "$ref": "#/definitions/ErrorInfo"
15834             },
15835             "message": {
15836               "type": "string"
15837             }
15838           },
15839           "additionalProperties": false,
15840           "required": [
15841             "message",
15842             "code"
15843           ]
15844         },
15845         "ErrorInfo": {
15846           "type": "object",
15847           "properties": {
15848             "macaroon": {
15849               "$ref": "#/definitions/Macaroon"
15850             },
15851             "macaroon-path": {
15852               "type": "string"
15853             }
15854           },
15855           "additionalProperties": false
15856         },
15857         "LookUpPayloadArg": {
15858           "type": "object",
15859           "properties": {
15860             "id": {
15861               "type": "string"
15862             },
15863             "name": {
15864               "type": "string"
15865             }
15866           },
15867           "additionalProperties": false,
15868           "required": [
15869             "name",
15870             "id"
15871           ]
15872         },
15873         "LookUpPayloadArgs": {
15874           "type": "object",
15875           "properties": {
15876             "args": {
15877               "type": "array",
15878               "items": {
15879                 "$ref": "#/definitions/LookUpPayloadArg"
15880               }
15881             }
15882           },
15883           "additionalProperties": false,
15884           "required": [
15885             "args"
15886           ]
15887         },
15888         "Macaroon": {
15889           "type": "object",
15890           "additionalProperties": false
15891         },
15892         "Payload": {
15893           "type": "object",
15894           "properties": {
15895             "class": {
15896               "type": "string"
15897             },
15898             "id": {
15899               "type": "string"
15900             },
15901             "labels": {
15902               "type": "array",
15903               "items": {
15904                 "type": "string"
15905               }
15906             },
15907             "machine": {
15908               "type": "string"
15909             },
15910             "status": {
15911               "type": "string"
15912             },
15913             "type": {
15914               "type": "string"
15915             },
15916             "unit": {
15917               "type": "string"
15918             }
15919           },
15920           "additionalProperties": false,
15921           "required": [
15922             "class",
15923             "type",
15924             "id",
15925             "status",
15926             "labels",
15927             "unit",
15928             "machine"
15929           ]
15930         },
15931         "PayloadResult": {
15932           "type": "object",
15933           "properties": {
15934             "Entity": {
15935               "$ref": "#/definitions/Entity"
15936             },
15937             "error": {
15938               "$ref": "#/definitions/Error"
15939             },
15940             "not-found": {
15941               "type": "boolean"
15942             },
15943             "payload": {
15944               "$ref": "#/definitions/Payload"
15945             }
15946           },
15947           "additionalProperties": false,
15948           "required": [
15949             "Entity",
15950             "payload",
15951             "not-found"
15952           ]
15953         },
15954         "PayloadResults": {
15955           "type": "object",
15956           "properties": {
15957             "results": {
15958               "type": "array",
15959               "items": {
15960                 "$ref": "#/definitions/PayloadResult"
15961               }
15962             }
15963           },
15964           "additionalProperties": false,
15965           "required": [
15966             "results"
15967           ]
15968         },
15969         "SetPayloadStatusArg": {
15970           "type": "object",
15971           "properties": {
15972             "Entity": {
15973               "$ref": "#/definitions/Entity"
15974             },
15975             "status": {
15976               "type": "string"
15977             }
15978           },
15979           "additionalProperties": false,
15980           "required": [
15981             "Entity",
15982             "status"
15983           ]
15984         },
15985         "SetPayloadStatusArgs": {
15986           "type": "object",
15987           "properties": {
15988             "args": {
15989               "type": "array",
15990               "items": {
15991                 "$ref": "#/definitions/SetPayloadStatusArg"
15992               }
15993             }
15994           },
15995           "additionalProperties": false,
15996           "required": [
15997             "args"
15998           ]
15999         },
16000         "TrackPayloadArgs": {
16001           "type": "object",
16002           "properties": {
16003             "payloads": {
16004               "type": "array",
16005               "items": {
16006                 "$ref": "#/definitions/Payload"
16007               }
16008             }
16009           },
16010           "additionalProperties": false,
16011           "required": [
16012             "payloads"
16013           ]
16014         }
16015       }
16016     }
16017   },
16018   {
16019     "Name": "Pinger",
16020     "Version": 1,
16021     "Schema": {
16022       "type": "object",
16023       "properties": {
16024         "Ping": {
16025           "type": "object"
16026         },
16027         "Stop": {
16028           "type": "object"
16029         }
16030       }
16031     }
16032   },
16033   {
16034     "Name": "Provisioner",
16035     "Version": 3,
16036     "Schema": {
16037       "type": "object",
16038       "properties": {
16039         "APIAddresses": {
16040           "type": "object",
16041           "properties": {
16042             "Result": {
16043               "$ref": "#/definitions/StringsResult"
16044             }
16045           }
16046         },
16047         "APIHostPorts": {
16048           "type": "object",
16049           "properties": {
16050             "Result": {
16051               "$ref": "#/definitions/APIHostPortsResult"
16052             }
16053           }
16054         },
16055         "CACert": {
16056           "type": "object",
16057           "properties": {
16058             "Result": {
16059               "$ref": "#/definitions/BytesResult"
16060             }
16061           }
16062         },
16063         "Constraints": {
16064           "type": "object",
16065           "properties": {
16066             "Params": {
16067               "$ref": "#/definitions/Entities"
16068             },
16069             "Result": {
16070               "$ref": "#/definitions/ConstraintsResults"
16071             }
16072           }
16073         },
16074         "ContainerConfig": {
16075           "type": "object",
16076           "properties": {
16077             "Result": {
16078               "$ref": "#/definitions/ContainerConfig"
16079             }
16080           }
16081         },
16082         "ContainerManagerConfig": {
16083           "type": "object",
16084           "properties": {
16085             "Params": {
16086               "$ref": "#/definitions/ContainerManagerConfigParams"
16087             },
16088             "Result": {
16089               "$ref": "#/definitions/ContainerManagerConfig"
16090             }
16091           }
16092         },
16093         "ControllerConfig": {
16094           "type": "object",
16095           "properties": {
16096             "Result": {
16097               "$ref": "#/definitions/ControllerConfigResult"
16098             }
16099           }
16100         },
16101         "DistributionGroup": {
16102           "type": "object",
16103           "properties": {
16104             "Params": {
16105               "$ref": "#/definitions/Entities"
16106             },
16107             "Result": {
16108               "$ref": "#/definitions/DistributionGroupResults"
16109             }
16110           }
16111         },
16112         "EnsureDead": {
16113           "type": "object",
16114           "properties": {
16115             "Params": {
16116               "$ref": "#/definitions/Entities"
16117             },
16118             "Result": {
16119               "$ref": "#/definitions/ErrorResults"
16120             }
16121           }
16122         },
16123         "FindTools": {
16124           "type": "object",
16125           "properties": {
16126             "Params": {
16127               "$ref": "#/definitions/FindToolsParams"
16128             },
16129             "Result": {
16130               "$ref": "#/definitions/FindToolsResult"
16131             }
16132           }
16133         },
16134         "GetContainerInterfaceInfo": {
16135           "type": "object",
16136           "properties": {
16137             "Params": {
16138               "$ref": "#/definitions/Entities"
16139             },
16140             "Result": {
16141               "$ref": "#/definitions/MachineNetworkConfigResults"
16142             }
16143           }
16144         },
16145         "HostChangesForContainers": {
16146           "type": "object",
16147           "properties": {
16148             "Params": {
16149               "$ref": "#/definitions/Entities"
16150             },
16151             "Result": {
16152               "$ref": "#/definitions/HostNetworkChangeResults"
16153             }
16154           }
16155         },
16156         "InstanceId": {
16157           "type": "object",
16158           "properties": {
16159             "Params": {
16160               "$ref": "#/definitions/Entities"
16161             },
16162             "Result": {
16163               "$ref": "#/definitions/StringResults"
16164             }
16165           }
16166         },
16167         "InstanceStatus": {
16168           "type": "object",
16169           "properties": {
16170             "Params": {
16171               "$ref": "#/definitions/Entities"
16172             },
16173             "Result": {
16174               "$ref": "#/definitions/StatusResults"
16175             }
16176           }
16177         },
16178         "Life": {
16179           "type": "object",
16180           "properties": {
16181             "Params": {
16182               "$ref": "#/definitions/Entities"
16183             },
16184             "Result": {
16185               "$ref": "#/definitions/LifeResults"
16186             }
16187           }
16188         },
16189         "MachinesWithTransientErrors": {
16190           "type": "object",
16191           "properties": {
16192             "Result": {
16193               "$ref": "#/definitions/StatusResults"
16194             }
16195           }
16196         },
16197         "MarkMachinesForRemoval": {
16198           "type": "object",
16199           "properties": {
16200             "Params": {
16201               "$ref": "#/definitions/Entities"
16202             },
16203             "Result": {
16204               "$ref": "#/definitions/ErrorResults"
16205             }
16206           }
16207         },
16208         "ModelConfig": {
16209           "type": "object",
16210           "properties": {
16211             "Result": {
16212               "$ref": "#/definitions/ModelConfigResult"
16213             }
16214           }
16215         },
16216         "ModelUUID": {
16217           "type": "object",
16218           "properties": {
16219             "Result": {
16220               "$ref": "#/definitions/StringResult"
16221             }
16222           }
16223         },
16224         "PrepareContainerInterfaceInfo": {
16225           "type": "object",
16226           "properties": {
16227             "Params": {
16228               "$ref": "#/definitions/Entities"
16229             },
16230             "Result": {
16231               "$ref": "#/definitions/MachineNetworkConfigResults"
16232             }
16233           }
16234         },
16235         "ProvisioningInfo": {
16236           "type": "object",
16237           "properties": {
16238             "Params": {
16239               "$ref": "#/definitions/Entities"
16240             },
16241             "Result": {
16242               "$ref": "#/definitions/ProvisioningInfoResults"
16243             }
16244           }
16245         },
16246         "ReleaseContainerAddresses": {
16247           "type": "object",
16248           "properties": {
16249             "Params": {
16250               "$ref": "#/definitions/Entities"
16251             },
16252             "Result": {
16253               "$ref": "#/definitions/ErrorResults"
16254             }
16255           }
16256         },
16257         "Remove": {
16258           "type": "object",
16259           "properties": {
16260             "Params": {
16261               "$ref": "#/definitions/Entities"
16262             },
16263             "Result": {
16264               "$ref": "#/definitions/ErrorResults"
16265             }
16266           }
16267         },
16268         "Series": {
16269           "type": "object",
16270           "properties": {
16271             "Params": {
16272               "$ref": "#/definitions/Entities"
16273             },
16274             "Result": {
16275               "$ref": "#/definitions/StringResults"
16276             }
16277           }
16278         },
16279         "SetHostMachineNetworkConfig": {
16280           "type": "object",
16281           "properties": {
16282             "Params": {
16283               "$ref": "#/definitions/SetMachineNetworkConfig"
16284             }
16285           }
16286         },
16287         "SetInstanceInfo": {
16288           "type": "object",
16289           "properties": {
16290             "Params": {
16291               "$ref": "#/definitions/InstancesInfo"
16292             },
16293             "Result": {
16294               "$ref": "#/definitions/ErrorResults"
16295             }
16296           }
16297         },
16298         "SetInstanceStatus": {
16299           "type": "object",
16300           "properties": {
16301             "Params": {
16302               "$ref": "#/definitions/SetStatus"
16303             },
16304             "Result": {
16305               "$ref": "#/definitions/ErrorResults"
16306             }
16307           }
16308         },
16309         "SetObservedNetworkConfig": {
16310           "type": "object",
16311           "properties": {
16312             "Params": {
16313               "$ref": "#/definitions/SetMachineNetworkConfig"
16314             }
16315           }
16316         },
16317         "SetPasswords": {
16318           "type": "object",
16319           "properties": {
16320             "Params": {
16321               "$ref": "#/definitions/EntityPasswords"
16322             },
16323             "Result": {
16324               "$ref": "#/definitions/ErrorResults"
16325             }
16326           }
16327         },
16328         "SetStatus": {
16329           "type": "object",
16330           "properties": {
16331             "Params": {
16332               "$ref": "#/definitions/SetStatus"
16333             },
16334             "Result": {
16335               "$ref": "#/definitions/ErrorResults"
16336             }
16337           }
16338         },
16339         "SetSupportedContainers": {
16340           "type": "object",
16341           "properties": {
16342             "Params": {
16343               "$ref": "#/definitions/MachineContainersParams"
16344             },
16345             "Result": {
16346               "$ref": "#/definitions/ErrorResults"
16347             }
16348           }
16349         },
16350         "StateAddresses": {
16351           "type": "object",
16352           "properties": {
16353             "Result": {
16354               "$ref": "#/definitions/StringsResult"
16355             }
16356           }
16357         },
16358         "Status": {
16359           "type": "object",
16360           "properties": {
16361             "Params": {
16362               "$ref": "#/definitions/Entities"
16363             },
16364             "Result": {
16365               "$ref": "#/definitions/StatusResults"
16366             }
16367           }
16368         },
16369         "Tools": {
16370           "type": "object",
16371           "properties": {
16372             "Params": {
16373               "$ref": "#/definitions/Entities"
16374             },
16375             "Result": {
16376               "$ref": "#/definitions/ToolsResults"
16377             }
16378           }
16379         },
16380         "UpdateStatus": {
16381           "type": "object",
16382           "properties": {
16383             "Params": {
16384               "$ref": "#/definitions/SetStatus"
16385             },
16386             "Result": {
16387               "$ref": "#/definitions/ErrorResults"
16388             }
16389           }
16390         },
16391         "WatchAPIHostPorts": {
16392           "type": "object",
16393           "properties": {
16394             "Result": {
16395               "$ref": "#/definitions/NotifyWatchResult"
16396             }
16397           }
16398         },
16399         "WatchAllContainers": {
16400           "type": "object",
16401           "properties": {
16402             "Params": {
16403               "$ref": "#/definitions/WatchContainers"
16404             },
16405             "Result": {
16406               "$ref": "#/definitions/StringsWatchResults"
16407             }
16408           }
16409         },
16410         "WatchContainers": {
16411           "type": "object",
16412           "properties": {
16413             "Params": {
16414               "$ref": "#/definitions/WatchContainers"
16415             },
16416             "Result": {
16417               "$ref": "#/definitions/StringsWatchResults"
16418             }
16419           }
16420         },
16421         "WatchForModelConfigChanges": {
16422           "type": "object",
16423           "properties": {
16424             "Result": {
16425               "$ref": "#/definitions/NotifyWatchResult"
16426             }
16427           }
16428         },
16429         "WatchMachineErrorRetry": {
16430           "type": "object",
16431           "properties": {
16432             "Result": {
16433               "$ref": "#/definitions/NotifyWatchResult"
16434             }
16435           }
16436         },
16437         "WatchModelMachines": {
16438           "type": "object",
16439           "properties": {
16440             "Result": {
16441               "$ref": "#/definitions/StringsWatchResult"
16442             }
16443           }
16444         }
16445       },
16446       "definitions": {
16447         "APIHostPortsResult": {
16448           "type": "object",
16449           "properties": {
16450             "servers": {
16451               "type": "array",
16452               "items": {
16453                 "type": "array",
16454                 "items": {
16455                   "$ref": "#/definitions/HostPort"
16456                 }
16457               }
16458             }
16459           },
16460           "additionalProperties": false,
16461           "required": [
16462             "servers"
16463           ]
16464         },
16465         "Address": {
16466           "type": "object",
16467           "properties": {
16468             "scope": {
16469               "type": "string"
16470             },
16471             "space-name": {
16472               "type": "string"
16473             },
16474             "type": {
16475               "type": "string"
16476             },
16477             "value": {
16478               "type": "string"
16479             }
16480           },
16481           "additionalProperties": false,
16482           "required": [
16483             "value",
16484             "type",
16485             "scope"
16486           ]
16487         },
16488         "Binary": {
16489           "type": "object",
16490           "properties": {
16491             "Arch": {
16492               "type": "string"
16493             },
16494             "Number": {
16495               "$ref": "#/definitions/Number"
16496             },
16497             "Series": {
16498               "type": "string"
16499             }
16500           },
16501           "additionalProperties": false,
16502           "required": [
16503             "Number",
16504             "Series",
16505             "Arch"
16506           ]
16507         },
16508         "BytesResult": {
16509           "type": "object",
16510           "properties": {
16511             "result": {
16512               "type": "array",
16513               "items": {
16514                 "type": "integer"
16515               }
16516             }
16517           },
16518           "additionalProperties": false,
16519           "required": [
16520             "result"
16521           ]
16522         },
16523         "CloudImageMetadata": {
16524           "type": "object",
16525           "properties": {
16526             "arch": {
16527               "type": "string"
16528             },
16529             "image-id": {
16530               "type": "string"
16531             },
16532             "priority": {
16533               "type": "integer"
16534             },
16535             "region": {
16536               "type": "string"
16537             },
16538             "root-storage-size": {
16539               "type": "integer"
16540             },
16541             "root-storage-type": {
16542               "type": "string"
16543             },
16544             "series": {
16545               "type": "string"
16546             },
16547             "source": {
16548               "type": "string"
16549             },
16550             "stream": {
16551               "type": "string"
16552             },
16553             "version": {
16554               "type": "string"
16555             },
16556             "virt-type": {
16557               "type": "string"
16558             }
16559           },
16560           "additionalProperties": false,
16561           "required": [
16562             "image-id",
16563             "region",
16564             "version",
16565             "series",
16566             "arch",
16567             "source",
16568             "priority"
16569           ]
16570         },
16571         "ConstraintsResult": {
16572           "type": "object",
16573           "properties": {
16574             "constraints": {
16575               "$ref": "#/definitions/Value"
16576             },
16577             "error": {
16578               "$ref": "#/definitions/Error"
16579             }
16580           },
16581           "additionalProperties": false,
16582           "required": [
16583             "constraints"
16584           ]
16585         },
16586         "ConstraintsResults": {
16587           "type": "object",
16588           "properties": {
16589             "results": {
16590               "type": "array",
16591               "items": {
16592                 "$ref": "#/definitions/ConstraintsResult"
16593               }
16594             }
16595           },
16596           "additionalProperties": false,
16597           "required": [
16598             "results"
16599           ]
16600         },
16601         "ContainerConfig": {
16602           "type": "object",
16603           "properties": {
16604             "UpdateBehavior": {
16605               "$ref": "#/definitions/UpdateBehavior"
16606             },
16607             "apt-mirror": {
16608               "type": "string"
16609             },
16610             "apt-proxy": {
16611               "$ref": "#/definitions/Settings"
16612             },
16613             "authorized-keys": {
16614               "type": "string"
16615             },
16616             "provider-type": {
16617               "type": "string"
16618             },
16619             "proxy": {
16620               "$ref": "#/definitions/Settings"
16621             },
16622             "ssl-hostname-verification": {
16623               "type": "boolean"
16624             }
16625           },
16626           "additionalProperties": false,
16627           "required": [
16628             "provider-type",
16629             "authorized-keys",
16630             "ssl-hostname-verification",
16631             "proxy",
16632             "apt-proxy",
16633             "apt-mirror",
16634             "UpdateBehavior"
16635           ]
16636         },
16637         "ContainerManagerConfig": {
16638           "type": "object",
16639           "properties": {
16640             "config": {
16641               "type": "object",
16642               "patternProperties": {
16643                 ".*": {
16644                   "type": "string"
16645                 }
16646               }
16647             }
16648           },
16649           "additionalProperties": false,
16650           "required": [
16651             "config"
16652           ]
16653         },
16654         "ContainerManagerConfigParams": {
16655           "type": "object",
16656           "properties": {
16657             "type": {
16658               "type": "string"
16659             }
16660           },
16661           "additionalProperties": false,
16662           "required": [
16663             "type"
16664           ]
16665         },
16666         "ControllerConfigResult": {
16667           "type": "object",
16668           "properties": {
16669             "config": {
16670               "type": "object",
16671               "patternProperties": {
16672                 ".*": {
16673                   "type": "object",
16674                   "additionalProperties": true
16675                 }
16676               }
16677             }
16678           },
16679           "additionalProperties": false,
16680           "required": [
16681             "config"
16682           ]
16683         },
16684         "DeviceBridgeInfo": {
16685           "type": "object",
16686           "properties": {
16687             "bridge-name": {
16688               "type": "string"
16689             },
16690             "host-device-name": {
16691               "type": "string"
16692             }
16693           },
16694           "additionalProperties": false,
16695           "required": [
16696             "host-device-name",
16697             "bridge-name"
16698           ]
16699         },
16700         "DistributionGroupResult": {
16701           "type": "object",
16702           "properties": {
16703             "error": {
16704               "$ref": "#/definitions/Error"
16705             },
16706             "result": {
16707               "type": "array",
16708               "items": {
16709                 "type": "string"
16710               }
16711             }
16712           },
16713           "additionalProperties": false,
16714           "required": [
16715             "result"
16716           ]
16717         },
16718         "DistributionGroupResults": {
16719           "type": "object",
16720           "properties": {
16721             "results": {
16722               "type": "array",
16723               "items": {
16724                 "$ref": "#/definitions/DistributionGroupResult"
16725               }
16726             }
16727           },
16728           "additionalProperties": false,
16729           "required": [
16730             "results"
16731           ]
16732         },
16733         "Entities": {
16734           "type": "object",
16735           "properties": {
16736             "entities": {
16737               "type": "array",
16738               "items": {
16739                 "$ref": "#/definitions/Entity"
16740               }
16741             }
16742           },
16743           "additionalProperties": false,
16744           "required": [
16745             "entities"
16746           ]
16747         },
16748         "Entity": {
16749           "type": "object",
16750           "properties": {
16751             "tag": {
16752               "type": "string"
16753             }
16754           },
16755           "additionalProperties": false,
16756           "required": [
16757             "tag"
16758           ]
16759         },
16760         "EntityPassword": {
16761           "type": "object",
16762           "properties": {
16763             "password": {
16764               "type": "string"
16765             },
16766             "tag": {
16767               "type": "string"
16768             }
16769           },
16770           "additionalProperties": false,
16771           "required": [
16772             "tag",
16773             "password"
16774           ]
16775         },
16776         "EntityPasswords": {
16777           "type": "object",
16778           "properties": {
16779             "changes": {
16780               "type": "array",
16781               "items": {
16782                 "$ref": "#/definitions/EntityPassword"
16783               }
16784             }
16785           },
16786           "additionalProperties": false,
16787           "required": [
16788             "changes"
16789           ]
16790         },
16791         "EntityStatusArgs": {
16792           "type": "object",
16793           "properties": {
16794             "data": {
16795               "type": "object",
16796               "patternProperties": {
16797                 ".*": {
16798                   "type": "object",
16799                   "additionalProperties": true
16800                 }
16801               }
16802             },
16803             "info": {
16804               "type": "string"
16805             },
16806             "status": {
16807               "type": "string"
16808             },
16809             "tag": {
16810               "type": "string"
16811             }
16812           },
16813           "additionalProperties": false,
16814           "required": [
16815             "tag",
16816             "status",
16817             "info",
16818             "data"
16819           ]
16820         },
16821         "Error": {
16822           "type": "object",
16823           "properties": {
16824             "code": {
16825               "type": "string"
16826             },
16827             "info": {
16828               "$ref": "#/definitions/ErrorInfo"
16829             },
16830             "message": {
16831               "type": "string"
16832             }
16833           },
16834           "additionalProperties": false,
16835           "required": [
16836             "message",
16837             "code"
16838           ]
16839         },
16840         "ErrorInfo": {
16841           "type": "object",
16842           "properties": {
16843             "macaroon": {
16844               "$ref": "#/definitions/Macaroon"
16845             },
16846             "macaroon-path": {
16847               "type": "string"
16848             }
16849           },
16850           "additionalProperties": false
16851         },
16852         "ErrorResult": {
16853           "type": "object",
16854           "properties": {
16855             "error": {
16856               "$ref": "#/definitions/Error"
16857             }
16858           },
16859           "additionalProperties": false
16860         },
16861         "ErrorResults": {
16862           "type": "object",
16863           "properties": {
16864             "results": {
16865               "type": "array",
16866               "items": {
16867                 "$ref": "#/definitions/ErrorResult"
16868               }
16869             }
16870           },
16871           "additionalProperties": false,
16872           "required": [
16873             "results"
16874           ]
16875         },
16876         "FindToolsParams": {
16877           "type": "object",
16878           "properties": {
16879             "arch": {
16880               "type": "string"
16881             },
16882             "major": {
16883               "type": "integer"
16884             },
16885             "minor": {
16886               "type": "integer"
16887             },
16888             "number": {
16889               "$ref": "#/definitions/Number"
16890             },
16891             "series": {
16892               "type": "string"
16893             }
16894           },
16895           "additionalProperties": false,
16896           "required": [
16897             "number",
16898             "major",
16899             "minor",
16900             "arch",
16901             "series"
16902           ]
16903         },
16904         "FindToolsResult": {
16905           "type": "object",
16906           "properties": {
16907             "error": {
16908               "$ref": "#/definitions/Error"
16909             },
16910             "list": {
16911               "type": "array",
16912               "items": {
16913                 "$ref": "#/definitions/Tools"
16914               }
16915             }
16916           },
16917           "additionalProperties": false,
16918           "required": [
16919             "list"
16920           ]
16921         },
16922         "HardwareCharacteristics": {
16923           "type": "object",
16924           "properties": {
16925             "arch": {
16926               "type": "string"
16927             },
16928             "availability-zone": {
16929               "type": "string"
16930             },
16931             "cpu-cores": {
16932               "type": "integer"
16933             },
16934             "cpu-power": {
16935               "type": "integer"
16936             },
16937             "mem": {
16938               "type": "integer"
16939             },
16940             "root-disk": {
16941               "type": "integer"
16942             },
16943             "tags": {
16944               "type": "array",
16945               "items": {
16946                 "type": "string"
16947               }
16948             }
16949           },
16950           "additionalProperties": false
16951         },
16952         "HostNetworkChange": {
16953           "type": "object",
16954           "properties": {
16955             "error": {
16956               "$ref": "#/definitions/Error"
16957             },
16958             "new-bridges": {
16959               "type": "array",
16960               "items": {
16961                 "$ref": "#/definitions/DeviceBridgeInfo"
16962               }
16963             },
16964             "reconfigure-delay": {
16965               "type": "integer"
16966             }
16967           },
16968           "additionalProperties": false,
16969           "required": [
16970             "new-bridges",
16971             "reconfigure-delay"
16972           ]
16973         },
16974         "HostNetworkChangeResults": {
16975           "type": "object",
16976           "properties": {
16977             "results": {
16978               "type": "array",
16979               "items": {
16980                 "$ref": "#/definitions/HostNetworkChange"
16981               }
16982             }
16983           },
16984           "additionalProperties": false,
16985           "required": [
16986             "results"
16987           ]
16988         },
16989         "HostPort": {
16990           "type": "object",
16991           "properties": {
16992             "Address": {
16993               "$ref": "#/definitions/Address"
16994             },
16995             "port": {
16996               "type": "integer"
16997             }
16998           },
16999           "additionalProperties": false,
17000           "required": [
17001             "Address",
17002             "port"
17003           ]
17004         },
17005         "InstanceInfo": {
17006           "type": "object",
17007           "properties": {
17008             "characteristics": {
17009               "$ref": "#/definitions/HardwareCharacteristics"
17010             },
17011             "instance-id": {
17012               "type": "string"
17013             },
17014             "network-config": {
17015               "type": "array",
17016               "items": {
17017                 "$ref": "#/definitions/NetworkConfig"
17018               }
17019             },
17020             "nonce": {
17021               "type": "string"
17022             },
17023             "tag": {
17024               "type": "string"
17025             },
17026             "volume-attachments": {
17027               "type": "object",
17028               "patternProperties": {
17029                 ".*": {
17030                   "$ref": "#/definitions/VolumeAttachmentInfo"
17031                 }
17032               }
17033             },
17034             "volumes": {
17035               "type": "array",
17036               "items": {
17037                 "$ref": "#/definitions/Volume"
17038               }
17039             }
17040           },
17041           "additionalProperties": false,
17042           "required": [
17043             "tag",
17044             "instance-id",
17045             "nonce",
17046             "characteristics",
17047             "volumes",
17048             "volume-attachments",
17049             "network-config"
17050           ]
17051         },
17052         "InstancesInfo": {
17053           "type": "object",
17054           "properties": {
17055             "machines": {
17056               "type": "array",
17057               "items": {
17058                 "$ref": "#/definitions/InstanceInfo"
17059               }
17060             }
17061           },
17062           "additionalProperties": false,
17063           "required": [
17064             "machines"
17065           ]
17066         },
17067         "LifeResult": {
17068           "type": "object",
17069           "properties": {
17070             "error": {
17071               "$ref": "#/definitions/Error"
17072             },
17073             "life": {
17074               "type": "string"
17075             }
17076           },
17077           "additionalProperties": false,
17078           "required": [
17079             "life"
17080           ]
17081         },
17082         "LifeResults": {
17083           "type": "object",
17084           "properties": {
17085             "results": {
17086               "type": "array",
17087               "items": {
17088                 "$ref": "#/definitions/LifeResult"
17089               }
17090             }
17091           },
17092           "additionalProperties": false,
17093           "required": [
17094             "results"
17095           ]
17096         },
17097         "Macaroon": {
17098           "type": "object",
17099           "additionalProperties": false
17100         },
17101         "MachineContainers": {
17102           "type": "object",
17103           "properties": {
17104             "container-types": {
17105               "type": "array",
17106               "items": {
17107                 "type": "string"
17108               }
17109             },
17110             "machine-tag": {
17111               "type": "string"
17112             }
17113           },
17114           "additionalProperties": false,
17115           "required": [
17116             "machine-tag",
17117             "container-types"
17118           ]
17119         },
17120         "MachineContainersParams": {
17121           "type": "object",
17122           "properties": {
17123             "params": {
17124               "type": "array",
17125               "items": {
17126                 "$ref": "#/definitions/MachineContainers"
17127               }
17128             }
17129           },
17130           "additionalProperties": false,
17131           "required": [
17132             "params"
17133           ]
17134         },
17135         "MachineNetworkConfigResult": {
17136           "type": "object",
17137           "properties": {
17138             "error": {
17139               "$ref": "#/definitions/Error"
17140             },
17141             "info": {
17142               "type": "array",
17143               "items": {
17144                 "$ref": "#/definitions/NetworkConfig"
17145               }
17146             }
17147           },
17148           "additionalProperties": false,
17149           "required": [
17150             "info"
17151           ]
17152         },
17153         "MachineNetworkConfigResults": {
17154           "type": "object",
17155           "properties": {
17156             "results": {
17157               "type": "array",
17158               "items": {
17159                 "$ref": "#/definitions/MachineNetworkConfigResult"
17160               }
17161             }
17162           },
17163           "additionalProperties": false,
17164           "required": [
17165             "results"
17166           ]
17167         },
17168         "ModelConfigResult": {
17169           "type": "object",
17170           "properties": {
17171             "config": {
17172               "type": "object",
17173               "patternProperties": {
17174                 ".*": {
17175                   "type": "object",
17176                   "additionalProperties": true
17177                 }
17178               }
17179             }
17180           },
17181           "additionalProperties": false,
17182           "required": [
17183             "config"
17184           ]
17185         },
17186         "NetworkConfig": {
17187           "type": "object",
17188           "properties": {
17189             "address": {
17190               "type": "string"
17191             },
17192             "cidr": {
17193               "type": "string"
17194             },
17195             "config-type": {
17196               "type": "string"
17197             },
17198             "device-index": {
17199               "type": "integer"
17200             },
17201             "disabled": {
17202               "type": "boolean"
17203             },
17204             "dns-search-domains": {
17205               "type": "array",
17206               "items": {
17207                 "type": "string"
17208               }
17209             },
17210             "dns-servers": {
17211               "type": "array",
17212               "items": {
17213                 "type": "string"
17214               }
17215             },
17216             "gateway-address": {
17217               "type": "string"
17218             },
17219             "interface-name": {
17220               "type": "string"
17221             },
17222             "interface-type": {
17223               "type": "string"
17224             },
17225             "mac-address": {
17226               "type": "string"
17227             },
17228             "mtu": {
17229               "type": "integer"
17230             },
17231             "no-auto-start": {
17232               "type": "boolean"
17233             },
17234             "parent-interface-name": {
17235               "type": "string"
17236             },
17237             "provider-address-id": {
17238               "type": "string"
17239             },
17240             "provider-id": {
17241               "type": "string"
17242             },
17243             "provider-space-id": {
17244               "type": "string"
17245             },
17246             "provider-subnet-id": {
17247               "type": "string"
17248             },
17249             "provider-vlan-id": {
17250               "type": "string"
17251             },
17252             "routes": {
17253               "type": "array",
17254               "items": {
17255                 "$ref": "#/definitions/NetworkRoute"
17256               }
17257             },
17258             "vlan-tag": {
17259               "type": "integer"
17260             }
17261           },
17262           "additionalProperties": false,
17263           "required": [
17264             "device-index",
17265             "mac-address",
17266             "cidr",
17267             "mtu",
17268             "provider-id",
17269             "provider-subnet-id",
17270             "provider-space-id",
17271             "provider-address-id",
17272             "provider-vlan-id",
17273             "vlan-tag",
17274             "interface-name",
17275             "parent-interface-name",
17276             "interface-type",
17277             "disabled"
17278           ]
17279         },
17280         "NetworkRoute": {
17281           "type": "object",
17282           "properties": {
17283             "destination-cidr": {
17284               "type": "string"
17285             },
17286             "gateway-ip": {
17287               "type": "string"
17288             },
17289             "metric": {
17290               "type": "integer"
17291             }
17292           },
17293           "additionalProperties": false,
17294           "required": [
17295             "destination-cidr",
17296             "gateway-ip",
17297             "metric"
17298           ]
17299         },
17300         "NotifyWatchResult": {
17301           "type": "object",
17302           "properties": {
17303             "NotifyWatcherId": {
17304               "type": "string"
17305             },
17306             "error": {
17307               "$ref": "#/definitions/Error"
17308             }
17309           },
17310           "additionalProperties": false,
17311           "required": [
17312             "NotifyWatcherId"
17313           ]
17314         },
17315         "Number": {
17316           "type": "object",
17317           "properties": {
17318             "Build": {
17319               "type": "integer"
17320             },
17321             "Major": {
17322               "type": "integer"
17323             },
17324             "Minor": {
17325               "type": "integer"
17326             },
17327             "Patch": {
17328               "type": "integer"
17329             },
17330             "Tag": {
17331               "type": "string"
17332             }
17333           },
17334           "additionalProperties": false,
17335           "required": [
17336             "Major",
17337             "Minor",
17338             "Tag",
17339             "Patch",
17340             "Build"
17341           ]
17342         },
17343         "ProvisioningInfo": {
17344           "type": "object",
17345           "properties": {
17346             "constraints": {
17347               "$ref": "#/definitions/Value"
17348             },
17349             "controller-config": {
17350               "type": "object",
17351               "patternProperties": {
17352                 ".*": {
17353                   "type": "object",
17354                   "additionalProperties": true
17355                 }
17356               }
17357             },
17358             "endpoint-bindings": {
17359               "type": "object",
17360               "patternProperties": {
17361                 ".*": {
17362                   "type": "string"
17363                 }
17364               }
17365             },
17366             "image-metadata": {
17367               "type": "array",
17368               "items": {
17369                 "$ref": "#/definitions/CloudImageMetadata"
17370               }
17371             },
17372             "jobs": {
17373               "type": "array",
17374               "items": {
17375                 "type": "string"
17376               }
17377             },
17378             "placement": {
17379               "type": "string"
17380             },
17381             "series": {
17382               "type": "string"
17383             },
17384             "subnets-to-zones": {
17385               "type": "object",
17386               "patternProperties": {
17387                 ".*": {
17388                   "type": "array",
17389                   "items": {
17390                     "type": "string"
17391                   }
17392                 }
17393               }
17394             },
17395             "tags": {
17396               "type": "object",
17397               "patternProperties": {
17398                 ".*": {
17399                   "type": "string"
17400                 }
17401               }
17402             },
17403             "volumes": {
17404               "type": "array",
17405               "items": {
17406                 "$ref": "#/definitions/VolumeParams"
17407               }
17408             }
17409           },
17410           "additionalProperties": false,
17411           "required": [
17412             "constraints",
17413             "series",
17414             "placement",
17415             "jobs"
17416           ]
17417         },
17418         "ProvisioningInfoResult": {
17419           "type": "object",
17420           "properties": {
17421             "error": {
17422               "$ref": "#/definitions/Error"
17423             },
17424             "result": {
17425               "$ref": "#/definitions/ProvisioningInfo"
17426             }
17427           },
17428           "additionalProperties": false,
17429           "required": [
17430             "result"
17431           ]
17432         },
17433         "ProvisioningInfoResults": {
17434           "type": "object",
17435           "properties": {
17436             "results": {
17437               "type": "array",
17438               "items": {
17439                 "$ref": "#/definitions/ProvisioningInfoResult"
17440               }
17441             }
17442           },
17443           "additionalProperties": false,
17444           "required": [
17445             "results"
17446           ]
17447         },
17448         "SetMachineNetworkConfig": {
17449           "type": "object",
17450           "properties": {
17451             "config": {
17452               "type": "array",
17453               "items": {
17454                 "$ref": "#/definitions/NetworkConfig"
17455               }
17456             },
17457             "tag": {
17458               "type": "string"
17459             }
17460           },
17461           "additionalProperties": false,
17462           "required": [
17463             "tag",
17464             "config"
17465           ]
17466         },
17467         "SetStatus": {
17468           "type": "object",
17469           "properties": {
17470             "entities": {
17471               "type": "array",
17472               "items": {
17473                 "$ref": "#/definitions/EntityStatusArgs"
17474               }
17475             }
17476           },
17477           "additionalProperties": false,
17478           "required": [
17479             "entities"
17480           ]
17481         },
17482         "Settings": {
17483           "type": "object",
17484           "properties": {
17485             "Ftp": {
17486               "type": "string"
17487             },
17488             "Http": {
17489               "type": "string"
17490             },
17491             "Https": {
17492               "type": "string"
17493             },
17494             "NoProxy": {
17495               "type": "string"
17496             }
17497           },
17498           "additionalProperties": false,
17499           "required": [
17500             "Http",
17501             "Https",
17502             "Ftp",
17503             "NoProxy"
17504           ]
17505         },
17506         "StatusResult": {
17507           "type": "object",
17508           "properties": {
17509             "data": {
17510               "type": "object",
17511               "patternProperties": {
17512                 ".*": {
17513                   "type": "object",
17514                   "additionalProperties": true
17515                 }
17516               }
17517             },
17518             "error": {
17519               "$ref": "#/definitions/Error"
17520             },
17521             "id": {
17522               "type": "string"
17523             },
17524             "info": {
17525               "type": "string"
17526             },
17527             "life": {
17528               "type": "string"
17529             },
17530             "since": {
17531               "type": "string",
17532               "format": "date-time"
17533             },
17534             "status": {
17535               "type": "string"
17536             }
17537           },
17538           "additionalProperties": false,
17539           "required": [
17540             "id",
17541             "life",
17542             "status",
17543             "info",
17544             "data",
17545             "since"
17546           ]
17547         },
17548         "StatusResults": {
17549           "type": "object",
17550           "properties": {
17551             "results": {
17552               "type": "array",
17553               "items": {
17554                 "$ref": "#/definitions/StatusResult"
17555               }
17556             }
17557           },
17558           "additionalProperties": false,
17559           "required": [
17560             "results"
17561           ]
17562         },
17563         "StringResult": {
17564           "type": "object",
17565           "properties": {
17566             "error": {
17567               "$ref": "#/definitions/Error"
17568             },
17569             "result": {
17570               "type": "string"
17571             }
17572           },
17573           "additionalProperties": false,
17574           "required": [
17575             "result"
17576           ]
17577         },
17578         "StringResults": {
17579           "type": "object",
17580           "properties": {
17581             "results": {
17582               "type": "array",
17583               "items": {
17584                 "$ref": "#/definitions/StringResult"
17585               }
17586             }
17587           },
17588           "additionalProperties": false,
17589           "required": [
17590             "results"
17591           ]
17592         },
17593         "StringsResult": {
17594           "type": "object",
17595           "properties": {
17596             "error": {
17597               "$ref": "#/definitions/Error"
17598             },
17599             "result": {
17600               "type": "array",
17601               "items": {
17602                 "type": "string"
17603               }
17604             }
17605           },
17606           "additionalProperties": false
17607         },
17608         "StringsWatchResult": {
17609           "type": "object",
17610           "properties": {
17611             "changes": {
17612               "type": "array",
17613               "items": {
17614                 "type": "string"
17615               }
17616             },
17617             "error": {
17618               "$ref": "#/definitions/Error"
17619             },
17620             "watcher-id": {
17621               "type": "string"
17622             }
17623           },
17624           "additionalProperties": false,
17625           "required": [
17626             "watcher-id"
17627           ]
17628         },
17629         "StringsWatchResults": {
17630           "type": "object",
17631           "properties": {
17632             "results": {
17633               "type": "array",
17634               "items": {
17635                 "$ref": "#/definitions/StringsWatchResult"
17636               }
17637             }
17638           },
17639           "additionalProperties": false,
17640           "required": [
17641             "results"
17642           ]
17643         },
17644         "Tools": {
17645           "type": "object",
17646           "properties": {
17647             "sha256": {
17648               "type": "string"
17649             },
17650             "size": {
17651               "type": "integer"
17652             },
17653             "url": {
17654               "type": "string"
17655             },
17656             "version": {
17657               "$ref": "#/definitions/Binary"
17658             }
17659           },
17660           "additionalProperties": false,
17661           "required": [
17662             "version",
17663             "url",
17664             "size"
17665           ]
17666         },
17667         "ToolsResult": {
17668           "type": "object",
17669           "properties": {
17670             "disable-ssl-hostname-verification": {
17671               "type": "boolean"
17672             },
17673             "error": {
17674               "$ref": "#/definitions/Error"
17675             },
17676             "tools": {
17677               "type": "array",
17678               "items": {
17679                 "$ref": "#/definitions/Tools"
17680               }
17681             }
17682           },
17683           "additionalProperties": false,
17684           "required": [
17685             "tools",
17686             "disable-ssl-hostname-verification"
17687           ]
17688         },
17689         "ToolsResults": {
17690           "type": "object",
17691           "properties": {
17692             "results": {
17693               "type": "array",
17694               "items": {
17695                 "$ref": "#/definitions/ToolsResult"
17696               }
17697             }
17698           },
17699           "additionalProperties": false,
17700           "required": [
17701             "results"
17702           ]
17703         },
17704         "UpdateBehavior": {
17705           "type": "object",
17706           "properties": {
17707             "enable-os-refresh-update": {
17708               "type": "boolean"
17709             },
17710             "enable-os-upgrade": {
17711               "type": "boolean"
17712             }
17713           },
17714           "additionalProperties": false,
17715           "required": [
17716             "enable-os-refresh-update",
17717             "enable-os-upgrade"
17718           ]
17719         },
17720         "Value": {
17721           "type": "object",
17722           "properties": {
17723             "arch": {
17724               "type": "string"
17725             },
17726             "container": {
17727               "type": "string"
17728             },
17729             "cores": {
17730               "type": "integer"
17731             },
17732             "cpu-power": {
17733               "type": "integer"
17734             },
17735             "instance-type": {
17736               "type": "string"
17737             },
17738             "mem": {
17739               "type": "integer"
17740             },
17741             "root-disk": {
17742               "type": "integer"
17743             },
17744             "spaces": {
17745               "type": "array",
17746               "items": {
17747                 "type": "string"
17748               }
17749             },
17750             "tags": {
17751               "type": "array",
17752               "items": {
17753                 "type": "string"
17754               }
17755             },
17756             "virt-type": {
17757               "type": "string"
17758             }
17759           },
17760           "additionalProperties": false
17761         },
17762         "Volume": {
17763           "type": "object",
17764           "properties": {
17765             "info": {
17766               "$ref": "#/definitions/VolumeInfo"
17767             },
17768             "volume-tag": {
17769               "type": "string"
17770             }
17771           },
17772           "additionalProperties": false,
17773           "required": [
17774             "volume-tag",
17775             "info"
17776           ]
17777         },
17778         "VolumeAttachmentInfo": {
17779           "type": "object",
17780           "properties": {
17781             "bus-address": {
17782               "type": "string"
17783             },
17784             "device-link": {
17785               "type": "string"
17786             },
17787             "device-name": {
17788               "type": "string"
17789             },
17790             "read-only": {
17791               "type": "boolean"
17792             }
17793           },
17794           "additionalProperties": false
17795         },
17796         "VolumeAttachmentParams": {
17797           "type": "object",
17798           "properties": {
17799             "instance-id": {
17800               "type": "string"
17801             },
17802             "machine-tag": {
17803               "type": "string"
17804             },
17805             "provider": {
17806               "type": "string"
17807             },
17808             "read-only": {
17809               "type": "boolean"
17810             },
17811             "volume-id": {
17812               "type": "string"
17813             },
17814             "volume-tag": {
17815               "type": "string"
17816             }
17817           },
17818           "additionalProperties": false,
17819           "required": [
17820             "volume-tag",
17821             "machine-tag",
17822             "provider"
17823           ]
17824         },
17825         "VolumeInfo": {
17826           "type": "object",
17827           "properties": {
17828             "hardware-id": {
17829               "type": "string"
17830             },
17831             "persistent": {
17832               "type": "boolean"
17833             },
17834             "pool": {
17835               "type": "string"
17836             },
17837             "size": {
17838               "type": "integer"
17839             },
17840             "volume-id": {
17841               "type": "string"
17842             }
17843           },
17844           "additionalProperties": false,
17845           "required": [
17846             "volume-id",
17847             "size",
17848             "persistent"
17849           ]
17850         },
17851         "VolumeParams": {
17852           "type": "object",
17853           "properties": {
17854             "attachment": {
17855               "$ref": "#/definitions/VolumeAttachmentParams"
17856             },
17857             "attributes": {
17858               "type": "object",
17859               "patternProperties": {
17860                 ".*": {
17861                   "type": "object",
17862                   "additionalProperties": true
17863                 }
17864               }
17865             },
17866             "provider": {
17867               "type": "string"
17868             },
17869             "size": {
17870               "type": "integer"
17871             },
17872             "tags": {
17873               "type": "object",
17874               "patternProperties": {
17875                 ".*": {
17876                   "type": "string"
17877                 }
17878               }
17879             },
17880             "volume-tag": {
17881               "type": "string"
17882             }
17883           },
17884           "additionalProperties": false,
17885           "required": [
17886             "volume-tag",
17887             "size",
17888             "provider"
17889           ]
17890         },
17891         "WatchContainer": {
17892           "type": "object",
17893           "properties": {
17894             "container-type": {
17895               "type": "string"
17896             },
17897             "machine-tag": {
17898               "type": "string"
17899             }
17900           },
17901           "additionalProperties": false,
17902           "required": [
17903             "machine-tag",
17904             "container-type"
17905           ]
17906         },
17907         "WatchContainers": {
17908           "type": "object",
17909           "properties": {
17910             "params": {
17911               "type": "array",
17912               "items": {
17913                 "$ref": "#/definitions/WatchContainer"
17914               }
17915             }
17916           },
17917           "additionalProperties": false,
17918           "required": [
17919             "params"
17920           ]
17921         }
17922       }
17923     }
17924   },
17925   {
17926     "Name": "ProxyUpdater",
17927     "Version": 1,
17928     "Schema": {
17929       "type": "object",
17930       "properties": {
17931         "ProxyConfig": {
17932           "type": "object",
17933           "properties": {
17934             "Params": {
17935               "$ref": "#/definitions/Entities"
17936             },
17937             "Result": {
17938               "$ref": "#/definitions/ProxyConfigResults"
17939             }
17940           }
17941         },
17942         "WatchForProxyConfigAndAPIHostPortChanges": {
17943           "type": "object",
17944           "properties": {
17945             "Params": {
17946               "$ref": "#/definitions/Entities"
17947             },
17948             "Result": {
17949               "$ref": "#/definitions/NotifyWatchResults"
17950             }
17951           }
17952         }
17953       },
17954       "definitions": {
17955         "Entities": {
17956           "type": "object",
17957           "properties": {
17958             "entities": {
17959               "type": "array",
17960               "items": {
17961                 "$ref": "#/definitions/Entity"
17962               }
17963             }
17964           },
17965           "additionalProperties": false,
17966           "required": [
17967             "entities"
17968           ]
17969         },
17970         "Entity": {
17971           "type": "object",
17972           "properties": {
17973             "tag": {
17974               "type": "string"
17975             }
17976           },
17977           "additionalProperties": false,
17978           "required": [
17979             "tag"
17980           ]
17981         },
17982         "Error": {
17983           "type": "object",
17984           "properties": {
17985             "code": {
17986               "type": "string"
17987             },
17988             "info": {
17989               "$ref": "#/definitions/ErrorInfo"
17990             },
17991             "message": {
17992               "type": "string"
17993             }
17994           },
17995           "additionalProperties": false,
17996           "required": [
17997             "message",
17998             "code"
17999           ]
18000         },
18001         "ErrorInfo": {
18002           "type": "object",
18003           "properties": {
18004             "macaroon": {
18005               "$ref": "#/definitions/Macaroon"
18006             },
18007             "macaroon-path": {
18008               "type": "string"
18009             }
18010           },
18011           "additionalProperties": false
18012         },
18013         "Macaroon": {
18014           "type": "object",
18015           "additionalProperties": false
18016         },
18017         "NotifyWatchResult": {
18018           "type": "object",
18019           "properties": {
18020             "NotifyWatcherId": {
18021               "type": "string"
18022             },
18023             "error": {
18024               "$ref": "#/definitions/Error"
18025             }
18026           },
18027           "additionalProperties": false,
18028           "required": [
18029             "NotifyWatcherId"
18030           ]
18031         },
18032         "NotifyWatchResults": {
18033           "type": "object",
18034           "properties": {
18035             "results": {
18036               "type": "array",
18037               "items": {
18038                 "$ref": "#/definitions/NotifyWatchResult"
18039               }
18040             }
18041           },
18042           "additionalProperties": false,
18043           "required": [
18044             "results"
18045           ]
18046         },
18047         "ProxyConfig": {
18048           "type": "object",
18049           "properties": {
18050             "ftp": {
18051               "type": "string"
18052             },
18053             "http": {
18054               "type": "string"
18055             },
18056             "https": {
18057               "type": "string"
18058             },
18059             "no-proxy": {
18060               "type": "string"
18061             }
18062           },
18063           "additionalProperties": false,
18064           "required": [
18065             "http",
18066             "https",
18067             "ftp",
18068             "no-proxy"
18069           ]
18070         },
18071         "ProxyConfigResult": {
18072           "type": "object",
18073           "properties": {
18074             "apt-proxy-settings": {
18075               "$ref": "#/definitions/ProxyConfig"
18076             },
18077             "error": {
18078               "$ref": "#/definitions/Error"
18079             },
18080             "proxy-settings": {
18081               "$ref": "#/definitions/ProxyConfig"
18082             }
18083           },
18084           "additionalProperties": false,
18085           "required": [
18086             "proxy-settings",
18087             "apt-proxy-settings"
18088           ]
18089         },
18090         "ProxyConfigResults": {
18091           "type": "object",
18092           "properties": {
18093             "results": {
18094               "type": "array",
18095               "items": {
18096                 "$ref": "#/definitions/ProxyConfigResult"
18097               }
18098             }
18099           },
18100           "additionalProperties": false,
18101           "required": [
18102             "results"
18103           ]
18104         }
18105       }
18106     }
18107   },
18108   {
18109     "Name": "Reboot",
18110     "Version": 2,
18111     "Schema": {
18112       "type": "object",
18113       "properties": {
18114         "ClearReboot": {
18115           "type": "object",
18116           "properties": {
18117             "Params": {
18118               "$ref": "#/definitions/Entities"
18119             },
18120             "Result": {
18121               "$ref": "#/definitions/ErrorResults"
18122             }
18123           }
18124         },
18125         "GetRebootAction": {
18126           "type": "object",
18127           "properties": {
18128             "Params": {
18129               "$ref": "#/definitions/Entities"
18130             },
18131             "Result": {
18132               "$ref": "#/definitions/RebootActionResults"
18133             }
18134           }
18135         },
18136         "RequestReboot": {
18137           "type": "object",
18138           "properties": {
18139             "Params": {
18140               "$ref": "#/definitions/Entities"
18141             },
18142             "Result": {
18143               "$ref": "#/definitions/ErrorResults"
18144             }
18145           }
18146         },
18147         "WatchForRebootEvent": {
18148           "type": "object",
18149           "properties": {
18150             "Result": {
18151               "$ref": "#/definitions/NotifyWatchResult"
18152             }
18153           }
18154         }
18155       },
18156       "definitions": {
18157         "Entities": {
18158           "type": "object",
18159           "properties": {
18160             "entities": {
18161               "type": "array",
18162               "items": {
18163                 "$ref": "#/definitions/Entity"
18164               }
18165             }
18166           },
18167           "additionalProperties": false,
18168           "required": [
18169             "entities"
18170           ]
18171         },
18172         "Entity": {
18173           "type": "object",
18174           "properties": {
18175             "tag": {
18176               "type": "string"
18177             }
18178           },
18179           "additionalProperties": false,
18180           "required": [
18181             "tag"
18182           ]
18183         },
18184         "Error": {
18185           "type": "object",
18186           "properties": {
18187             "code": {
18188               "type": "string"
18189             },
18190             "info": {
18191               "$ref": "#/definitions/ErrorInfo"
18192             },
18193             "message": {
18194               "type": "string"
18195             }
18196           },
18197           "additionalProperties": false,
18198           "required": [
18199             "message",
18200             "code"
18201           ]
18202         },
18203         "ErrorInfo": {
18204           "type": "object",
18205           "properties": {
18206             "macaroon": {
18207               "$ref": "#/definitions/Macaroon"
18208             },
18209             "macaroon-path": {
18210               "type": "string"
18211             }
18212           },
18213           "additionalProperties": false
18214         },
18215         "ErrorResult": {
18216           "type": "object",
18217           "properties": {
18218             "error": {
18219               "$ref": "#/definitions/Error"
18220             }
18221           },
18222           "additionalProperties": false
18223         },
18224         "ErrorResults": {
18225           "type": "object",
18226           "properties": {
18227             "results": {
18228               "type": "array",
18229               "items": {
18230                 "$ref": "#/definitions/ErrorResult"
18231               }
18232             }
18233           },
18234           "additionalProperties": false,
18235           "required": [
18236             "results"
18237           ]
18238         },
18239         "Macaroon": {
18240           "type": "object",
18241           "additionalProperties": false
18242         },
18243         "NotifyWatchResult": {
18244           "type": "object",
18245           "properties": {
18246             "NotifyWatcherId": {
18247               "type": "string"
18248             },
18249             "error": {
18250               "$ref": "#/definitions/Error"
18251             }
18252           },
18253           "additionalProperties": false,
18254           "required": [
18255             "NotifyWatcherId"
18256           ]
18257         },
18258         "RebootActionResult": {
18259           "type": "object",
18260           "properties": {
18261             "error": {
18262               "$ref": "#/definitions/Error"
18263             },
18264             "result": {
18265               "type": "string"
18266             }
18267           },
18268           "additionalProperties": false
18269         },
18270         "RebootActionResults": {
18271           "type": "object",
18272           "properties": {
18273             "results": {
18274               "type": "array",
18275               "items": {
18276                 "$ref": "#/definitions/RebootActionResult"
18277               }
18278             }
18279           },
18280           "additionalProperties": false
18281         }
18282       }
18283     }
18284   },
18285   {
18286     "Name": "RelationUnitsWatcher",
18287     "Version": 1,
18288     "Schema": {
18289       "type": "object",
18290       "properties": {
18291         "Next": {
18292           "type": "object",
18293           "properties": {
18294             "Result": {
18295               "$ref": "#/definitions/RelationUnitsWatchResult"
18296             }
18297           }
18298         },
18299         "Stop": {
18300           "type": "object"
18301         }
18302       },
18303       "definitions": {
18304         "Error": {
18305           "type": "object",
18306           "properties": {
18307             "code": {
18308               "type": "string"
18309             },
18310             "info": {
18311               "$ref": "#/definitions/ErrorInfo"
18312             },
18313             "message": {
18314               "type": "string"
18315             }
18316           },
18317           "additionalProperties": false,
18318           "required": [
18319             "message",
18320             "code"
18321           ]
18322         },
18323         "ErrorInfo": {
18324           "type": "object",
18325           "properties": {
18326             "macaroon": {
18327               "$ref": "#/definitions/Macaroon"
18328             },
18329             "macaroon-path": {
18330               "type": "string"
18331             }
18332           },
18333           "additionalProperties": false
18334         },
18335         "Macaroon": {
18336           "type": "object",
18337           "additionalProperties": false
18338         },
18339         "RelationUnitsChange": {
18340           "type": "object",
18341           "properties": {
18342             "changed": {
18343               "type": "object",
18344               "patternProperties": {
18345                 ".*": {
18346                   "$ref": "#/definitions/UnitSettings"
18347                 }
18348               }
18349             },
18350             "departed": {
18351               "type": "array",
18352               "items": {
18353                 "type": "string"
18354               }
18355             }
18356           },
18357           "additionalProperties": false,
18358           "required": [
18359             "changed"
18360           ]
18361         },
18362         "RelationUnitsWatchResult": {
18363           "type": "object",
18364           "properties": {
18365             "changes": {
18366               "$ref": "#/definitions/RelationUnitsChange"
18367             },
18368             "error": {
18369               "$ref": "#/definitions/Error"
18370             },
18371             "watcher-id": {
18372               "type": "string"
18373             }
18374           },
18375           "additionalProperties": false,
18376           "required": [
18377             "watcher-id",
18378             "changes"
18379           ]
18380         },
18381         "UnitSettings": {
18382           "type": "object",
18383           "properties": {
18384             "version": {
18385               "type": "integer"
18386             }
18387           },
18388           "additionalProperties": false,
18389           "required": [
18390             "version"
18391           ]
18392         }
18393       }
18394     }
18395   },
18396   {
18397     "Name": "Resources",
18398     "Version": 1,
18399     "Schema": {
18400       "type": "object",
18401       "properties": {
18402         "AddPendingResources": {
18403           "type": "object",
18404           "properties": {
18405             "Params": {
18406               "$ref": "#/definitions/AddPendingResourcesArgs"
18407             },
18408             "Result": {
18409               "$ref": "#/definitions/AddPendingResourcesResult"
18410             }
18411           }
18412         },
18413         "ListResources": {
18414           "type": "object",
18415           "properties": {
18416             "Params": {
18417               "$ref": "#/definitions/ListResourcesArgs"
18418             },
18419             "Result": {
18420               "$ref": "#/definitions/ResourcesResults"
18421             }
18422           }
18423         }
18424       },
18425       "definitions": {
18426         "AddCharmWithAuthorization": {
18427           "type": "object",
18428           "properties": {
18429             "channel": {
18430               "type": "string"
18431             },
18432             "macaroon": {
18433               "$ref": "#/definitions/Macaroon"
18434             },
18435             "url": {
18436               "type": "string"
18437             }
18438           },
18439           "additionalProperties": false,
18440           "required": [
18441             "url",
18442             "channel",
18443             "macaroon"
18444           ]
18445         },
18446         "AddPendingResourcesArgs": {
18447           "type": "object",
18448           "properties": {
18449             "AddCharmWithAuthorization": {
18450               "$ref": "#/definitions/AddCharmWithAuthorization"
18451             },
18452             "Entity": {
18453               "$ref": "#/definitions/Entity"
18454             },
18455             "Resources": {
18456               "type": "array",
18457               "items": {
18458                 "$ref": "#/definitions/CharmResource"
18459               }
18460             }
18461           },
18462           "additionalProperties": false,
18463           "required": [
18464             "Entity",
18465             "AddCharmWithAuthorization",
18466             "Resources"
18467           ]
18468         },
18469         "AddPendingResourcesResult": {
18470           "type": "object",
18471           "properties": {
18472             "ErrorResult": {
18473               "$ref": "#/definitions/ErrorResult"
18474             },
18475             "pending-ids": {
18476               "type": "array",
18477               "items": {
18478                 "type": "string"
18479               }
18480             }
18481           },
18482           "additionalProperties": false,
18483           "required": [
18484             "ErrorResult",
18485             "pending-ids"
18486           ]
18487         },
18488         "CharmResource": {
18489           "type": "object",
18490           "properties": {
18491             "description": {
18492               "type": "string"
18493             },
18494             "fingerprint": {
18495               "type": "array",
18496               "items": {
18497                 "type": "integer"
18498               }
18499             },
18500             "name": {
18501               "type": "string"
18502             },
18503             "origin": {
18504               "type": "string"
18505             },
18506             "path": {
18507               "type": "string"
18508             },
18509             "revision": {
18510               "type": "integer"
18511             },
18512             "size": {
18513               "type": "integer"
18514             },
18515             "type": {
18516               "type": "string"
18517             }
18518           },
18519           "additionalProperties": false,
18520           "required": [
18521             "name",
18522             "type",
18523             "path",
18524             "origin",
18525             "revision",
18526             "fingerprint",
18527             "size"
18528           ]
18529         },
18530         "Entity": {
18531           "type": "object",
18532           "properties": {
18533             "tag": {
18534               "type": "string"
18535             }
18536           },
18537           "additionalProperties": false,
18538           "required": [
18539             "tag"
18540           ]
18541         },
18542         "Error": {
18543           "type": "object",
18544           "properties": {
18545             "code": {
18546               "type": "string"
18547             },
18548             "info": {
18549               "$ref": "#/definitions/ErrorInfo"
18550             },
18551             "message": {
18552               "type": "string"
18553             }
18554           },
18555           "additionalProperties": false,
18556           "required": [
18557             "message",
18558             "code"
18559           ]
18560         },
18561         "ErrorInfo": {
18562           "type": "object",
18563           "properties": {
18564             "macaroon": {
18565               "$ref": "#/definitions/Macaroon"
18566             },
18567             "macaroon-path": {
18568               "type": "string"
18569             }
18570           },
18571           "additionalProperties": false
18572         },
18573         "ErrorResult": {
18574           "type": "object",
18575           "properties": {
18576             "error": {
18577               "$ref": "#/definitions/Error"
18578             }
18579           },
18580           "additionalProperties": false
18581         },
18582         "ListResourcesArgs": {
18583           "type": "object",
18584           "properties": {
18585             "entities": {
18586               "type": "array",
18587               "items": {
18588                 "$ref": "#/definitions/Entity"
18589               }
18590             }
18591           },
18592           "additionalProperties": false,
18593           "required": [
18594             "entities"
18595           ]
18596         },
18597         "Macaroon": {
18598           "type": "object",
18599           "additionalProperties": false
18600         },
18601         "Resource": {
18602           "type": "object",
18603           "properties": {
18604             "CharmResource": {
18605               "$ref": "#/definitions/CharmResource"
18606             },
18607             "application": {
18608               "type": "string"
18609             },
18610             "id": {
18611               "type": "string"
18612             },
18613             "pending-id": {
18614               "type": "string"
18615             },
18616             "timestamp": {
18617               "type": "string",
18618               "format": "date-time"
18619             },
18620             "username": {
18621               "type": "string"
18622             }
18623           },
18624           "additionalProperties": false,
18625           "required": [
18626             "CharmResource",
18627             "id",
18628             "pending-id",
18629             "application",
18630             "username",
18631             "timestamp"
18632           ]
18633         },
18634         "ResourcesResult": {
18635           "type": "object",
18636           "properties": {
18637             "ErrorResult": {
18638               "$ref": "#/definitions/ErrorResult"
18639             },
18640             "charm-store-resources": {
18641               "type": "array",
18642               "items": {
18643                 "$ref": "#/definitions/CharmResource"
18644               }
18645             },
18646             "resources": {
18647               "type": "array",
18648               "items": {
18649                 "$ref": "#/definitions/Resource"
18650               }
18651             },
18652             "unit-resources": {
18653               "type": "array",
18654               "items": {
18655                 "$ref": "#/definitions/UnitResources"
18656               }
18657             }
18658           },
18659           "additionalProperties": false,
18660           "required": [
18661             "ErrorResult",
18662             "resources",
18663             "charm-store-resources",
18664             "unit-resources"
18665           ]
18666         },
18667         "ResourcesResults": {
18668           "type": "object",
18669           "properties": {
18670             "results": {
18671               "type": "array",
18672               "items": {
18673                 "$ref": "#/definitions/ResourcesResult"
18674               }
18675             }
18676           },
18677           "additionalProperties": false,
18678           "required": [
18679             "results"
18680           ]
18681         },
18682         "UnitResources": {
18683           "type": "object",
18684           "properties": {
18685             "Entity": {
18686               "$ref": "#/definitions/Entity"
18687             },
18688             "download-progress": {
18689               "type": "object",
18690               "patternProperties": {
18691                 ".*": {
18692                   "type": "integer"
18693                 }
18694               }
18695             },
18696             "resources": {
18697               "type": "array",
18698               "items": {
18699                 "$ref": "#/definitions/Resource"
18700               }
18701             }
18702           },
18703           "additionalProperties": false,
18704           "required": [
18705             "Entity",
18706             "resources",
18707             "download-progress"
18708           ]
18709         }
18710       }
18711     }
18712   },
18713   {
18714     "Name": "ResourcesHookContext",
18715     "Version": 1,
18716     "Schema": {
18717       "type": "object",
18718       "properties": {
18719         "GetResourceInfo": {
18720           "type": "object",
18721           "properties": {
18722             "Params": {
18723               "$ref": "#/definitions/ListResourcesArgs"
18724             },
18725             "Result": {
18726               "$ref": "#/definitions/ResourcesResult"
18727             }
18728           }
18729         }
18730       },
18731       "definitions": {
18732         "CharmResource": {
18733           "type": "object",
18734           "properties": {
18735             "description": {
18736               "type": "string"
18737             },
18738             "fingerprint": {
18739               "type": "array",
18740               "items": {
18741                 "type": "integer"
18742               }
18743             },
18744             "name": {
18745               "type": "string"
18746             },
18747             "origin": {
18748               "type": "string"
18749             },
18750             "path": {
18751               "type": "string"
18752             },
18753             "revision": {
18754               "type": "integer"
18755             },
18756             "size": {
18757               "type": "integer"
18758             },
18759             "type": {
18760               "type": "string"
18761             }
18762           },
18763           "additionalProperties": false,
18764           "required": [
18765             "name",
18766             "type",
18767             "path",
18768             "origin",
18769             "revision",
18770             "fingerprint",
18771             "size"
18772           ]
18773         },
18774         "Error": {
18775           "type": "object",
18776           "properties": {
18777             "code": {
18778               "type": "string"
18779             },
18780             "info": {
18781               "$ref": "#/definitions/ErrorInfo"
18782             },
18783             "message": {
18784               "type": "string"
18785             }
18786           },
18787           "additionalProperties": false,
18788           "required": [
18789             "message",
18790             "code"
18791           ]
18792         },
18793         "ErrorInfo": {
18794           "type": "object",
18795           "properties": {
18796             "macaroon": {
18797               "$ref": "#/definitions/Macaroon"
18798             },
18799             "macaroon-path": {
18800               "type": "string"
18801             }
18802           },
18803           "additionalProperties": false
18804         },
18805         "ErrorResult": {
18806           "type": "object",
18807           "properties": {
18808             "error": {
18809               "$ref": "#/definitions/Error"
18810             }
18811           },
18812           "additionalProperties": false
18813         },
18814         "ListResourcesArgs": {
18815           "type": "object",
18816           "properties": {
18817             "resource-names": {
18818               "type": "array",
18819               "items": {
18820                 "type": "string"
18821               }
18822             }
18823           },
18824           "additionalProperties": false,
18825           "required": [
18826             "resource-names"
18827           ]
18828         },
18829         "Macaroon": {
18830           "type": "object",
18831           "additionalProperties": false
18832         },
18833         "Resource": {
18834           "type": "object",
18835           "properties": {
18836             "CharmResource": {
18837               "$ref": "#/definitions/CharmResource"
18838             },
18839             "application": {
18840               "type": "string"
18841             },
18842             "id": {
18843               "type": "string"
18844             },
18845             "pending-id": {
18846               "type": "string"
18847             },
18848             "timestamp": {
18849               "type": "string",
18850               "format": "date-time"
18851             },
18852             "username": {
18853               "type": "string"
18854             }
18855           },
18856           "additionalProperties": false,
18857           "required": [
18858             "CharmResource",
18859             "id",
18860             "pending-id",
18861             "application",
18862             "username",
18863             "timestamp"
18864           ]
18865         },
18866         "ResourceResult": {
18867           "type": "object",
18868           "properties": {
18869             "ErrorResult": {
18870               "$ref": "#/definitions/ErrorResult"
18871             },
18872             "resource": {
18873               "$ref": "#/definitions/Resource"
18874             }
18875           },
18876           "additionalProperties": false,
18877           "required": [
18878             "ErrorResult",
18879             "resource"
18880           ]
18881         },
18882         "ResourcesResult": {
18883           "type": "object",
18884           "properties": {
18885             "ErrorResult": {
18886               "$ref": "#/definitions/ErrorResult"
18887             },
18888             "resources": {
18889               "type": "array",
18890               "items": {
18891                 "$ref": "#/definitions/ResourceResult"
18892               }
18893             }
18894           },
18895           "additionalProperties": false,
18896           "required": [
18897             "ErrorResult",
18898             "resources"
18899           ]
18900         }
18901       }
18902     }
18903   },
18904   {
18905     "Name": "Resumer",
18906     "Version": 2,
18907     "Schema": {
18908       "type": "object",
18909       "properties": {
18910         "ResumeTransactions": {
18911           "type": "object"
18912         }
18913       }
18914     }
18915   },
18916   {
18917     "Name": "RetryStrategy",
18918     "Version": 1,
18919     "Schema": {
18920       "type": "object",
18921       "properties": {
18922         "RetryStrategy": {
18923           "type": "object",
18924           "properties": {
18925             "Params": {
18926               "$ref": "#/definitions/Entities"
18927             },
18928             "Result": {
18929               "$ref": "#/definitions/RetryStrategyResults"
18930             }
18931           }
18932         },
18933         "WatchRetryStrategy": {
18934           "type": "object",
18935           "properties": {
18936             "Params": {
18937               "$ref": "#/definitions/Entities"
18938             },
18939             "Result": {
18940               "$ref": "#/definitions/NotifyWatchResults"
18941             }
18942           }
18943         }
18944       },
18945       "definitions": {
18946         "Entities": {
18947           "type": "object",
18948           "properties": {
18949             "entities": {
18950               "type": "array",
18951               "items": {
18952                 "$ref": "#/definitions/Entity"
18953               }
18954             }
18955           },
18956           "additionalProperties": false,
18957           "required": [
18958             "entities"
18959           ]
18960         },
18961         "Entity": {
18962           "type": "object",
18963           "properties": {
18964             "tag": {
18965               "type": "string"
18966             }
18967           },
18968           "additionalProperties": false,
18969           "required": [
18970             "tag"
18971           ]
18972         },
18973         "Error": {
18974           "type": "object",
18975           "properties": {
18976             "code": {
18977               "type": "string"
18978             },
18979             "info": {
18980               "$ref": "#/definitions/ErrorInfo"
18981             },
18982             "message": {
18983               "type": "string"
18984             }
18985           },
18986           "additionalProperties": false,
18987           "required": [
18988             "message",
18989             "code"
18990           ]
18991         },
18992         "ErrorInfo": {
18993           "type": "object",
18994           "properties": {
18995             "macaroon": {
18996               "$ref": "#/definitions/Macaroon"
18997             },
18998             "macaroon-path": {
18999               "type": "string"
19000             }
19001           },
19002           "additionalProperties": false
19003         },
19004         "Macaroon": {
19005           "type": "object",
19006           "additionalProperties": false
19007         },
19008         "NotifyWatchResult": {
19009           "type": "object",
19010           "properties": {
19011             "NotifyWatcherId": {
19012               "type": "string"
19013             },
19014             "error": {
19015               "$ref": "#/definitions/Error"
19016             }
19017           },
19018           "additionalProperties": false,
19019           "required": [
19020             "NotifyWatcherId"
19021           ]
19022         },
19023         "NotifyWatchResults": {
19024           "type": "object",
19025           "properties": {
19026             "results": {
19027               "type": "array",
19028               "items": {
19029                 "$ref": "#/definitions/NotifyWatchResult"
19030               }
19031             }
19032           },
19033           "additionalProperties": false,
19034           "required": [
19035             "results"
19036           ]
19037         },
19038         "RetryStrategy": {
19039           "type": "object",
19040           "properties": {
19041             "jitter-retry-time": {
19042               "type": "boolean"
19043             },
19044             "max-retry-time": {
19045               "type": "integer"
19046             },
19047             "min-retry-time": {
19048               "type": "integer"
19049             },
19050             "retry-time-factor": {
19051               "type": "integer"
19052             },
19053             "should-retry": {
19054               "type": "boolean"
19055             }
19056           },
19057           "additionalProperties": false,
19058           "required": [
19059             "should-retry",
19060             "min-retry-time",
19061             "max-retry-time",
19062             "jitter-retry-time",
19063             "retry-time-factor"
19064           ]
19065         },
19066         "RetryStrategyResult": {
19067           "type": "object",
19068           "properties": {
19069             "error": {
19070               "$ref": "#/definitions/Error"
19071             },
19072             "result": {
19073               "$ref": "#/definitions/RetryStrategy"
19074             }
19075           },
19076           "additionalProperties": false
19077         },
19078         "RetryStrategyResults": {
19079           "type": "object",
19080           "properties": {
19081             "results": {
19082               "type": "array",
19083               "items": {
19084                 "$ref": "#/definitions/RetryStrategyResult"
19085               }
19086             }
19087           },
19088           "additionalProperties": false,
19089           "required": [
19090             "results"
19091           ]
19092         }
19093       }
19094     }
19095   },
19096   {
19097     "Name": "SSHClient",
19098     "Version": 2,
19099     "Schema": {
19100       "type": "object",
19101       "properties": {
19102         "AllAddresses": {
19103           "type": "object",
19104           "properties": {
19105             "Params": {
19106               "$ref": "#/definitions/Entities"
19107             },
19108             "Result": {
19109               "$ref": "#/definitions/SSHAddressesResults"
19110             }
19111           }
19112         },
19113         "PrivateAddress": {
19114           "type": "object",
19115           "properties": {
19116             "Params": {
19117               "$ref": "#/definitions/Entities"
19118             },
19119             "Result": {
19120               "$ref": "#/definitions/SSHAddressResults"
19121             }
19122           }
19123         },
19124         "Proxy": {
19125           "type": "object",
19126           "properties": {
19127             "Result": {
19128               "$ref": "#/definitions/SSHProxyResult"
19129             }
19130           }
19131         },
19132         "PublicAddress": {
19133           "type": "object",
19134           "properties": {
19135             "Params": {
19136               "$ref": "#/definitions/Entities"
19137             },
19138             "Result": {
19139               "$ref": "#/definitions/SSHAddressResults"
19140             }
19141           }
19142         },
19143         "PublicKeys": {
19144           "type": "object",
19145           "properties": {
19146             "Params": {
19147               "$ref": "#/definitions/Entities"
19148             },
19149             "Result": {
19150               "$ref": "#/definitions/SSHPublicKeysResults"
19151             }
19152           }
19153         }
19154       },
19155       "definitions": {
19156         "Entities": {
19157           "type": "object",
19158           "properties": {
19159             "entities": {
19160               "type": "array",
19161               "items": {
19162                 "$ref": "#/definitions/Entity"
19163               }
19164             }
19165           },
19166           "additionalProperties": false,
19167           "required": [
19168             "entities"
19169           ]
19170         },
19171         "Entity": {
19172           "type": "object",
19173           "properties": {
19174             "tag": {
19175               "type": "string"
19176             }
19177           },
19178           "additionalProperties": false,
19179           "required": [
19180             "tag"
19181           ]
19182         },
19183         "Error": {
19184           "type": "object",
19185           "properties": {
19186             "code": {
19187               "type": "string"
19188             },
19189             "info": {
19190               "$ref": "#/definitions/ErrorInfo"
19191             },
19192             "message": {
19193               "type": "string"
19194             }
19195           },
19196           "additionalProperties": false,
19197           "required": [
19198             "message",
19199             "code"
19200           ]
19201         },
19202         "ErrorInfo": {
19203           "type": "object",
19204           "properties": {
19205             "macaroon": {
19206               "$ref": "#/definitions/Macaroon"
19207             },
19208             "macaroon-path": {
19209               "type": "string"
19210             }
19211           },
19212           "additionalProperties": false
19213         },
19214         "Macaroon": {
19215           "type": "object",
19216           "additionalProperties": false
19217         },
19218         "SSHAddressResult": {
19219           "type": "object",
19220           "properties": {
19221             "address": {
19222               "type": "string"
19223             },
19224             "error": {
19225               "$ref": "#/definitions/Error"
19226             }
19227           },
19228           "additionalProperties": false
19229         },
19230         "SSHAddressResults": {
19231           "type": "object",
19232           "properties": {
19233             "results": {
19234               "type": "array",
19235               "items": {
19236                 "$ref": "#/definitions/SSHAddressResult"
19237               }
19238             }
19239           },
19240           "additionalProperties": false,
19241           "required": [
19242             "results"
19243           ]
19244         },
19245         "SSHAddressesResult": {
19246           "type": "object",
19247           "properties": {
19248             "addresses": {
19249               "type": "array",
19250               "items": {
19251                 "type": "string"
19252               }
19253             },
19254             "error": {
19255               "$ref": "#/definitions/Error"
19256             }
19257           },
19258           "additionalProperties": false,
19259           "required": [
19260             "addresses"
19261           ]
19262         },
19263         "SSHAddressesResults": {
19264           "type": "object",
19265           "properties": {
19266             "results": {
19267               "type": "array",
19268               "items": {
19269                 "$ref": "#/definitions/SSHAddressesResult"
19270               }
19271             }
19272           },
19273           "additionalProperties": false,
19274           "required": [
19275             "results"
19276           ]
19277         },
19278         "SSHProxyResult": {
19279           "type": "object",
19280           "properties": {
19281             "use-proxy": {
19282               "type": "boolean"
19283             }
19284           },
19285           "additionalProperties": false,
19286           "required": [
19287             "use-proxy"
19288           ]
19289         },
19290         "SSHPublicKeysResult": {
19291           "type": "object",
19292           "properties": {
19293             "error": {
19294               "$ref": "#/definitions/Error"
19295             },
19296             "public-keys": {
19297               "type": "array",
19298               "items": {
19299                 "type": "string"
19300               }
19301             }
19302           },
19303           "additionalProperties": false
19304         },
19305         "SSHPublicKeysResults": {
19306           "type": "object",
19307           "properties": {
19308             "results": {
19309               "type": "array",
19310               "items": {
19311                 "$ref": "#/definitions/SSHPublicKeysResult"
19312               }
19313             }
19314           },
19315           "additionalProperties": false,
19316           "required": [
19317             "results"
19318           ]
19319         }
19320       }
19321     }
19322   },
19323   {
19324     "Name": "Singular",
19325     "Version": 1,
19326     "Schema": {
19327       "type": "object",
19328       "properties": {
19329         "Claim": {
19330           "type": "object",
19331           "properties": {
19332             "Params": {
19333               "$ref": "#/definitions/SingularClaims"
19334             },
19335             "Result": {
19336               "$ref": "#/definitions/ErrorResults"
19337             }
19338           }
19339         },
19340         "Wait": {
19341           "type": "object",
19342           "properties": {
19343             "Params": {
19344               "$ref": "#/definitions/Entities"
19345             },
19346             "Result": {
19347               "$ref": "#/definitions/ErrorResults"
19348             }
19349           }
19350         }
19351       },
19352       "definitions": {
19353         "Entities": {
19354           "type": "object",
19355           "properties": {
19356             "entities": {
19357               "type": "array",
19358               "items": {
19359                 "$ref": "#/definitions/Entity"
19360               }
19361             }
19362           },
19363           "additionalProperties": false,
19364           "required": [
19365             "entities"
19366           ]
19367         },
19368         "Entity": {
19369           "type": "object",
19370           "properties": {
19371             "tag": {
19372               "type": "string"
19373             }
19374           },
19375           "additionalProperties": false,
19376           "required": [
19377             "tag"
19378           ]
19379         },
19380         "Error": {
19381           "type": "object",
19382           "properties": {
19383             "code": {
19384               "type": "string"
19385             },
19386             "info": {
19387               "$ref": "#/definitions/ErrorInfo"
19388             },
19389             "message": {
19390               "type": "string"
19391             }
19392           },
19393           "additionalProperties": false,
19394           "required": [
19395             "message",
19396             "code"
19397           ]
19398         },
19399         "ErrorInfo": {
19400           "type": "object",
19401           "properties": {
19402             "macaroon": {
19403               "$ref": "#/definitions/Macaroon"
19404             },
19405             "macaroon-path": {
19406               "type": "string"
19407             }
19408           },
19409           "additionalProperties": false
19410         },
19411         "ErrorResult": {
19412           "type": "object",
19413           "properties": {
19414             "error": {
19415               "$ref": "#/definitions/Error"
19416             }
19417           },
19418           "additionalProperties": false
19419         },
19420         "ErrorResults": {
19421           "type": "object",
19422           "properties": {
19423             "results": {
19424               "type": "array",
19425               "items": {
19426                 "$ref": "#/definitions/ErrorResult"
19427               }
19428             }
19429           },
19430           "additionalProperties": false,
19431           "required": [
19432             "results"
19433           ]
19434         },
19435         "Macaroon": {
19436           "type": "object",
19437           "additionalProperties": false
19438         },
19439         "SingularClaim": {
19440           "type": "object",
19441           "properties": {
19442             "controller-tag": {
19443               "type": "string"
19444             },
19445             "duration": {
19446               "type": "integer"
19447             },
19448             "model-tag": {
19449               "type": "string"
19450             }
19451           },
19452           "additionalProperties": false,
19453           "required": [
19454             "model-tag",
19455             "controller-tag",
19456             "duration"
19457           ]
19458         },
19459         "SingularClaims": {
19460           "type": "object",
19461           "properties": {
19462             "claims": {
19463               "type": "array",
19464               "items": {
19465                 "$ref": "#/definitions/SingularClaim"
19466               }
19467             }
19468           },
19469           "additionalProperties": false,
19470           "required": [
19471             "claims"
19472           ]
19473         }
19474       }
19475     }
19476   },
19477   {
19478     "Name": "Spaces",
19479     "Version": 2,
19480     "Schema": {
19481       "type": "object",
19482       "properties": {
19483         "CreateSpaces": {
19484           "type": "object",
19485           "properties": {
19486             "Params": {
19487               "$ref": "#/definitions/CreateSpacesParams"
19488             },
19489             "Result": {
19490               "$ref": "#/definitions/ErrorResults"
19491             }
19492           }
19493         },
19494         "ListSpaces": {
19495           "type": "object",
19496           "properties": {
19497             "Result": {
19498               "$ref": "#/definitions/ListSpacesResults"
19499             }
19500           }
19501         }
19502       },
19503       "definitions": {
19504         "CreateSpaceParams": {
19505           "type": "object",
19506           "properties": {
19507             "provider-id": {
19508               "type": "string"
19509             },
19510             "public": {
19511               "type": "boolean"
19512             },
19513             "space-tag": {
19514               "type": "string"
19515             },
19516             "subnet-tags": {
19517               "type": "array",
19518               "items": {
19519                 "type": "string"
19520               }
19521             }
19522           },
19523           "additionalProperties": false,
19524           "required": [
19525             "subnet-tags",
19526             "space-tag",
19527             "public"
19528           ]
19529         },
19530         "CreateSpacesParams": {
19531           "type": "object",
19532           "properties": {
19533             "spaces": {
19534               "type": "array",
19535               "items": {
19536                 "$ref": "#/definitions/CreateSpaceParams"
19537               }
19538             }
19539           },
19540           "additionalProperties": false,
19541           "required": [
19542             "spaces"
19543           ]
19544         },
19545         "Error": {
19546           "type": "object",
19547           "properties": {
19548             "code": {
19549               "type": "string"
19550             },
19551             "info": {
19552               "$ref": "#/definitions/ErrorInfo"
19553             },
19554             "message": {
19555               "type": "string"
19556             }
19557           },
19558           "additionalProperties": false,
19559           "required": [
19560             "message",
19561             "code"
19562           ]
19563         },
19564         "ErrorInfo": {
19565           "type": "object",
19566           "properties": {
19567             "macaroon": {
19568               "$ref": "#/definitions/Macaroon"
19569             },
19570             "macaroon-path": {
19571               "type": "string"
19572             }
19573           },
19574           "additionalProperties": false
19575         },
19576         "ErrorResult": {
19577           "type": "object",
19578           "properties": {
19579             "error": {
19580               "$ref": "#/definitions/Error"
19581             }
19582           },
19583           "additionalProperties": false
19584         },
19585         "ErrorResults": {
19586           "type": "object",
19587           "properties": {
19588             "results": {
19589               "type": "array",
19590               "items": {
19591                 "$ref": "#/definitions/ErrorResult"
19592               }
19593             }
19594           },
19595           "additionalProperties": false,
19596           "required": [
19597             "results"
19598           ]
19599         },
19600         "ListSpacesResults": {
19601           "type": "object",
19602           "properties": {
19603             "results": {
19604               "type": "array",
19605               "items": {
19606                 "$ref": "#/definitions/Space"
19607               }
19608             }
19609           },
19610           "additionalProperties": false,
19611           "required": [
19612             "results"
19613           ]
19614         },
19615         "Macaroon": {
19616           "type": "object",
19617           "additionalProperties": false
19618         },
19619         "Space": {
19620           "type": "object",
19621           "properties": {
19622             "error": {
19623               "$ref": "#/definitions/Error"
19624             },
19625             "name": {
19626               "type": "string"
19627             },
19628             "subnets": {
19629               "type": "array",
19630               "items": {
19631                 "$ref": "#/definitions/Subnet"
19632               }
19633             }
19634           },
19635           "additionalProperties": false,
19636           "required": [
19637             "name",
19638             "subnets"
19639           ]
19640         },
19641         "Subnet": {
19642           "type": "object",
19643           "properties": {
19644             "cidr": {
19645               "type": "string"
19646             },
19647             "life": {
19648               "type": "string"
19649             },
19650             "provider-id": {
19651               "type": "string"
19652             },
19653             "space-tag": {
19654               "type": "string"
19655             },
19656             "status": {
19657               "type": "string"
19658             },
19659             "vlan-tag": {
19660               "type": "integer"
19661             },
19662             "zones": {
19663               "type": "array",
19664               "items": {
19665                 "type": "string"
19666               }
19667             }
19668           },
19669           "additionalProperties": false,
19670           "required": [
19671             "cidr",
19672             "vlan-tag",
19673             "life",
19674             "space-tag",
19675             "zones"
19676           ]
19677         }
19678       }
19679     }
19680   },
19681   {
19682     "Name": "StatusHistory",
19683     "Version": 2,
19684     "Schema": {
19685       "type": "object",
19686       "properties": {
19687         "Prune": {
19688           "type": "object",
19689           "properties": {
19690             "Params": {
19691               "$ref": "#/definitions/StatusHistoryPruneArgs"
19692             }
19693           }
19694         }
19695       },
19696       "definitions": {
19697         "StatusHistoryPruneArgs": {
19698           "type": "object",
19699           "properties": {
19700             "max-history-mb": {
19701               "type": "integer"
19702             },
19703             "max-history-time": {
19704               "type": "integer"
19705             }
19706           },
19707           "additionalProperties": false,
19708           "required": [
19709             "max-history-time",
19710             "max-history-mb"
19711           ]
19712         }
19713       }
19714     }
19715   },
19716   {
19717     "Name": "Storage",
19718     "Version": 3,
19719     "Schema": {
19720       "type": "object",
19721       "properties": {
19722         "AddToUnit": {
19723           "type": "object",
19724           "properties": {
19725             "Params": {
19726               "$ref": "#/definitions/StoragesAddParams"
19727             },
19728             "Result": {
19729               "$ref": "#/definitions/ErrorResults"
19730             }
19731           }
19732         },
19733         "Attach": {
19734           "type": "object",
19735           "properties": {
19736             "Params": {
19737               "$ref": "#/definitions/StorageAttachmentIds"
19738             },
19739             "Result": {
19740               "$ref": "#/definitions/ErrorResults"
19741             }
19742           }
19743         },
19744         "CreatePool": {
19745           "type": "object",
19746           "properties": {
19747             "Params": {
19748               "$ref": "#/definitions/StoragePool"
19749             }
19750           }
19751         },
19752         "Destroy": {
19753           "type": "object",
19754           "properties": {
19755             "Params": {
19756               "$ref": "#/definitions/Entities"
19757             },
19758             "Result": {
19759               "$ref": "#/definitions/ErrorResults"
19760             }
19761           }
19762         },
19763         "Detach": {
19764           "type": "object",
19765           "properties": {
19766             "Params": {
19767               "$ref": "#/definitions/StorageAttachmentIds"
19768             },
19769             "Result": {
19770               "$ref": "#/definitions/ErrorResults"
19771             }
19772           }
19773         },
19774         "ListFilesystems": {
19775           "type": "object",
19776           "properties": {
19777             "Params": {
19778               "$ref": "#/definitions/FilesystemFilters"
19779             },
19780             "Result": {
19781               "$ref": "#/definitions/FilesystemDetailsListResults"
19782             }
19783           }
19784         },
19785         "ListPools": {
19786           "type": "object",
19787           "properties": {
19788             "Params": {
19789               "$ref": "#/definitions/StoragePoolFilters"
19790             },
19791             "Result": {
19792               "$ref": "#/definitions/StoragePoolsResults"
19793             }
19794           }
19795         },
19796         "ListStorageDetails": {
19797           "type": "object",
19798           "properties": {
19799             "Params": {
19800               "$ref": "#/definitions/StorageFilters"
19801             },
19802             "Result": {
19803               "$ref": "#/definitions/StorageDetailsListResults"
19804             }
19805           }
19806         },
19807         "ListVolumes": {
19808           "type": "object",
19809           "properties": {
19810             "Params": {
19811               "$ref": "#/definitions/VolumeFilters"
19812             },
19813             "Result": {
19814               "$ref": "#/definitions/VolumeDetailsListResults"
19815             }
19816           }
19817         },
19818         "StorageDetails": {
19819           "type": "object",
19820           "properties": {
19821             "Params": {
19822               "$ref": "#/definitions/Entities"
19823             },
19824             "Result": {
19825               "$ref": "#/definitions/StorageDetailsResults"
19826             }
19827           }
19828         }
19829       },
19830       "definitions": {
19831         "Entities": {
19832           "type": "object",
19833           "properties": {
19834             "entities": {
19835               "type": "array",
19836               "items": {
19837                 "$ref": "#/definitions/Entity"
19838               }
19839             }
19840           },
19841           "additionalProperties": false,
19842           "required": [
19843             "entities"
19844           ]
19845         },
19846         "Entity": {
19847           "type": "object",
19848           "properties": {
19849             "tag": {
19850               "type": "string"
19851             }
19852           },
19853           "additionalProperties": false,
19854           "required": [
19855             "tag"
19856           ]
19857         },
19858         "EntityStatus": {
19859           "type": "object",
19860           "properties": {
19861             "data": {
19862               "type": "object",
19863               "patternProperties": {
19864                 ".*": {
19865                   "type": "object",
19866                   "additionalProperties": true
19867                 }
19868               }
19869             },
19870             "info": {
19871               "type": "string"
19872             },
19873             "since": {
19874               "type": "string",
19875               "format": "date-time"
19876             },
19877             "status": {
19878               "type": "string"
19879             }
19880           },
19881           "additionalProperties": false,
19882           "required": [
19883             "status",
19884             "info",
19885             "since"
19886           ]
19887         },
19888         "Error": {
19889           "type": "object",
19890           "properties": {
19891             "code": {
19892               "type": "string"
19893             },
19894             "info": {
19895               "$ref": "#/definitions/ErrorInfo"
19896             },
19897             "message": {
19898               "type": "string"
19899             }
19900           },
19901           "additionalProperties": false,
19902           "required": [
19903             "message",
19904             "code"
19905           ]
19906         },
19907         "ErrorInfo": {
19908           "type": "object",
19909           "properties": {
19910             "macaroon": {
19911               "$ref": "#/definitions/Macaroon"
19912             },
19913             "macaroon-path": {
19914               "type": "string"
19915             }
19916           },
19917           "additionalProperties": false
19918         },
19919         "ErrorResult": {
19920           "type": "object",
19921           "properties": {
19922             "error": {
19923               "$ref": "#/definitions/Error"
19924             }
19925           },
19926           "additionalProperties": false
19927         },
19928         "ErrorResults": {
19929           "type": "object",
19930           "properties": {
19931             "results": {
19932               "type": "array",
19933               "items": {
19934                 "$ref": "#/definitions/ErrorResult"
19935               }
19936             }
19937           },
19938           "additionalProperties": false,
19939           "required": [
19940             "results"
19941           ]
19942         },
19943         "FilesystemAttachmentDetails": {
19944           "type": "object",
19945           "properties": {
19946             "FilesystemAttachmentInfo": {
19947               "$ref": "#/definitions/FilesystemAttachmentInfo"
19948             },
19949             "life": {
19950               "type": "string"
19951             }
19952           },
19953           "additionalProperties": false,
19954           "required": [
19955             "FilesystemAttachmentInfo"
19956           ]
19957         },
19958         "FilesystemAttachmentInfo": {
19959           "type": "object",
19960           "properties": {
19961             "mount-point": {
19962               "type": "string"
19963             },
19964             "read-only": {
19965               "type": "boolean"
19966             }
19967           },
19968           "additionalProperties": false
19969         },
19970         "FilesystemDetails": {
19971           "type": "object",
19972           "properties": {
19973             "filesystem-tag": {
19974               "type": "string"
19975             },
19976             "info": {
19977               "$ref": "#/definitions/FilesystemInfo"
19978             },
19979             "life": {
19980               "type": "string"
19981             },
19982             "machine-attachments": {
19983               "type": "object",
19984               "patternProperties": {
19985                 ".*": {
19986                   "$ref": "#/definitions/FilesystemAttachmentDetails"
19987                 }
19988               }
19989             },
19990             "status": {
19991               "$ref": "#/definitions/EntityStatus"
19992             },
19993             "storage": {
19994               "$ref": "#/definitions/StorageDetails"
19995             },
19996             "volume-tag": {
19997               "type": "string"
19998             }
19999           },
20000           "additionalProperties": false,
20001           "required": [
20002             "filesystem-tag",
20003             "info",
20004             "status"
20005           ]
20006         },
20007         "FilesystemDetailsListResult": {
20008           "type": "object",
20009           "properties": {
20010             "error": {
20011               "$ref": "#/definitions/Error"
20012             },
20013             "result": {
20014               "type": "array",
20015               "items": {
20016                 "$ref": "#/definitions/FilesystemDetails"
20017               }
20018             }
20019           },
20020           "additionalProperties": false
20021         },
20022         "FilesystemDetailsListResults": {
20023           "type": "object",
20024           "properties": {
20025             "results": {
20026               "type": "array",
20027               "items": {
20028                 "$ref": "#/definitions/FilesystemDetailsListResult"
20029               }
20030             }
20031           },
20032           "additionalProperties": false
20033         },
20034         "FilesystemFilter": {
20035           "type": "object",
20036           "properties": {
20037             "machines": {
20038               "type": "array",
20039               "items": {
20040                 "type": "string"
20041               }
20042             }
20043           },
20044           "additionalProperties": false
20045         },
20046         "FilesystemFilters": {
20047           "type": "object",
20048           "properties": {
20049             "filters": {
20050               "type": "array",
20051               "items": {
20052                 "$ref": "#/definitions/FilesystemFilter"
20053               }
20054             }
20055           },
20056           "additionalProperties": false
20057         },
20058         "FilesystemInfo": {
20059           "type": "object",
20060           "properties": {
20061             "filesystem-id": {
20062               "type": "string"
20063             },
20064             "pool": {
20065               "type": "string"
20066             },
20067             "size": {
20068               "type": "integer"
20069             }
20070           },
20071           "additionalProperties": false,
20072           "required": [
20073             "filesystem-id",
20074             "pool",
20075             "size"
20076           ]
20077         },
20078         "Macaroon": {
20079           "type": "object",
20080           "additionalProperties": false
20081         },
20082         "StorageAddParams": {
20083           "type": "object",
20084           "properties": {
20085             "name": {
20086               "type": "string"
20087             },
20088             "storage": {
20089               "$ref": "#/definitions/StorageConstraints"
20090             },
20091             "unit": {
20092               "type": "string"
20093             }
20094           },
20095           "additionalProperties": false,
20096           "required": [
20097             "unit",
20098             "name",
20099             "storage"
20100           ]
20101         },
20102         "StorageAttachmentDetails": {
20103           "type": "object",
20104           "properties": {
20105             "life": {
20106               "type": "string"
20107             },
20108             "location": {
20109               "type": "string"
20110             },
20111             "machine-tag": {
20112               "type": "string"
20113             },
20114             "storage-tag": {
20115               "type": "string"
20116             },
20117             "unit-tag": {
20118               "type": "string"
20119             }
20120           },
20121           "additionalProperties": false,
20122           "required": [
20123             "storage-tag",
20124             "unit-tag",
20125             "machine-tag"
20126           ]
20127         },
20128         "StorageAttachmentId": {
20129           "type": "object",
20130           "properties": {
20131             "storage-tag": {
20132               "type": "string"
20133             },
20134             "unit-tag": {
20135               "type": "string"
20136             }
20137           },
20138           "additionalProperties": false,
20139           "required": [
20140             "storage-tag",
20141             "unit-tag"
20142           ]
20143         },
20144         "StorageAttachmentIds": {
20145           "type": "object",
20146           "properties": {
20147             "ids": {
20148               "type": "array",
20149               "items": {
20150                 "$ref": "#/definitions/StorageAttachmentId"
20151               }
20152             }
20153           },
20154           "additionalProperties": false,
20155           "required": [
20156             "ids"
20157           ]
20158         },
20159         "StorageConstraints": {
20160           "type": "object",
20161           "properties": {
20162             "count": {
20163               "type": "integer"
20164             },
20165             "pool": {
20166               "type": "string"
20167             },
20168             "size": {
20169               "type": "integer"
20170             }
20171           },
20172           "additionalProperties": false
20173         },
20174         "StorageDetails": {
20175           "type": "object",
20176           "properties": {
20177             "attachments": {
20178               "type": "object",
20179               "patternProperties": {
20180                 ".*": {
20181                   "$ref": "#/definitions/StorageAttachmentDetails"
20182                 }
20183               }
20184             },
20185             "kind": {
20186               "type": "integer"
20187             },
20188             "life": {
20189               "type": "string"
20190             },
20191             "owner-tag": {
20192               "type": "string"
20193             },
20194             "persistent": {
20195               "type": "boolean"
20196             },
20197             "status": {
20198               "$ref": "#/definitions/EntityStatus"
20199             },
20200             "storage-tag": {
20201               "type": "string"
20202             }
20203           },
20204           "additionalProperties": false,
20205           "required": [
20206             "storage-tag",
20207             "owner-tag",
20208             "kind",
20209             "status",
20210             "persistent"
20211           ]
20212         },
20213         "StorageDetailsListResult": {
20214           "type": "object",
20215           "properties": {
20216             "error": {
20217               "$ref": "#/definitions/Error"
20218             },
20219             "result": {
20220               "type": "array",
20221               "items": {
20222                 "$ref": "#/definitions/StorageDetails"
20223               }
20224             }
20225           },
20226           "additionalProperties": false
20227         },
20228         "StorageDetailsListResults": {
20229           "type": "object",
20230           "properties": {
20231             "results": {
20232               "type": "array",
20233               "items": {
20234                 "$ref": "#/definitions/StorageDetailsListResult"
20235               }
20236             }
20237           },
20238           "additionalProperties": false
20239         },
20240         "StorageDetailsResult": {
20241           "type": "object",
20242           "properties": {
20243             "error": {
20244               "$ref": "#/definitions/Error"
20245             },
20246             "result": {
20247               "$ref": "#/definitions/StorageDetails"
20248             }
20249           },
20250           "additionalProperties": false
20251         },
20252         "StorageDetailsResults": {
20253           "type": "object",
20254           "properties": {
20255             "results": {
20256               "type": "array",
20257               "items": {
20258                 "$ref": "#/definitions/StorageDetailsResult"
20259               }
20260             }
20261           },
20262           "additionalProperties": false
20263         },
20264         "StorageFilter": {
20265           "type": "object",
20266           "additionalProperties": false
20267         },
20268         "StorageFilters": {
20269           "type": "object",
20270           "properties": {
20271             "filters": {
20272               "type": "array",
20273               "items": {
20274                 "$ref": "#/definitions/StorageFilter"
20275               }
20276             }
20277           },
20278           "additionalProperties": false
20279         },
20280         "StoragePool": {
20281           "type": "object",
20282           "properties": {
20283             "attrs": {
20284               "type": "object",
20285               "patternProperties": {
20286                 ".*": {
20287                   "type": "object",
20288                   "additionalProperties": true
20289                 }
20290               }
20291             },
20292             "name": {
20293               "type": "string"
20294             },
20295             "provider": {
20296               "type": "string"
20297             }
20298           },
20299           "additionalProperties": false,
20300           "required": [
20301             "name",
20302             "provider",
20303             "attrs"
20304           ]
20305         },
20306         "StoragePoolFilter": {
20307           "type": "object",
20308           "properties": {
20309             "names": {
20310               "type": "array",
20311               "items": {
20312                 "type": "string"
20313               }
20314             },
20315             "providers": {
20316               "type": "array",
20317               "items": {
20318                 "type": "string"
20319               }
20320             }
20321           },
20322           "additionalProperties": false
20323         },
20324         "StoragePoolFilters": {
20325           "type": "object",
20326           "properties": {
20327             "filters": {
20328               "type": "array",
20329               "items": {
20330                 "$ref": "#/definitions/StoragePoolFilter"
20331               }
20332             }
20333           },
20334           "additionalProperties": false
20335         },
20336         "StoragePoolsResult": {
20337           "type": "object",
20338           "properties": {
20339             "error": {
20340               "$ref": "#/definitions/Error"
20341             },
20342             "storage-pools": {
20343               "type": "array",
20344               "items": {
20345                 "$ref": "#/definitions/StoragePool"
20346               }
20347             }
20348           },
20349           "additionalProperties": false
20350         },
20351         "StoragePoolsResults": {
20352           "type": "object",
20353           "properties": {
20354             "results": {
20355               "type": "array",
20356               "items": {
20357                 "$ref": "#/definitions/StoragePoolsResult"
20358               }
20359             }
20360           },
20361           "additionalProperties": false
20362         },
20363         "StoragesAddParams": {
20364           "type": "object",
20365           "properties": {
20366             "storages": {
20367               "type": "array",
20368               "items": {
20369                 "$ref": "#/definitions/StorageAddParams"
20370               }
20371             }
20372           },
20373           "additionalProperties": false,
20374           "required": [
20375             "storages"
20376           ]
20377         },
20378         "VolumeAttachmentDetails": {
20379           "type": "object",
20380           "properties": {
20381             "VolumeAttachmentInfo": {
20382               "$ref": "#/definitions/VolumeAttachmentInfo"
20383             },
20384             "life": {
20385               "type": "string"
20386             }
20387           },
20388           "additionalProperties": false,
20389           "required": [
20390             "VolumeAttachmentInfo"
20391           ]
20392         },
20393         "VolumeAttachmentInfo": {
20394           "type": "object",
20395           "properties": {
20396             "bus-address": {
20397               "type": "string"
20398             },
20399             "device-link": {
20400               "type": "string"
20401             },
20402             "device-name": {
20403               "type": "string"
20404             },
20405             "read-only": {
20406               "type": "boolean"
20407             }
20408           },
20409           "additionalProperties": false
20410         },
20411         "VolumeDetails": {
20412           "type": "object",
20413           "properties": {
20414             "info": {
20415               "$ref": "#/definitions/VolumeInfo"
20416             },
20417             "life": {
20418               "type": "string"
20419             },
20420             "machine-attachments": {
20421               "type": "object",
20422               "patternProperties": {
20423                 ".*": {
20424                   "$ref": "#/definitions/VolumeAttachmentDetails"
20425                 }
20426               }
20427             },
20428             "status": {
20429               "$ref": "#/definitions/EntityStatus"
20430             },
20431             "storage": {
20432               "$ref": "#/definitions/StorageDetails"
20433             },
20434             "volume-tag": {
20435               "type": "string"
20436             }
20437           },
20438           "additionalProperties": false,
20439           "required": [
20440             "volume-tag",
20441             "info",
20442             "status"
20443           ]
20444         },
20445         "VolumeDetailsListResult": {
20446           "type": "object",
20447           "properties": {
20448             "error": {
20449               "$ref": "#/definitions/Error"
20450             },
20451             "result": {
20452               "type": "array",
20453               "items": {
20454                 "$ref": "#/definitions/VolumeDetails"
20455               }
20456             }
20457           },
20458           "additionalProperties": false
20459         },
20460         "VolumeDetailsListResults": {
20461           "type": "object",
20462           "properties": {
20463             "results": {
20464               "type": "array",
20465               "items": {
20466                 "$ref": "#/definitions/VolumeDetailsListResult"
20467               }
20468             }
20469           },
20470           "additionalProperties": false
20471         },
20472         "VolumeFilter": {
20473           "type": "object",
20474           "properties": {
20475             "machines": {
20476               "type": "array",
20477               "items": {
20478                 "type": "string"
20479               }
20480             }
20481           },
20482           "additionalProperties": false
20483         },
20484         "VolumeFilters": {
20485           "type": "object",
20486           "properties": {
20487             "filters": {
20488               "type": "array",
20489               "items": {
20490                 "$ref": "#/definitions/VolumeFilter"
20491               }
20492             }
20493           },
20494           "additionalProperties": false
20495         },
20496         "VolumeInfo": {
20497           "type": "object",
20498           "properties": {
20499             "hardware-id": {
20500               "type": "string"
20501             },
20502             "persistent": {
20503               "type": "boolean"
20504             },
20505             "pool": {
20506               "type": "string"
20507             },
20508             "size": {
20509               "type": "integer"
20510             },
20511             "volume-id": {
20512               "type": "string"
20513             }
20514           },
20515           "additionalProperties": false,
20516           "required": [
20517             "volume-id",
20518             "size",
20519             "persistent"
20520           ]
20521         }
20522       }
20523     }
20524   },
20525   {
20526     "Name": "StorageProvisioner",
20527     "Version": 3,
20528     "Schema": {
20529       "type": "object",
20530       "properties": {
20531         "AttachmentLife": {
20532           "type": "object",
20533           "properties": {
20534             "Params": {
20535               "$ref": "#/definitions/MachineStorageIds"
20536             },
20537             "Result": {
20538               "$ref": "#/definitions/LifeResults"
20539             }
20540           }
20541         },
20542         "EnsureDead": {
20543           "type": "object",
20544           "properties": {
20545             "Params": {
20546               "$ref": "#/definitions/Entities"
20547             },
20548             "Result": {
20549               "$ref": "#/definitions/ErrorResults"
20550             }
20551           }
20552         },
20553         "FilesystemAttachmentParams": {
20554           "type": "object",
20555           "properties": {
20556             "Params": {
20557               "$ref": "#/definitions/MachineStorageIds"
20558             },
20559             "Result": {
20560               "$ref": "#/definitions/FilesystemAttachmentParamsResults"
20561             }
20562           }
20563         },
20564         "FilesystemAttachments": {
20565           "type": "object",
20566           "properties": {
20567             "Params": {
20568               "$ref": "#/definitions/MachineStorageIds"
20569             },
20570             "Result": {
20571               "$ref": "#/definitions/FilesystemAttachmentResults"
20572             }
20573           }
20574         },
20575         "FilesystemParams": {
20576           "type": "object",
20577           "properties": {
20578             "Params": {
20579               "$ref": "#/definitions/Entities"
20580             },
20581             "Result": {
20582               "$ref": "#/definitions/FilesystemParamsResults"
20583             }
20584           }
20585         },
20586         "Filesystems": {
20587           "type": "object",
20588           "properties": {
20589             "Params": {
20590               "$ref": "#/definitions/Entities"
20591             },
20592             "Result": {
20593               "$ref": "#/definitions/FilesystemResults"
20594             }
20595           }
20596         },
20597         "InstanceId": {
20598           "type": "object",
20599           "properties": {
20600             "Params": {
20601               "$ref": "#/definitions/Entities"
20602             },
20603             "Result": {
20604               "$ref": "#/definitions/StringResults"
20605             }
20606           }
20607         },
20608         "Life": {
20609           "type": "object",
20610           "properties": {
20611             "Params": {
20612               "$ref": "#/definitions/Entities"
20613             },
20614             "Result": {
20615               "$ref": "#/definitions/LifeResults"
20616             }
20617           }
20618         },
20619         "Remove": {
20620           "type": "object",
20621           "properties": {
20622             "Params": {
20623               "$ref": "#/definitions/Entities"
20624             },
20625             "Result": {
20626               "$ref": "#/definitions/ErrorResults"
20627             }
20628           }
20629         },
20630         "RemoveAttachment": {
20631           "type": "object",
20632           "properties": {
20633             "Params": {
20634               "$ref": "#/definitions/MachineStorageIds"
20635             },
20636             "Result": {
20637               "$ref": "#/definitions/ErrorResults"
20638             }
20639           }
20640         },
20641         "SetFilesystemAttachmentInfo": {
20642           "type": "object",
20643           "properties": {
20644             "Params": {
20645               "$ref": "#/definitions/FilesystemAttachments"
20646             },
20647             "Result": {
20648               "$ref": "#/definitions/ErrorResults"
20649             }
20650           }
20651         },
20652         "SetFilesystemInfo": {
20653           "type": "object",
20654           "properties": {
20655             "Params": {
20656               "$ref": "#/definitions/Filesystems"
20657             },
20658             "Result": {
20659               "$ref": "#/definitions/ErrorResults"
20660             }
20661           }
20662         },
20663         "SetStatus": {
20664           "type": "object",
20665           "properties": {
20666             "Params": {
20667               "$ref": "#/definitions/SetStatus"
20668             },
20669             "Result": {
20670               "$ref": "#/definitions/ErrorResults"
20671             }
20672           }
20673         },
20674         "SetVolumeAttachmentInfo": {
20675           "type": "object",
20676           "properties": {
20677             "Params": {
20678               "$ref": "#/definitions/VolumeAttachments"
20679             },
20680             "Result": {
20681               "$ref": "#/definitions/ErrorResults"
20682             }
20683           }
20684         },
20685         "SetVolumeInfo": {
20686           "type": "object",
20687           "properties": {
20688             "Params": {
20689               "$ref": "#/definitions/Volumes"
20690             },
20691             "Result": {
20692               "$ref": "#/definitions/ErrorResults"
20693             }
20694           }
20695         },
20696         "UpdateStatus": {
20697           "type": "object",
20698           "properties": {
20699             "Params": {
20700               "$ref": "#/definitions/SetStatus"
20701             },
20702             "Result": {
20703               "$ref": "#/definitions/ErrorResults"
20704             }
20705           }
20706         },
20707         "VolumeAttachmentParams": {
20708           "type": "object",
20709           "properties": {
20710             "Params": {
20711               "$ref": "#/definitions/MachineStorageIds"
20712             },
20713             "Result": {
20714               "$ref": "#/definitions/VolumeAttachmentParamsResults"
20715             }
20716           }
20717         },
20718         "VolumeAttachments": {
20719           "type": "object",
20720           "properties": {
20721             "Params": {
20722               "$ref": "#/definitions/MachineStorageIds"
20723             },
20724             "Result": {
20725               "$ref": "#/definitions/VolumeAttachmentResults"
20726             }
20727           }
20728         },
20729         "VolumeBlockDevices": {
20730           "type": "object",
20731           "properties": {
20732             "Params": {
20733               "$ref": "#/definitions/MachineStorageIds"
20734             },
20735             "Result": {
20736               "$ref": "#/definitions/BlockDeviceResults"
20737             }
20738           }
20739         },
20740         "VolumeParams": {
20741           "type": "object",
20742           "properties": {
20743             "Params": {
20744               "$ref": "#/definitions/Entities"
20745             },
20746             "Result": {
20747               "$ref": "#/definitions/VolumeParamsResults"
20748             }
20749           }
20750         },
20751         "Volumes": {
20752           "type": "object",
20753           "properties": {
20754             "Params": {
20755               "$ref": "#/definitions/Entities"
20756             },
20757             "Result": {
20758               "$ref": "#/definitions/VolumeResults"
20759             }
20760           }
20761         },
20762         "WatchBlockDevices": {
20763           "type": "object",
20764           "properties": {
20765             "Params": {
20766               "$ref": "#/definitions/Entities"
20767             },
20768             "Result": {
20769               "$ref": "#/definitions/NotifyWatchResults"
20770             }
20771           }
20772         },
20773         "WatchFilesystemAttachments": {
20774           "type": "object",
20775           "properties": {
20776             "Params": {
20777               "$ref": "#/definitions/Entities"
20778             },
20779             "Result": {
20780               "$ref": "#/definitions/MachineStorageIdsWatchResults"
20781             }
20782           }
20783         },
20784         "WatchFilesystems": {
20785           "type": "object",
20786           "properties": {
20787             "Params": {
20788               "$ref": "#/definitions/Entities"
20789             },
20790             "Result": {
20791               "$ref": "#/definitions/StringsWatchResults"
20792             }
20793           }
20794         },
20795         "WatchMachines": {
20796           "type": "object",
20797           "properties": {
20798             "Params": {
20799               "$ref": "#/definitions/Entities"
20800             },
20801             "Result": {
20802               "$ref": "#/definitions/NotifyWatchResults"
20803             }
20804           }
20805         },
20806         "WatchVolumeAttachments": {
20807           "type": "object",
20808           "properties": {
20809             "Params": {
20810               "$ref": "#/definitions/Entities"
20811             },
20812             "Result": {
20813               "$ref": "#/definitions/MachineStorageIdsWatchResults"
20814             }
20815           }
20816         },
20817         "WatchVolumes": {
20818           "type": "object",
20819           "properties": {
20820             "Params": {
20821               "$ref": "#/definitions/Entities"
20822             },
20823             "Result": {
20824               "$ref": "#/definitions/StringsWatchResults"
20825             }
20826           }
20827         }
20828       },
20829       "definitions": {
20830         "BlockDevice": {
20831           "type": "object",
20832           "properties": {
20833             "BusAddress": {
20834               "type": "string"
20835             },
20836             "DeviceLinks": {
20837               "type": "array",
20838               "items": {
20839                 "type": "string"
20840               }
20841             },
20842             "DeviceName": {
20843               "type": "string"
20844             },
20845             "FilesystemType": {
20846               "type": "string"
20847             },
20848             "HardwareId": {
20849               "type": "string"
20850             },
20851             "InUse": {
20852               "type": "boolean"
20853             },
20854             "Label": {
20855               "type": "string"
20856             },
20857             "MountPoint": {
20858               "type": "string"
20859             },
20860             "Size": {
20861               "type": "integer"
20862             },
20863             "UUID": {
20864               "type": "string"
20865             }
20866           },
20867           "additionalProperties": false,
20868           "required": [
20869             "DeviceName",
20870             "DeviceLinks",
20871             "Label",
20872             "UUID",
20873             "HardwareId",
20874             "BusAddress",
20875             "Size",
20876             "FilesystemType",
20877             "InUse",
20878             "MountPoint"
20879           ]
20880         },
20881         "BlockDeviceResult": {
20882           "type": "object",
20883           "properties": {
20884             "error": {
20885               "$ref": "#/definitions/Error"
20886             },
20887             "result": {
20888               "$ref": "#/definitions/BlockDevice"
20889             }
20890           },
20891           "additionalProperties": false,
20892           "required": [
20893             "result"
20894           ]
20895         },
20896         "BlockDeviceResults": {
20897           "type": "object",
20898           "properties": {
20899             "results": {
20900               "type": "array",
20901               "items": {
20902                 "$ref": "#/definitions/BlockDeviceResult"
20903               }
20904             }
20905           },
20906           "additionalProperties": false
20907         },
20908         "Entities": {
20909           "type": "object",
20910           "properties": {
20911             "entities": {
20912               "type": "array",
20913               "items": {
20914                 "$ref": "#/definitions/Entity"
20915               }
20916             }
20917           },
20918           "additionalProperties": false,
20919           "required": [
20920             "entities"
20921           ]
20922         },
20923         "Entity": {
20924           "type": "object",
20925           "properties": {
20926             "tag": {
20927               "type": "string"
20928             }
20929           },
20930           "additionalProperties": false,
20931           "required": [
20932             "tag"
20933           ]
20934         },
20935         "EntityStatusArgs": {
20936           "type": "object",
20937           "properties": {
20938             "data": {
20939               "type": "object",
20940               "patternProperties": {
20941                 ".*": {
20942                   "type": "object",
20943                   "additionalProperties": true
20944                 }
20945               }
20946             },
20947             "info": {
20948               "type": "string"
20949             },
20950             "status": {
20951               "type": "string"
20952             },
20953             "tag": {
20954               "type": "string"
20955             }
20956           },
20957           "additionalProperties": false,
20958           "required": [
20959             "tag",
20960             "status",
20961             "info",
20962             "data"
20963           ]
20964         },
20965         "Error": {
20966           "type": "object",
20967           "properties": {
20968             "code": {
20969               "type": "string"
20970             },
20971             "info": {
20972               "$ref": "#/definitions/ErrorInfo"
20973             },
20974             "message": {
20975               "type": "string"
20976             }
20977           },
20978           "additionalProperties": false,
20979           "required": [
20980             "message",
20981             "code"
20982           ]
20983         },
20984         "ErrorInfo": {
20985           "type": "object",
20986           "properties": {
20987             "macaroon": {
20988               "$ref": "#/definitions/Macaroon"
20989             },
20990             "macaroon-path": {
20991               "type": "string"
20992             }
20993           },
20994           "additionalProperties": false
20995         },
20996         "ErrorResult": {
20997           "type": "object",
20998           "properties": {
20999             "error": {
21000               "$ref": "#/definitions/Error"
21001             }
21002           },
21003           "additionalProperties": false
21004         },
21005         "ErrorResults": {
21006           "type": "object",
21007           "properties": {
21008             "results": {
21009               "type": "array",
21010               "items": {
21011                 "$ref": "#/definitions/ErrorResult"
21012               }
21013             }
21014           },
21015           "additionalProperties": false,
21016           "required": [
21017             "results"
21018           ]
21019         },
21020         "Filesystem": {
21021           "type": "object",
21022           "properties": {
21023             "filesystem-tag": {
21024               "type": "string"
21025             },
21026             "info": {
21027               "$ref": "#/definitions/FilesystemInfo"
21028             },
21029             "volume-tag": {
21030               "type": "string"
21031             }
21032           },
21033           "additionalProperties": false,
21034           "required": [
21035             "filesystem-tag",
21036             "info"
21037           ]
21038         },
21039         "FilesystemAttachment": {
21040           "type": "object",
21041           "properties": {
21042             "filesystem-tag": {
21043               "type": "string"
21044             },
21045             "info": {
21046               "$ref": "#/definitions/FilesystemAttachmentInfo"
21047             },
21048             "machine-tag": {
21049               "type": "string"
21050             }
21051           },
21052           "additionalProperties": false,
21053           "required": [
21054             "filesystem-tag",
21055             "machine-tag",
21056             "info"
21057           ]
21058         },
21059         "FilesystemAttachmentInfo": {
21060           "type": "object",
21061           "properties": {
21062             "mount-point": {
21063               "type": "string"
21064             },
21065             "read-only": {
21066               "type": "boolean"
21067             }
21068           },
21069           "additionalProperties": false
21070         },
21071         "FilesystemAttachmentParams": {
21072           "type": "object",
21073           "properties": {
21074             "filesystem-id": {
21075               "type": "string"
21076             },
21077             "filesystem-tag": {
21078               "type": "string"
21079             },
21080             "instance-id": {
21081               "type": "string"
21082             },
21083             "machine-tag": {
21084               "type": "string"
21085             },
21086             "mount-point": {
21087               "type": "string"
21088             },
21089             "provider": {
21090               "type": "string"
21091             },
21092             "read-only": {
21093               "type": "boolean"
21094             }
21095           },
21096           "additionalProperties": false,
21097           "required": [
21098             "filesystem-tag",
21099             "machine-tag",
21100             "provider"
21101           ]
21102         },
21103         "FilesystemAttachmentParamsResult": {
21104           "type": "object",
21105           "properties": {
21106             "error": {
21107               "$ref": "#/definitions/Error"
21108             },
21109             "result": {
21110               "$ref": "#/definitions/FilesystemAttachmentParams"
21111             }
21112           },
21113           "additionalProperties": false,
21114           "required": [
21115             "result"
21116           ]
21117         },
21118         "FilesystemAttachmentParamsResults": {
21119           "type": "object",
21120           "properties": {
21121             "results": {
21122               "type": "array",
21123               "items": {
21124                 "$ref": "#/definitions/FilesystemAttachmentParamsResult"
21125               }
21126             }
21127           },
21128           "additionalProperties": false
21129         },
21130         "FilesystemAttachmentResult": {
21131           "type": "object",
21132           "properties": {
21133             "error": {
21134               "$ref": "#/definitions/Error"
21135             },
21136             "result": {
21137               "$ref": "#/definitions/FilesystemAttachment"
21138             }
21139           },
21140           "additionalProperties": false,
21141           "required": [
21142             "result"
21143           ]
21144         },
21145         "FilesystemAttachmentResults": {
21146           "type": "object",
21147           "properties": {
21148             "results": {
21149               "type": "array",
21150               "items": {
21151                 "$ref": "#/definitions/FilesystemAttachmentResult"
21152               }
21153             }
21154           },
21155           "additionalProperties": false
21156         },
21157         "FilesystemAttachments": {
21158           "type": "object",
21159           "properties": {
21160             "filesystem-attachments": {
21161               "type": "array",
21162               "items": {
21163                 "$ref": "#/definitions/FilesystemAttachment"
21164               }
21165             }
21166           },
21167           "additionalProperties": false,
21168           "required": [
21169             "filesystem-attachments"
21170           ]
21171         },
21172         "FilesystemInfo": {
21173           "type": "object",
21174           "properties": {
21175             "filesystem-id": {
21176               "type": "string"
21177             },
21178             "pool": {
21179               "type": "string"
21180             },
21181             "size": {
21182               "type": "integer"
21183             }
21184           },
21185           "additionalProperties": false,
21186           "required": [
21187             "filesystem-id",
21188             "pool",
21189             "size"
21190           ]
21191         },
21192         "FilesystemParams": {
21193           "type": "object",
21194           "properties": {
21195             "attachment": {
21196               "$ref": "#/definitions/FilesystemAttachmentParams"
21197             },
21198             "attributes": {
21199               "type": "object",
21200               "patternProperties": {
21201                 ".*": {
21202                   "type": "object",
21203                   "additionalProperties": true
21204                 }
21205               }
21206             },
21207             "filesystem-tag": {
21208               "type": "string"
21209             },
21210             "provider": {
21211               "type": "string"
21212             },
21213             "size": {
21214               "type": "integer"
21215             },
21216             "tags": {
21217               "type": "object",
21218               "patternProperties": {
21219                 ".*": {
21220                   "type": "string"
21221                 }
21222               }
21223             },
21224             "volume-tag": {
21225               "type": "string"
21226             }
21227           },
21228           "additionalProperties": false,
21229           "required": [
21230             "filesystem-tag",
21231             "size",
21232             "provider"
21233           ]
21234         },
21235         "FilesystemParamsResult": {
21236           "type": "object",
21237           "properties": {
21238             "error": {
21239               "$ref": "#/definitions/Error"
21240             },
21241             "result": {
21242               "$ref": "#/definitions/FilesystemParams"
21243             }
21244           },
21245           "additionalProperties": false,
21246           "required": [
21247             "result"
21248           ]
21249         },
21250         "FilesystemParamsResults": {
21251           "type": "object",
21252           "properties": {
21253             "results": {
21254               "type": "array",
21255               "items": {
21256                 "$ref": "#/definitions/FilesystemParamsResult"
21257               }
21258             }
21259           },
21260           "additionalProperties": false
21261         },
21262         "FilesystemResult": {
21263           "type": "object",
21264           "properties": {
21265             "error": {
21266               "$ref": "#/definitions/Error"
21267             },
21268             "result": {
21269               "$ref": "#/definitions/Filesystem"
21270             }
21271           },
21272           "additionalProperties": false,
21273           "required": [
21274             "result"
21275           ]
21276         },
21277         "FilesystemResults": {
21278           "type": "object",
21279           "properties": {
21280             "results": {
21281               "type": "array",
21282               "items": {
21283                 "$ref": "#/definitions/FilesystemResult"
21284               }
21285             }
21286           },
21287           "additionalProperties": false
21288         },
21289         "Filesystems": {
21290           "type": "object",
21291           "properties": {
21292             "filesystems": {
21293               "type": "array",
21294               "items": {
21295                 "$ref": "#/definitions/Filesystem"
21296               }
21297             }
21298           },
21299           "additionalProperties": false,
21300           "required": [
21301             "filesystems"
21302           ]
21303         },
21304         "LifeResult": {
21305           "type": "object",
21306           "properties": {
21307             "error": {
21308               "$ref": "#/definitions/Error"
21309             },
21310             "life": {
21311               "type": "string"
21312             }
21313           },
21314           "additionalProperties": false,
21315           "required": [
21316             "life"
21317           ]
21318         },
21319         "LifeResults": {
21320           "type": "object",
21321           "properties": {
21322             "results": {
21323               "type": "array",
21324               "items": {
21325                 "$ref": "#/definitions/LifeResult"
21326               }
21327             }
21328           },
21329           "additionalProperties": false,
21330           "required": [
21331             "results"
21332           ]
21333         },
21334         "Macaroon": {
21335           "type": "object",
21336           "additionalProperties": false
21337         },
21338         "MachineStorageId": {
21339           "type": "object",
21340           "properties": {
21341             "attachment-tag": {
21342               "type": "string"
21343             },
21344             "machine-tag": {
21345               "type": "string"
21346             }
21347           },
21348           "additionalProperties": false,
21349           "required": [
21350             "machine-tag",
21351             "attachment-tag"
21352           ]
21353         },
21354         "MachineStorageIds": {
21355           "type": "object",
21356           "properties": {
21357             "ids": {
21358               "type": "array",
21359               "items": {
21360                 "$ref": "#/definitions/MachineStorageId"
21361               }
21362             }
21363           },
21364           "additionalProperties": false,
21365           "required": [
21366             "ids"
21367           ]
21368         },
21369         "MachineStorageIdsWatchResult": {
21370           "type": "object",
21371           "properties": {
21372             "changes": {
21373               "type": "array",
21374               "items": {
21375                 "$ref": "#/definitions/MachineStorageId"
21376               }
21377             },
21378             "error": {
21379               "$ref": "#/definitions/Error"
21380             },
21381             "watcher-id": {
21382               "type": "string"
21383             }
21384           },
21385           "additionalProperties": false,
21386           "required": [
21387             "watcher-id",
21388             "changes"
21389           ]
21390         },
21391         "MachineStorageIdsWatchResults": {
21392           "type": "object",
21393           "properties": {
21394             "results": {
21395               "type": "array",
21396               "items": {
21397                 "$ref": "#/definitions/MachineStorageIdsWatchResult"
21398               }
21399             }
21400           },
21401           "additionalProperties": false,
21402           "required": [
21403             "results"
21404           ]
21405         },
21406         "NotifyWatchResult": {
21407           "type": "object",
21408           "properties": {
21409             "NotifyWatcherId": {
21410               "type": "string"
21411             },
21412             "error": {
21413               "$ref": "#/definitions/Error"
21414             }
21415           },
21416           "additionalProperties": false,
21417           "required": [
21418             "NotifyWatcherId"
21419           ]
21420         },
21421         "NotifyWatchResults": {
21422           "type": "object",
21423           "properties": {
21424             "results": {
21425               "type": "array",
21426               "items": {
21427                 "$ref": "#/definitions/NotifyWatchResult"
21428               }
21429             }
21430           },
21431           "additionalProperties": false,
21432           "required": [
21433             "results"
21434           ]
21435         },
21436         "SetStatus": {
21437           "type": "object",
21438           "properties": {
21439             "entities": {
21440               "type": "array",
21441               "items": {
21442                 "$ref": "#/definitions/EntityStatusArgs"
21443               }
21444             }
21445           },
21446           "additionalProperties": false,
21447           "required": [
21448             "entities"
21449           ]
21450         },
21451         "StringResult": {
21452           "type": "object",
21453           "properties": {
21454             "error": {
21455               "$ref": "#/definitions/Error"
21456             },
21457             "result": {
21458               "type": "string"
21459             }
21460           },
21461           "additionalProperties": false,
21462           "required": [
21463             "result"
21464           ]
21465         },
21466         "StringResults": {
21467           "type": "object",
21468           "properties": {
21469             "results": {
21470               "type": "array",
21471               "items": {
21472                 "$ref": "#/definitions/StringResult"
21473               }
21474             }
21475           },
21476           "additionalProperties": false,
21477           "required": [
21478             "results"
21479           ]
21480         },
21481         "StringsWatchResult": {
21482           "type": "object",
21483           "properties": {
21484             "changes": {
21485               "type": "array",
21486               "items": {
21487                 "type": "string"
21488               }
21489             },
21490             "error": {
21491               "$ref": "#/definitions/Error"
21492             },
21493             "watcher-id": {
21494               "type": "string"
21495             }
21496           },
21497           "additionalProperties": false,
21498           "required": [
21499             "watcher-id"
21500           ]
21501         },
21502         "StringsWatchResults": {
21503           "type": "object",
21504           "properties": {
21505             "results": {
21506               "type": "array",
21507               "items": {
21508                 "$ref": "#/definitions/StringsWatchResult"
21509               }
21510             }
21511           },
21512           "additionalProperties": false,
21513           "required": [
21514             "results"
21515           ]
21516         },
21517         "Volume": {
21518           "type": "object",
21519           "properties": {
21520             "info": {
21521               "$ref": "#/definitions/VolumeInfo"
21522             },
21523             "volume-tag": {
21524               "type": "string"
21525             }
21526           },
21527           "additionalProperties": false,
21528           "required": [
21529             "volume-tag",
21530             "info"
21531           ]
21532         },
21533         "VolumeAttachment": {
21534           "type": "object",
21535           "properties": {
21536             "info": {
21537               "$ref": "#/definitions/VolumeAttachmentInfo"
21538             },
21539             "machine-tag": {
21540               "type": "string"
21541             },
21542             "volume-tag": {
21543               "type": "string"
21544             }
21545           },
21546           "additionalProperties": false,
21547           "required": [
21548             "volume-tag",
21549             "machine-tag",
21550             "info"
21551           ]
21552         },
21553         "VolumeAttachmentInfo": {
21554           "type": "object",
21555           "properties": {
21556             "bus-address": {
21557               "type": "string"
21558             },
21559             "device-link": {
21560               "type": "string"
21561             },
21562             "device-name": {
21563               "type": "string"
21564             },
21565             "read-only": {
21566               "type": "boolean"
21567             }
21568           },
21569           "additionalProperties": false
21570         },
21571         "VolumeAttachmentParams": {
21572           "type": "object",
21573           "properties": {
21574             "instance-id": {
21575               "type": "string"
21576             },
21577             "machine-tag": {
21578               "type": "string"
21579             },
21580             "provider": {
21581               "type": "string"
21582             },
21583             "read-only": {
21584               "type": "boolean"
21585             },
21586             "volume-id": {
21587               "type": "string"
21588             },
21589             "volume-tag": {
21590               "type": "string"
21591             }
21592           },
21593           "additionalProperties": false,
21594           "required": [
21595             "volume-tag",
21596             "machine-tag",
21597             "provider"
21598           ]
21599         },
21600         "VolumeAttachmentParamsResult": {
21601           "type": "object",
21602           "properties": {
21603             "error": {
21604               "$ref": "#/definitions/Error"
21605             },
21606             "result": {
21607               "$ref": "#/definitions/VolumeAttachmentParams"
21608             }
21609           },
21610           "additionalProperties": false,
21611           "required": [
21612             "result"
21613           ]
21614         },
21615         "VolumeAttachmentParamsResults": {
21616           "type": "object",
21617           "properties": {
21618             "results": {
21619               "type": "array",
21620               "items": {
21621                 "$ref": "#/definitions/VolumeAttachmentParamsResult"
21622               }
21623             }
21624           },
21625           "additionalProperties": false
21626         },
21627         "VolumeAttachmentResult": {
21628           "type": "object",
21629           "properties": {
21630             "error": {
21631               "$ref": "#/definitions/Error"
21632             },
21633             "result": {
21634               "$ref": "#/definitions/VolumeAttachment"
21635             }
21636           },
21637           "additionalProperties": false,
21638           "required": [
21639             "result"
21640           ]
21641         },
21642         "VolumeAttachmentResults": {
21643           "type": "object",
21644           "properties": {
21645             "results": {
21646               "type": "array",
21647               "items": {
21648                 "$ref": "#/definitions/VolumeAttachmentResult"
21649               }
21650             }
21651           },
21652           "additionalProperties": false
21653         },
21654         "VolumeAttachments": {
21655           "type": "object",
21656           "properties": {
21657             "volume-attachments": {
21658               "type": "array",
21659               "items": {
21660                 "$ref": "#/definitions/VolumeAttachment"
21661               }
21662             }
21663           },
21664           "additionalProperties": false,
21665           "required": [
21666             "volume-attachments"
21667           ]
21668         },
21669         "VolumeInfo": {
21670           "type": "object",
21671           "properties": {
21672             "hardware-id": {
21673               "type": "string"
21674             },
21675             "persistent": {
21676               "type": "boolean"
21677             },
21678             "pool": {
21679               "type": "string"
21680             },
21681             "size": {
21682               "type": "integer"
21683             },
21684             "volume-id": {
21685               "type": "string"
21686             }
21687           },
21688           "additionalProperties": false,
21689           "required": [
21690             "volume-id",
21691             "size",
21692             "persistent"
21693           ]
21694         },
21695         "VolumeParams": {
21696           "type": "object",
21697           "properties": {
21698             "attachment": {
21699               "$ref": "#/definitions/VolumeAttachmentParams"
21700             },
21701             "attributes": {
21702               "type": "object",
21703               "patternProperties": {
21704                 ".*": {
21705                   "type": "object",
21706                   "additionalProperties": true
21707                 }
21708               }
21709             },
21710             "provider": {
21711               "type": "string"
21712             },
21713             "size": {
21714               "type": "integer"
21715             },
21716             "tags": {
21717               "type": "object",
21718               "patternProperties": {
21719                 ".*": {
21720                   "type": "string"
21721                 }
21722               }
21723             },
21724             "volume-tag": {
21725               "type": "string"
21726             }
21727           },
21728           "additionalProperties": false,
21729           "required": [
21730             "volume-tag",
21731             "size",
21732             "provider"
21733           ]
21734         },
21735         "VolumeParamsResult": {
21736           "type": "object",
21737           "properties": {
21738             "error": {
21739               "$ref": "#/definitions/Error"
21740             },
21741             "result": {
21742               "$ref": "#/definitions/VolumeParams"
21743             }
21744           },
21745           "additionalProperties": false,
21746           "required": [
21747             "result"
21748           ]
21749         },
21750         "VolumeParamsResults": {
21751           "type": "object",
21752           "properties": {
21753             "results": {
21754               "type": "array",
21755               "items": {
21756                 "$ref": "#/definitions/VolumeParamsResult"
21757               }
21758             }
21759           },
21760           "additionalProperties": false
21761         },
21762         "VolumeResult": {
21763           "type": "object",
21764           "properties": {
21765             "error": {
21766               "$ref": "#/definitions/Error"
21767             },
21768             "result": {
21769               "$ref": "#/definitions/Volume"
21770             }
21771           },
21772           "additionalProperties": false,
21773           "required": [
21774             "result"
21775           ]
21776         },
21777         "VolumeResults": {
21778           "type": "object",
21779           "properties": {
21780             "results": {
21781               "type": "array",
21782               "items": {
21783                 "$ref": "#/definitions/VolumeResult"
21784               }
21785             }
21786           },
21787           "additionalProperties": false
21788         },
21789         "Volumes": {
21790           "type": "object",
21791           "properties": {
21792             "volumes": {
21793               "type": "array",
21794               "items": {
21795                 "$ref": "#/definitions/Volume"
21796               }
21797             }
21798           },
21799           "additionalProperties": false,
21800           "required": [
21801             "volumes"
21802           ]
21803         }
21804       }
21805     }
21806   },
21807   {
21808     "Name": "StringsWatcher",
21809     "Version": 1,
21810     "Schema": {
21811       "type": "object",
21812       "properties": {
21813         "Next": {
21814           "type": "object",
21815           "properties": {
21816             "Result": {
21817               "$ref": "#/definitions/StringsWatchResult"
21818             }
21819           }
21820         },
21821         "Stop": {
21822           "type": "object"
21823         }
21824       },
21825       "definitions": {
21826         "Error": {
21827           "type": "object",
21828           "properties": {
21829             "code": {
21830               "type": "string"
21831             },
21832             "info": {
21833               "$ref": "#/definitions/ErrorInfo"
21834             },
21835             "message": {
21836               "type": "string"
21837             }
21838           },
21839           "additionalProperties": false,
21840           "required": [
21841             "message",
21842             "code"
21843           ]
21844         },
21845         "ErrorInfo": {
21846           "type": "object",
21847           "properties": {
21848             "macaroon": {
21849               "$ref": "#/definitions/Macaroon"
21850             },
21851             "macaroon-path": {
21852               "type": "string"
21853             }
21854           },
21855           "additionalProperties": false
21856         },
21857         "Macaroon": {
21858           "type": "object",
21859           "additionalProperties": false
21860         },
21861         "StringsWatchResult": {
21862           "type": "object",
21863           "properties": {
21864             "changes": {
21865               "type": "array",
21866               "items": {
21867                 "type": "string"
21868               }
21869             },
21870             "error": {
21871               "$ref": "#/definitions/Error"
21872             },
21873             "watcher-id": {
21874               "type": "string"
21875             }
21876           },
21877           "additionalProperties": false,
21878           "required": [
21879             "watcher-id"
21880           ]
21881         }
21882       }
21883     }
21884   },
21885   {
21886     "Name": "Subnets",
21887     "Version": 2,
21888     "Schema": {
21889       "type": "object",
21890       "properties": {
21891         "AddSubnets": {
21892           "type": "object",
21893           "properties": {
21894             "Params": {
21895               "$ref": "#/definitions/AddSubnetsParams"
21896             },
21897             "Result": {
21898               "$ref": "#/definitions/ErrorResults"
21899             }
21900           }
21901         },
21902         "AllSpaces": {
21903           "type": "object",
21904           "properties": {
21905             "Result": {
21906               "$ref": "#/definitions/SpaceResults"
21907             }
21908           }
21909         },
21910         "AllZones": {
21911           "type": "object",
21912           "properties": {
21913             "Result": {
21914               "$ref": "#/definitions/ZoneResults"
21915             }
21916           }
21917         },
21918         "ListSubnets": {
21919           "type": "object",
21920           "properties": {
21921             "Params": {
21922               "$ref": "#/definitions/SubnetsFilters"
21923             },
21924             "Result": {
21925               "$ref": "#/definitions/ListSubnetsResults"
21926             }
21927           }
21928         }
21929       },
21930       "definitions": {
21931         "AddSubnetParams": {
21932           "type": "object",
21933           "properties": {
21934             "space-tag": {
21935               "type": "string"
21936             },
21937             "subnet-provider-id": {
21938               "type": "string"
21939             },
21940             "subnet-tag": {
21941               "type": "string"
21942             },
21943             "vlan-tag": {
21944               "type": "integer"
21945             },
21946             "zones": {
21947               "type": "array",
21948               "items": {
21949                 "type": "string"
21950               }
21951             }
21952           },
21953           "additionalProperties": false,
21954           "required": [
21955             "space-tag"
21956           ]
21957         },
21958         "AddSubnetsParams": {
21959           "type": "object",
21960           "properties": {
21961             "subnets": {
21962               "type": "array",
21963               "items": {
21964                 "$ref": "#/definitions/AddSubnetParams"
21965               }
21966             }
21967           },
21968           "additionalProperties": false,
21969           "required": [
21970             "subnets"
21971           ]
21972         },
21973         "Error": {
21974           "type": "object",
21975           "properties": {
21976             "code": {
21977               "type": "string"
21978             },
21979             "info": {
21980               "$ref": "#/definitions/ErrorInfo"
21981             },
21982             "message": {
21983               "type": "string"
21984             }
21985           },
21986           "additionalProperties": false,
21987           "required": [
21988             "message",
21989             "code"
21990           ]
21991         },
21992         "ErrorInfo": {
21993           "type": "object",
21994           "properties": {
21995             "macaroon": {
21996               "$ref": "#/definitions/Macaroon"
21997             },
21998             "macaroon-path": {
21999               "type": "string"
22000             }
22001           },
22002           "additionalProperties": false
22003         },
22004         "ErrorResult": {
22005           "type": "object",
22006           "properties": {
22007             "error": {
22008               "$ref": "#/definitions/Error"
22009             }
22010           },
22011           "additionalProperties": false
22012         },
22013         "ErrorResults": {
22014           "type": "object",
22015           "properties": {
22016             "results": {
22017               "type": "array",
22018               "items": {
22019                 "$ref": "#/definitions/ErrorResult"
22020               }
22021             }
22022           },
22023           "additionalProperties": false,
22024           "required": [
22025             "results"
22026           ]
22027         },
22028         "ListSubnetsResults": {
22029           "type": "object",
22030           "properties": {
22031             "results": {
22032               "type": "array",
22033               "items": {
22034                 "$ref": "#/definitions/Subnet"
22035               }
22036             }
22037           },
22038           "additionalProperties": false,
22039           "required": [
22040             "results"
22041           ]
22042         },
22043         "Macaroon": {
22044           "type": "object",
22045           "additionalProperties": false
22046         },
22047         "SpaceResult": {
22048           "type": "object",
22049           "properties": {
22050             "error": {
22051               "$ref": "#/definitions/Error"
22052             },
22053             "tag": {
22054               "type": "string"
22055             }
22056           },
22057           "additionalProperties": false,
22058           "required": [
22059             "tag"
22060           ]
22061         },
22062         "SpaceResults": {
22063           "type": "object",
22064           "properties": {
22065             "results": {
22066               "type": "array",
22067               "items": {
22068                 "$ref": "#/definitions/SpaceResult"
22069               }
22070             }
22071           },
22072           "additionalProperties": false,
22073           "required": [
22074             "results"
22075           ]
22076         },
22077         "Subnet": {
22078           "type": "object",
22079           "properties": {
22080             "cidr": {
22081               "type": "string"
22082             },
22083             "life": {
22084               "type": "string"
22085             },
22086             "provider-id": {
22087               "type": "string"
22088             },
22089             "space-tag": {
22090               "type": "string"
22091             },
22092             "status": {
22093               "type": "string"
22094             },
22095             "vlan-tag": {
22096               "type": "integer"
22097             },
22098             "zones": {
22099               "type": "array",
22100               "items": {
22101                 "type": "string"
22102               }
22103             }
22104           },
22105           "additionalProperties": false,
22106           "required": [
22107             "cidr",
22108             "vlan-tag",
22109             "life",
22110             "space-tag",
22111             "zones"
22112           ]
22113         },
22114         "SubnetsFilters": {
22115           "type": "object",
22116           "properties": {
22117             "space-tag": {
22118               "type": "string"
22119             },
22120             "zone": {
22121               "type": "string"
22122             }
22123           },
22124           "additionalProperties": false
22125         },
22126         "ZoneResult": {
22127           "type": "object",
22128           "properties": {
22129             "available": {
22130               "type": "boolean"
22131             },
22132             "error": {
22133               "$ref": "#/definitions/Error"
22134             },
22135             "name": {
22136               "type": "string"
22137             }
22138           },
22139           "additionalProperties": false,
22140           "required": [
22141             "name",
22142             "available"
22143           ]
22144         },
22145         "ZoneResults": {
22146           "type": "object",
22147           "properties": {
22148             "results": {
22149               "type": "array",
22150               "items": {
22151                 "$ref": "#/definitions/ZoneResult"
22152               }
22153             }
22154           },
22155           "additionalProperties": false,
22156           "required": [
22157             "results"
22158           ]
22159         }
22160       }
22161     }
22162   },
22163   {
22164     "Name": "Undertaker",
22165     "Version": 1,
22166     "Schema": {
22167       "type": "object",
22168       "properties": {
22169         "ModelConfig": {
22170           "type": "object",
22171           "properties": {
22172             "Result": {
22173               "$ref": "#/definitions/ModelConfigResult"
22174             }
22175           }
22176         },
22177         "ModelInfo": {
22178           "type": "object",
22179           "properties": {
22180             "Result": {
22181               "$ref": "#/definitions/UndertakerModelInfoResult"
22182             }
22183           }
22184         },
22185         "ProcessDyingModel": {
22186           "type": "object"
22187         },
22188         "RemoveModel": {
22189           "type": "object"
22190         },
22191         "SetStatus": {
22192           "type": "object",
22193           "properties": {
22194             "Params": {
22195               "$ref": "#/definitions/SetStatus"
22196             },
22197             "Result": {
22198               "$ref": "#/definitions/ErrorResults"
22199             }
22200           }
22201         },
22202         "UpdateStatus": {
22203           "type": "object",
22204           "properties": {
22205             "Params": {
22206               "$ref": "#/definitions/SetStatus"
22207             },
22208             "Result": {
22209               "$ref": "#/definitions/ErrorResults"
22210             }
22211           }
22212         },
22213         "WatchModelResources": {
22214           "type": "object",
22215           "properties": {
22216             "Result": {
22217               "$ref": "#/definitions/NotifyWatchResults"
22218             }
22219           }
22220         }
22221       },
22222       "definitions": {
22223         "EntityStatusArgs": {
22224           "type": "object",
22225           "properties": {
22226             "data": {
22227               "type": "object",
22228               "patternProperties": {
22229                 ".*": {
22230                   "type": "object",
22231                   "additionalProperties": true
22232                 }
22233               }
22234             },
22235             "info": {
22236               "type": "string"
22237             },
22238             "status": {
22239               "type": "string"
22240             },
22241             "tag": {
22242               "type": "string"
22243             }
22244           },
22245           "additionalProperties": false,
22246           "required": [
22247             "tag",
22248             "status",
22249             "info",
22250             "data"
22251           ]
22252         },
22253         "Error": {
22254           "type": "object",
22255           "properties": {
22256             "code": {
22257               "type": "string"
22258             },
22259             "info": {
22260               "$ref": "#/definitions/ErrorInfo"
22261             },
22262             "message": {
22263               "type": "string"
22264             }
22265           },
22266           "additionalProperties": false,
22267           "required": [
22268             "message",
22269             "code"
22270           ]
22271         },
22272         "ErrorInfo": {
22273           "type": "object",
22274           "properties": {
22275             "macaroon": {
22276               "$ref": "#/definitions/Macaroon"
22277             },
22278             "macaroon-path": {
22279               "type": "string"
22280             }
22281           },
22282           "additionalProperties": false
22283         },
22284         "ErrorResult": {
22285           "type": "object",
22286           "properties": {
22287             "error": {
22288               "$ref": "#/definitions/Error"
22289             }
22290           },
22291           "additionalProperties": false
22292         },
22293         "ErrorResults": {
22294           "type": "object",
22295           "properties": {
22296             "results": {
22297               "type": "array",
22298               "items": {
22299                 "$ref": "#/definitions/ErrorResult"
22300               }
22301             }
22302           },
22303           "additionalProperties": false,
22304           "required": [
22305             "results"
22306           ]
22307         },
22308         "Macaroon": {
22309           "type": "object",
22310           "additionalProperties": false
22311         },
22312         "ModelConfigResult": {
22313           "type": "object",
22314           "properties": {
22315             "config": {
22316               "type": "object",
22317               "patternProperties": {
22318                 ".*": {
22319                   "type": "object",
22320                   "additionalProperties": true
22321                 }
22322               }
22323             }
22324           },
22325           "additionalProperties": false,
22326           "required": [
22327             "config"
22328           ]
22329         },
22330         "NotifyWatchResult": {
22331           "type": "object",
22332           "properties": {
22333             "NotifyWatcherId": {
22334               "type": "string"
22335             },
22336             "error": {
22337               "$ref": "#/definitions/Error"
22338             }
22339           },
22340           "additionalProperties": false,
22341           "required": [
22342             "NotifyWatcherId"
22343           ]
22344         },
22345         "NotifyWatchResults": {
22346           "type": "object",
22347           "properties": {
22348             "results": {
22349               "type": "array",
22350               "items": {
22351                 "$ref": "#/definitions/NotifyWatchResult"
22352               }
22353             }
22354           },
22355           "additionalProperties": false,
22356           "required": [
22357             "results"
22358           ]
22359         },
22360         "SetStatus": {
22361           "type": "object",
22362           "properties": {
22363             "entities": {
22364               "type": "array",
22365               "items": {
22366                 "$ref": "#/definitions/EntityStatusArgs"
22367               }
22368             }
22369           },
22370           "additionalProperties": false,
22371           "required": [
22372             "entities"
22373           ]
22374         },
22375         "UndertakerModelInfo": {
22376           "type": "object",
22377           "properties": {
22378             "global-name": {
22379               "type": "string"
22380             },
22381             "is-system": {
22382               "type": "boolean"
22383             },
22384             "life": {
22385               "type": "string"
22386             },
22387             "name": {
22388               "type": "string"
22389             },
22390             "uuid": {
22391               "type": "string"
22392             }
22393           },
22394           "additionalProperties": false,
22395           "required": [
22396             "uuid",
22397             "name",
22398             "global-name",
22399             "is-system",
22400             "life"
22401           ]
22402         },
22403         "UndertakerModelInfoResult": {
22404           "type": "object",
22405           "properties": {
22406             "error": {
22407               "$ref": "#/definitions/Error"
22408             },
22409             "result": {
22410               "$ref": "#/definitions/UndertakerModelInfo"
22411             }
22412           },
22413           "additionalProperties": false,
22414           "required": [
22415             "result"
22416           ]
22417         }
22418       }
22419     }
22420   },
22421   {
22422     "Name": "UnitAssigner",
22423     "Version": 1,
22424     "Schema": {
22425       "type": "object",
22426       "properties": {
22427         "AssignUnits": {
22428           "type": "object",
22429           "properties": {
22430             "Params": {
22431               "$ref": "#/definitions/Entities"
22432             },
22433             "Result": {
22434               "$ref": "#/definitions/ErrorResults"
22435             }
22436           }
22437         },
22438         "SetAgentStatus": {
22439           "type": "object",
22440           "properties": {
22441             "Params": {
22442               "$ref": "#/definitions/SetStatus"
22443             },
22444             "Result": {
22445               "$ref": "#/definitions/ErrorResults"
22446             }
22447           }
22448         },
22449         "WatchUnitAssignments": {
22450           "type": "object",
22451           "properties": {
22452             "Result": {
22453               "$ref": "#/definitions/StringsWatchResult"
22454             }
22455           }
22456         }
22457       },
22458       "definitions": {
22459         "Entities": {
22460           "type": "object",
22461           "properties": {
22462             "entities": {
22463               "type": "array",
22464               "items": {
22465                 "$ref": "#/definitions/Entity"
22466               }
22467             }
22468           },
22469           "additionalProperties": false,
22470           "required": [
22471             "entities"
22472           ]
22473         },
22474         "Entity": {
22475           "type": "object",
22476           "properties": {
22477             "tag": {
22478               "type": "string"
22479             }
22480           },
22481           "additionalProperties": false,
22482           "required": [
22483             "tag"
22484           ]
22485         },
22486         "EntityStatusArgs": {
22487           "type": "object",
22488           "properties": {
22489             "data": {
22490               "type": "object",
22491               "patternProperties": {
22492                 ".*": {
22493                   "type": "object",
22494                   "additionalProperties": true
22495                 }
22496               }
22497             },
22498             "info": {
22499               "type": "string"
22500             },
22501             "status": {
22502               "type": "string"
22503             },
22504             "tag": {
22505               "type": "string"
22506             }
22507           },
22508           "additionalProperties": false,
22509           "required": [
22510             "tag",
22511             "status",
22512             "info",
22513             "data"
22514           ]
22515         },
22516         "Error": {
22517           "type": "object",
22518           "properties": {
22519             "code": {
22520               "type": "string"
22521             },
22522             "info": {
22523               "$ref": "#/definitions/ErrorInfo"
22524             },
22525             "message": {
22526               "type": "string"
22527             }
22528           },
22529           "additionalProperties": false,
22530           "required": [
22531             "message",
22532             "code"
22533           ]
22534         },
22535         "ErrorInfo": {
22536           "type": "object",
22537           "properties": {
22538             "macaroon": {
22539               "$ref": "#/definitions/Macaroon"
22540             },
22541             "macaroon-path": {
22542               "type": "string"
22543             }
22544           },
22545           "additionalProperties": false
22546         },
22547         "ErrorResult": {
22548           "type": "object",
22549           "properties": {
22550             "error": {
22551               "$ref": "#/definitions/Error"
22552             }
22553           },
22554           "additionalProperties": false
22555         },
22556         "ErrorResults": {
22557           "type": "object",
22558           "properties": {
22559             "results": {
22560               "type": "array",
22561               "items": {
22562                 "$ref": "#/definitions/ErrorResult"
22563               }
22564             }
22565           },
22566           "additionalProperties": false,
22567           "required": [
22568             "results"
22569           ]
22570         },
22571         "Macaroon": {
22572           "type": "object",
22573           "additionalProperties": false
22574         },
22575         "SetStatus": {
22576           "type": "object",
22577           "properties": {
22578             "entities": {
22579               "type": "array",
22580               "items": {
22581                 "$ref": "#/definitions/EntityStatusArgs"
22582               }
22583             }
22584           },
22585           "additionalProperties": false,
22586           "required": [
22587             "entities"
22588           ]
22589         },
22590         "StringsWatchResult": {
22591           "type": "object",
22592           "properties": {
22593             "changes": {
22594               "type": "array",
22595               "items": {
22596                 "type": "string"
22597               }
22598             },
22599             "error": {
22600               "$ref": "#/definitions/Error"
22601             },
22602             "watcher-id": {
22603               "type": "string"
22604             }
22605           },
22606           "additionalProperties": false,
22607           "required": [
22608             "watcher-id"
22609           ]
22610         }
22611       }
22612     }
22613   },
22614   {
22615     "Name": "Uniter",
22616     "Version": 4,
22617     "Schema": {
22618       "type": "object",
22619       "properties": {
22620         "APIAddresses": {
22621           "type": "object",
22622           "properties": {
22623             "Result": {
22624               "$ref": "#/definitions/StringsResult"
22625             }
22626           }
22627         },
22628         "APIHostPorts": {
22629           "type": "object",
22630           "properties": {
22631             "Result": {
22632               "$ref": "#/definitions/APIHostPortsResult"
22633             }
22634           }
22635         },
22636         "Actions": {
22637           "type": "object",
22638           "properties": {
22639             "Params": {
22640               "$ref": "#/definitions/Entities"
22641             },
22642             "Result": {
22643               "$ref": "#/definitions/ActionResults"
22644             }
22645           }
22646         },
22647         "AddMetricBatches": {
22648           "type": "object",
22649           "properties": {
22650             "Params": {
22651               "$ref": "#/definitions/MetricBatchParams"
22652             },
22653             "Result": {
22654               "$ref": "#/definitions/ErrorResults"
22655             }
22656           }
22657         },
22658         "AddUnitStorage": {
22659           "type": "object",
22660           "properties": {
22661             "Params": {
22662               "$ref": "#/definitions/StoragesAddParams"
22663             },
22664             "Result": {
22665               "$ref": "#/definitions/ErrorResults"
22666             }
22667           }
22668         },
22669         "AllMachinePorts": {
22670           "type": "object",
22671           "properties": {
22672             "Params": {
22673               "$ref": "#/definitions/Entities"
22674             },
22675             "Result": {
22676               "$ref": "#/definitions/MachinePortsResults"
22677             }
22678           }
22679         },
22680         "ApplicationStatus": {
22681           "type": "object",
22682           "properties": {
22683             "Params": {
22684               "$ref": "#/definitions/Entities"
22685             },
22686             "Result": {
22687               "$ref": "#/definitions/ApplicationStatusResults"
22688             }
22689           }
22690         },
22691         "AssignedMachine": {
22692           "type": "object",
22693           "properties": {
22694             "Params": {
22695               "$ref": "#/definitions/Entities"
22696             },
22697             "Result": {
22698               "$ref": "#/definitions/StringResults"
22699             }
22700           }
22701         },
22702         "AvailabilityZone": {
22703           "type": "object",
22704           "properties": {
22705             "Params": {
22706               "$ref": "#/definitions/Entities"
22707             },
22708             "Result": {
22709               "$ref": "#/definitions/StringResults"
22710             }
22711           }
22712         },
22713         "BeginActions": {
22714           "type": "object",
22715           "properties": {
22716             "Params": {
22717               "$ref": "#/definitions/Entities"
22718             },
22719             "Result": {
22720               "$ref": "#/definitions/ErrorResults"
22721             }
22722           }
22723         },
22724         "CACert": {
22725           "type": "object",
22726           "properties": {
22727             "Result": {
22728               "$ref": "#/definitions/BytesResult"
22729             }
22730           }
22731         },
22732         "CharmArchiveSha256": {
22733           "type": "object",
22734           "properties": {
22735             "Params": {
22736               "$ref": "#/definitions/CharmURLs"
22737             },
22738             "Result": {
22739               "$ref": "#/definitions/StringResults"
22740             }
22741           }
22742         },
22743         "CharmModifiedVersion": {
22744           "type": "object",
22745           "properties": {
22746             "Params": {
22747               "$ref": "#/definitions/Entities"
22748             },
22749             "Result": {
22750               "$ref": "#/definitions/IntResults"
22751             }
22752           }
22753         },
22754         "CharmURL": {
22755           "type": "object",
22756           "properties": {
22757             "Params": {
22758               "$ref": "#/definitions/Entities"
22759             },
22760             "Result": {
22761               "$ref": "#/definitions/StringBoolResults"
22762             }
22763           }
22764         },
22765         "ClearResolved": {
22766           "type": "object",
22767           "properties": {
22768             "Params": {
22769               "$ref": "#/definitions/Entities"
22770             },
22771             "Result": {
22772               "$ref": "#/definitions/ErrorResults"
22773             }
22774           }
22775         },
22776         "ClosePorts": {
22777           "type": "object",
22778           "properties": {
22779             "Params": {
22780               "$ref": "#/definitions/EntitiesPortRanges"
22781             },
22782             "Result": {
22783               "$ref": "#/definitions/ErrorResults"
22784             }
22785           }
22786         },
22787         "ConfigSettings": {
22788           "type": "object",
22789           "properties": {
22790             "Params": {
22791               "$ref": "#/definitions/Entities"
22792             },
22793             "Result": {
22794               "$ref": "#/definitions/ConfigSettingsResults"
22795             }
22796           }
22797         },
22798         "CurrentModel": {
22799           "type": "object",
22800           "properties": {
22801             "Result": {
22802               "$ref": "#/definitions/ModelResult"
22803             }
22804           }
22805         },
22806         "Destroy": {
22807           "type": "object",
22808           "properties": {
22809             "Params": {
22810               "$ref": "#/definitions/Entities"
22811             },
22812             "Result": {
22813               "$ref": "#/definitions/ErrorResults"
22814             }
22815           }
22816         },
22817         "DestroyAllSubordinates": {
22818           "type": "object",
22819           "properties": {
22820             "Params": {
22821               "$ref": "#/definitions/Entities"
22822             },
22823             "Result": {
22824               "$ref": "#/definitions/ErrorResults"
22825             }
22826           }
22827         },
22828         "DestroyUnitStorageAttachments": {
22829           "type": "object",
22830           "properties": {
22831             "Params": {
22832               "$ref": "#/definitions/Entities"
22833             },
22834             "Result": {
22835               "$ref": "#/definitions/ErrorResults"
22836             }
22837           }
22838         },
22839         "EnsureDead": {
22840           "type": "object",
22841           "properties": {
22842             "Params": {
22843               "$ref": "#/definitions/Entities"
22844             },
22845             "Result": {
22846               "$ref": "#/definitions/ErrorResults"
22847             }
22848           }
22849         },
22850         "EnterScope": {
22851           "type": "object",
22852           "properties": {
22853             "Params": {
22854               "$ref": "#/definitions/RelationUnits"
22855             },
22856             "Result": {
22857               "$ref": "#/definitions/ErrorResults"
22858             }
22859           }
22860         },
22861         "FinishActions": {
22862           "type": "object",
22863           "properties": {
22864             "Params": {
22865               "$ref": "#/definitions/ActionExecutionResults"
22866             },
22867             "Result": {
22868               "$ref": "#/definitions/ErrorResults"
22869             }
22870           }
22871         },
22872         "GetMeterStatus": {
22873           "type": "object",
22874           "properties": {
22875             "Params": {
22876               "$ref": "#/definitions/Entities"
22877             },
22878             "Result": {
22879               "$ref": "#/definitions/MeterStatusResults"
22880             }
22881           }
22882         },
22883         "GetPrincipal": {
22884           "type": "object",
22885           "properties": {
22886             "Params": {
22887               "$ref": "#/definitions/Entities"
22888             },
22889             "Result": {
22890               "$ref": "#/definitions/StringBoolResults"
22891             }
22892           }
22893         },
22894         "HasSubordinates": {
22895           "type": "object",
22896           "properties": {
22897             "Params": {
22898               "$ref": "#/definitions/Entities"
22899             },
22900             "Result": {
22901               "$ref": "#/definitions/BoolResults"
22902             }
22903           }
22904         },
22905         "JoinedRelations": {
22906           "type": "object",
22907           "properties": {
22908             "Params": {
22909               "$ref": "#/definitions/Entities"
22910             },
22911             "Result": {
22912               "$ref": "#/definitions/StringsResults"
22913             }
22914           }
22915         },
22916         "LeaveScope": {
22917           "type": "object",
22918           "properties": {
22919             "Params": {
22920               "$ref": "#/definitions/RelationUnits"
22921             },
22922             "Result": {
22923               "$ref": "#/definitions/ErrorResults"
22924             }
22925           }
22926         },
22927         "Life": {
22928           "type": "object",
22929           "properties": {
22930             "Params": {
22931               "$ref": "#/definitions/Entities"
22932             },
22933             "Result": {
22934               "$ref": "#/definitions/LifeResults"
22935             }
22936           }
22937         },
22938         "Merge": {
22939           "type": "object",
22940           "properties": {
22941             "Params": {
22942               "$ref": "#/definitions/MergeLeadershipSettingsBulkParams"
22943             },
22944             "Result": {
22945               "$ref": "#/definitions/ErrorResults"
22946             }
22947           }
22948         },
22949         "ModelConfig": {
22950           "type": "object",
22951           "properties": {
22952             "Result": {
22953               "$ref": "#/definitions/ModelConfigResult"
22954             }
22955           }
22956         },
22957         "ModelUUID": {
22958           "type": "object",
22959           "properties": {
22960             "Result": {
22961               "$ref": "#/definitions/StringResult"
22962             }
22963           }
22964         },
22965         "NetworkConfig": {
22966           "type": "object",
22967           "properties": {
22968             "Params": {
22969               "$ref": "#/definitions/UnitsNetworkConfig"
22970             },
22971             "Result": {
22972               "$ref": "#/definitions/UnitNetworkConfigResults"
22973             }
22974           }
22975         },
22976         "OpenPorts": {
22977           "type": "object",
22978           "properties": {
22979             "Params": {
22980               "$ref": "#/definitions/EntitiesPortRanges"
22981             },
22982             "Result": {
22983               "$ref": "#/definitions/ErrorResults"
22984             }
22985           }
22986         },
22987         "PrivateAddress": {
22988           "type": "object",
22989           "properties": {
22990             "Params": {
22991               "$ref": "#/definitions/Entities"
22992             },
22993             "Result": {
22994               "$ref": "#/definitions/StringResults"
22995             }
22996           }
22997         },
22998         "ProviderType": {
22999           "type": "object",
23000           "properties": {
23001             "Result": {
23002               "$ref": "#/definitions/StringResult"
23003             }
23004           }
23005         },
23006         "PublicAddress": {
23007           "type": "object",
23008           "properties": {
23009             "Params": {
23010               "$ref": "#/definitions/Entities"
23011             },
23012             "Result": {
23013               "$ref": "#/definitions/StringResults"
23014             }
23015           }
23016         },
23017         "Read": {
23018           "type": "object",
23019           "properties": {
23020             "Params": {
23021               "$ref": "#/definitions/Entities"
23022             },
23023             "Result": {
23024               "$ref": "#/definitions/GetLeadershipSettingsBulkResults"
23025             }
23026           }
23027         },
23028         "ReadRemoteSettings": {
23029           "type": "object",
23030           "properties": {
23031             "Params": {
23032               "$ref": "#/definitions/RelationUnitPairs"
23033             },
23034             "Result": {
23035               "$ref": "#/definitions/SettingsResults"
23036             }
23037           }
23038         },
23039         "ReadSettings": {
23040           "type": "object",
23041           "properties": {
23042             "Params": {
23043               "$ref": "#/definitions/RelationUnits"
23044             },
23045             "Result": {
23046               "$ref": "#/definitions/SettingsResults"
23047             }
23048           }
23049         },
23050         "Relation": {
23051           "type": "object",
23052           "properties": {
23053             "Params": {
23054               "$ref": "#/definitions/RelationUnits"
23055             },
23056             "Result": {
23057               "$ref": "#/definitions/RelationResults"
23058             }
23059           }
23060         },
23061         "RelationById": {
23062           "type": "object",
23063           "properties": {
23064             "Params": {
23065               "$ref": "#/definitions/RelationIds"
23066             },
23067             "Result": {
23068               "$ref": "#/definitions/RelationResults"
23069             }
23070           }
23071         },
23072         "RemoveStorageAttachments": {
23073           "type": "object",
23074           "properties": {
23075             "Params": {
23076               "$ref": "#/definitions/StorageAttachmentIds"
23077             },
23078             "Result": {
23079               "$ref": "#/definitions/ErrorResults"
23080             }
23081           }
23082         },
23083         "RequestReboot": {
23084           "type": "object",
23085           "properties": {
23086             "Params": {
23087               "$ref": "#/definitions/Entities"
23088             },
23089             "Result": {
23090               "$ref": "#/definitions/ErrorResults"
23091             }
23092           }
23093         },
23094         "Resolved": {
23095           "type": "object",
23096           "properties": {
23097             "Params": {
23098               "$ref": "#/definitions/Entities"
23099             },
23100             "Result": {
23101               "$ref": "#/definitions/ResolvedModeResults"
23102             }
23103           }
23104         },
23105         "SetAgentStatus": {
23106           "type": "object",
23107           "properties": {
23108             "Params": {
23109               "$ref": "#/definitions/SetStatus"
23110             },
23111             "Result": {
23112               "$ref": "#/definitions/ErrorResults"
23113             }
23114           }
23115         },
23116         "SetApplicationStatus": {
23117           "type": "object",
23118           "properties": {
23119             "Params": {
23120               "$ref": "#/definitions/SetStatus"
23121             },
23122             "Result": {
23123               "$ref": "#/definitions/ErrorResults"
23124             }
23125           }
23126         },
23127         "SetCharmURL": {
23128           "type": "object",
23129           "properties": {
23130             "Params": {
23131               "$ref": "#/definitions/EntitiesCharmURL"
23132             },
23133             "Result": {
23134               "$ref": "#/definitions/ErrorResults"
23135             }
23136           }
23137         },
23138         "SetStatus": {
23139           "type": "object",
23140           "properties": {
23141             "Params": {
23142               "$ref": "#/definitions/SetStatus"
23143             },
23144             "Result": {
23145               "$ref": "#/definitions/ErrorResults"
23146             }
23147           }
23148         },
23149         "SetUnitStatus": {
23150           "type": "object",
23151           "properties": {
23152             "Params": {
23153               "$ref": "#/definitions/SetStatus"
23154             },
23155             "Result": {
23156               "$ref": "#/definitions/ErrorResults"
23157             }
23158           }
23159         },
23160         "SetWorkloadVersion": {
23161           "type": "object",
23162           "properties": {
23163             "Params": {
23164               "$ref": "#/definitions/EntityWorkloadVersions"
23165             },
23166             "Result": {
23167               "$ref": "#/definitions/ErrorResults"
23168             }
23169           }
23170         },
23171         "StorageAttachmentLife": {
23172           "type": "object",
23173           "properties": {
23174             "Params": {
23175               "$ref": "#/definitions/StorageAttachmentIds"
23176             },
23177             "Result": {
23178               "$ref": "#/definitions/LifeResults"
23179             }
23180           }
23181         },
23182         "StorageAttachments": {
23183           "type": "object",
23184           "properties": {
23185             "Params": {
23186               "$ref": "#/definitions/StorageAttachmentIds"
23187             },
23188             "Result": {
23189               "$ref": "#/definitions/StorageAttachmentResults"
23190             }
23191           }
23192         },
23193         "UnitStatus": {
23194           "type": "object",
23195           "properties": {
23196             "Params": {
23197               "$ref": "#/definitions/Entities"
23198             },
23199             "Result": {
23200               "$ref": "#/definitions/StatusResults"
23201             }
23202           }
23203         },
23204         "UnitStorageAttachments": {
23205           "type": "object",
23206           "properties": {
23207             "Params": {
23208               "$ref": "#/definitions/Entities"
23209             },
23210             "Result": {
23211               "$ref": "#/definitions/StorageAttachmentIdsResults"
23212             }
23213           }
23214         },
23215         "UpdateSettings": {
23216           "type": "object",
23217           "properties": {
23218             "Params": {
23219               "$ref": "#/definitions/RelationUnitsSettings"
23220             },
23221             "Result": {
23222               "$ref": "#/definitions/ErrorResults"
23223             }
23224           }
23225         },
23226         "Watch": {
23227           "type": "object",
23228           "properties": {
23229             "Params": {
23230               "$ref": "#/definitions/Entities"
23231             },
23232             "Result": {
23233               "$ref": "#/definitions/NotifyWatchResults"
23234             }
23235           }
23236         },
23237         "WatchAPIHostPorts": {
23238           "type": "object",
23239           "properties": {
23240             "Result": {
23241               "$ref": "#/definitions/NotifyWatchResult"
23242             }
23243           }
23244         },
23245         "WatchActionNotifications": {
23246           "type": "object",
23247           "properties": {
23248             "Params": {
23249               "$ref": "#/definitions/Entities"
23250             },
23251             "Result": {
23252               "$ref": "#/definitions/StringsWatchResults"
23253             }
23254           }
23255         },
23256         "WatchApplicationRelations": {
23257           "type": "object",
23258           "properties": {
23259             "Params": {
23260               "$ref": "#/definitions/Entities"
23261             },
23262             "Result": {
23263               "$ref": "#/definitions/StringsWatchResults"
23264             }
23265           }
23266         },
23267         "WatchConfigSettings": {
23268           "type": "object",
23269           "properties": {
23270             "Params": {
23271               "$ref": "#/definitions/Entities"
23272             },
23273             "Result": {
23274               "$ref": "#/definitions/NotifyWatchResults"
23275             }
23276           }
23277         },
23278         "WatchForModelConfigChanges": {
23279           "type": "object",
23280           "properties": {
23281             "Result": {
23282               "$ref": "#/definitions/NotifyWatchResult"
23283             }
23284           }
23285         },
23286         "WatchLeadershipSettings": {
23287           "type": "object",
23288           "properties": {
23289             "Params": {
23290               "$ref": "#/definitions/Entities"
23291             },
23292             "Result": {
23293               "$ref": "#/definitions/NotifyWatchResults"
23294             }
23295           }
23296         },
23297         "WatchMeterStatus": {
23298           "type": "object",
23299           "properties": {
23300             "Params": {
23301               "$ref": "#/definitions/Entities"
23302             },
23303             "Result": {
23304               "$ref": "#/definitions/NotifyWatchResults"
23305             }
23306           }
23307         },
23308         "WatchRelationUnits": {
23309           "type": "object",
23310           "properties": {
23311             "Params": {
23312               "$ref": "#/definitions/RelationUnits"
23313             },
23314             "Result": {
23315               "$ref": "#/definitions/RelationUnitsWatchResults"
23316             }
23317           }
23318         },
23319         "WatchStorageAttachments": {
23320           "type": "object",
23321           "properties": {
23322             "Params": {
23323               "$ref": "#/definitions/StorageAttachmentIds"
23324             },
23325             "Result": {
23326               "$ref": "#/definitions/NotifyWatchResults"
23327             }
23328           }
23329         },
23330         "WatchUnitAddresses": {
23331           "type": "object",
23332           "properties": {
23333             "Params": {
23334               "$ref": "#/definitions/Entities"
23335             },
23336             "Result": {
23337               "$ref": "#/definitions/NotifyWatchResults"
23338             }
23339           }
23340         },
23341         "WatchUnitStorageAttachments": {
23342           "type": "object",
23343           "properties": {
23344             "Params": {
23345               "$ref": "#/definitions/Entities"
23346             },
23347             "Result": {
23348               "$ref": "#/definitions/StringsWatchResults"
23349             }
23350           }
23351         },
23352         "WorkloadVersion": {
23353           "type": "object",
23354           "properties": {
23355             "Params": {
23356               "$ref": "#/definitions/Entities"
23357             },
23358             "Result": {
23359               "$ref": "#/definitions/StringResults"
23360             }
23361           }
23362         }
23363       },
23364       "definitions": {
23365         "APIHostPortsResult": {
23366           "type": "object",
23367           "properties": {
23368             "servers": {
23369               "type": "array",
23370               "items": {
23371                 "type": "array",
23372                 "items": {
23373                   "$ref": "#/definitions/HostPort"
23374                 }
23375               }
23376             }
23377           },
23378           "additionalProperties": false,
23379           "required": [
23380             "servers"
23381           ]
23382         },
23383         "Action": {
23384           "type": "object",
23385           "properties": {
23386             "name": {
23387               "type": "string"
23388             },
23389             "parameters": {
23390               "type": "object",
23391               "patternProperties": {
23392                 ".*": {
23393                   "type": "object",
23394                   "additionalProperties": true
23395                 }
23396               }
23397             },
23398             "receiver": {
23399               "type": "string"
23400             },
23401             "tag": {
23402               "type": "string"
23403             }
23404           },
23405           "additionalProperties": false,
23406           "required": [
23407             "tag",
23408             "receiver",
23409             "name"
23410           ]
23411         },
23412         "ActionExecutionResult": {
23413           "type": "object",
23414           "properties": {
23415             "action-tag": {
23416               "type": "string"
23417             },
23418             "message": {
23419               "type": "string"
23420             },
23421             "results": {
23422               "type": "object",
23423               "patternProperties": {
23424                 ".*": {
23425                   "type": "object",
23426                   "additionalProperties": true
23427                 }
23428               }
23429             },
23430             "status": {
23431               "type": "string"
23432             }
23433           },
23434           "additionalProperties": false,
23435           "required": [
23436             "action-tag",
23437             "status"
23438           ]
23439         },
23440         "ActionExecutionResults": {
23441           "type": "object",
23442           "properties": {
23443             "results": {
23444               "type": "array",
23445               "items": {
23446                 "$ref": "#/definitions/ActionExecutionResult"
23447               }
23448             }
23449           },
23450           "additionalProperties": false
23451         },
23452         "ActionResult": {
23453           "type": "object",
23454           "properties": {
23455             "action": {
23456               "$ref": "#/definitions/Action"
23457             },
23458             "completed": {
23459               "type": "string",
23460               "format": "date-time"
23461             },
23462             "enqueued": {
23463               "type": "string",
23464               "format": "date-time"
23465             },
23466             "error": {
23467               "$ref": "#/definitions/Error"
23468             },
23469             "message": {
23470               "type": "string"
23471             },
23472             "output": {
23473               "type": "object",
23474               "patternProperties": {
23475                 ".*": {
23476                   "type": "object",
23477                   "additionalProperties": true
23478                 }
23479               }
23480             },
23481             "started": {
23482               "type": "string",
23483               "format": "date-time"
23484             },
23485             "status": {
23486               "type": "string"
23487             }
23488           },
23489           "additionalProperties": false
23490         },
23491         "ActionResults": {
23492           "type": "object",
23493           "properties": {
23494             "results": {
23495               "type": "array",
23496               "items": {
23497                 "$ref": "#/definitions/ActionResult"
23498               }
23499             }
23500           },
23501           "additionalProperties": false
23502         },
23503         "Address": {
23504           "type": "object",
23505           "properties": {
23506             "scope": {
23507               "type": "string"
23508             },
23509             "space-name": {
23510               "type": "string"
23511             },
23512             "type": {
23513               "type": "string"
23514             },
23515             "value": {
23516               "type": "string"
23517             }
23518           },
23519           "additionalProperties": false,
23520           "required": [
23521             "value",
23522             "type",
23523             "scope"
23524           ]
23525         },
23526         "ApplicationStatusResult": {
23527           "type": "object",
23528           "properties": {
23529             "application": {
23530               "$ref": "#/definitions/StatusResult"
23531             },
23532             "error": {
23533               "$ref": "#/definitions/Error"
23534             },
23535             "units": {
23536               "type": "object",
23537               "patternProperties": {
23538                 ".*": {
23539                   "$ref": "#/definitions/StatusResult"
23540                 }
23541               }
23542             }
23543           },
23544           "additionalProperties": false,
23545           "required": [
23546             "application",
23547             "units"
23548           ]
23549         },
23550         "ApplicationStatusResults": {
23551           "type": "object",
23552           "properties": {
23553             "results": {
23554               "type": "array",
23555               "items": {
23556                 "$ref": "#/definitions/ApplicationStatusResult"
23557               }
23558             }
23559           },
23560           "additionalProperties": false,
23561           "required": [
23562             "results"
23563           ]
23564         },
23565         "BoolResult": {
23566           "type": "object",
23567           "properties": {
23568             "error": {
23569               "$ref": "#/definitions/Error"
23570             },
23571             "result": {
23572               "type": "boolean"
23573             }
23574           },
23575           "additionalProperties": false,
23576           "required": [
23577             "result"
23578           ]
23579         },
23580         "BoolResults": {
23581           "type": "object",
23582           "properties": {
23583             "results": {
23584               "type": "array",
23585               "items": {
23586                 "$ref": "#/definitions/BoolResult"
23587               }
23588             }
23589           },
23590           "additionalProperties": false,
23591           "required": [
23592             "results"
23593           ]
23594         },
23595         "BytesResult": {
23596           "type": "object",
23597           "properties": {
23598             "result": {
23599               "type": "array",
23600               "items": {
23601                 "type": "integer"
23602               }
23603             }
23604           },
23605           "additionalProperties": false,
23606           "required": [
23607             "result"
23608           ]
23609         },
23610         "CharmRelation": {
23611           "type": "object",
23612           "properties": {
23613             "interface": {
23614               "type": "string"
23615             },
23616             "limit": {
23617               "type": "integer"
23618             },
23619             "name": {
23620               "type": "string"
23621             },
23622             "optional": {
23623               "type": "boolean"
23624             },
23625             "role": {
23626               "type": "string"
23627             },
23628             "scope": {
23629               "type": "string"
23630             }
23631           },
23632           "additionalProperties": false,
23633           "required": [
23634             "name",
23635             "role",
23636             "interface",
23637             "optional",
23638             "limit",
23639             "scope"
23640           ]
23641         },
23642         "CharmURL": {
23643           "type": "object",
23644           "properties": {
23645             "url": {
23646               "type": "string"
23647             }
23648           },
23649           "additionalProperties": false,
23650           "required": [
23651             "url"
23652           ]
23653         },
23654         "CharmURLs": {
23655           "type": "object",
23656           "properties": {
23657             "urls": {
23658               "type": "array",
23659               "items": {
23660                 "$ref": "#/definitions/CharmURL"
23661               }
23662             }
23663           },
23664           "additionalProperties": false,
23665           "required": [
23666             "urls"
23667           ]
23668         },
23669         "ConfigSettingsResult": {
23670           "type": "object",
23671           "properties": {
23672             "error": {
23673               "$ref": "#/definitions/Error"
23674             },
23675             "settings": {
23676               "type": "object",
23677               "patternProperties": {
23678                 ".*": {
23679                   "type": "object",
23680                   "additionalProperties": true
23681                 }
23682               }
23683             }
23684           },
23685           "additionalProperties": false,
23686           "required": [
23687             "settings"
23688           ]
23689         },
23690         "ConfigSettingsResults": {
23691           "type": "object",
23692           "properties": {
23693             "results": {
23694               "type": "array",
23695               "items": {
23696                 "$ref": "#/definitions/ConfigSettingsResult"
23697               }
23698             }
23699           },
23700           "additionalProperties": false,
23701           "required": [
23702             "results"
23703           ]
23704         },
23705         "Endpoint": {
23706           "type": "object",
23707           "properties": {
23708             "application-name": {
23709               "type": "string"
23710             },
23711             "relation": {
23712               "$ref": "#/definitions/CharmRelation"
23713             }
23714           },
23715           "additionalProperties": false,
23716           "required": [
23717             "application-name",
23718             "relation"
23719           ]
23720         },
23721         "Entities": {
23722           "type": "object",
23723           "properties": {
23724             "entities": {
23725               "type": "array",
23726               "items": {
23727                 "$ref": "#/definitions/Entity"
23728               }
23729             }
23730           },
23731           "additionalProperties": false,
23732           "required": [
23733             "entities"
23734           ]
23735         },
23736         "EntitiesCharmURL": {
23737           "type": "object",
23738           "properties": {
23739             "entities": {
23740               "type": "array",
23741               "items": {
23742                 "$ref": "#/definitions/EntityCharmURL"
23743               }
23744             }
23745           },
23746           "additionalProperties": false,
23747           "required": [
23748             "entities"
23749           ]
23750         },
23751         "EntitiesPortRanges": {
23752           "type": "object",
23753           "properties": {
23754             "entities": {
23755               "type": "array",
23756               "items": {
23757                 "$ref": "#/definitions/EntityPortRange"
23758               }
23759             }
23760           },
23761           "additionalProperties": false,
23762           "required": [
23763             "entities"
23764           ]
23765         },
23766         "Entity": {
23767           "type": "object",
23768           "properties": {
23769             "tag": {
23770               "type": "string"
23771             }
23772           },
23773           "additionalProperties": false,
23774           "required": [
23775             "tag"
23776           ]
23777         },
23778         "EntityCharmURL": {
23779           "type": "object",
23780           "properties": {
23781             "charm-url": {
23782               "type": "string"
23783             },
23784             "tag": {
23785               "type": "string"
23786             }
23787           },
23788           "additionalProperties": false,
23789           "required": [
23790             "tag",
23791             "charm-url"
23792           ]
23793         },
23794         "EntityPortRange": {
23795           "type": "object",
23796           "properties": {
23797             "from-port": {
23798               "type": "integer"
23799             },
23800             "protocol": {
23801               "type": "string"
23802             },
23803             "tag": {
23804               "type": "string"
23805             },
23806             "to-port": {
23807               "type": "integer"
23808             }
23809           },
23810           "additionalProperties": false,
23811           "required": [
23812             "tag",
23813             "protocol",
23814             "from-port",
23815             "to-port"
23816           ]
23817         },
23818         "EntityStatusArgs": {
23819           "type": "object",
23820           "properties": {
23821             "data": {
23822               "type": "object",
23823               "patternProperties": {
23824                 ".*": {
23825                   "type": "object",
23826                   "additionalProperties": true
23827                 }
23828               }
23829             },
23830             "info": {
23831               "type": "string"
23832             },
23833             "status": {
23834               "type": "string"
23835             },
23836             "tag": {
23837               "type": "string"
23838             }
23839           },
23840           "additionalProperties": false,
23841           "required": [
23842             "tag",
23843             "status",
23844             "info",
23845             "data"
23846           ]
23847         },
23848         "EntityWorkloadVersion": {
23849           "type": "object",
23850           "properties": {
23851             "tag": {
23852               "type": "string"
23853             },
23854             "workload-version": {
23855               "type": "string"
23856             }
23857           },
23858           "additionalProperties": false,
23859           "required": [
23860             "tag",
23861             "workload-version"
23862           ]
23863         },
23864         "EntityWorkloadVersions": {
23865           "type": "object",
23866           "properties": {
23867             "entities": {
23868               "type": "array",
23869               "items": {
23870                 "$ref": "#/definitions/EntityWorkloadVersion"
23871               }
23872             }
23873           },
23874           "additionalProperties": false,
23875           "required": [
23876             "entities"
23877           ]
23878         },
23879         "Error": {
23880           "type": "object",
23881           "properties": {
23882             "code": {
23883               "type": "string"
23884             },
23885             "info": {
23886               "$ref": "#/definitions/ErrorInfo"
23887             },
23888             "message": {
23889               "type": "string"
23890             }
23891           },
23892           "additionalProperties": false,
23893           "required": [
23894             "message",
23895             "code"
23896           ]
23897         },
23898         "ErrorInfo": {
23899           "type": "object",
23900           "properties": {
23901             "macaroon": {
23902               "$ref": "#/definitions/Macaroon"
23903             },
23904             "macaroon-path": {
23905               "type": "string"
23906             }
23907           },
23908           "additionalProperties": false
23909         },
23910         "ErrorResult": {
23911           "type": "object",
23912           "properties": {
23913             "error": {
23914               "$ref": "#/definitions/Error"
23915             }
23916           },
23917           "additionalProperties": false
23918         },
23919         "ErrorResults": {
23920           "type": "object",
23921           "properties": {
23922             "results": {
23923               "type": "array",
23924               "items": {
23925                 "$ref": "#/definitions/ErrorResult"
23926               }
23927             }
23928           },
23929           "additionalProperties": false,
23930           "required": [
23931             "results"
23932           ]
23933         },
23934         "GetLeadershipSettingsBulkResults": {
23935           "type": "object",
23936           "properties": {
23937             "results": {
23938               "type": "array",
23939               "items": {
23940                 "$ref": "#/definitions/GetLeadershipSettingsResult"
23941               }
23942             }
23943           },
23944           "additionalProperties": false,
23945           "required": [
23946             "results"
23947           ]
23948         },
23949         "GetLeadershipSettingsResult": {
23950           "type": "object",
23951           "properties": {
23952             "error": {
23953               "$ref": "#/definitions/Error"
23954             },
23955             "settings": {
23956               "type": "object",
23957               "patternProperties": {
23958                 ".*": {
23959                   "type": "string"
23960                 }
23961               }
23962             }
23963           },
23964           "additionalProperties": false,
23965           "required": [
23966             "settings"
23967           ]
23968         },
23969         "HostPort": {
23970           "type": "object",
23971           "properties": {
23972             "Address": {
23973               "$ref": "#/definitions/Address"
23974             },
23975             "port": {
23976               "type": "integer"
23977             }
23978           },
23979           "additionalProperties": false,
23980           "required": [
23981             "Address",
23982             "port"
23983           ]
23984         },
23985         "IntResult": {
23986           "type": "object",
23987           "properties": {
23988             "error": {
23989               "$ref": "#/definitions/Error"
23990             },
23991             "result": {
23992               "type": "integer"
23993             }
23994           },
23995           "additionalProperties": false,
23996           "required": [
23997             "result"
23998           ]
23999         },
24000         "IntResults": {
24001           "type": "object",
24002           "properties": {
24003             "results": {
24004               "type": "array",
24005               "items": {
24006                 "$ref": "#/definitions/IntResult"
24007               }
24008             }
24009           },
24010           "additionalProperties": false,
24011           "required": [
24012             "results"
24013           ]
24014         },
24015         "LifeResult": {
24016           "type": "object",
24017           "properties": {
24018             "error": {
24019               "$ref": "#/definitions/Error"
24020             },
24021             "life": {
24022               "type": "string"
24023             }
24024           },
24025           "additionalProperties": false,
24026           "required": [
24027             "life"
24028           ]
24029         },
24030         "LifeResults": {
24031           "type": "object",
24032           "properties": {
24033             "results": {
24034               "type": "array",
24035               "items": {
24036                 "$ref": "#/definitions/LifeResult"
24037               }
24038             }
24039           },
24040           "additionalProperties": false,
24041           "required": [
24042             "results"
24043           ]
24044         },
24045         "Macaroon": {
24046           "type": "object",
24047           "additionalProperties": false
24048         },
24049         "MachinePortRange": {
24050           "type": "object",
24051           "properties": {
24052             "port-range": {
24053               "$ref": "#/definitions/PortRange"
24054             },
24055             "relation-tag": {
24056               "type": "string"
24057             },
24058             "unit-tag": {
24059               "type": "string"
24060             }
24061           },
24062           "additionalProperties": false,
24063           "required": [
24064             "unit-tag",
24065             "relation-tag",
24066             "port-range"
24067           ]
24068         },
24069         "MachinePortsResult": {
24070           "type": "object",
24071           "properties": {
24072             "error": {
24073               "$ref": "#/definitions/Error"
24074             },
24075             "ports": {
24076               "type": "array",
24077               "items": {
24078                 "$ref": "#/definitions/MachinePortRange"
24079               }
24080             }
24081           },
24082           "additionalProperties": false,
24083           "required": [
24084             "ports"
24085           ]
24086         },
24087         "MachinePortsResults": {
24088           "type": "object",
24089           "properties": {
24090             "results": {
24091               "type": "array",
24092               "items": {
24093                 "$ref": "#/definitions/MachinePortsResult"
24094               }
24095             }
24096           },
24097           "additionalProperties": false,
24098           "required": [
24099             "results"
24100           ]
24101         },
24102         "MergeLeadershipSettingsBulkParams": {
24103           "type": "object",
24104           "properties": {
24105             "params": {
24106               "type": "array",
24107               "items": {
24108                 "$ref": "#/definitions/MergeLeadershipSettingsParam"
24109               }
24110             }
24111           },
24112           "additionalProperties": false,
24113           "required": [
24114             "params"
24115           ]
24116         },
24117         "MergeLeadershipSettingsParam": {
24118           "type": "object",
24119           "properties": {
24120             "application-tag": {
24121               "type": "string"
24122             },
24123             "settings": {
24124               "type": "object",
24125               "patternProperties": {
24126                 ".*": {
24127                   "type": "string"
24128                 }
24129               }
24130             }
24131           },
24132           "additionalProperties": false,
24133           "required": [
24134             "application-tag",
24135             "settings"
24136           ]
24137         },
24138         "MeterStatusResult": {
24139           "type": "object",
24140           "properties": {
24141             "code": {
24142               "type": "string"
24143             },
24144             "error": {
24145               "$ref": "#/definitions/Error"
24146             },
24147             "info": {
24148               "type": "string"
24149             }
24150           },
24151           "additionalProperties": false,
24152           "required": [
24153             "code",
24154             "info"
24155           ]
24156         },
24157         "MeterStatusResults": {
24158           "type": "object",
24159           "properties": {
24160             "results": {
24161               "type": "array",
24162               "items": {
24163                 "$ref": "#/definitions/MeterStatusResult"
24164               }
24165             }
24166           },
24167           "additionalProperties": false,
24168           "required": [
24169             "results"
24170           ]
24171         },
24172         "Metric": {
24173           "type": "object",
24174           "properties": {
24175             "key": {
24176               "type": "string"
24177             },
24178             "time": {
24179               "type": "string",
24180               "format": "date-time"
24181             },
24182             "value": {
24183               "type": "string"
24184             }
24185           },
24186           "additionalProperties": false,
24187           "required": [
24188             "key",
24189             "value",
24190             "time"
24191           ]
24192         },
24193         "MetricBatch": {
24194           "type": "object",
24195           "properties": {
24196             "charm-url": {
24197               "type": "string"
24198             },
24199             "created": {
24200               "type": "string",
24201               "format": "date-time"
24202             },
24203             "metrics": {
24204               "type": "array",
24205               "items": {
24206                 "$ref": "#/definitions/Metric"
24207               }
24208             },
24209             "uuid": {
24210               "type": "string"
24211             }
24212           },
24213           "additionalProperties": false,
24214           "required": [
24215             "uuid",
24216             "charm-url",
24217             "created",
24218             "metrics"
24219           ]
24220         },
24221         "MetricBatchParam": {
24222           "type": "object",
24223           "properties": {
24224             "batch": {
24225               "$ref": "#/definitions/MetricBatch"
24226             },
24227             "tag": {
24228               "type": "string"
24229             }
24230           },
24231           "additionalProperties": false,
24232           "required": [
24233             "tag",
24234             "batch"
24235           ]
24236         },
24237         "MetricBatchParams": {
24238           "type": "object",
24239           "properties": {
24240             "batches": {
24241               "type": "array",
24242               "items": {
24243                 "$ref": "#/definitions/MetricBatchParam"
24244               }
24245             }
24246           },
24247           "additionalProperties": false,
24248           "required": [
24249             "batches"
24250           ]
24251         },
24252         "ModelConfigResult": {
24253           "type": "object",
24254           "properties": {
24255             "config": {
24256               "type": "object",
24257               "patternProperties": {
24258                 ".*": {
24259                   "type": "object",
24260                   "additionalProperties": true
24261                 }
24262               }
24263             }
24264           },
24265           "additionalProperties": false,
24266           "required": [
24267             "config"
24268           ]
24269         },
24270         "ModelResult": {
24271           "type": "object",
24272           "properties": {
24273             "error": {
24274               "$ref": "#/definitions/Error"
24275             },
24276             "name": {
24277               "type": "string"
24278             },
24279             "uuid": {
24280               "type": "string"
24281             }
24282           },
24283           "additionalProperties": false,
24284           "required": [
24285             "name",
24286             "uuid"
24287           ]
24288         },
24289         "NetworkConfig": {
24290           "type": "object",
24291           "properties": {
24292             "address": {
24293               "type": "string"
24294             },
24295             "cidr": {
24296               "type": "string"
24297             },
24298             "config-type": {
24299               "type": "string"
24300             },
24301             "device-index": {
24302               "type": "integer"
24303             },
24304             "disabled": {
24305               "type": "boolean"
24306             },
24307             "dns-search-domains": {
24308               "type": "array",
24309               "items": {
24310                 "type": "string"
24311               }
24312             },
24313             "dns-servers": {
24314               "type": "array",
24315               "items": {
24316                 "type": "string"
24317               }
24318             },
24319             "gateway-address": {
24320               "type": "string"
24321             },
24322             "interface-name": {
24323               "type": "string"
24324             },
24325             "interface-type": {
24326               "type": "string"
24327             },
24328             "mac-address": {
24329               "type": "string"
24330             },
24331             "mtu": {
24332               "type": "integer"
24333             },
24334             "no-auto-start": {
24335               "type": "boolean"
24336             },
24337             "parent-interface-name": {
24338               "type": "string"
24339             },
24340             "provider-address-id": {
24341               "type": "string"
24342             },
24343             "provider-id": {
24344               "type": "string"
24345             },
24346             "provider-space-id": {
24347               "type": "string"
24348             },
24349             "provider-subnet-id": {
24350               "type": "string"
24351             },
24352             "provider-vlan-id": {
24353               "type": "string"
24354             },
24355             "routes": {
24356               "type": "array",
24357               "items": {
24358                 "$ref": "#/definitions/NetworkRoute"
24359               }
24360             },
24361             "vlan-tag": {
24362               "type": "integer"
24363             }
24364           },
24365           "additionalProperties": false,
24366           "required": [
24367             "device-index",
24368             "mac-address",
24369             "cidr",
24370             "mtu",
24371             "provider-id",
24372             "provider-subnet-id",
24373             "provider-space-id",
24374             "provider-address-id",
24375             "provider-vlan-id",
24376             "vlan-tag",
24377             "interface-name",
24378             "parent-interface-name",
24379             "interface-type",
24380             "disabled"
24381           ]
24382         },
24383         "NetworkRoute": {
24384           "type": "object",
24385           "properties": {
24386             "destination-cidr": {
24387               "type": "string"
24388             },
24389             "gateway-ip": {
24390               "type": "string"
24391             },
24392             "metric": {
24393               "type": "integer"
24394             }
24395           },
24396           "additionalProperties": false,
24397           "required": [
24398             "destination-cidr",
24399             "gateway-ip",
24400             "metric"
24401           ]
24402         },
24403         "NotifyWatchResult": {
24404           "type": "object",
24405           "properties": {
24406             "NotifyWatcherId": {
24407               "type": "string"
24408             },
24409             "error": {
24410               "$ref": "#/definitions/Error"
24411             }
24412           },
24413           "additionalProperties": false,
24414           "required": [
24415             "NotifyWatcherId"
24416           ]
24417         },
24418         "NotifyWatchResults": {
24419           "type": "object",
24420           "properties": {
24421             "results": {
24422               "type": "array",
24423               "items": {
24424                 "$ref": "#/definitions/NotifyWatchResult"
24425               }
24426             }
24427           },
24428           "additionalProperties": false,
24429           "required": [
24430             "results"
24431           ]
24432         },
24433         "PortRange": {
24434           "type": "object",
24435           "properties": {
24436             "from-port": {
24437               "type": "integer"
24438             },
24439             "protocol": {
24440               "type": "string"
24441             },
24442             "to-port": {
24443               "type": "integer"
24444             }
24445           },
24446           "additionalProperties": false,
24447           "required": [
24448             "from-port",
24449             "to-port",
24450             "protocol"
24451           ]
24452         },
24453         "RelationIds": {
24454           "type": "object",
24455           "properties": {
24456             "relation-ids": {
24457               "type": "array",
24458               "items": {
24459                 "type": "integer"
24460               }
24461             }
24462           },
24463           "additionalProperties": false,
24464           "required": [
24465             "relation-ids"
24466           ]
24467         },
24468         "RelationResult": {
24469           "type": "object",
24470           "properties": {
24471             "endpoint": {
24472               "$ref": "#/definitions/Endpoint"
24473             },
24474             "error": {
24475               "$ref": "#/definitions/Error"
24476             },
24477             "id": {
24478               "type": "integer"
24479             },
24480             "key": {
24481               "type": "string"
24482             },
24483             "life": {
24484               "type": "string"
24485             }
24486           },
24487           "additionalProperties": false,
24488           "required": [
24489             "life",
24490             "id",
24491             "key",
24492             "endpoint"
24493           ]
24494         },
24495         "RelationResults": {
24496           "type": "object",
24497           "properties": {
24498             "results": {
24499               "type": "array",
24500               "items": {
24501                 "$ref": "#/definitions/RelationResult"
24502               }
24503             }
24504           },
24505           "additionalProperties": false,
24506           "required": [
24507             "results"
24508           ]
24509         },
24510         "RelationUnit": {
24511           "type": "object",
24512           "properties": {
24513             "relation": {
24514               "type": "string"
24515             },
24516             "unit": {
24517               "type": "string"
24518             }
24519           },
24520           "additionalProperties": false,
24521           "required": [
24522             "relation",
24523             "unit"
24524           ]
24525         },
24526         "RelationUnitPair": {
24527           "type": "object",
24528           "properties": {
24529             "local-unit": {
24530               "type": "string"
24531             },
24532             "relation": {
24533               "type": "string"
24534             },
24535             "remote-unit": {
24536               "type": "string"
24537             }
24538           },
24539           "additionalProperties": false,
24540           "required": [
24541             "relation",
24542             "local-unit",
24543             "remote-unit"
24544           ]
24545         },
24546         "RelationUnitPairs": {
24547           "type": "object",
24548           "properties": {
24549             "relation-unit-pairs": {
24550               "type": "array",
24551               "items": {
24552                 "$ref": "#/definitions/RelationUnitPair"
24553               }
24554             }
24555           },
24556           "additionalProperties": false,
24557           "required": [
24558             "relation-unit-pairs"
24559           ]
24560         },
24561         "RelationUnitSettings": {
24562           "type": "object",
24563           "properties": {
24564             "relation": {
24565               "type": "string"
24566             },
24567             "settings": {
24568               "type": "object",
24569               "patternProperties": {
24570                 ".*": {
24571                   "type": "string"
24572                 }
24573               }
24574             },
24575             "unit": {
24576               "type": "string"
24577             }
24578           },
24579           "additionalProperties": false,
24580           "required": [
24581             "relation",
24582             "unit",
24583             "settings"
24584           ]
24585         },
24586         "RelationUnits": {
24587           "type": "object",
24588           "properties": {
24589             "relation-units": {
24590               "type": "array",
24591               "items": {
24592                 "$ref": "#/definitions/RelationUnit"
24593               }
24594             }
24595           },
24596           "additionalProperties": false,
24597           "required": [
24598             "relation-units"
24599           ]
24600         },
24601         "RelationUnitsChange": {
24602           "type": "object",
24603           "properties": {
24604             "changed": {
24605               "type": "object",
24606               "patternProperties": {
24607                 ".*": {
24608                   "$ref": "#/definitions/UnitSettings"
24609                 }
24610               }
24611             },
24612             "departed": {
24613               "type": "array",
24614               "items": {
24615                 "type": "string"
24616               }
24617             }
24618           },
24619           "additionalProperties": false,
24620           "required": [
24621             "changed"
24622           ]
24623         },
24624         "RelationUnitsSettings": {
24625           "type": "object",
24626           "properties": {
24627             "relation-units": {
24628               "type": "array",
24629               "items": {
24630                 "$ref": "#/definitions/RelationUnitSettings"
24631               }
24632             }
24633           },
24634           "additionalProperties": false,
24635           "required": [
24636             "relation-units"
24637           ]
24638         },
24639         "RelationUnitsWatchResult": {
24640           "type": "object",
24641           "properties": {
24642             "changes": {
24643               "$ref": "#/definitions/RelationUnitsChange"
24644             },
24645             "error": {
24646               "$ref": "#/definitions/Error"
24647             },
24648             "watcher-id": {
24649               "type": "string"
24650             }
24651           },
24652           "additionalProperties": false,
24653           "required": [
24654             "watcher-id",
24655             "changes"
24656           ]
24657         },
24658         "RelationUnitsWatchResults": {
24659           "type": "object",
24660           "properties": {
24661             "results": {
24662               "type": "array",
24663               "items": {
24664                 "$ref": "#/definitions/RelationUnitsWatchResult"
24665               }
24666             }
24667           },
24668           "additionalProperties": false,
24669           "required": [
24670             "results"
24671           ]
24672         },
24673         "ResolvedModeResult": {
24674           "type": "object",
24675           "properties": {
24676             "error": {
24677               "$ref": "#/definitions/Error"
24678             },
24679             "mode": {
24680               "type": "string"
24681             }
24682           },
24683           "additionalProperties": false,
24684           "required": [
24685             "mode"
24686           ]
24687         },
24688         "ResolvedModeResults": {
24689           "type": "object",
24690           "properties": {
24691             "results": {
24692               "type": "array",
24693               "items": {
24694                 "$ref": "#/definitions/ResolvedModeResult"
24695               }
24696             }
24697           },
24698           "additionalProperties": false,
24699           "required": [
24700             "results"
24701           ]
24702         },
24703         "SetStatus": {
24704           "type": "object",
24705           "properties": {
24706             "entities": {
24707               "type": "array",
24708               "items": {
24709                 "$ref": "#/definitions/EntityStatusArgs"
24710               }
24711             }
24712           },
24713           "additionalProperties": false,
24714           "required": [
24715             "entities"
24716           ]
24717         },
24718         "SettingsResult": {
24719           "type": "object",
24720           "properties": {
24721             "error": {
24722               "$ref": "#/definitions/Error"
24723             },
24724             "settings": {
24725               "type": "object",
24726               "patternProperties": {
24727                 ".*": {
24728                   "type": "string"
24729                 }
24730               }
24731             }
24732           },
24733           "additionalProperties": false,
24734           "required": [
24735             "settings"
24736           ]
24737         },
24738         "SettingsResults": {
24739           "type": "object",
24740           "properties": {
24741             "results": {
24742               "type": "array",
24743               "items": {
24744                 "$ref": "#/definitions/SettingsResult"
24745               }
24746             }
24747           },
24748           "additionalProperties": false,
24749           "required": [
24750             "results"
24751           ]
24752         },
24753         "StatusResult": {
24754           "type": "object",
24755           "properties": {
24756             "data": {
24757               "type": "object",
24758               "patternProperties": {
24759                 ".*": {
24760                   "type": "object",
24761                   "additionalProperties": true
24762                 }
24763               }
24764             },
24765             "error": {
24766               "$ref": "#/definitions/Error"
24767             },
24768             "id": {
24769               "type": "string"
24770             },
24771             "info": {
24772               "type": "string"
24773             },
24774             "life": {
24775               "type": "string"
24776             },
24777             "since": {
24778               "type": "string",
24779               "format": "date-time"
24780             },
24781             "status": {
24782               "type": "string"
24783             }
24784           },
24785           "additionalProperties": false,
24786           "required": [
24787             "id",
24788             "life",
24789             "status",
24790             "info",
24791             "data",
24792             "since"
24793           ]
24794         },
24795         "StatusResults": {
24796           "type": "object",
24797           "properties": {
24798             "results": {
24799               "type": "array",
24800               "items": {
24801                 "$ref": "#/definitions/StatusResult"
24802               }
24803             }
24804           },
24805           "additionalProperties": false,
24806           "required": [
24807             "results"
24808           ]
24809         },
24810         "StorageAddParams": {
24811           "type": "object",
24812           "properties": {
24813             "name": {
24814               "type": "string"
24815             },
24816             "storage": {
24817               "$ref": "#/definitions/StorageConstraints"
24818             },
24819             "unit": {
24820               "type": "string"
24821             }
24822           },
24823           "additionalProperties": false,
24824           "required": [
24825             "unit",
24826             "name",
24827             "storage"
24828           ]
24829         },
24830         "StorageAttachment": {
24831           "type": "object",
24832           "properties": {
24833             "kind": {
24834               "type": "integer"
24835             },
24836             "life": {
24837               "type": "string"
24838             },
24839             "location": {
24840               "type": "string"
24841             },
24842             "owner-tag": {
24843               "type": "string"
24844             },
24845             "storage-tag": {
24846               "type": "string"
24847             },
24848             "unit-tag": {
24849               "type": "string"
24850             }
24851           },
24852           "additionalProperties": false,
24853           "required": [
24854             "storage-tag",
24855             "owner-tag",
24856             "unit-tag",
24857             "kind",
24858             "location",
24859             "life"
24860           ]
24861         },
24862         "StorageAttachmentId": {
24863           "type": "object",
24864           "properties": {
24865             "storage-tag": {
24866               "type": "string"
24867             },
24868             "unit-tag": {
24869               "type": "string"
24870             }
24871           },
24872           "additionalProperties": false,
24873           "required": [
24874             "storage-tag",
24875             "unit-tag"
24876           ]
24877         },
24878         "StorageAttachmentIds": {
24879           "type": "object",
24880           "properties": {
24881             "ids": {
24882               "type": "array",
24883               "items": {
24884                 "$ref": "#/definitions/StorageAttachmentId"
24885               }
24886             }
24887           },
24888           "additionalProperties": false,
24889           "required": [
24890             "ids"
24891           ]
24892         },
24893         "StorageAttachmentIdsResult": {
24894           "type": "object",
24895           "properties": {
24896             "error": {
24897               "$ref": "#/definitions/Error"
24898             },
24899             "result": {
24900               "$ref": "#/definitions/StorageAttachmentIds"
24901             }
24902           },
24903           "additionalProperties": false,
24904           "required": [
24905             "result"
24906           ]
24907         },
24908         "StorageAttachmentIdsResults": {
24909           "type": "object",
24910           "properties": {
24911             "results": {
24912               "type": "array",
24913               "items": {
24914                 "$ref": "#/definitions/StorageAttachmentIdsResult"
24915               }
24916             }
24917           },
24918           "additionalProperties": false
24919         },
24920         "StorageAttachmentResult": {
24921           "type": "object",
24922           "properties": {
24923             "error": {
24924               "$ref": "#/definitions/Error"
24925             },
24926             "result": {
24927               "$ref": "#/definitions/StorageAttachment"
24928             }
24929           },
24930           "additionalProperties": false,
24931           "required": [
24932             "result"
24933           ]
24934         },
24935         "StorageAttachmentResults": {
24936           "type": "object",
24937           "properties": {
24938             "results": {
24939               "type": "array",
24940               "items": {
24941                 "$ref": "#/definitions/StorageAttachmentResult"
24942               }
24943             }
24944           },
24945           "additionalProperties": false
24946         },
24947         "StorageConstraints": {
24948           "type": "object",
24949           "properties": {
24950             "count": {
24951               "type": "integer"
24952             },
24953             "pool": {
24954               "type": "string"
24955             },
24956             "size": {
24957               "type": "integer"
24958             }
24959           },
24960           "additionalProperties": false
24961         },
24962         "StoragesAddParams": {
24963           "type": "object",
24964           "properties": {
24965             "storages": {
24966               "type": "array",
24967               "items": {
24968                 "$ref": "#/definitions/StorageAddParams"
24969               }
24970             }
24971           },
24972           "additionalProperties": false,
24973           "required": [
24974             "storages"
24975           ]
24976         },
24977         "StringBoolResult": {
24978           "type": "object",
24979           "properties": {
24980             "error": {
24981               "$ref": "#/definitions/Error"
24982             },
24983             "ok": {
24984               "type": "boolean"
24985             },
24986             "result": {
24987               "type": "string"
24988             }
24989           },
24990           "additionalProperties": false,
24991           "required": [
24992             "result",
24993             "ok"
24994           ]
24995         },
24996         "StringBoolResults": {
24997           "type": "object",
24998           "properties": {
24999             "results": {
25000               "type": "array",
25001               "items": {
25002                 "$ref": "#/definitions/StringBoolResult"
25003               }
25004             }
25005           },
25006           "additionalProperties": false,
25007           "required": [
25008             "results"
25009           ]
25010         },
25011         "StringResult": {
25012           "type": "object",
25013           "properties": {
25014             "error": {
25015               "$ref": "#/definitions/Error"
25016             },
25017             "result": {
25018               "type": "string"
25019             }
25020           },
25021           "additionalProperties": false,
25022           "required": [
25023             "result"
25024           ]
25025         },
25026         "StringResults": {
25027           "type": "object",
25028           "properties": {
25029             "results": {
25030               "type": "array",
25031               "items": {
25032                 "$ref": "#/definitions/StringResult"
25033               }
25034             }
25035           },
25036           "additionalProperties": false,
25037           "required": [
25038             "results"
25039           ]
25040         },
25041         "StringsResult": {
25042           "type": "object",
25043           "properties": {
25044             "error": {
25045               "$ref": "#/definitions/Error"
25046             },
25047             "result": {
25048               "type": "array",
25049               "items": {
25050                 "type": "string"
25051               }
25052             }
25053           },
25054           "additionalProperties": false
25055         },
25056         "StringsResults": {
25057           "type": "object",
25058           "properties": {
25059             "results": {
25060               "type": "array",
25061               "items": {
25062                 "$ref": "#/definitions/StringsResult"
25063               }
25064             }
25065           },
25066           "additionalProperties": false,
25067           "required": [
25068             "results"
25069           ]
25070         },
25071         "StringsWatchResult": {
25072           "type": "object",
25073           "properties": {
25074             "changes": {
25075               "type": "array",
25076               "items": {
25077                 "type": "string"
25078               }
25079             },
25080             "error": {
25081               "$ref": "#/definitions/Error"
25082             },
25083             "watcher-id": {
25084               "type": "string"
25085             }
25086           },
25087           "additionalProperties": false,
25088           "required": [
25089             "watcher-id"
25090           ]
25091         },
25092         "StringsWatchResults": {
25093           "type": "object",
25094           "properties": {
25095             "results": {
25096               "type": "array",
25097               "items": {
25098                 "$ref": "#/definitions/StringsWatchResult"
25099               }
25100             }
25101           },
25102           "additionalProperties": false,
25103           "required": [
25104             "results"
25105           ]
25106         },
25107         "UnitNetworkConfig": {
25108           "type": "object",
25109           "properties": {
25110             "binding-name": {
25111               "type": "string"
25112             },
25113             "unit-tag": {
25114               "type": "string"
25115             }
25116           },
25117           "additionalProperties": false,
25118           "required": [
25119             "unit-tag",
25120             "binding-name"
25121           ]
25122         },
25123         "UnitNetworkConfigResult": {
25124           "type": "object",
25125           "properties": {
25126             "error": {
25127               "$ref": "#/definitions/Error"
25128             },
25129             "info": {
25130               "type": "array",
25131               "items": {
25132                 "$ref": "#/definitions/NetworkConfig"
25133               }
25134             }
25135           },
25136           "additionalProperties": false,
25137           "required": [
25138             "info"
25139           ]
25140         },
25141         "UnitNetworkConfigResults": {
25142           "type": "object",
25143           "properties": {
25144             "results": {
25145               "type": "array",
25146               "items": {
25147                 "$ref": "#/definitions/UnitNetworkConfigResult"
25148               }
25149             }
25150           },
25151           "additionalProperties": false,
25152           "required": [
25153             "results"
25154           ]
25155         },
25156         "UnitSettings": {
25157           "type": "object",
25158           "properties": {
25159             "version": {
25160               "type": "integer"
25161             }
25162           },
25163           "additionalProperties": false,
25164           "required": [
25165             "version"
25166           ]
25167         },
25168         "UnitsNetworkConfig": {
25169           "type": "object",
25170           "properties": {
25171             "args": {
25172               "type": "array",
25173               "items": {
25174                 "$ref": "#/definitions/UnitNetworkConfig"
25175               }
25176             }
25177           },
25178           "additionalProperties": false,
25179           "required": [
25180             "args"
25181           ]
25182         }
25183       }
25184     }
25185   },
25186   {
25187     "Name": "Upgrader",
25188     "Version": 1,
25189     "Schema": {
25190       "type": "object",
25191       "properties": {
25192         "DesiredVersion": {
25193           "type": "object",
25194           "properties": {
25195             "Params": {
25196               "$ref": "#/definitions/Entities"
25197             },
25198             "Result": {
25199               "$ref": "#/definitions/VersionResults"
25200             }
25201           }
25202         },
25203         "SetTools": {
25204           "type": "object",
25205           "properties": {
25206             "Params": {
25207               "$ref": "#/definitions/EntitiesVersion"
25208             },
25209             "Result": {
25210               "$ref": "#/definitions/ErrorResults"
25211             }
25212           }
25213         },
25214         "Tools": {
25215           "type": "object",
25216           "properties": {
25217             "Params": {
25218               "$ref": "#/definitions/Entities"
25219             },
25220             "Result": {
25221               "$ref": "#/definitions/ToolsResults"
25222             }
25223           }
25224         },
25225         "WatchAPIVersion": {
25226           "type": "object",
25227           "properties": {
25228             "Params": {
25229               "$ref": "#/definitions/Entities"
25230             },
25231             "Result": {
25232               "$ref": "#/definitions/NotifyWatchResults"
25233             }
25234           }
25235         }
25236       },
25237       "definitions": {
25238         "Binary": {
25239           "type": "object",
25240           "properties": {
25241             "Arch": {
25242               "type": "string"
25243             },
25244             "Number": {
25245               "$ref": "#/definitions/Number"
25246             },
25247             "Series": {
25248               "type": "string"
25249             }
25250           },
25251           "additionalProperties": false,
25252           "required": [
25253             "Number",
25254             "Series",
25255             "Arch"
25256           ]
25257         },
25258         "Entities": {
25259           "type": "object",
25260           "properties": {
25261             "entities": {
25262               "type": "array",
25263               "items": {
25264                 "$ref": "#/definitions/Entity"
25265               }
25266             }
25267           },
25268           "additionalProperties": false,
25269           "required": [
25270             "entities"
25271           ]
25272         },
25273         "EntitiesVersion": {
25274           "type": "object",
25275           "properties": {
25276             "agent-tools": {
25277               "type": "array",
25278               "items": {
25279                 "$ref": "#/definitions/EntityVersion"
25280               }
25281             }
25282           },
25283           "additionalProperties": false,
25284           "required": [
25285             "agent-tools"
25286           ]
25287         },
25288         "Entity": {
25289           "type": "object",
25290           "properties": {
25291             "tag": {
25292               "type": "string"
25293             }
25294           },
25295           "additionalProperties": false,
25296           "required": [
25297             "tag"
25298           ]
25299         },
25300         "EntityVersion": {
25301           "type": "object",
25302           "properties": {
25303             "tag": {
25304               "type": "string"
25305             },
25306             "tools": {
25307               "$ref": "#/definitions/Version"
25308             }
25309           },
25310           "additionalProperties": false,
25311           "required": [
25312             "tag",
25313             "tools"
25314           ]
25315         },
25316         "Error": {
25317           "type": "object",
25318           "properties": {
25319             "code": {
25320               "type": "string"
25321             },
25322             "info": {
25323               "$ref": "#/definitions/ErrorInfo"
25324             },
25325             "message": {
25326               "type": "string"
25327             }
25328           },
25329           "additionalProperties": false,
25330           "required": [
25331             "message",
25332             "code"
25333           ]
25334         },
25335         "ErrorInfo": {
25336           "type": "object",
25337           "properties": {
25338             "macaroon": {
25339               "$ref": "#/definitions/Macaroon"
25340             },
25341             "macaroon-path": {
25342               "type": "string"
25343             }
25344           },
25345           "additionalProperties": false
25346         },
25347         "ErrorResult": {
25348           "type": "object",
25349           "properties": {
25350             "error": {
25351               "$ref": "#/definitions/Error"
25352             }
25353           },
25354           "additionalProperties": false
25355         },
25356         "ErrorResults": {
25357           "type": "object",
25358           "properties": {
25359             "results": {
25360               "type": "array",
25361               "items": {
25362                 "$ref": "#/definitions/ErrorResult"
25363               }
25364             }
25365           },
25366           "additionalProperties": false,
25367           "required": [
25368             "results"
25369           ]
25370         },
25371         "Macaroon": {
25372           "type": "object",
25373           "additionalProperties": false
25374         },
25375         "NotifyWatchResult": {
25376           "type": "object",
25377           "properties": {
25378             "NotifyWatcherId": {
25379               "type": "string"
25380             },
25381             "error": {
25382               "$ref": "#/definitions/Error"
25383             }
25384           },
25385           "additionalProperties": false,
25386           "required": [
25387             "NotifyWatcherId"
25388           ]
25389         },
25390         "NotifyWatchResults": {
25391           "type": "object",
25392           "properties": {
25393             "results": {
25394               "type": "array",
25395               "items": {
25396                 "$ref": "#/definitions/NotifyWatchResult"
25397               }
25398             }
25399           },
25400           "additionalProperties": false,
25401           "required": [
25402             "results"
25403           ]
25404         },
25405         "Number": {
25406           "type": "object",
25407           "properties": {
25408             "Build": {
25409               "type": "integer"
25410             },
25411             "Major": {
25412               "type": "integer"
25413             },
25414             "Minor": {
25415               "type": "integer"
25416             },
25417             "Patch": {
25418               "type": "integer"
25419             },
25420             "Tag": {
25421               "type": "string"
25422             }
25423           },
25424           "additionalProperties": false,
25425           "required": [
25426             "Major",
25427             "Minor",
25428             "Tag",
25429             "Patch",
25430             "Build"
25431           ]
25432         },
25433         "Tools": {
25434           "type": "object",
25435           "properties": {
25436             "sha256": {
25437               "type": "string"
25438             },
25439             "size": {
25440               "type": "integer"
25441             },
25442             "url": {
25443               "type": "string"
25444             },
25445             "version": {
25446               "$ref": "#/definitions/Binary"
25447             }
25448           },
25449           "additionalProperties": false,
25450           "required": [
25451             "version",
25452             "url",
25453             "size"
25454           ]
25455         },
25456         "ToolsResult": {
25457           "type": "object",
25458           "properties": {
25459             "disable-ssl-hostname-verification": {
25460               "type": "boolean"
25461             },
25462             "error": {
25463               "$ref": "#/definitions/Error"
25464             },
25465             "tools": {
25466               "type": "array",
25467               "items": {
25468                 "$ref": "#/definitions/Tools"
25469               }
25470             }
25471           },
25472           "additionalProperties": false,
25473           "required": [
25474             "tools",
25475             "disable-ssl-hostname-verification"
25476           ]
25477         },
25478         "ToolsResults": {
25479           "type": "object",
25480           "properties": {
25481             "results": {
25482               "type": "array",
25483               "items": {
25484                 "$ref": "#/definitions/ToolsResult"
25485               }
25486             }
25487           },
25488           "additionalProperties": false,
25489           "required": [
25490             "results"
25491           ]
25492         },
25493         "Version": {
25494           "type": "object",
25495           "properties": {
25496             "version": {
25497               "$ref": "#/definitions/Binary"
25498             }
25499           },
25500           "additionalProperties": false,
25501           "required": [
25502             "version"
25503           ]
25504         },
25505         "VersionResult": {
25506           "type": "object",
25507           "properties": {
25508             "error": {
25509               "$ref": "#/definitions/Error"
25510             },
25511             "version": {
25512               "$ref": "#/definitions/Number"
25513             }
25514           },
25515           "additionalProperties": false
25516         },
25517         "VersionResults": {
25518           "type": "object",
25519           "properties": {
25520             "results": {
25521               "type": "array",
25522               "items": {
25523                 "$ref": "#/definitions/VersionResult"
25524               }
25525             }
25526           },
25527           "additionalProperties": false,
25528           "required": [
25529             "results"
25530           ]
25531         }
25532       }
25533     }
25534   },
25535   {
25536     "Name": "UserManager",
25537     "Version": 1,
25538     "Schema": {
25539       "type": "object",
25540       "properties": {
25541         "AddUser": {
25542           "type": "object",
25543           "properties": {
25544             "Params": {
25545               "$ref": "#/definitions/AddUsers"
25546             },
25547             "Result": {
25548               "$ref": "#/definitions/AddUserResults"
25549             }
25550           }
25551         },
25552         "DisableUser": {
25553           "type": "object",
25554           "properties": {
25555             "Params": {
25556               "$ref": "#/definitions/Entities"
25557             },
25558             "Result": {
25559               "$ref": "#/definitions/ErrorResults"
25560             }
25561           }
25562         },
25563         "EnableUser": {
25564           "type": "object",
25565           "properties": {
25566             "Params": {
25567               "$ref": "#/definitions/Entities"
25568             },
25569             "Result": {
25570               "$ref": "#/definitions/ErrorResults"
25571             }
25572           }
25573         },
25574         "RemoveUser": {
25575           "type": "object",
25576           "properties": {
25577             "Params": {
25578               "$ref": "#/definitions/Entities"
25579             },
25580             "Result": {
25581               "$ref": "#/definitions/ErrorResults"
25582             }
25583           }
25584         },
25585         "SetPassword": {
25586           "type": "object",
25587           "properties": {
25588             "Params": {
25589               "$ref": "#/definitions/EntityPasswords"
25590             },
25591             "Result": {
25592               "$ref": "#/definitions/ErrorResults"
25593             }
25594           }
25595         },
25596         "UserInfo": {
25597           "type": "object",
25598           "properties": {
25599             "Params": {
25600               "$ref": "#/definitions/UserInfoRequest"
25601             },
25602             "Result": {
25603               "$ref": "#/definitions/UserInfoResults"
25604             }
25605           }
25606         }
25607       },
25608       "definitions": {
25609         "AddUser": {
25610           "type": "object",
25611           "properties": {
25612             "display-name": {
25613               "type": "string"
25614             },
25615             "password": {
25616               "type": "string"
25617             },
25618             "username": {
25619               "type": "string"
25620             }
25621           },
25622           "additionalProperties": false,
25623           "required": [
25624             "username",
25625             "display-name"
25626           ]
25627         },
25628         "AddUserResult": {
25629           "type": "object",
25630           "properties": {
25631             "error": {
25632               "$ref": "#/definitions/Error"
25633             },
25634             "secret-key": {
25635               "type": "array",
25636               "items": {
25637                 "type": "integer"
25638               }
25639             },
25640             "tag": {
25641               "type": "string"
25642             }
25643           },
25644           "additionalProperties": false
25645         },
25646         "AddUserResults": {
25647           "type": "object",
25648           "properties": {
25649             "results": {
25650               "type": "array",
25651               "items": {
25652                 "$ref": "#/definitions/AddUserResult"
25653               }
25654             }
25655           },
25656           "additionalProperties": false,
25657           "required": [
25658             "results"
25659           ]
25660         },
25661         "AddUsers": {
25662           "type": "object",
25663           "properties": {
25664             "users": {
25665               "type": "array",
25666               "items": {
25667                 "$ref": "#/definitions/AddUser"
25668               }
25669             }
25670           },
25671           "additionalProperties": false,
25672           "required": [
25673             "users"
25674           ]
25675         },
25676         "Entities": {
25677           "type": "object",
25678           "properties": {
25679             "entities": {
25680               "type": "array",
25681               "items": {
25682                 "$ref": "#/definitions/Entity"
25683               }
25684             }
25685           },
25686           "additionalProperties": false,
25687           "required": [
25688             "entities"
25689           ]
25690         },
25691         "Entity": {
25692           "type": "object",
25693           "properties": {
25694             "tag": {
25695               "type": "string"
25696             }
25697           },
25698           "additionalProperties": false,
25699           "required": [
25700             "tag"
25701           ]
25702         },
25703         "EntityPassword": {
25704           "type": "object",
25705           "properties": {
25706             "password": {
25707               "type": "string"
25708             },
25709             "tag": {
25710               "type": "string"
25711             }
25712           },
25713           "additionalProperties": false,
25714           "required": [
25715             "tag",
25716             "password"
25717           ]
25718         },
25719         "EntityPasswords": {
25720           "type": "object",
25721           "properties": {
25722             "changes": {
25723               "type": "array",
25724               "items": {
25725                 "$ref": "#/definitions/EntityPassword"
25726               }
25727             }
25728           },
25729           "additionalProperties": false,
25730           "required": [
25731             "changes"
25732           ]
25733         },
25734         "Error": {
25735           "type": "object",
25736           "properties": {
25737             "code": {
25738               "type": "string"
25739             },
25740             "info": {
25741               "$ref": "#/definitions/ErrorInfo"
25742             },
25743             "message": {
25744               "type": "string"
25745             }
25746           },
25747           "additionalProperties": false,
25748           "required": [
25749             "message",
25750             "code"
25751           ]
25752         },
25753         "ErrorInfo": {
25754           "type": "object",
25755           "properties": {
25756             "macaroon": {
25757               "$ref": "#/definitions/Macaroon"
25758             },
25759             "macaroon-path": {
25760               "type": "string"
25761             }
25762           },
25763           "additionalProperties": false
25764         },
25765         "ErrorResult": {
25766           "type": "object",
25767           "properties": {
25768             "error": {
25769               "$ref": "#/definitions/Error"
25770             }
25771           },
25772           "additionalProperties": false
25773         },
25774         "ErrorResults": {
25775           "type": "object",
25776           "properties": {
25777             "results": {
25778               "type": "array",
25779               "items": {
25780                 "$ref": "#/definitions/ErrorResult"
25781               }
25782             }
25783           },
25784           "additionalProperties": false,
25785           "required": [
25786             "results"
25787           ]
25788         },
25789         "Macaroon": {
25790           "type": "object",
25791           "additionalProperties": false
25792         },
25793         "UserInfo": {
25794           "type": "object",
25795           "properties": {
25796             "access": {
25797               "type": "string"
25798             },
25799             "created-by": {
25800               "type": "string"
25801             },
25802             "date-created": {
25803               "type": "string",
25804               "format": "date-time"
25805             },
25806             "disabled": {
25807               "type": "boolean"
25808             },
25809             "display-name": {
25810               "type": "string"
25811             },
25812             "last-connection": {
25813               "type": "string",
25814               "format": "date-time"
25815             },
25816             "username": {
25817               "type": "string"
25818             }
25819           },
25820           "additionalProperties": false,
25821           "required": [
25822             "username",
25823             "display-name",
25824             "access",
25825             "created-by",
25826             "date-created",
25827             "disabled"
25828           ]
25829         },
25830         "UserInfoRequest": {
25831           "type": "object",
25832           "properties": {
25833             "entities": {
25834               "type": "array",
25835               "items": {
25836                 "$ref": "#/definitions/Entity"
25837               }
25838             },
25839             "include-disabled": {
25840               "type": "boolean"
25841             }
25842           },
25843           "additionalProperties": false,
25844           "required": [
25845             "entities",
25846             "include-disabled"
25847           ]
25848         },
25849         "UserInfoResult": {
25850           "type": "object",
25851           "properties": {
25852             "error": {
25853               "$ref": "#/definitions/Error"
25854             },
25855             "result": {
25856               "$ref": "#/definitions/UserInfo"
25857             }
25858           },
25859           "additionalProperties": false
25860         },
25861         "UserInfoResults": {
25862           "type": "object",
25863           "properties": {
25864             "results": {
25865               "type": "array",
25866               "items": {
25867                 "$ref": "#/definitions/UserInfoResult"
25868               }
25869             }
25870           },
25871           "additionalProperties": false,
25872           "required": [
25873             "results"
25874           ]
25875         }
25876       }
25877     }
25878   },
25879   {
25880     "Name": "VolumeAttachmentsWatcher",
25881     "Version": 2,
25882     "Schema": {
25883       "type": "object",
25884       "properties": {
25885         "Next": {
25886           "type": "object",
25887           "properties": {
25888             "Result": {
25889               "$ref": "#/definitions/MachineStorageIdsWatchResult"
25890             }
25891           }
25892         },
25893         "Stop": {
25894           "type": "object"
25895         }
25896       },
25897       "definitions": {
25898         "Error": {
25899           "type": "object",
25900           "properties": {
25901             "code": {
25902               "type": "string"
25903             },
25904             "info": {
25905               "$ref": "#/definitions/ErrorInfo"
25906             },
25907             "message": {
25908               "type": "string"
25909             }
25910           },
25911           "additionalProperties": false,
25912           "required": [
25913             "message",
25914             "code"
25915           ]
25916         },
25917         "ErrorInfo": {
25918           "type": "object",
25919           "properties": {
25920             "macaroon": {
25921               "$ref": "#/definitions/Macaroon"
25922             },
25923             "macaroon-path": {
25924               "type": "string"
25925             }
25926           },
25927           "additionalProperties": false
25928         },
25929         "Macaroon": {
25930           "type": "object",
25931           "additionalProperties": false
25932         },
25933         "MachineStorageId": {
25934           "type": "object",
25935           "properties": {
25936             "attachment-tag": {
25937               "type": "string"
25938             },
25939             "machine-tag": {
25940               "type": "string"
25941             }
25942           },
25943           "additionalProperties": false,
25944           "required": [
25945             "machine-tag",
25946             "attachment-tag"
25947           ]
25948         },
25949         "MachineStorageIdsWatchResult": {
25950           "type": "object",
25951           "properties": {
25952             "changes": {
25953               "type": "array",
25954               "items": {
25955                 "$ref": "#/definitions/MachineStorageId"
25956               }
25957             },
25958             "error": {
25959               "$ref": "#/definitions/Error"
25960             },
25961             "watcher-id": {
25962               "type": "string"
25963             }
25964           },
25965           "additionalProperties": false,
25966           "required": [
25967             "watcher-id",
25968             "changes"
25969           ]
25970         }
25971       }
25972     }
25973   }
25974 ]