Merge upstream libjuju
[osm/N2VC.git] / modules / libjuju / juju / client / schemas-juju-2.5-rc1.json
1 [
2   {
3     "Name": "Action",
4     "Version": 3,
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": "ActionPruner",
496     "Version": 1,
497     "Schema": {
498       "type": "object",
499       "properties": {
500         "ModelConfig": {
501           "type": "object",
502           "properties": {
503             "Result": {
504               "$ref": "#/definitions/ModelConfigResult"
505             }
506           }
507         },
508         "Prune": {
509           "type": "object",
510           "properties": {
511             "Params": {
512               "$ref": "#/definitions/ActionPruneArgs"
513             }
514           }
515         },
516         "WatchForModelConfigChanges": {
517           "type": "object",
518           "properties": {
519             "Result": {
520               "$ref": "#/definitions/NotifyWatchResult"
521             }
522           }
523         }
524       },
525       "definitions": {
526         "ActionPruneArgs": {
527           "type": "object",
528           "properties": {
529             "max-history-mb": {
530               "type": "integer"
531             },
532             "max-history-time": {
533               "type": "integer"
534             }
535           },
536           "additionalProperties": false,
537           "required": [
538             "max-history-time",
539             "max-history-mb"
540           ]
541         },
542         "Error": {
543           "type": "object",
544           "properties": {
545             "code": {
546               "type": "string"
547             },
548             "info": {
549               "$ref": "#/definitions/ErrorInfo"
550             },
551             "message": {
552               "type": "string"
553             }
554           },
555           "additionalProperties": false,
556           "required": [
557             "message",
558             "code"
559           ]
560         },
561         "ErrorInfo": {
562           "type": "object",
563           "properties": {
564             "macaroon": {
565               "$ref": "#/definitions/Macaroon"
566             },
567             "macaroon-path": {
568               "type": "string"
569             }
570           },
571           "additionalProperties": false
572         },
573         "Macaroon": {
574           "type": "object",
575           "additionalProperties": false
576         },
577         "ModelConfigResult": {
578           "type": "object",
579           "properties": {
580             "config": {
581               "type": "object",
582               "patternProperties": {
583                 ".*": {
584                   "type": "object",
585                   "additionalProperties": true
586                 }
587               }
588             }
589           },
590           "additionalProperties": false,
591           "required": [
592             "config"
593           ]
594         },
595         "NotifyWatchResult": {
596           "type": "object",
597           "properties": {
598             "NotifyWatcherId": {
599               "type": "string"
600             },
601             "error": {
602               "$ref": "#/definitions/Error"
603             }
604           },
605           "additionalProperties": false,
606           "required": [
607             "NotifyWatcherId"
608           ]
609         }
610       }
611     }
612   },
613   {
614     "Name": "Agent",
615     "Version": 2,
616     "Schema": {
617       "type": "object",
618       "properties": {
619         "ClearReboot": {
620           "type": "object",
621           "properties": {
622             "Params": {
623               "$ref": "#/definitions/Entities"
624             },
625             "Result": {
626               "$ref": "#/definitions/ErrorResults"
627             }
628           }
629         },
630         "CloudSpec": {
631           "type": "object",
632           "properties": {
633             "Params": {
634               "$ref": "#/definitions/Entities"
635             },
636             "Result": {
637               "$ref": "#/definitions/CloudSpecResults"
638             }
639           }
640         },
641         "ControllerAPIInfoForModels": {
642           "type": "object",
643           "properties": {
644             "Params": {
645               "$ref": "#/definitions/Entities"
646             },
647             "Result": {
648               "$ref": "#/definitions/ControllerAPIInfoResults"
649             }
650           }
651         },
652         "ControllerConfig": {
653           "type": "object",
654           "properties": {
655             "Result": {
656               "$ref": "#/definitions/ControllerConfigResult"
657             }
658           }
659         },
660         "GetCloudSpec": {
661           "type": "object",
662           "properties": {
663             "Params": {
664               "$ref": "#/definitions/ModelTag"
665             },
666             "Result": {
667               "$ref": "#/definitions/CloudSpecResult"
668             }
669           }
670         },
671         "GetEntities": {
672           "type": "object",
673           "properties": {
674             "Params": {
675               "$ref": "#/definitions/Entities"
676             },
677             "Result": {
678               "$ref": "#/definitions/AgentGetEntitiesResults"
679             }
680           }
681         },
682         "IsMaster": {
683           "type": "object",
684           "properties": {
685             "Result": {
686               "$ref": "#/definitions/IsMasterResult"
687             }
688           }
689         },
690         "ModelConfig": {
691           "type": "object",
692           "properties": {
693             "Result": {
694               "$ref": "#/definitions/ModelConfigResult"
695             }
696           }
697         },
698         "SetPasswords": {
699           "type": "object",
700           "properties": {
701             "Params": {
702               "$ref": "#/definitions/EntityPasswords"
703             },
704             "Result": {
705               "$ref": "#/definitions/ErrorResults"
706             }
707           }
708         },
709         "StateServingInfo": {
710           "type": "object",
711           "properties": {
712             "Result": {
713               "$ref": "#/definitions/StateServingInfo"
714             }
715           }
716         },
717         "WatchCredentials": {
718           "type": "object",
719           "properties": {
720             "Params": {
721               "$ref": "#/definitions/Entities"
722             },
723             "Result": {
724               "$ref": "#/definitions/NotifyWatchResults"
725             }
726           }
727         },
728         "WatchForModelConfigChanges": {
729           "type": "object",
730           "properties": {
731             "Result": {
732               "$ref": "#/definitions/NotifyWatchResult"
733             }
734           }
735         }
736       },
737       "definitions": {
738         "AgentGetEntitiesResult": {
739           "type": "object",
740           "properties": {
741             "container-type": {
742               "type": "string"
743             },
744             "error": {
745               "$ref": "#/definitions/Error"
746             },
747             "jobs": {
748               "type": "array",
749               "items": {
750                 "type": "string"
751               }
752             },
753             "life": {
754               "type": "string"
755             }
756           },
757           "additionalProperties": false,
758           "required": [
759             "life",
760             "jobs",
761             "container-type"
762           ]
763         },
764         "AgentGetEntitiesResults": {
765           "type": "object",
766           "properties": {
767             "entities": {
768               "type": "array",
769               "items": {
770                 "$ref": "#/definitions/AgentGetEntitiesResult"
771               }
772             }
773           },
774           "additionalProperties": false,
775           "required": [
776             "entities"
777           ]
778         },
779         "CloudCredential": {
780           "type": "object",
781           "properties": {
782             "attrs": {
783               "type": "object",
784               "patternProperties": {
785                 ".*": {
786                   "type": "string"
787                 }
788               }
789             },
790             "auth-type": {
791               "type": "string"
792             },
793             "redacted": {
794               "type": "array",
795               "items": {
796                 "type": "string"
797               }
798             }
799           },
800           "additionalProperties": false,
801           "required": [
802             "auth-type"
803           ]
804         },
805         "CloudSpec": {
806           "type": "object",
807           "properties": {
808             "cacertificates": {
809               "type": "array",
810               "items": {
811                 "type": "string"
812               }
813             },
814             "credential": {
815               "$ref": "#/definitions/CloudCredential"
816             },
817             "endpoint": {
818               "type": "string"
819             },
820             "identity-endpoint": {
821               "type": "string"
822             },
823             "name": {
824               "type": "string"
825             },
826             "region": {
827               "type": "string"
828             },
829             "storage-endpoint": {
830               "type": "string"
831             },
832             "type": {
833               "type": "string"
834             }
835           },
836           "additionalProperties": false,
837           "required": [
838             "type",
839             "name"
840           ]
841         },
842         "CloudSpecResult": {
843           "type": "object",
844           "properties": {
845             "error": {
846               "$ref": "#/definitions/Error"
847             },
848             "result": {
849               "$ref": "#/definitions/CloudSpec"
850             }
851           },
852           "additionalProperties": false
853         },
854         "CloudSpecResults": {
855           "type": "object",
856           "properties": {
857             "results": {
858               "type": "array",
859               "items": {
860                 "$ref": "#/definitions/CloudSpecResult"
861               }
862             }
863           },
864           "additionalProperties": false
865         },
866         "ControllerAPIInfoResult": {
867           "type": "object",
868           "properties": {
869             "addresses": {
870               "type": "array",
871               "items": {
872                 "type": "string"
873               }
874             },
875             "cacert": {
876               "type": "string"
877             },
878             "error": {
879               "$ref": "#/definitions/Error"
880             }
881           },
882           "additionalProperties": false,
883           "required": [
884             "addresses",
885             "cacert"
886           ]
887         },
888         "ControllerAPIInfoResults": {
889           "type": "object",
890           "properties": {
891             "results": {
892               "type": "array",
893               "items": {
894                 "$ref": "#/definitions/ControllerAPIInfoResult"
895               }
896             }
897           },
898           "additionalProperties": false,
899           "required": [
900             "results"
901           ]
902         },
903         "ControllerConfigResult": {
904           "type": "object",
905           "properties": {
906             "config": {
907               "type": "object",
908               "patternProperties": {
909                 ".*": {
910                   "type": "object",
911                   "additionalProperties": true
912                 }
913               }
914             }
915           },
916           "additionalProperties": false,
917           "required": [
918             "config"
919           ]
920         },
921         "Entities": {
922           "type": "object",
923           "properties": {
924             "entities": {
925               "type": "array",
926               "items": {
927                 "$ref": "#/definitions/Entity"
928               }
929             }
930           },
931           "additionalProperties": false,
932           "required": [
933             "entities"
934           ]
935         },
936         "Entity": {
937           "type": "object",
938           "properties": {
939             "tag": {
940               "type": "string"
941             }
942           },
943           "additionalProperties": false,
944           "required": [
945             "tag"
946           ]
947         },
948         "EntityPassword": {
949           "type": "object",
950           "properties": {
951             "password": {
952               "type": "string"
953             },
954             "tag": {
955               "type": "string"
956             }
957           },
958           "additionalProperties": false,
959           "required": [
960             "tag",
961             "password"
962           ]
963         },
964         "EntityPasswords": {
965           "type": "object",
966           "properties": {
967             "changes": {
968               "type": "array",
969               "items": {
970                 "$ref": "#/definitions/EntityPassword"
971               }
972             }
973           },
974           "additionalProperties": false,
975           "required": [
976             "changes"
977           ]
978         },
979         "Error": {
980           "type": "object",
981           "properties": {
982             "code": {
983               "type": "string"
984             },
985             "info": {
986               "$ref": "#/definitions/ErrorInfo"
987             },
988             "message": {
989               "type": "string"
990             }
991           },
992           "additionalProperties": false,
993           "required": [
994             "message",
995             "code"
996           ]
997         },
998         "ErrorInfo": {
999           "type": "object",
1000           "properties": {
1001             "macaroon": {
1002               "$ref": "#/definitions/Macaroon"
1003             },
1004             "macaroon-path": {
1005               "type": "string"
1006             }
1007           },
1008           "additionalProperties": false
1009         },
1010         "ErrorResult": {
1011           "type": "object",
1012           "properties": {
1013             "error": {
1014               "$ref": "#/definitions/Error"
1015             }
1016           },
1017           "additionalProperties": false
1018         },
1019         "ErrorResults": {
1020           "type": "object",
1021           "properties": {
1022             "results": {
1023               "type": "array",
1024               "items": {
1025                 "$ref": "#/definitions/ErrorResult"
1026               }
1027             }
1028           },
1029           "additionalProperties": false,
1030           "required": [
1031             "results"
1032           ]
1033         },
1034         "IsMasterResult": {
1035           "type": "object",
1036           "properties": {
1037             "master": {
1038               "type": "boolean"
1039             }
1040           },
1041           "additionalProperties": false,
1042           "required": [
1043             "master"
1044           ]
1045         },
1046         "Macaroon": {
1047           "type": "object",
1048           "additionalProperties": false
1049         },
1050         "ModelConfigResult": {
1051           "type": "object",
1052           "properties": {
1053             "config": {
1054               "type": "object",
1055               "patternProperties": {
1056                 ".*": {
1057                   "type": "object",
1058                   "additionalProperties": true
1059                 }
1060               }
1061             }
1062           },
1063           "additionalProperties": false,
1064           "required": [
1065             "config"
1066           ]
1067         },
1068         "ModelTag": {
1069           "type": "object",
1070           "additionalProperties": false
1071         },
1072         "NotifyWatchResult": {
1073           "type": "object",
1074           "properties": {
1075             "NotifyWatcherId": {
1076               "type": "string"
1077             },
1078             "error": {
1079               "$ref": "#/definitions/Error"
1080             }
1081           },
1082           "additionalProperties": false,
1083           "required": [
1084             "NotifyWatcherId"
1085           ]
1086         },
1087         "NotifyWatchResults": {
1088           "type": "object",
1089           "properties": {
1090             "results": {
1091               "type": "array",
1092               "items": {
1093                 "$ref": "#/definitions/NotifyWatchResult"
1094               }
1095             }
1096           },
1097           "additionalProperties": false,
1098           "required": [
1099             "results"
1100           ]
1101         },
1102         "StateServingInfo": {
1103           "type": "object",
1104           "properties": {
1105             "api-port": {
1106               "type": "integer"
1107             },
1108             "ca-private-key": {
1109               "type": "string"
1110             },
1111             "cert": {
1112               "type": "string"
1113             },
1114             "controller-api-port": {
1115               "type": "integer"
1116             },
1117             "private-key": {
1118               "type": "string"
1119             },
1120             "shared-secret": {
1121               "type": "string"
1122             },
1123             "state-port": {
1124               "type": "integer"
1125             },
1126             "system-identity": {
1127               "type": "string"
1128             }
1129           },
1130           "additionalProperties": false,
1131           "required": [
1132             "api-port",
1133             "state-port",
1134             "cert",
1135             "private-key",
1136             "ca-private-key",
1137             "shared-secret",
1138             "system-identity"
1139           ]
1140         }
1141       }
1142     }
1143   },
1144   {
1145     "Name": "AgentTools",
1146     "Version": 1,
1147     "Schema": {
1148       "type": "object",
1149       "properties": {
1150         "UpdateToolsAvailable": {
1151           "type": "object"
1152         }
1153       }
1154     }
1155   },
1156   {
1157     "Name": "AllModelWatcher",
1158     "Version": 2,
1159     "Schema": {
1160       "type": "object",
1161       "properties": {
1162         "Next": {
1163           "type": "object",
1164           "properties": {
1165             "Result": {
1166               "$ref": "#/definitions/AllWatcherNextResults"
1167             }
1168           }
1169         },
1170         "Stop": {
1171           "type": "object"
1172         }
1173       },
1174       "definitions": {
1175         "AllWatcherNextResults": {
1176           "type": "object",
1177           "properties": {
1178             "deltas": {
1179               "type": "array",
1180               "items": {
1181                 "$ref": "#/definitions/Delta"
1182               }
1183             }
1184           },
1185           "additionalProperties": false,
1186           "required": [
1187             "deltas"
1188           ]
1189         },
1190         "Delta": {
1191           "type": "object",
1192           "properties": {
1193             "entity": {
1194               "type": "object",
1195               "additionalProperties": true
1196             },
1197             "removed": {
1198               "type": "boolean"
1199             }
1200           },
1201           "additionalProperties": false,
1202           "required": [
1203             "removed",
1204             "entity"
1205           ]
1206         }
1207       }
1208     }
1209   },
1210   {
1211     "Name": "AllWatcher",
1212     "Version": 1,
1213     "Schema": {
1214       "type": "object",
1215       "properties": {
1216         "Next": {
1217           "type": "object",
1218           "properties": {
1219             "Result": {
1220               "$ref": "#/definitions/AllWatcherNextResults"
1221             }
1222           }
1223         },
1224         "Stop": {
1225           "type": "object"
1226         }
1227       },
1228       "definitions": {
1229         "AllWatcherNextResults": {
1230           "type": "object",
1231           "properties": {
1232             "deltas": {
1233               "type": "array",
1234               "items": {
1235                 "$ref": "#/definitions/Delta"
1236               }
1237             }
1238           },
1239           "additionalProperties": false,
1240           "required": [
1241             "deltas"
1242           ]
1243         },
1244         "Delta": {
1245           "type": "object",
1246           "properties": {
1247             "entity": {
1248               "type": "object",
1249               "additionalProperties": true
1250             },
1251             "removed": {
1252               "type": "boolean"
1253             }
1254           },
1255           "additionalProperties": false,
1256           "required": [
1257             "removed",
1258             "entity"
1259           ]
1260         }
1261       }
1262     }
1263   },
1264   {
1265     "Name": "Annotations",
1266     "Version": 2,
1267     "Schema": {
1268       "type": "object",
1269       "properties": {
1270         "Get": {
1271           "type": "object",
1272           "properties": {
1273             "Params": {
1274               "$ref": "#/definitions/Entities"
1275             },
1276             "Result": {
1277               "$ref": "#/definitions/AnnotationsGetResults"
1278             }
1279           }
1280         },
1281         "Set": {
1282           "type": "object",
1283           "properties": {
1284             "Params": {
1285               "$ref": "#/definitions/AnnotationsSet"
1286             },
1287             "Result": {
1288               "$ref": "#/definitions/ErrorResults"
1289             }
1290           }
1291         }
1292       },
1293       "definitions": {
1294         "AnnotationsGetResult": {
1295           "type": "object",
1296           "properties": {
1297             "annotations": {
1298               "type": "object",
1299               "patternProperties": {
1300                 ".*": {
1301                   "type": "string"
1302                 }
1303               }
1304             },
1305             "entity": {
1306               "type": "string"
1307             },
1308             "error": {
1309               "$ref": "#/definitions/ErrorResult"
1310             }
1311           },
1312           "additionalProperties": false,
1313           "required": [
1314             "entity",
1315             "annotations"
1316           ]
1317         },
1318         "AnnotationsGetResults": {
1319           "type": "object",
1320           "properties": {
1321             "results": {
1322               "type": "array",
1323               "items": {
1324                 "$ref": "#/definitions/AnnotationsGetResult"
1325               }
1326             }
1327           },
1328           "additionalProperties": false,
1329           "required": [
1330             "results"
1331           ]
1332         },
1333         "AnnotationsSet": {
1334           "type": "object",
1335           "properties": {
1336             "annotations": {
1337               "type": "array",
1338               "items": {
1339                 "$ref": "#/definitions/EntityAnnotations"
1340               }
1341             }
1342           },
1343           "additionalProperties": false,
1344           "required": [
1345             "annotations"
1346           ]
1347         },
1348         "Entities": {
1349           "type": "object",
1350           "properties": {
1351             "entities": {
1352               "type": "array",
1353               "items": {
1354                 "$ref": "#/definitions/Entity"
1355               }
1356             }
1357           },
1358           "additionalProperties": false,
1359           "required": [
1360             "entities"
1361           ]
1362         },
1363         "Entity": {
1364           "type": "object",
1365           "properties": {
1366             "tag": {
1367               "type": "string"
1368             }
1369           },
1370           "additionalProperties": false,
1371           "required": [
1372             "tag"
1373           ]
1374         },
1375         "EntityAnnotations": {
1376           "type": "object",
1377           "properties": {
1378             "annotations": {
1379               "type": "object",
1380               "patternProperties": {
1381                 ".*": {
1382                   "type": "string"
1383                 }
1384               }
1385             },
1386             "entity": {
1387               "type": "string"
1388             }
1389           },
1390           "additionalProperties": false,
1391           "required": [
1392             "entity",
1393             "annotations"
1394           ]
1395         },
1396         "Error": {
1397           "type": "object",
1398           "properties": {
1399             "code": {
1400               "type": "string"
1401             },
1402             "info": {
1403               "$ref": "#/definitions/ErrorInfo"
1404             },
1405             "message": {
1406               "type": "string"
1407             }
1408           },
1409           "additionalProperties": false,
1410           "required": [
1411             "message",
1412             "code"
1413           ]
1414         },
1415         "ErrorInfo": {
1416           "type": "object",
1417           "properties": {
1418             "macaroon": {
1419               "$ref": "#/definitions/Macaroon"
1420             },
1421             "macaroon-path": {
1422               "type": "string"
1423             }
1424           },
1425           "additionalProperties": false
1426         },
1427         "ErrorResult": {
1428           "type": "object",
1429           "properties": {
1430             "error": {
1431               "$ref": "#/definitions/Error"
1432             }
1433           },
1434           "additionalProperties": false
1435         },
1436         "ErrorResults": {
1437           "type": "object",
1438           "properties": {
1439             "results": {
1440               "type": "array",
1441               "items": {
1442                 "$ref": "#/definitions/ErrorResult"
1443               }
1444             }
1445           },
1446           "additionalProperties": false,
1447           "required": [
1448             "results"
1449           ]
1450         },
1451         "Macaroon": {
1452           "type": "object",
1453           "additionalProperties": false
1454         }
1455       }
1456     }
1457   },
1458   {
1459     "Name": "Application",
1460     "Version": 8,
1461     "Schema": {
1462       "type": "object",
1463       "properties": {
1464         "AddRelation": {
1465           "type": "object",
1466           "properties": {
1467             "Params": {
1468               "$ref": "#/definitions/AddRelation"
1469             },
1470             "Result": {
1471               "$ref": "#/definitions/AddRelationResults"
1472             }
1473           }
1474         },
1475         "AddUnits": {
1476           "type": "object",
1477           "properties": {
1478             "Params": {
1479               "$ref": "#/definitions/AddApplicationUnits"
1480             },
1481             "Result": {
1482               "$ref": "#/definitions/AddApplicationUnitsResults"
1483             }
1484           }
1485         },
1486         "CharmConfig": {
1487           "type": "object",
1488           "properties": {
1489             "Params": {
1490               "$ref": "#/definitions/Entities"
1491             },
1492             "Result": {
1493               "$ref": "#/definitions/ApplicationGetConfigResults"
1494             }
1495           }
1496         },
1497         "CharmRelations": {
1498           "type": "object",
1499           "properties": {
1500             "Params": {
1501               "$ref": "#/definitions/ApplicationCharmRelations"
1502             },
1503             "Result": {
1504               "$ref": "#/definitions/ApplicationCharmRelationsResults"
1505             }
1506           }
1507         },
1508         "Consume": {
1509           "type": "object",
1510           "properties": {
1511             "Params": {
1512               "$ref": "#/definitions/ConsumeApplicationArgs"
1513             },
1514             "Result": {
1515               "$ref": "#/definitions/ErrorResults"
1516             }
1517           }
1518         },
1519         "Deploy": {
1520           "type": "object",
1521           "properties": {
1522             "Params": {
1523               "$ref": "#/definitions/ApplicationsDeploy"
1524             },
1525             "Result": {
1526               "$ref": "#/definitions/ErrorResults"
1527             }
1528           }
1529         },
1530         "Destroy": {
1531           "type": "object",
1532           "properties": {
1533             "Params": {
1534               "$ref": "#/definitions/ApplicationDestroy"
1535             }
1536           }
1537         },
1538         "DestroyApplication": {
1539           "type": "object",
1540           "properties": {
1541             "Params": {
1542               "$ref": "#/definitions/DestroyApplicationsParams"
1543             },
1544             "Result": {
1545               "$ref": "#/definitions/DestroyApplicationResults"
1546             }
1547           }
1548         },
1549         "DestroyConsumedApplications": {
1550           "type": "object",
1551           "properties": {
1552             "Params": {
1553               "$ref": "#/definitions/DestroyConsumedApplicationsParams"
1554             },
1555             "Result": {
1556               "$ref": "#/definitions/ErrorResults"
1557             }
1558           }
1559         },
1560         "DestroyRelation": {
1561           "type": "object",
1562           "properties": {
1563             "Params": {
1564               "$ref": "#/definitions/DestroyRelation"
1565             }
1566           }
1567         },
1568         "DestroyUnit": {
1569           "type": "object",
1570           "properties": {
1571             "Params": {
1572               "$ref": "#/definitions/DestroyUnitsParams"
1573             },
1574             "Result": {
1575               "$ref": "#/definitions/DestroyUnitResults"
1576             }
1577           }
1578         },
1579         "DestroyUnits": {
1580           "type": "object",
1581           "properties": {
1582             "Params": {
1583               "$ref": "#/definitions/DestroyApplicationUnits"
1584             }
1585           }
1586         },
1587         "Expose": {
1588           "type": "object",
1589           "properties": {
1590             "Params": {
1591               "$ref": "#/definitions/ApplicationExpose"
1592             }
1593           }
1594         },
1595         "Get": {
1596           "type": "object",
1597           "properties": {
1598             "Params": {
1599               "$ref": "#/definitions/ApplicationGet"
1600             },
1601             "Result": {
1602               "$ref": "#/definitions/ApplicationGetResults"
1603             }
1604           }
1605         },
1606         "GetCharmURL": {
1607           "type": "object",
1608           "properties": {
1609             "Params": {
1610               "$ref": "#/definitions/ApplicationGet"
1611             },
1612             "Result": {
1613               "$ref": "#/definitions/StringResult"
1614             }
1615           }
1616         },
1617         "GetConfig": {
1618           "type": "object",
1619           "properties": {
1620             "Params": {
1621               "$ref": "#/definitions/Entities"
1622             },
1623             "Result": {
1624               "$ref": "#/definitions/ApplicationGetConfigResults"
1625             }
1626           }
1627         },
1628         "GetConstraints": {
1629           "type": "object",
1630           "properties": {
1631             "Params": {
1632               "$ref": "#/definitions/Entities"
1633             },
1634             "Result": {
1635               "$ref": "#/definitions/ApplicationGetConstraintsResults"
1636             }
1637           }
1638         },
1639         "GetLXDProfileUpgradeMessages": {
1640           "type": "object",
1641           "properties": {
1642             "Params": {
1643               "$ref": "#/definitions/LXDProfileUpgradeMessages"
1644             },
1645             "Result": {
1646               "$ref": "#/definitions/LXDProfileUpgradeMessagesResults"
1647             }
1648           }
1649         },
1650         "ResolveUnitErrors": {
1651           "type": "object",
1652           "properties": {
1653             "Params": {
1654               "$ref": "#/definitions/UnitsResolved"
1655             },
1656             "Result": {
1657               "$ref": "#/definitions/ErrorResults"
1658             }
1659           }
1660         },
1661         "ScaleApplications": {
1662           "type": "object",
1663           "properties": {
1664             "Params": {
1665               "$ref": "#/definitions/ScaleApplicationsParams"
1666             },
1667             "Result": {
1668               "$ref": "#/definitions/ScaleApplicationResults"
1669             }
1670           }
1671         },
1672         "Set": {
1673           "type": "object",
1674           "properties": {
1675             "Params": {
1676               "$ref": "#/definitions/ApplicationSet"
1677             }
1678           }
1679         },
1680         "SetApplicationsConfig": {
1681           "type": "object",
1682           "properties": {
1683             "Params": {
1684               "$ref": "#/definitions/ApplicationConfigSetArgs"
1685             },
1686             "Result": {
1687               "$ref": "#/definitions/ErrorResults"
1688             }
1689           }
1690         },
1691         "SetCharm": {
1692           "type": "object",
1693           "properties": {
1694             "Params": {
1695               "$ref": "#/definitions/ApplicationSetCharm"
1696             }
1697           }
1698         },
1699         "SetCharmProfile": {
1700           "type": "object",
1701           "properties": {
1702             "Params": {
1703               "$ref": "#/definitions/ApplicationSetCharmProfile"
1704             }
1705           }
1706         },
1707         "SetConstraints": {
1708           "type": "object",
1709           "properties": {
1710             "Params": {
1711               "$ref": "#/definitions/SetConstraints"
1712             }
1713           }
1714         },
1715         "SetMetricCredentials": {
1716           "type": "object",
1717           "properties": {
1718             "Params": {
1719               "$ref": "#/definitions/ApplicationMetricCredentials"
1720             },
1721             "Result": {
1722               "$ref": "#/definitions/ErrorResults"
1723             }
1724           }
1725         },
1726         "SetRelationsSuspended": {
1727           "type": "object",
1728           "properties": {
1729             "Params": {
1730               "$ref": "#/definitions/RelationSuspendedArgs"
1731             },
1732             "Result": {
1733               "$ref": "#/definitions/ErrorResults"
1734             }
1735           }
1736         },
1737         "Unexpose": {
1738           "type": "object",
1739           "properties": {
1740             "Params": {
1741               "$ref": "#/definitions/ApplicationUnexpose"
1742             }
1743           }
1744         },
1745         "Unset": {
1746           "type": "object",
1747           "properties": {
1748             "Params": {
1749               "$ref": "#/definitions/ApplicationUnset"
1750             }
1751           }
1752         },
1753         "UnsetApplicationsConfig": {
1754           "type": "object",
1755           "properties": {
1756             "Params": {
1757               "$ref": "#/definitions/ApplicationConfigUnsetArgs"
1758             },
1759             "Result": {
1760               "$ref": "#/definitions/ErrorResults"
1761             }
1762           }
1763         },
1764         "Update": {
1765           "type": "object",
1766           "properties": {
1767             "Params": {
1768               "$ref": "#/definitions/ApplicationUpdate"
1769             }
1770           }
1771         },
1772         "UpdateApplicationSeries": {
1773           "type": "object",
1774           "properties": {
1775             "Params": {
1776               "$ref": "#/definitions/UpdateSeriesArgs"
1777             },
1778             "Result": {
1779               "$ref": "#/definitions/ErrorResults"
1780             }
1781           }
1782         },
1783         "WatchLXDProfileUpgradeNotifications": {
1784           "type": "object",
1785           "properties": {
1786             "Params": {
1787               "$ref": "#/definitions/Entity"
1788             },
1789             "Result": {
1790               "$ref": "#/definitions/NotifyWatchResult"
1791             }
1792           }
1793         }
1794       },
1795       "definitions": {
1796         "AddApplicationUnits": {
1797           "type": "object",
1798           "properties": {
1799             "application": {
1800               "type": "string"
1801             },
1802             "attach-storage": {
1803               "type": "array",
1804               "items": {
1805                 "type": "string"
1806               }
1807             },
1808             "num-units": {
1809               "type": "integer"
1810             },
1811             "placement": {
1812               "type": "array",
1813               "items": {
1814                 "$ref": "#/definitions/Placement"
1815               }
1816             },
1817             "policy": {
1818               "type": "string"
1819             }
1820           },
1821           "additionalProperties": false,
1822           "required": [
1823             "application",
1824             "num-units",
1825             "placement"
1826           ]
1827         },
1828         "AddApplicationUnitsResults": {
1829           "type": "object",
1830           "properties": {
1831             "units": {
1832               "type": "array",
1833               "items": {
1834                 "type": "string"
1835               }
1836             }
1837           },
1838           "additionalProperties": false,
1839           "required": [
1840             "units"
1841           ]
1842         },
1843         "AddRelation": {
1844           "type": "object",
1845           "properties": {
1846             "endpoints": {
1847               "type": "array",
1848               "items": {
1849                 "type": "string"
1850               }
1851             },
1852             "via-cidrs": {
1853               "type": "array",
1854               "items": {
1855                 "type": "string"
1856               }
1857             }
1858           },
1859           "additionalProperties": false,
1860           "required": [
1861             "endpoints"
1862           ]
1863         },
1864         "AddRelationResults": {
1865           "type": "object",
1866           "properties": {
1867             "endpoints": {
1868               "type": "object",
1869               "patternProperties": {
1870                 ".*": {
1871                   "$ref": "#/definitions/CharmRelation"
1872                 }
1873               }
1874             }
1875           },
1876           "additionalProperties": false,
1877           "required": [
1878             "endpoints"
1879           ]
1880         },
1881         "ApplicationCharmRelations": {
1882           "type": "object",
1883           "properties": {
1884             "application": {
1885               "type": "string"
1886             }
1887           },
1888           "additionalProperties": false,
1889           "required": [
1890             "application"
1891           ]
1892         },
1893         "ApplicationCharmRelationsResults": {
1894           "type": "object",
1895           "properties": {
1896             "charm-relations": {
1897               "type": "array",
1898               "items": {
1899                 "type": "string"
1900               }
1901             }
1902           },
1903           "additionalProperties": false,
1904           "required": [
1905             "charm-relations"
1906           ]
1907         },
1908         "ApplicationConfigSet": {
1909           "type": "object",
1910           "properties": {
1911             "application": {
1912               "type": "string"
1913             },
1914             "config": {
1915               "type": "object",
1916               "patternProperties": {
1917                 ".*": {
1918                   "type": "string"
1919                 }
1920               }
1921             }
1922           },
1923           "additionalProperties": false,
1924           "required": [
1925             "application",
1926             "config"
1927           ]
1928         },
1929         "ApplicationConfigSetArgs": {
1930           "type": "object",
1931           "properties": {
1932             "Args": {
1933               "type": "array",
1934               "items": {
1935                 "$ref": "#/definitions/ApplicationConfigSet"
1936               }
1937             }
1938           },
1939           "additionalProperties": false,
1940           "required": [
1941             "Args"
1942           ]
1943         },
1944         "ApplicationConfigUnsetArgs": {
1945           "type": "object",
1946           "properties": {
1947             "Args": {
1948               "type": "array",
1949               "items": {
1950                 "$ref": "#/definitions/ApplicationUnset"
1951               }
1952             }
1953           },
1954           "additionalProperties": false,
1955           "required": [
1956             "Args"
1957           ]
1958         },
1959         "ApplicationConstraint": {
1960           "type": "object",
1961           "properties": {
1962             "constraints": {
1963               "$ref": "#/definitions/Value"
1964             },
1965             "error": {
1966               "$ref": "#/definitions/Error"
1967             }
1968           },
1969           "additionalProperties": false,
1970           "required": [
1971             "constraints"
1972           ]
1973         },
1974         "ApplicationDeploy": {
1975           "type": "object",
1976           "properties": {
1977             "application": {
1978               "type": "string"
1979             },
1980             "attach-storage": {
1981               "type": "array",
1982               "items": {
1983                 "type": "string"
1984               }
1985             },
1986             "channel": {
1987               "type": "string"
1988             },
1989             "charm-url": {
1990               "type": "string"
1991             },
1992             "config": {
1993               "type": "object",
1994               "patternProperties": {
1995                 ".*": {
1996                   "type": "string"
1997                 }
1998               }
1999             },
2000             "config-yaml": {
2001               "type": "string"
2002             },
2003             "constraints": {
2004               "$ref": "#/definitions/Value"
2005             },
2006             "devices": {
2007               "type": "object",
2008               "patternProperties": {
2009                 ".*": {
2010                   "$ref": "#/definitions/Constraints"
2011                 }
2012               }
2013             },
2014             "endpoint-bindings": {
2015               "type": "object",
2016               "patternProperties": {
2017                 ".*": {
2018                   "type": "string"
2019                 }
2020               }
2021             },
2022             "num-units": {
2023               "type": "integer"
2024             },
2025             "placement": {
2026               "type": "array",
2027               "items": {
2028                 "$ref": "#/definitions/Placement"
2029               }
2030             },
2031             "policy": {
2032               "type": "string"
2033             },
2034             "resources": {
2035               "type": "object",
2036               "patternProperties": {
2037                 ".*": {
2038                   "type": "string"
2039                 }
2040               }
2041             },
2042             "series": {
2043               "type": "string"
2044             },
2045             "storage": {
2046               "type": "object",
2047               "patternProperties": {
2048                 ".*": {
2049                   "$ref": "#/definitions/Constraints"
2050                 }
2051               }
2052             }
2053           },
2054           "additionalProperties": false,
2055           "required": [
2056             "application",
2057             "series",
2058             "charm-url",
2059             "channel",
2060             "num-units",
2061             "config-yaml",
2062             "constraints"
2063           ]
2064         },
2065         "ApplicationDestroy": {
2066           "type": "object",
2067           "properties": {
2068             "application": {
2069               "type": "string"
2070             }
2071           },
2072           "additionalProperties": false,
2073           "required": [
2074             "application"
2075           ]
2076         },
2077         "ApplicationExpose": {
2078           "type": "object",
2079           "properties": {
2080             "application": {
2081               "type": "string"
2082             }
2083           },
2084           "additionalProperties": false,
2085           "required": [
2086             "application"
2087           ]
2088         },
2089         "ApplicationGet": {
2090           "type": "object",
2091           "properties": {
2092             "application": {
2093               "type": "string"
2094             }
2095           },
2096           "additionalProperties": false,
2097           "required": [
2098             "application"
2099           ]
2100         },
2101         "ApplicationGetConfigResults": {
2102           "type": "object",
2103           "properties": {
2104             "Results": {
2105               "type": "array",
2106               "items": {
2107                 "$ref": "#/definitions/ConfigResult"
2108               }
2109             }
2110           },
2111           "additionalProperties": false,
2112           "required": [
2113             "Results"
2114           ]
2115         },
2116         "ApplicationGetConstraintsResults": {
2117           "type": "object",
2118           "properties": {
2119             "results": {
2120               "type": "array",
2121               "items": {
2122                 "$ref": "#/definitions/ApplicationConstraint"
2123               }
2124             }
2125           },
2126           "additionalProperties": false,
2127           "required": [
2128             "results"
2129           ]
2130         },
2131         "ApplicationGetResults": {
2132           "type": "object",
2133           "properties": {
2134             "application": {
2135               "type": "string"
2136             },
2137             "application-config": {
2138               "type": "object",
2139               "patternProperties": {
2140                 ".*": {
2141                   "type": "object",
2142                   "additionalProperties": true
2143                 }
2144               }
2145             },
2146             "charm": {
2147               "type": "string"
2148             },
2149             "config": {
2150               "type": "object",
2151               "patternProperties": {
2152                 ".*": {
2153                   "type": "object",
2154                   "additionalProperties": true
2155                 }
2156               }
2157             },
2158             "constraints": {
2159               "$ref": "#/definitions/Value"
2160             },
2161             "series": {
2162               "type": "string"
2163             }
2164           },
2165           "additionalProperties": false,
2166           "required": [
2167             "application",
2168             "charm",
2169             "config",
2170             "constraints",
2171             "series"
2172           ]
2173         },
2174         "ApplicationMetricCredential": {
2175           "type": "object",
2176           "properties": {
2177             "application": {
2178               "type": "string"
2179             },
2180             "metrics-credentials": {
2181               "type": "array",
2182               "items": {
2183                 "type": "integer"
2184               }
2185             }
2186           },
2187           "additionalProperties": false,
2188           "required": [
2189             "application",
2190             "metrics-credentials"
2191           ]
2192         },
2193         "ApplicationMetricCredentials": {
2194           "type": "object",
2195           "properties": {
2196             "creds": {
2197               "type": "array",
2198               "items": {
2199                 "$ref": "#/definitions/ApplicationMetricCredential"
2200               }
2201             }
2202           },
2203           "additionalProperties": false,
2204           "required": [
2205             "creds"
2206           ]
2207         },
2208         "ApplicationOfferDetails": {
2209           "type": "object",
2210           "properties": {
2211             "application-description": {
2212               "type": "string"
2213             },
2214             "bindings": {
2215               "type": "object",
2216               "patternProperties": {
2217                 ".*": {
2218                   "type": "string"
2219                 }
2220               }
2221             },
2222             "endpoints": {
2223               "type": "array",
2224               "items": {
2225                 "$ref": "#/definitions/RemoteEndpoint"
2226               }
2227             },
2228             "offer-name": {
2229               "type": "string"
2230             },
2231             "offer-url": {
2232               "type": "string"
2233             },
2234             "offer-uuid": {
2235               "type": "string"
2236             },
2237             "source-model-tag": {
2238               "type": "string"
2239             },
2240             "spaces": {
2241               "type": "array",
2242               "items": {
2243                 "$ref": "#/definitions/RemoteSpace"
2244               }
2245             },
2246             "users": {
2247               "type": "array",
2248               "items": {
2249                 "$ref": "#/definitions/OfferUserDetails"
2250               }
2251             }
2252           },
2253           "additionalProperties": false,
2254           "required": [
2255             "source-model-tag",
2256             "offer-uuid",
2257             "offer-url",
2258             "offer-name",
2259             "application-description"
2260           ]
2261         },
2262         "ApplicationSet": {
2263           "type": "object",
2264           "properties": {
2265             "application": {
2266               "type": "string"
2267             },
2268             "options": {
2269               "type": "object",
2270               "patternProperties": {
2271                 ".*": {
2272                   "type": "string"
2273                 }
2274               }
2275             }
2276           },
2277           "additionalProperties": false,
2278           "required": [
2279             "application",
2280             "options"
2281           ]
2282         },
2283         "ApplicationSetCharm": {
2284           "type": "object",
2285           "properties": {
2286             "application": {
2287               "type": "string"
2288             },
2289             "channel": {
2290               "type": "string"
2291             },
2292             "charm-url": {
2293               "type": "string"
2294             },
2295             "config-settings": {
2296               "type": "object",
2297               "patternProperties": {
2298                 ".*": {
2299                   "type": "string"
2300                 }
2301               }
2302             },
2303             "config-settings-yaml": {
2304               "type": "string"
2305             },
2306             "force": {
2307               "type": "boolean"
2308             },
2309             "force-series": {
2310               "type": "boolean"
2311             },
2312             "force-units": {
2313               "type": "boolean"
2314             },
2315             "resource-ids": {
2316               "type": "object",
2317               "patternProperties": {
2318                 ".*": {
2319                   "type": "string"
2320                 }
2321               }
2322             },
2323             "storage-constraints": {
2324               "type": "object",
2325               "patternProperties": {
2326                 ".*": {
2327                   "$ref": "#/definitions/StorageConstraints"
2328                 }
2329               }
2330             }
2331           },
2332           "additionalProperties": false,
2333           "required": [
2334             "application",
2335             "charm-url",
2336             "channel",
2337             "force",
2338             "force-units",
2339             "force-series"
2340           ]
2341         },
2342         "ApplicationSetCharmProfile": {
2343           "type": "object",
2344           "properties": {
2345             "application": {
2346               "type": "string"
2347             },
2348             "charm-url": {
2349               "type": "string"
2350             }
2351           },
2352           "additionalProperties": false,
2353           "required": [
2354             "application",
2355             "charm-url"
2356           ]
2357         },
2358         "ApplicationUnexpose": {
2359           "type": "object",
2360           "properties": {
2361             "application": {
2362               "type": "string"
2363             }
2364           },
2365           "additionalProperties": false,
2366           "required": [
2367             "application"
2368           ]
2369         },
2370         "ApplicationUnset": {
2371           "type": "object",
2372           "properties": {
2373             "application": {
2374               "type": "string"
2375             },
2376             "options": {
2377               "type": "array",
2378               "items": {
2379                 "type": "string"
2380               }
2381             }
2382           },
2383           "additionalProperties": false,
2384           "required": [
2385             "application",
2386             "options"
2387           ]
2388         },
2389         "ApplicationUpdate": {
2390           "type": "object",
2391           "properties": {
2392             "application": {
2393               "type": "string"
2394             },
2395             "charm-url": {
2396               "type": "string"
2397             },
2398             "constraints": {
2399               "$ref": "#/definitions/Value"
2400             },
2401             "force": {
2402               "type": "boolean"
2403             },
2404             "force-charm-url": {
2405               "type": "boolean"
2406             },
2407             "force-series": {
2408               "type": "boolean"
2409             },
2410             "min-units": {
2411               "type": "integer"
2412             },
2413             "settings": {
2414               "type": "object",
2415               "patternProperties": {
2416                 ".*": {
2417                   "type": "string"
2418                 }
2419               }
2420             },
2421             "settings-yaml": {
2422               "type": "string"
2423             }
2424           },
2425           "additionalProperties": false,
2426           "required": [
2427             "application",
2428             "charm-url",
2429             "force-charm-url",
2430             "force-series",
2431             "force",
2432             "settings-yaml"
2433           ]
2434         },
2435         "ApplicationsDeploy": {
2436           "type": "object",
2437           "properties": {
2438             "applications": {
2439               "type": "array",
2440               "items": {
2441                 "$ref": "#/definitions/ApplicationDeploy"
2442               }
2443             }
2444           },
2445           "additionalProperties": false,
2446           "required": [
2447             "applications"
2448           ]
2449         },
2450         "CharmRelation": {
2451           "type": "object",
2452           "properties": {
2453             "interface": {
2454               "type": "string"
2455             },
2456             "limit": {
2457               "type": "integer"
2458             },
2459             "name": {
2460               "type": "string"
2461             },
2462             "optional": {
2463               "type": "boolean"
2464             },
2465             "role": {
2466               "type": "string"
2467             },
2468             "scope": {
2469               "type": "string"
2470             }
2471           },
2472           "additionalProperties": false,
2473           "required": [
2474             "name",
2475             "role",
2476             "interface",
2477             "optional",
2478             "limit",
2479             "scope"
2480           ]
2481         },
2482         "ConfigResult": {
2483           "type": "object",
2484           "properties": {
2485             "config": {
2486               "type": "object",
2487               "patternProperties": {
2488                 ".*": {
2489                   "type": "object",
2490                   "additionalProperties": true
2491                 }
2492               }
2493             },
2494             "error": {
2495               "$ref": "#/definitions/Error"
2496             }
2497           },
2498           "additionalProperties": false,
2499           "required": [
2500             "config"
2501           ]
2502         },
2503         "Constraints": {
2504           "type": "object",
2505           "properties": {
2506             "Count": {
2507               "type": "integer"
2508             },
2509             "Pool": {
2510               "type": "string"
2511             },
2512             "Size": {
2513               "type": "integer"
2514             }
2515           },
2516           "additionalProperties": false,
2517           "required": [
2518             "Pool",
2519             "Size",
2520             "Count"
2521           ]
2522         },
2523         "ConsumeApplicationArg": {
2524           "type": "object",
2525           "properties": {
2526             "ApplicationOfferDetails": {
2527               "$ref": "#/definitions/ApplicationOfferDetails"
2528             },
2529             "application-alias": {
2530               "type": "string"
2531             },
2532             "external-controller": {
2533               "$ref": "#/definitions/ExternalControllerInfo"
2534             },
2535             "macaroon": {
2536               "$ref": "#/definitions/Macaroon"
2537             }
2538           },
2539           "additionalProperties": false,
2540           "required": [
2541             "ApplicationOfferDetails"
2542           ]
2543         },
2544         "ConsumeApplicationArgs": {
2545           "type": "object",
2546           "properties": {
2547             "args": {
2548               "type": "array",
2549               "items": {
2550                 "$ref": "#/definitions/ConsumeApplicationArg"
2551               }
2552             }
2553           },
2554           "additionalProperties": false
2555         },
2556         "DestroyApplicationInfo": {
2557           "type": "object",
2558           "properties": {
2559             "destroyed-storage": {
2560               "type": "array",
2561               "items": {
2562                 "$ref": "#/definitions/Entity"
2563               }
2564             },
2565             "destroyed-units": {
2566               "type": "array",
2567               "items": {
2568                 "$ref": "#/definitions/Entity"
2569               }
2570             },
2571             "detached-storage": {
2572               "type": "array",
2573               "items": {
2574                 "$ref": "#/definitions/Entity"
2575               }
2576             }
2577           },
2578           "additionalProperties": false
2579         },
2580         "DestroyApplicationParams": {
2581           "type": "object",
2582           "properties": {
2583             "application-tag": {
2584               "type": "string"
2585             },
2586             "destroy-storage": {
2587               "type": "boolean"
2588             }
2589           },
2590           "additionalProperties": false,
2591           "required": [
2592             "application-tag"
2593           ]
2594         },
2595         "DestroyApplicationResult": {
2596           "type": "object",
2597           "properties": {
2598             "error": {
2599               "$ref": "#/definitions/Error"
2600             },
2601             "info": {
2602               "$ref": "#/definitions/DestroyApplicationInfo"
2603             }
2604           },
2605           "additionalProperties": false
2606         },
2607         "DestroyApplicationResults": {
2608           "type": "object",
2609           "properties": {
2610             "results": {
2611               "type": "array",
2612               "items": {
2613                 "$ref": "#/definitions/DestroyApplicationResult"
2614               }
2615             }
2616           },
2617           "additionalProperties": false
2618         },
2619         "DestroyApplicationUnits": {
2620           "type": "object",
2621           "properties": {
2622             "unit-names": {
2623               "type": "array",
2624               "items": {
2625                 "type": "string"
2626               }
2627             }
2628           },
2629           "additionalProperties": false,
2630           "required": [
2631             "unit-names"
2632           ]
2633         },
2634         "DestroyApplicationsParams": {
2635           "type": "object",
2636           "properties": {
2637             "applications": {
2638               "type": "array",
2639               "items": {
2640                 "$ref": "#/definitions/DestroyApplicationParams"
2641               }
2642             }
2643           },
2644           "additionalProperties": false,
2645           "required": [
2646             "applications"
2647           ]
2648         },
2649         "DestroyConsumedApplicationParams": {
2650           "type": "object",
2651           "properties": {
2652             "application-tag": {
2653               "type": "string"
2654             }
2655           },
2656           "additionalProperties": false,
2657           "required": [
2658             "application-tag"
2659           ]
2660         },
2661         "DestroyConsumedApplicationsParams": {
2662           "type": "object",
2663           "properties": {
2664             "applications": {
2665               "type": "array",
2666               "items": {
2667                 "$ref": "#/definitions/DestroyConsumedApplicationParams"
2668               }
2669             }
2670           },
2671           "additionalProperties": false,
2672           "required": [
2673             "applications"
2674           ]
2675         },
2676         "DestroyRelation": {
2677           "type": "object",
2678           "properties": {
2679             "endpoints": {
2680               "type": "array",
2681               "items": {
2682                 "type": "string"
2683               }
2684             },
2685             "relation-id": {
2686               "type": "integer"
2687             }
2688           },
2689           "additionalProperties": false,
2690           "required": [
2691             "relation-id"
2692           ]
2693         },
2694         "DestroyUnitInfo": {
2695           "type": "object",
2696           "properties": {
2697             "destroyed-storage": {
2698               "type": "array",
2699               "items": {
2700                 "$ref": "#/definitions/Entity"
2701               }
2702             },
2703             "detached-storage": {
2704               "type": "array",
2705               "items": {
2706                 "$ref": "#/definitions/Entity"
2707               }
2708             }
2709           },
2710           "additionalProperties": false
2711         },
2712         "DestroyUnitParams": {
2713           "type": "object",
2714           "properties": {
2715             "destroy-storage": {
2716               "type": "boolean"
2717             },
2718             "unit-tag": {
2719               "type": "string"
2720             }
2721           },
2722           "additionalProperties": false,
2723           "required": [
2724             "unit-tag"
2725           ]
2726         },
2727         "DestroyUnitResult": {
2728           "type": "object",
2729           "properties": {
2730             "error": {
2731               "$ref": "#/definitions/Error"
2732             },
2733             "info": {
2734               "$ref": "#/definitions/DestroyUnitInfo"
2735             }
2736           },
2737           "additionalProperties": false
2738         },
2739         "DestroyUnitResults": {
2740           "type": "object",
2741           "properties": {
2742             "results": {
2743               "type": "array",
2744               "items": {
2745                 "$ref": "#/definitions/DestroyUnitResult"
2746               }
2747             }
2748           },
2749           "additionalProperties": false
2750         },
2751         "DestroyUnitsParams": {
2752           "type": "object",
2753           "properties": {
2754             "units": {
2755               "type": "array",
2756               "items": {
2757                 "$ref": "#/definitions/DestroyUnitParams"
2758               }
2759             }
2760           },
2761           "additionalProperties": false,
2762           "required": [
2763             "units"
2764           ]
2765         },
2766         "Entities": {
2767           "type": "object",
2768           "properties": {
2769             "entities": {
2770               "type": "array",
2771               "items": {
2772                 "$ref": "#/definitions/Entity"
2773               }
2774             }
2775           },
2776           "additionalProperties": false,
2777           "required": [
2778             "entities"
2779           ]
2780         },
2781         "Entity": {
2782           "type": "object",
2783           "properties": {
2784             "tag": {
2785               "type": "string"
2786             }
2787           },
2788           "additionalProperties": false,
2789           "required": [
2790             "tag"
2791           ]
2792         },
2793         "Error": {
2794           "type": "object",
2795           "properties": {
2796             "code": {
2797               "type": "string"
2798             },
2799             "info": {
2800               "$ref": "#/definitions/ErrorInfo"
2801             },
2802             "message": {
2803               "type": "string"
2804             }
2805           },
2806           "additionalProperties": false,
2807           "required": [
2808             "message",
2809             "code"
2810           ]
2811         },
2812         "ErrorInfo": {
2813           "type": "object",
2814           "properties": {
2815             "macaroon": {
2816               "$ref": "#/definitions/Macaroon"
2817             },
2818             "macaroon-path": {
2819               "type": "string"
2820             }
2821           },
2822           "additionalProperties": false
2823         },
2824         "ErrorResult": {
2825           "type": "object",
2826           "properties": {
2827             "error": {
2828               "$ref": "#/definitions/Error"
2829             }
2830           },
2831           "additionalProperties": false
2832         },
2833         "ErrorResults": {
2834           "type": "object",
2835           "properties": {
2836             "results": {
2837               "type": "array",
2838               "items": {
2839                 "$ref": "#/definitions/ErrorResult"
2840               }
2841             }
2842           },
2843           "additionalProperties": false,
2844           "required": [
2845             "results"
2846           ]
2847         },
2848         "ExternalControllerInfo": {
2849           "type": "object",
2850           "properties": {
2851             "addrs": {
2852               "type": "array",
2853               "items": {
2854                 "type": "string"
2855               }
2856             },
2857             "ca-cert": {
2858               "type": "string"
2859             },
2860             "controller-alias": {
2861               "type": "string"
2862             },
2863             "controller-tag": {
2864               "type": "string"
2865             }
2866           },
2867           "additionalProperties": false,
2868           "required": [
2869             "controller-tag",
2870             "controller-alias",
2871             "addrs",
2872             "ca-cert"
2873           ]
2874         },
2875         "LXDProfileUpgradeMessages": {
2876           "type": "object",
2877           "properties": {
2878             "application": {
2879               "$ref": "#/definitions/Entity"
2880             },
2881             "watcher-id": {
2882               "type": "string"
2883             }
2884           },
2885           "additionalProperties": false,
2886           "required": [
2887             "application",
2888             "watcher-id"
2889           ]
2890         },
2891         "LXDProfileUpgradeMessagesResult": {
2892           "type": "object",
2893           "properties": {
2894             "error": {
2895               "$ref": "#/definitions/Error"
2896             },
2897             "message": {
2898               "type": "string"
2899             },
2900             "unit-name": {
2901               "type": "string"
2902             }
2903           },
2904           "additionalProperties": false,
2905           "required": [
2906             "unit-name",
2907             "message"
2908           ]
2909         },
2910         "LXDProfileUpgradeMessagesResults": {
2911           "type": "object",
2912           "properties": {
2913             "args": {
2914               "type": "array",
2915               "items": {
2916                 "$ref": "#/definitions/LXDProfileUpgradeMessagesResult"
2917               }
2918             }
2919           },
2920           "additionalProperties": false,
2921           "required": [
2922             "args"
2923           ]
2924         },
2925         "Macaroon": {
2926           "type": "object",
2927           "additionalProperties": false
2928         },
2929         "NotifyWatchResult": {
2930           "type": "object",
2931           "properties": {
2932             "NotifyWatcherId": {
2933               "type": "string"
2934             },
2935             "error": {
2936               "$ref": "#/definitions/Error"
2937             }
2938           },
2939           "additionalProperties": false,
2940           "required": [
2941             "NotifyWatcherId"
2942           ]
2943         },
2944         "OfferUserDetails": {
2945           "type": "object",
2946           "properties": {
2947             "access": {
2948               "type": "string"
2949             },
2950             "display-name": {
2951               "type": "string"
2952             },
2953             "user": {
2954               "type": "string"
2955             }
2956           },
2957           "additionalProperties": false,
2958           "required": [
2959             "user",
2960             "display-name",
2961             "access"
2962           ]
2963         },
2964         "Placement": {
2965           "type": "object",
2966           "properties": {
2967             "directive": {
2968               "type": "string"
2969             },
2970             "scope": {
2971               "type": "string"
2972             }
2973           },
2974           "additionalProperties": false,
2975           "required": [
2976             "scope",
2977             "directive"
2978           ]
2979         },
2980         "RelationSuspendedArg": {
2981           "type": "object",
2982           "properties": {
2983             "message": {
2984               "type": "string"
2985             },
2986             "relation-id": {
2987               "type": "integer"
2988             },
2989             "suspended": {
2990               "type": "boolean"
2991             }
2992           },
2993           "additionalProperties": false,
2994           "required": [
2995             "relation-id",
2996             "message",
2997             "suspended"
2998           ]
2999         },
3000         "RelationSuspendedArgs": {
3001           "type": "object",
3002           "properties": {
3003             "args": {
3004               "type": "array",
3005               "items": {
3006                 "$ref": "#/definitions/RelationSuspendedArg"
3007               }
3008             }
3009           },
3010           "additionalProperties": false,
3011           "required": [
3012             "args"
3013           ]
3014         },
3015         "RemoteEndpoint": {
3016           "type": "object",
3017           "properties": {
3018             "interface": {
3019               "type": "string"
3020             },
3021             "limit": {
3022               "type": "integer"
3023             },
3024             "name": {
3025               "type": "string"
3026             },
3027             "role": {
3028               "type": "string"
3029             }
3030           },
3031           "additionalProperties": false,
3032           "required": [
3033             "name",
3034             "role",
3035             "interface",
3036             "limit"
3037           ]
3038         },
3039         "RemoteSpace": {
3040           "type": "object",
3041           "properties": {
3042             "cloud-type": {
3043               "type": "string"
3044             },
3045             "name": {
3046               "type": "string"
3047             },
3048             "provider-attributes": {
3049               "type": "object",
3050               "patternProperties": {
3051                 ".*": {
3052                   "type": "object",
3053                   "additionalProperties": true
3054                 }
3055               }
3056             },
3057             "provider-id": {
3058               "type": "string"
3059             },
3060             "subnets": {
3061               "type": "array",
3062               "items": {
3063                 "$ref": "#/definitions/Subnet"
3064               }
3065             }
3066           },
3067           "additionalProperties": false,
3068           "required": [
3069             "cloud-type",
3070             "name",
3071             "provider-id",
3072             "provider-attributes",
3073             "subnets"
3074           ]
3075         },
3076         "ScaleApplicationInfo": {
3077           "type": "object",
3078           "properties": {
3079             "num-units": {
3080               "type": "integer"
3081             }
3082           },
3083           "additionalProperties": false,
3084           "required": [
3085             "num-units"
3086           ]
3087         },
3088         "ScaleApplicationParams": {
3089           "type": "object",
3090           "properties": {
3091             "application-tag": {
3092               "type": "string"
3093             },
3094             "scale": {
3095               "type": "integer"
3096             },
3097             "scale-change": {
3098               "type": "integer"
3099             }
3100           },
3101           "additionalProperties": false,
3102           "required": [
3103             "application-tag",
3104             "scale"
3105           ]
3106         },
3107         "ScaleApplicationResult": {
3108           "type": "object",
3109           "properties": {
3110             "error": {
3111               "$ref": "#/definitions/Error"
3112             },
3113             "info": {
3114               "$ref": "#/definitions/ScaleApplicationInfo"
3115             }
3116           },
3117           "additionalProperties": false
3118         },
3119         "ScaleApplicationResults": {
3120           "type": "object",
3121           "properties": {
3122             "results": {
3123               "type": "array",
3124               "items": {
3125                 "$ref": "#/definitions/ScaleApplicationResult"
3126               }
3127             }
3128           },
3129           "additionalProperties": false
3130         },
3131         "ScaleApplicationsParams": {
3132           "type": "object",
3133           "properties": {
3134             "applications": {
3135               "type": "array",
3136               "items": {
3137                 "$ref": "#/definitions/ScaleApplicationParams"
3138               }
3139             }
3140           },
3141           "additionalProperties": false,
3142           "required": [
3143             "applications"
3144           ]
3145         },
3146         "SetConstraints": {
3147           "type": "object",
3148           "properties": {
3149             "application": {
3150               "type": "string"
3151             },
3152             "constraints": {
3153               "$ref": "#/definitions/Value"
3154             }
3155           },
3156           "additionalProperties": false,
3157           "required": [
3158             "application",
3159             "constraints"
3160           ]
3161         },
3162         "StorageConstraints": {
3163           "type": "object",
3164           "properties": {
3165             "count": {
3166               "type": "integer"
3167             },
3168             "pool": {
3169               "type": "string"
3170             },
3171             "size": {
3172               "type": "integer"
3173             }
3174           },
3175           "additionalProperties": false
3176         },
3177         "StringResult": {
3178           "type": "object",
3179           "properties": {
3180             "error": {
3181               "$ref": "#/definitions/Error"
3182             },
3183             "result": {
3184               "type": "string"
3185             }
3186           },
3187           "additionalProperties": false,
3188           "required": [
3189             "result"
3190           ]
3191         },
3192         "Subnet": {
3193           "type": "object",
3194           "properties": {
3195             "cidr": {
3196               "type": "string"
3197             },
3198             "life": {
3199               "type": "string"
3200             },
3201             "provider-id": {
3202               "type": "string"
3203             },
3204             "provider-network-id": {
3205               "type": "string"
3206             },
3207             "provider-space-id": {
3208               "type": "string"
3209             },
3210             "space-tag": {
3211               "type": "string"
3212             },
3213             "status": {
3214               "type": "string"
3215             },
3216             "vlan-tag": {
3217               "type": "integer"
3218             },
3219             "zones": {
3220               "type": "array",
3221               "items": {
3222                 "type": "string"
3223               }
3224             }
3225           },
3226           "additionalProperties": false,
3227           "required": [
3228             "cidr",
3229             "vlan-tag",
3230             "life",
3231             "space-tag",
3232             "zones"
3233           ]
3234         },
3235         "UnitsResolved": {
3236           "type": "object",
3237           "properties": {
3238             "all": {
3239               "type": "boolean"
3240             },
3241             "retry": {
3242               "type": "boolean"
3243             },
3244             "tags": {
3245               "$ref": "#/definitions/Entities"
3246             }
3247           },
3248           "additionalProperties": false
3249         },
3250         "UpdateSeriesArg": {
3251           "type": "object",
3252           "properties": {
3253             "force": {
3254               "type": "boolean"
3255             },
3256             "series": {
3257               "type": "string"
3258             },
3259             "tag": {
3260               "$ref": "#/definitions/Entity"
3261             }
3262           },
3263           "additionalProperties": false,
3264           "required": [
3265             "tag",
3266             "force",
3267             "series"
3268           ]
3269         },
3270         "UpdateSeriesArgs": {
3271           "type": "object",
3272           "properties": {
3273             "args": {
3274               "type": "array",
3275               "items": {
3276                 "$ref": "#/definitions/UpdateSeriesArg"
3277               }
3278             }
3279           },
3280           "additionalProperties": false,
3281           "required": [
3282             "args"
3283           ]
3284         },
3285         "Value": {
3286           "type": "object",
3287           "properties": {
3288             "arch": {
3289               "type": "string"
3290             },
3291             "container": {
3292               "type": "string"
3293             },
3294             "cores": {
3295               "type": "integer"
3296             },
3297             "cpu-power": {
3298               "type": "integer"
3299             },
3300             "instance-type": {
3301               "type": "string"
3302             },
3303             "mem": {
3304               "type": "integer"
3305             },
3306             "root-disk": {
3307               "type": "integer"
3308             },
3309             "spaces": {
3310               "type": "array",
3311               "items": {
3312                 "type": "string"
3313               }
3314             },
3315             "tags": {
3316               "type": "array",
3317               "items": {
3318                 "type": "string"
3319               }
3320             },
3321             "virt-type": {
3322               "type": "string"
3323             },
3324             "zones": {
3325               "type": "array",
3326               "items": {
3327                 "type": "string"
3328               }
3329             }
3330           },
3331           "additionalProperties": false
3332         }
3333       }
3334     }
3335   },
3336   {
3337     "Name": "ApplicationOffers",
3338     "Version": 2,
3339     "Schema": {
3340       "type": "object",
3341       "properties": {
3342         "ApplicationOffers": {
3343           "type": "object",
3344           "properties": {
3345             "Params": {
3346               "$ref": "#/definitions/OfferURLs"
3347             },
3348             "Result": {
3349               "$ref": "#/definitions/ApplicationOffersResults"
3350             }
3351           }
3352         },
3353         "DestroyOffers": {
3354           "type": "object",
3355           "properties": {
3356             "Params": {
3357               "$ref": "#/definitions/DestroyApplicationOffers"
3358             },
3359             "Result": {
3360               "$ref": "#/definitions/ErrorResults"
3361             }
3362           }
3363         },
3364         "FindApplicationOffers": {
3365           "type": "object",
3366           "properties": {
3367             "Params": {
3368               "$ref": "#/definitions/OfferFilters"
3369             },
3370             "Result": {
3371               "$ref": "#/definitions/QueryApplicationOffersResults"
3372             }
3373           }
3374         },
3375         "GetConsumeDetails": {
3376           "type": "object",
3377           "properties": {
3378             "Params": {
3379               "$ref": "#/definitions/OfferURLs"
3380             },
3381             "Result": {
3382               "$ref": "#/definitions/ConsumeOfferDetailsResults"
3383             }
3384           }
3385         },
3386         "ListApplicationOffers": {
3387           "type": "object",
3388           "properties": {
3389             "Params": {
3390               "$ref": "#/definitions/OfferFilters"
3391             },
3392             "Result": {
3393               "$ref": "#/definitions/QueryApplicationOffersResults"
3394             }
3395           }
3396         },
3397         "ModifyOfferAccess": {
3398           "type": "object",
3399           "properties": {
3400             "Params": {
3401               "$ref": "#/definitions/ModifyOfferAccessRequest"
3402             },
3403             "Result": {
3404               "$ref": "#/definitions/ErrorResults"
3405             }
3406           }
3407         },
3408         "Offer": {
3409           "type": "object",
3410           "properties": {
3411             "Params": {
3412               "$ref": "#/definitions/AddApplicationOffers"
3413             },
3414             "Result": {
3415               "$ref": "#/definitions/ErrorResults"
3416             }
3417           }
3418         },
3419         "RemoteApplicationInfo": {
3420           "type": "object",
3421           "properties": {
3422             "Params": {
3423               "$ref": "#/definitions/OfferURLs"
3424             },
3425             "Result": {
3426               "$ref": "#/definitions/RemoteApplicationInfoResults"
3427             }
3428           }
3429         }
3430       },
3431       "definitions": {
3432         "AddApplicationOffer": {
3433           "type": "object",
3434           "properties": {
3435             "application-description": {
3436               "type": "string"
3437             },
3438             "application-name": {
3439               "type": "string"
3440             },
3441             "endpoints": {
3442               "type": "object",
3443               "patternProperties": {
3444                 ".*": {
3445                   "type": "string"
3446                 }
3447               }
3448             },
3449             "model-tag": {
3450               "type": "string"
3451             },
3452             "offer-name": {
3453               "type": "string"
3454             }
3455           },
3456           "additionalProperties": false,
3457           "required": [
3458             "model-tag",
3459             "offer-name",
3460             "application-name",
3461             "application-description",
3462             "endpoints"
3463           ]
3464         },
3465         "AddApplicationOffers": {
3466           "type": "object",
3467           "properties": {
3468             "Offers": {
3469               "type": "array",
3470               "items": {
3471                 "$ref": "#/definitions/AddApplicationOffer"
3472               }
3473             }
3474           },
3475           "additionalProperties": false,
3476           "required": [
3477             "Offers"
3478           ]
3479         },
3480         "ApplicationOfferAdminDetails": {
3481           "type": "object",
3482           "properties": {
3483             "ApplicationOfferDetails": {
3484               "$ref": "#/definitions/ApplicationOfferDetails"
3485             },
3486             "application-name": {
3487               "type": "string"
3488             },
3489             "charm-url": {
3490               "type": "string"
3491             },
3492             "connections": {
3493               "type": "array",
3494               "items": {
3495                 "$ref": "#/definitions/OfferConnection"
3496               }
3497             }
3498           },
3499           "additionalProperties": false,
3500           "required": [
3501             "ApplicationOfferDetails",
3502             "application-name",
3503             "charm-url"
3504           ]
3505         },
3506         "ApplicationOfferDetails": {
3507           "type": "object",
3508           "properties": {
3509             "application-description": {
3510               "type": "string"
3511             },
3512             "bindings": {
3513               "type": "object",
3514               "patternProperties": {
3515                 ".*": {
3516                   "type": "string"
3517                 }
3518               }
3519             },
3520             "endpoints": {
3521               "type": "array",
3522               "items": {
3523                 "$ref": "#/definitions/RemoteEndpoint"
3524               }
3525             },
3526             "offer-name": {
3527               "type": "string"
3528             },
3529             "offer-url": {
3530               "type": "string"
3531             },
3532             "offer-uuid": {
3533               "type": "string"
3534             },
3535             "source-model-tag": {
3536               "type": "string"
3537             },
3538             "spaces": {
3539               "type": "array",
3540               "items": {
3541                 "$ref": "#/definitions/RemoteSpace"
3542               }
3543             },
3544             "users": {
3545               "type": "array",
3546               "items": {
3547                 "$ref": "#/definitions/OfferUserDetails"
3548               }
3549             }
3550           },
3551           "additionalProperties": false,
3552           "required": [
3553             "source-model-tag",
3554             "offer-uuid",
3555             "offer-url",
3556             "offer-name",
3557             "application-description"
3558           ]
3559         },
3560         "ApplicationOfferResult": {
3561           "type": "object",
3562           "properties": {
3563             "error": {
3564               "$ref": "#/definitions/Error"
3565             },
3566             "result": {
3567               "$ref": "#/definitions/ApplicationOfferAdminDetails"
3568             }
3569           },
3570           "additionalProperties": false
3571         },
3572         "ApplicationOffersResults": {
3573           "type": "object",
3574           "properties": {
3575             "results": {
3576               "type": "array",
3577               "items": {
3578                 "$ref": "#/definitions/ApplicationOfferResult"
3579               }
3580             }
3581           },
3582           "additionalProperties": false
3583         },
3584         "ConsumeOfferDetails": {
3585           "type": "object",
3586           "properties": {
3587             "external-controller": {
3588               "$ref": "#/definitions/ExternalControllerInfo"
3589             },
3590             "macaroon": {
3591               "$ref": "#/definitions/Macaroon"
3592             },
3593             "offer": {
3594               "$ref": "#/definitions/ApplicationOfferDetails"
3595             }
3596           },
3597           "additionalProperties": false
3598         },
3599         "ConsumeOfferDetailsResult": {
3600           "type": "object",
3601           "properties": {
3602             "ConsumeOfferDetails": {
3603               "$ref": "#/definitions/ConsumeOfferDetails"
3604             },
3605             "error": {
3606               "$ref": "#/definitions/Error"
3607             }
3608           },
3609           "additionalProperties": false,
3610           "required": [
3611             "ConsumeOfferDetails"
3612           ]
3613         },
3614         "ConsumeOfferDetailsResults": {
3615           "type": "object",
3616           "properties": {
3617             "results": {
3618               "type": "array",
3619               "items": {
3620                 "$ref": "#/definitions/ConsumeOfferDetailsResult"
3621               }
3622             }
3623           },
3624           "additionalProperties": false
3625         },
3626         "DestroyApplicationOffers": {
3627           "type": "object",
3628           "properties": {
3629             "force": {
3630               "type": "boolean"
3631             },
3632             "offer-urls": {
3633               "type": "array",
3634               "items": {
3635                 "type": "string"
3636               }
3637             }
3638           },
3639           "additionalProperties": false,
3640           "required": [
3641             "offer-urls"
3642           ]
3643         },
3644         "EndpointFilterAttributes": {
3645           "type": "object",
3646           "properties": {
3647             "interface": {
3648               "type": "string"
3649             },
3650             "name": {
3651               "type": "string"
3652             },
3653             "role": {
3654               "type": "string"
3655             }
3656           },
3657           "additionalProperties": false,
3658           "required": [
3659             "role",
3660             "interface",
3661             "name"
3662           ]
3663         },
3664         "EntityStatus": {
3665           "type": "object",
3666           "properties": {
3667             "data": {
3668               "type": "object",
3669               "patternProperties": {
3670                 ".*": {
3671                   "type": "object",
3672                   "additionalProperties": true
3673                 }
3674               }
3675             },
3676             "info": {
3677               "type": "string"
3678             },
3679             "since": {
3680               "type": "string",
3681               "format": "date-time"
3682             },
3683             "status": {
3684               "type": "string"
3685             }
3686           },
3687           "additionalProperties": false,
3688           "required": [
3689             "status",
3690             "info",
3691             "since"
3692           ]
3693         },
3694         "Error": {
3695           "type": "object",
3696           "properties": {
3697             "code": {
3698               "type": "string"
3699             },
3700             "info": {
3701               "$ref": "#/definitions/ErrorInfo"
3702             },
3703             "message": {
3704               "type": "string"
3705             }
3706           },
3707           "additionalProperties": false,
3708           "required": [
3709             "message",
3710             "code"
3711           ]
3712         },
3713         "ErrorInfo": {
3714           "type": "object",
3715           "properties": {
3716             "macaroon": {
3717               "$ref": "#/definitions/Macaroon"
3718             },
3719             "macaroon-path": {
3720               "type": "string"
3721             }
3722           },
3723           "additionalProperties": false
3724         },
3725         "ErrorResult": {
3726           "type": "object",
3727           "properties": {
3728             "error": {
3729               "$ref": "#/definitions/Error"
3730             }
3731           },
3732           "additionalProperties": false
3733         },
3734         "ErrorResults": {
3735           "type": "object",
3736           "properties": {
3737             "results": {
3738               "type": "array",
3739               "items": {
3740                 "$ref": "#/definitions/ErrorResult"
3741               }
3742             }
3743           },
3744           "additionalProperties": false,
3745           "required": [
3746             "results"
3747           ]
3748         },
3749         "ExternalControllerInfo": {
3750           "type": "object",
3751           "properties": {
3752             "addrs": {
3753               "type": "array",
3754               "items": {
3755                 "type": "string"
3756               }
3757             },
3758             "ca-cert": {
3759               "type": "string"
3760             },
3761             "controller-alias": {
3762               "type": "string"
3763             },
3764             "controller-tag": {
3765               "type": "string"
3766             }
3767           },
3768           "additionalProperties": false,
3769           "required": [
3770             "controller-tag",
3771             "controller-alias",
3772             "addrs",
3773             "ca-cert"
3774           ]
3775         },
3776         "Macaroon": {
3777           "type": "object",
3778           "additionalProperties": false
3779         },
3780         "ModifyOfferAccess": {
3781           "type": "object",
3782           "properties": {
3783             "access": {
3784               "type": "string"
3785             },
3786             "action": {
3787               "type": "string"
3788             },
3789             "offer-url": {
3790               "type": "string"
3791             },
3792             "user-tag": {
3793               "type": "string"
3794             }
3795           },
3796           "additionalProperties": false,
3797           "required": [
3798             "user-tag",
3799             "action",
3800             "access",
3801             "offer-url"
3802           ]
3803         },
3804         "ModifyOfferAccessRequest": {
3805           "type": "object",
3806           "properties": {
3807             "changes": {
3808               "type": "array",
3809               "items": {
3810                 "$ref": "#/definitions/ModifyOfferAccess"
3811               }
3812             }
3813           },
3814           "additionalProperties": false,
3815           "required": [
3816             "changes"
3817           ]
3818         },
3819         "OfferConnection": {
3820           "type": "object",
3821           "properties": {
3822             "endpoint": {
3823               "type": "string"
3824             },
3825             "ingress-subnets": {
3826               "type": "array",
3827               "items": {
3828                 "type": "string"
3829               }
3830             },
3831             "relation-id": {
3832               "type": "integer"
3833             },
3834             "source-model-tag": {
3835               "type": "string"
3836             },
3837             "status": {
3838               "$ref": "#/definitions/EntityStatus"
3839             },
3840             "username": {
3841               "type": "string"
3842             }
3843           },
3844           "additionalProperties": false,
3845           "required": [
3846             "source-model-tag",
3847             "relation-id",
3848             "username",
3849             "endpoint",
3850             "status",
3851             "ingress-subnets"
3852           ]
3853         },
3854         "OfferFilter": {
3855           "type": "object",
3856           "properties": {
3857             "allowed-users": {
3858               "type": "array",
3859               "items": {
3860                 "type": "string"
3861               }
3862             },
3863             "application-description": {
3864               "type": "string"
3865             },
3866             "application-name": {
3867               "type": "string"
3868             },
3869             "application-user": {
3870               "type": "string"
3871             },
3872             "connected-users": {
3873               "type": "array",
3874               "items": {
3875                 "type": "string"
3876               }
3877             },
3878             "endpoints": {
3879               "type": "array",
3880               "items": {
3881                 "$ref": "#/definitions/EndpointFilterAttributes"
3882               }
3883             },
3884             "model-name": {
3885               "type": "string"
3886             },
3887             "offer-name": {
3888               "type": "string"
3889             },
3890             "owner-name": {
3891               "type": "string"
3892             }
3893           },
3894           "additionalProperties": false,
3895           "required": [
3896             "owner-name",
3897             "model-name",
3898             "offer-name",
3899             "application-name",
3900             "application-description",
3901             "application-user",
3902             "endpoints",
3903             "connected-users",
3904             "allowed-users"
3905           ]
3906         },
3907         "OfferFilters": {
3908           "type": "object",
3909           "properties": {
3910             "Filters": {
3911               "type": "array",
3912               "items": {
3913                 "$ref": "#/definitions/OfferFilter"
3914               }
3915             }
3916           },
3917           "additionalProperties": false,
3918           "required": [
3919             "Filters"
3920           ]
3921         },
3922         "OfferURLs": {
3923           "type": "object",
3924           "properties": {
3925             "offer-urls": {
3926               "type": "array",
3927               "items": {
3928                 "type": "string"
3929               }
3930             }
3931           },
3932           "additionalProperties": false
3933         },
3934         "OfferUserDetails": {
3935           "type": "object",
3936           "properties": {
3937             "access": {
3938               "type": "string"
3939             },
3940             "display-name": {
3941               "type": "string"
3942             },
3943             "user": {
3944               "type": "string"
3945             }
3946           },
3947           "additionalProperties": false,
3948           "required": [
3949             "user",
3950             "display-name",
3951             "access"
3952           ]
3953         },
3954         "QueryApplicationOffersResults": {
3955           "type": "object",
3956           "properties": {
3957             "results": {
3958               "type": "array",
3959               "items": {
3960                 "$ref": "#/definitions/ApplicationOfferAdminDetails"
3961               }
3962             }
3963           },
3964           "additionalProperties": false,
3965           "required": [
3966             "results"
3967           ]
3968         },
3969         "RemoteApplicationInfo": {
3970           "type": "object",
3971           "properties": {
3972             "description": {
3973               "type": "string"
3974             },
3975             "endpoints": {
3976               "type": "array",
3977               "items": {
3978                 "$ref": "#/definitions/RemoteEndpoint"
3979               }
3980             },
3981             "icon-url-path": {
3982               "type": "string"
3983             },
3984             "model-tag": {
3985               "type": "string"
3986             },
3987             "name": {
3988               "type": "string"
3989             },
3990             "offer-url": {
3991               "type": "string"
3992             },
3993             "source-model-label": {
3994               "type": "string"
3995             }
3996           },
3997           "additionalProperties": false,
3998           "required": [
3999             "model-tag",
4000             "name",
4001             "description",
4002             "offer-url",
4003             "endpoints",
4004             "icon-url-path"
4005           ]
4006         },
4007         "RemoteApplicationInfoResult": {
4008           "type": "object",
4009           "properties": {
4010             "error": {
4011               "$ref": "#/definitions/Error"
4012             },
4013             "result": {
4014               "$ref": "#/definitions/RemoteApplicationInfo"
4015             }
4016           },
4017           "additionalProperties": false
4018         },
4019         "RemoteApplicationInfoResults": {
4020           "type": "object",
4021           "properties": {
4022             "results": {
4023               "type": "array",
4024               "items": {
4025                 "$ref": "#/definitions/RemoteApplicationInfoResult"
4026               }
4027             }
4028           },
4029           "additionalProperties": false,
4030           "required": [
4031             "results"
4032           ]
4033         },
4034         "RemoteEndpoint": {
4035           "type": "object",
4036           "properties": {
4037             "interface": {
4038               "type": "string"
4039             },
4040             "limit": {
4041               "type": "integer"
4042             },
4043             "name": {
4044               "type": "string"
4045             },
4046             "role": {
4047               "type": "string"
4048             }
4049           },
4050           "additionalProperties": false,
4051           "required": [
4052             "name",
4053             "role",
4054             "interface",
4055             "limit"
4056           ]
4057         },
4058         "RemoteSpace": {
4059           "type": "object",
4060           "properties": {
4061             "cloud-type": {
4062               "type": "string"
4063             },
4064             "name": {
4065               "type": "string"
4066             },
4067             "provider-attributes": {
4068               "type": "object",
4069               "patternProperties": {
4070                 ".*": {
4071                   "type": "object",
4072                   "additionalProperties": true
4073                 }
4074               }
4075             },
4076             "provider-id": {
4077               "type": "string"
4078             },
4079             "subnets": {
4080               "type": "array",
4081               "items": {
4082                 "$ref": "#/definitions/Subnet"
4083               }
4084             }
4085           },
4086           "additionalProperties": false,
4087           "required": [
4088             "cloud-type",
4089             "name",
4090             "provider-id",
4091             "provider-attributes",
4092             "subnets"
4093           ]
4094         },
4095         "Subnet": {
4096           "type": "object",
4097           "properties": {
4098             "cidr": {
4099               "type": "string"
4100             },
4101             "life": {
4102               "type": "string"
4103             },
4104             "provider-id": {
4105               "type": "string"
4106             },
4107             "provider-network-id": {
4108               "type": "string"
4109             },
4110             "provider-space-id": {
4111               "type": "string"
4112             },
4113             "space-tag": {
4114               "type": "string"
4115             },
4116             "status": {
4117               "type": "string"
4118             },
4119             "vlan-tag": {
4120               "type": "integer"
4121             },
4122             "zones": {
4123               "type": "array",
4124               "items": {
4125                 "type": "string"
4126               }
4127             }
4128           },
4129           "additionalProperties": false,
4130           "required": [
4131             "cidr",
4132             "vlan-tag",
4133             "life",
4134             "space-tag",
4135             "zones"
4136           ]
4137         }
4138       }
4139     }
4140   },
4141   {
4142     "Name": "ApplicationScaler",
4143     "Version": 1,
4144     "Schema": {
4145       "type": "object",
4146       "properties": {
4147         "Rescale": {
4148           "type": "object",
4149           "properties": {
4150             "Params": {
4151               "$ref": "#/definitions/Entities"
4152             },
4153             "Result": {
4154               "$ref": "#/definitions/ErrorResults"
4155             }
4156           }
4157         },
4158         "Watch": {
4159           "type": "object",
4160           "properties": {
4161             "Result": {
4162               "$ref": "#/definitions/StringsWatchResult"
4163             }
4164           }
4165         }
4166       },
4167       "definitions": {
4168         "Entities": {
4169           "type": "object",
4170           "properties": {
4171             "entities": {
4172               "type": "array",
4173               "items": {
4174                 "$ref": "#/definitions/Entity"
4175               }
4176             }
4177           },
4178           "additionalProperties": false,
4179           "required": [
4180             "entities"
4181           ]
4182         },
4183         "Entity": {
4184           "type": "object",
4185           "properties": {
4186             "tag": {
4187               "type": "string"
4188             }
4189           },
4190           "additionalProperties": false,
4191           "required": [
4192             "tag"
4193           ]
4194         },
4195         "Error": {
4196           "type": "object",
4197           "properties": {
4198             "code": {
4199               "type": "string"
4200             },
4201             "info": {
4202               "$ref": "#/definitions/ErrorInfo"
4203             },
4204             "message": {
4205               "type": "string"
4206             }
4207           },
4208           "additionalProperties": false,
4209           "required": [
4210             "message",
4211             "code"
4212           ]
4213         },
4214         "ErrorInfo": {
4215           "type": "object",
4216           "properties": {
4217             "macaroon": {
4218               "$ref": "#/definitions/Macaroon"
4219             },
4220             "macaroon-path": {
4221               "type": "string"
4222             }
4223           },
4224           "additionalProperties": false
4225         },
4226         "ErrorResult": {
4227           "type": "object",
4228           "properties": {
4229             "error": {
4230               "$ref": "#/definitions/Error"
4231             }
4232           },
4233           "additionalProperties": false
4234         },
4235         "ErrorResults": {
4236           "type": "object",
4237           "properties": {
4238             "results": {
4239               "type": "array",
4240               "items": {
4241                 "$ref": "#/definitions/ErrorResult"
4242               }
4243             }
4244           },
4245           "additionalProperties": false,
4246           "required": [
4247             "results"
4248           ]
4249         },
4250         "Macaroon": {
4251           "type": "object",
4252           "additionalProperties": false
4253         },
4254         "StringsWatchResult": {
4255           "type": "object",
4256           "properties": {
4257             "changes": {
4258               "type": "array",
4259               "items": {
4260                 "type": "string"
4261               }
4262             },
4263             "error": {
4264               "$ref": "#/definitions/Error"
4265             },
4266             "watcher-id": {
4267               "type": "string"
4268             }
4269           },
4270           "additionalProperties": false,
4271           "required": [
4272             "watcher-id"
4273           ]
4274         }
4275       }
4276     }
4277   },
4278   {
4279     "Name": "Backups",
4280     "Version": 2,
4281     "Schema": {
4282       "type": "object",
4283       "properties": {
4284         "Create": {
4285           "type": "object",
4286           "properties": {
4287             "Params": {
4288               "$ref": "#/definitions/BackupsCreateArgs"
4289             },
4290             "Result": {
4291               "$ref": "#/definitions/BackupsMetadataResult"
4292             }
4293           }
4294         },
4295         "FinishRestore": {
4296           "type": "object"
4297         },
4298         "Info": {
4299           "type": "object",
4300           "properties": {
4301             "Params": {
4302               "$ref": "#/definitions/BackupsInfoArgs"
4303             },
4304             "Result": {
4305               "$ref": "#/definitions/BackupsMetadataResult"
4306             }
4307           }
4308         },
4309         "List": {
4310           "type": "object",
4311           "properties": {
4312             "Params": {
4313               "$ref": "#/definitions/BackupsListArgs"
4314             },
4315             "Result": {
4316               "$ref": "#/definitions/BackupsListResult"
4317             }
4318           }
4319         },
4320         "PrepareRestore": {
4321           "type": "object"
4322         },
4323         "Remove": {
4324           "type": "object",
4325           "properties": {
4326             "Params": {
4327               "$ref": "#/definitions/BackupsRemoveArgs"
4328             },
4329             "Result": {
4330               "$ref": "#/definitions/ErrorResults"
4331             }
4332           }
4333         },
4334         "Restore": {
4335           "type": "object",
4336           "properties": {
4337             "Params": {
4338               "$ref": "#/definitions/RestoreArgs"
4339             }
4340           }
4341         }
4342       },
4343       "definitions": {
4344         "BackupsCreateArgs": {
4345           "type": "object",
4346           "properties": {
4347             "keep-copy": {
4348               "type": "boolean"
4349             },
4350             "no-download": {
4351               "type": "boolean"
4352             },
4353             "notes": {
4354               "type": "string"
4355             }
4356           },
4357           "additionalProperties": false,
4358           "required": [
4359             "notes",
4360             "keep-copy",
4361             "no-download"
4362           ]
4363         },
4364         "BackupsInfoArgs": {
4365           "type": "object",
4366           "properties": {
4367             "id": {
4368               "type": "string"
4369             }
4370           },
4371           "additionalProperties": false,
4372           "required": [
4373             "id"
4374           ]
4375         },
4376         "BackupsListArgs": {
4377           "type": "object",
4378           "additionalProperties": false
4379         },
4380         "BackupsListResult": {
4381           "type": "object",
4382           "properties": {
4383             "list": {
4384               "type": "array",
4385               "items": {
4386                 "$ref": "#/definitions/BackupsMetadataResult"
4387               }
4388             }
4389           },
4390           "additionalProperties": false,
4391           "required": [
4392             "list"
4393           ]
4394         },
4395         "BackupsMetadataResult": {
4396           "type": "object",
4397           "properties": {
4398             "ca-cert": {
4399               "type": "string"
4400             },
4401             "ca-private-key": {
4402               "type": "string"
4403             },
4404             "checksum": {
4405               "type": "string"
4406             },
4407             "checksum-format": {
4408               "type": "string"
4409             },
4410             "filename": {
4411               "type": "string"
4412             },
4413             "finished": {
4414               "type": "string",
4415               "format": "date-time"
4416             },
4417             "hostname": {
4418               "type": "string"
4419             },
4420             "id": {
4421               "type": "string"
4422             },
4423             "machine": {
4424               "type": "string"
4425             },
4426             "model": {
4427               "type": "string"
4428             },
4429             "notes": {
4430               "type": "string"
4431             },
4432             "series": {
4433               "type": "string"
4434             },
4435             "size": {
4436               "type": "integer"
4437             },
4438             "started": {
4439               "type": "string",
4440               "format": "date-time"
4441             },
4442             "stored": {
4443               "type": "string",
4444               "format": "date-time"
4445             },
4446             "version": {
4447               "$ref": "#/definitions/Number"
4448             }
4449           },
4450           "additionalProperties": false,
4451           "required": [
4452             "id",
4453             "checksum",
4454             "checksum-format",
4455             "size",
4456             "stored",
4457             "started",
4458             "finished",
4459             "notes",
4460             "model",
4461             "machine",
4462             "hostname",
4463             "version",
4464             "series",
4465             "ca-cert",
4466             "ca-private-key",
4467             "filename"
4468           ]
4469         },
4470         "BackupsRemoveArgs": {
4471           "type": "object",
4472           "properties": {
4473             "ids": {
4474               "type": "array",
4475               "items": {
4476                 "type": "string"
4477               }
4478             }
4479           },
4480           "additionalProperties": false,
4481           "required": [
4482             "ids"
4483           ]
4484         },
4485         "Error": {
4486           "type": "object",
4487           "properties": {
4488             "code": {
4489               "type": "string"
4490             },
4491             "info": {
4492               "$ref": "#/definitions/ErrorInfo"
4493             },
4494             "message": {
4495               "type": "string"
4496             }
4497           },
4498           "additionalProperties": false,
4499           "required": [
4500             "message",
4501             "code"
4502           ]
4503         },
4504         "ErrorInfo": {
4505           "type": "object",
4506           "properties": {
4507             "macaroon": {
4508               "$ref": "#/definitions/Macaroon"
4509             },
4510             "macaroon-path": {
4511               "type": "string"
4512             }
4513           },
4514           "additionalProperties": false
4515         },
4516         "ErrorResult": {
4517           "type": "object",
4518           "properties": {
4519             "error": {
4520               "$ref": "#/definitions/Error"
4521             }
4522           },
4523           "additionalProperties": false
4524         },
4525         "ErrorResults": {
4526           "type": "object",
4527           "properties": {
4528             "results": {
4529               "type": "array",
4530               "items": {
4531                 "$ref": "#/definitions/ErrorResult"
4532               }
4533             }
4534           },
4535           "additionalProperties": false,
4536           "required": [
4537             "results"
4538           ]
4539         },
4540         "Macaroon": {
4541           "type": "object",
4542           "additionalProperties": false
4543         },
4544         "Number": {
4545           "type": "object",
4546           "properties": {
4547             "Build": {
4548               "type": "integer"
4549             },
4550             "Major": {
4551               "type": "integer"
4552             },
4553             "Minor": {
4554               "type": "integer"
4555             },
4556             "Patch": {
4557               "type": "integer"
4558             },
4559             "Tag": {
4560               "type": "string"
4561             }
4562           },
4563           "additionalProperties": false,
4564           "required": [
4565             "Major",
4566             "Minor",
4567             "Tag",
4568             "Patch",
4569             "Build"
4570           ]
4571         },
4572         "RestoreArgs": {
4573           "type": "object",
4574           "properties": {
4575             "backup-id": {
4576               "type": "string"
4577             }
4578           },
4579           "additionalProperties": false,
4580           "required": [
4581             "backup-id"
4582           ]
4583         }
4584       }
4585     }
4586   },
4587   {
4588     "Name": "Block",
4589     "Version": 2,
4590     "Schema": {
4591       "type": "object",
4592       "properties": {
4593         "List": {
4594           "type": "object",
4595           "properties": {
4596             "Result": {
4597               "$ref": "#/definitions/BlockResults"
4598             }
4599           }
4600         },
4601         "SwitchBlockOff": {
4602           "type": "object",
4603           "properties": {
4604             "Params": {
4605               "$ref": "#/definitions/BlockSwitchParams"
4606             },
4607             "Result": {
4608               "$ref": "#/definitions/ErrorResult"
4609             }
4610           }
4611         },
4612         "SwitchBlockOn": {
4613           "type": "object",
4614           "properties": {
4615             "Params": {
4616               "$ref": "#/definitions/BlockSwitchParams"
4617             },
4618             "Result": {
4619               "$ref": "#/definitions/ErrorResult"
4620             }
4621           }
4622         }
4623       },
4624       "definitions": {
4625         "Block": {
4626           "type": "object",
4627           "properties": {
4628             "id": {
4629               "type": "string"
4630             },
4631             "message": {
4632               "type": "string"
4633             },
4634             "tag": {
4635               "type": "string"
4636             },
4637             "type": {
4638               "type": "string"
4639             }
4640           },
4641           "additionalProperties": false,
4642           "required": [
4643             "id",
4644             "tag",
4645             "type"
4646           ]
4647         },
4648         "BlockResult": {
4649           "type": "object",
4650           "properties": {
4651             "error": {
4652               "$ref": "#/definitions/Error"
4653             },
4654             "result": {
4655               "$ref": "#/definitions/Block"
4656             }
4657           },
4658           "additionalProperties": false,
4659           "required": [
4660             "result"
4661           ]
4662         },
4663         "BlockResults": {
4664           "type": "object",
4665           "properties": {
4666             "results": {
4667               "type": "array",
4668               "items": {
4669                 "$ref": "#/definitions/BlockResult"
4670               }
4671             }
4672           },
4673           "additionalProperties": false
4674         },
4675         "BlockSwitchParams": {
4676           "type": "object",
4677           "properties": {
4678             "message": {
4679               "type": "string"
4680             },
4681             "type": {
4682               "type": "string"
4683             }
4684           },
4685           "additionalProperties": false,
4686           "required": [
4687             "type"
4688           ]
4689         },
4690         "Error": {
4691           "type": "object",
4692           "properties": {
4693             "code": {
4694               "type": "string"
4695             },
4696             "info": {
4697               "$ref": "#/definitions/ErrorInfo"
4698             },
4699             "message": {
4700               "type": "string"
4701             }
4702           },
4703           "additionalProperties": false,
4704           "required": [
4705             "message",
4706             "code"
4707           ]
4708         },
4709         "ErrorInfo": {
4710           "type": "object",
4711           "properties": {
4712             "macaroon": {
4713               "$ref": "#/definitions/Macaroon"
4714             },
4715             "macaroon-path": {
4716               "type": "string"
4717             }
4718           },
4719           "additionalProperties": false
4720         },
4721         "ErrorResult": {
4722           "type": "object",
4723           "properties": {
4724             "error": {
4725               "$ref": "#/definitions/Error"
4726             }
4727           },
4728           "additionalProperties": false
4729         },
4730         "Macaroon": {
4731           "type": "object",
4732           "additionalProperties": false
4733         }
4734       }
4735     }
4736   },
4737   {
4738     "Name": "Bundle",
4739     "Version": 2,
4740     "Schema": {
4741       "type": "object",
4742       "properties": {
4743         "ExportBundle": {
4744           "type": "object",
4745           "properties": {
4746             "Result": {
4747               "$ref": "#/definitions/StringResult"
4748             }
4749           }
4750         },
4751         "GetChanges": {
4752           "type": "object",
4753           "properties": {
4754             "Params": {
4755               "$ref": "#/definitions/BundleChangesParams"
4756             },
4757             "Result": {
4758               "$ref": "#/definitions/BundleChangesResults"
4759             }
4760           }
4761         }
4762       },
4763       "definitions": {
4764         "BundleChange": {
4765           "type": "object",
4766           "properties": {
4767             "args": {
4768               "type": "array",
4769               "items": {
4770                 "type": "object",
4771                 "additionalProperties": true
4772               }
4773             },
4774             "id": {
4775               "type": "string"
4776             },
4777             "method": {
4778               "type": "string"
4779             },
4780             "requires": {
4781               "type": "array",
4782               "items": {
4783                 "type": "string"
4784               }
4785             }
4786           },
4787           "additionalProperties": false,
4788           "required": [
4789             "id",
4790             "method",
4791             "args",
4792             "requires"
4793           ]
4794         },
4795         "BundleChangesParams": {
4796           "type": "object",
4797           "properties": {
4798             "bundleURL": {
4799               "type": "string"
4800             },
4801             "yaml": {
4802               "type": "string"
4803             }
4804           },
4805           "additionalProperties": false,
4806           "required": [
4807             "yaml",
4808             "bundleURL"
4809           ]
4810         },
4811         "BundleChangesResults": {
4812           "type": "object",
4813           "properties": {
4814             "changes": {
4815               "type": "array",
4816               "items": {
4817                 "$ref": "#/definitions/BundleChange"
4818               }
4819             },
4820             "errors": {
4821               "type": "array",
4822               "items": {
4823                 "type": "string"
4824               }
4825             }
4826           },
4827           "additionalProperties": false
4828         },
4829         "Error": {
4830           "type": "object",
4831           "properties": {
4832             "code": {
4833               "type": "string"
4834             },
4835             "info": {
4836               "$ref": "#/definitions/ErrorInfo"
4837             },
4838             "message": {
4839               "type": "string"
4840             }
4841           },
4842           "additionalProperties": false,
4843           "required": [
4844             "message",
4845             "code"
4846           ]
4847         },
4848         "ErrorInfo": {
4849           "type": "object",
4850           "properties": {
4851             "macaroon": {
4852               "$ref": "#/definitions/Macaroon"
4853             },
4854             "macaroon-path": {
4855               "type": "string"
4856             }
4857           },
4858           "additionalProperties": false
4859         },
4860         "Macaroon": {
4861           "type": "object",
4862           "additionalProperties": false
4863         },
4864         "StringResult": {
4865           "type": "object",
4866           "properties": {
4867             "error": {
4868               "$ref": "#/definitions/Error"
4869             },
4870             "result": {
4871               "type": "string"
4872             }
4873           },
4874           "additionalProperties": false,
4875           "required": [
4876             "result"
4877           ]
4878         }
4879       }
4880     }
4881   },
4882   {
4883     "Name": "CAASAgent",
4884     "Version": 1,
4885     "Schema": {
4886       "type": "object",
4887       "properties": {
4888         "CloudSpec": {
4889           "type": "object",
4890           "properties": {
4891             "Params": {
4892               "$ref": "#/definitions/Entities"
4893             },
4894             "Result": {
4895               "$ref": "#/definitions/CloudSpecResults"
4896             }
4897           }
4898         },
4899         "GetCloudSpec": {
4900           "type": "object",
4901           "properties": {
4902             "Params": {
4903               "$ref": "#/definitions/ModelTag"
4904             },
4905             "Result": {
4906               "$ref": "#/definitions/CloudSpecResult"
4907             }
4908           }
4909         },
4910         "ModelConfig": {
4911           "type": "object",
4912           "properties": {
4913             "Result": {
4914               "$ref": "#/definitions/ModelConfigResult"
4915             }
4916           }
4917         },
4918         "WatchForModelConfigChanges": {
4919           "type": "object",
4920           "properties": {
4921             "Result": {
4922               "$ref": "#/definitions/NotifyWatchResult"
4923             }
4924           }
4925         }
4926       },
4927       "definitions": {
4928         "CloudCredential": {
4929           "type": "object",
4930           "properties": {
4931             "attrs": {
4932               "type": "object",
4933               "patternProperties": {
4934                 ".*": {
4935                   "type": "string"
4936                 }
4937               }
4938             },
4939             "auth-type": {
4940               "type": "string"
4941             },
4942             "redacted": {
4943               "type": "array",
4944               "items": {
4945                 "type": "string"
4946               }
4947             }
4948           },
4949           "additionalProperties": false,
4950           "required": [
4951             "auth-type"
4952           ]
4953         },
4954         "CloudSpec": {
4955           "type": "object",
4956           "properties": {
4957             "cacertificates": {
4958               "type": "array",
4959               "items": {
4960                 "type": "string"
4961               }
4962             },
4963             "credential": {
4964               "$ref": "#/definitions/CloudCredential"
4965             },
4966             "endpoint": {
4967               "type": "string"
4968             },
4969             "identity-endpoint": {
4970               "type": "string"
4971             },
4972             "name": {
4973               "type": "string"
4974             },
4975             "region": {
4976               "type": "string"
4977             },
4978             "storage-endpoint": {
4979               "type": "string"
4980             },
4981             "type": {
4982               "type": "string"
4983             }
4984           },
4985           "additionalProperties": false,
4986           "required": [
4987             "type",
4988             "name"
4989           ]
4990         },
4991         "CloudSpecResult": {
4992           "type": "object",
4993           "properties": {
4994             "error": {
4995               "$ref": "#/definitions/Error"
4996             },
4997             "result": {
4998               "$ref": "#/definitions/CloudSpec"
4999             }
5000           },
5001           "additionalProperties": false
5002         },
5003         "CloudSpecResults": {
5004           "type": "object",
5005           "properties": {
5006             "results": {
5007               "type": "array",
5008               "items": {
5009                 "$ref": "#/definitions/CloudSpecResult"
5010               }
5011             }
5012           },
5013           "additionalProperties": false
5014         },
5015         "Entities": {
5016           "type": "object",
5017           "properties": {
5018             "entities": {
5019               "type": "array",
5020               "items": {
5021                 "$ref": "#/definitions/Entity"
5022               }
5023             }
5024           },
5025           "additionalProperties": false,
5026           "required": [
5027             "entities"
5028           ]
5029         },
5030         "Entity": {
5031           "type": "object",
5032           "properties": {
5033             "tag": {
5034               "type": "string"
5035             }
5036           },
5037           "additionalProperties": false,
5038           "required": [
5039             "tag"
5040           ]
5041         },
5042         "Error": {
5043           "type": "object",
5044           "properties": {
5045             "code": {
5046               "type": "string"
5047             },
5048             "info": {
5049               "$ref": "#/definitions/ErrorInfo"
5050             },
5051             "message": {
5052               "type": "string"
5053             }
5054           },
5055           "additionalProperties": false,
5056           "required": [
5057             "message",
5058             "code"
5059           ]
5060         },
5061         "ErrorInfo": {
5062           "type": "object",
5063           "properties": {
5064             "macaroon": {
5065               "$ref": "#/definitions/Macaroon"
5066             },
5067             "macaroon-path": {
5068               "type": "string"
5069             }
5070           },
5071           "additionalProperties": false
5072         },
5073         "Macaroon": {
5074           "type": "object",
5075           "additionalProperties": false
5076         },
5077         "ModelConfigResult": {
5078           "type": "object",
5079           "properties": {
5080             "config": {
5081               "type": "object",
5082               "patternProperties": {
5083                 ".*": {
5084                   "type": "object",
5085                   "additionalProperties": true
5086                 }
5087               }
5088             }
5089           },
5090           "additionalProperties": false,
5091           "required": [
5092             "config"
5093           ]
5094         },
5095         "ModelTag": {
5096           "type": "object",
5097           "additionalProperties": false
5098         },
5099         "NotifyWatchResult": {
5100           "type": "object",
5101           "properties": {
5102             "NotifyWatcherId": {
5103               "type": "string"
5104             },
5105             "error": {
5106               "$ref": "#/definitions/Error"
5107             }
5108           },
5109           "additionalProperties": false,
5110           "required": [
5111             "NotifyWatcherId"
5112           ]
5113         }
5114       }
5115     }
5116   },
5117   {
5118     "Name": "CAASFirewaller",
5119     "Version": 1,
5120     "Schema": {
5121       "type": "object",
5122       "properties": {
5123         "ApplicationsConfig": {
5124           "type": "object",
5125           "properties": {
5126             "Params": {
5127               "$ref": "#/definitions/Entities"
5128             },
5129             "Result": {
5130               "$ref": "#/definitions/ApplicationGetConfigResults"
5131             }
5132           }
5133         },
5134         "IsExposed": {
5135           "type": "object",
5136           "properties": {
5137             "Params": {
5138               "$ref": "#/definitions/Entities"
5139             },
5140             "Result": {
5141               "$ref": "#/definitions/BoolResults"
5142             }
5143           }
5144         },
5145         "Life": {
5146           "type": "object",
5147           "properties": {
5148             "Params": {
5149               "$ref": "#/definitions/Entities"
5150             },
5151             "Result": {
5152               "$ref": "#/definitions/LifeResults"
5153             }
5154           }
5155         },
5156         "Watch": {
5157           "type": "object",
5158           "properties": {
5159             "Params": {
5160               "$ref": "#/definitions/Entities"
5161             },
5162             "Result": {
5163               "$ref": "#/definitions/NotifyWatchResults"
5164             }
5165           }
5166         },
5167         "WatchApplications": {
5168           "type": "object",
5169           "properties": {
5170             "Result": {
5171               "$ref": "#/definitions/StringsWatchResult"
5172             }
5173           }
5174         }
5175       },
5176       "definitions": {
5177         "ApplicationGetConfigResults": {
5178           "type": "object",
5179           "properties": {
5180             "Results": {
5181               "type": "array",
5182               "items": {
5183                 "$ref": "#/definitions/ConfigResult"
5184               }
5185             }
5186           },
5187           "additionalProperties": false,
5188           "required": [
5189             "Results"
5190           ]
5191         },
5192         "BoolResult": {
5193           "type": "object",
5194           "properties": {
5195             "error": {
5196               "$ref": "#/definitions/Error"
5197             },
5198             "result": {
5199               "type": "boolean"
5200             }
5201           },
5202           "additionalProperties": false,
5203           "required": [
5204             "result"
5205           ]
5206         },
5207         "BoolResults": {
5208           "type": "object",
5209           "properties": {
5210             "results": {
5211               "type": "array",
5212               "items": {
5213                 "$ref": "#/definitions/BoolResult"
5214               }
5215             }
5216           },
5217           "additionalProperties": false,
5218           "required": [
5219             "results"
5220           ]
5221         },
5222         "ConfigResult": {
5223           "type": "object",
5224           "properties": {
5225             "config": {
5226               "type": "object",
5227               "patternProperties": {
5228                 ".*": {
5229                   "type": "object",
5230                   "additionalProperties": true
5231                 }
5232               }
5233             },
5234             "error": {
5235               "$ref": "#/definitions/Error"
5236             }
5237           },
5238           "additionalProperties": false,
5239           "required": [
5240             "config"
5241           ]
5242         },
5243         "Entities": {
5244           "type": "object",
5245           "properties": {
5246             "entities": {
5247               "type": "array",
5248               "items": {
5249                 "$ref": "#/definitions/Entity"
5250               }
5251             }
5252           },
5253           "additionalProperties": false,
5254           "required": [
5255             "entities"
5256           ]
5257         },
5258         "Entity": {
5259           "type": "object",
5260           "properties": {
5261             "tag": {
5262               "type": "string"
5263             }
5264           },
5265           "additionalProperties": false,
5266           "required": [
5267             "tag"
5268           ]
5269         },
5270         "Error": {
5271           "type": "object",
5272           "properties": {
5273             "code": {
5274               "type": "string"
5275             },
5276             "info": {
5277               "$ref": "#/definitions/ErrorInfo"
5278             },
5279             "message": {
5280               "type": "string"
5281             }
5282           },
5283           "additionalProperties": false,
5284           "required": [
5285             "message",
5286             "code"
5287           ]
5288         },
5289         "ErrorInfo": {
5290           "type": "object",
5291           "properties": {
5292             "macaroon": {
5293               "$ref": "#/definitions/Macaroon"
5294             },
5295             "macaroon-path": {
5296               "type": "string"
5297             }
5298           },
5299           "additionalProperties": false
5300         },
5301         "LifeResult": {
5302           "type": "object",
5303           "properties": {
5304             "error": {
5305               "$ref": "#/definitions/Error"
5306             },
5307             "life": {
5308               "type": "string"
5309             }
5310           },
5311           "additionalProperties": false,
5312           "required": [
5313             "life"
5314           ]
5315         },
5316         "LifeResults": {
5317           "type": "object",
5318           "properties": {
5319             "results": {
5320               "type": "array",
5321               "items": {
5322                 "$ref": "#/definitions/LifeResult"
5323               }
5324             }
5325           },
5326           "additionalProperties": false,
5327           "required": [
5328             "results"
5329           ]
5330         },
5331         "Macaroon": {
5332           "type": "object",
5333           "additionalProperties": false
5334         },
5335         "NotifyWatchResult": {
5336           "type": "object",
5337           "properties": {
5338             "NotifyWatcherId": {
5339               "type": "string"
5340             },
5341             "error": {
5342               "$ref": "#/definitions/Error"
5343             }
5344           },
5345           "additionalProperties": false,
5346           "required": [
5347             "NotifyWatcherId"
5348           ]
5349         },
5350         "NotifyWatchResults": {
5351           "type": "object",
5352           "properties": {
5353             "results": {
5354               "type": "array",
5355               "items": {
5356                 "$ref": "#/definitions/NotifyWatchResult"
5357               }
5358             }
5359           },
5360           "additionalProperties": false,
5361           "required": [
5362             "results"
5363           ]
5364         },
5365         "StringsWatchResult": {
5366           "type": "object",
5367           "properties": {
5368             "changes": {
5369               "type": "array",
5370               "items": {
5371                 "type": "string"
5372               }
5373             },
5374             "error": {
5375               "$ref": "#/definitions/Error"
5376             },
5377             "watcher-id": {
5378               "type": "string"
5379             }
5380           },
5381           "additionalProperties": false,
5382           "required": [
5383             "watcher-id"
5384           ]
5385         }
5386       }
5387     }
5388   },
5389   {
5390     "Name": "CAASOperator",
5391     "Version": 1,
5392     "Schema": {
5393       "type": "object",
5394       "properties": {
5395         "APIAddresses": {
5396           "type": "object",
5397           "properties": {
5398             "Result": {
5399               "$ref": "#/definitions/StringsResult"
5400             }
5401           }
5402         },
5403         "APIHostPorts": {
5404           "type": "object",
5405           "properties": {
5406             "Result": {
5407               "$ref": "#/definitions/APIHostPortsResult"
5408             }
5409           }
5410         },
5411         "Charm": {
5412           "type": "object",
5413           "properties": {
5414             "Params": {
5415               "$ref": "#/definitions/Entities"
5416             },
5417             "Result": {
5418               "$ref": "#/definitions/ApplicationCharmResults"
5419             }
5420           }
5421         },
5422         "CurrentModel": {
5423           "type": "object",
5424           "properties": {
5425             "Result": {
5426               "$ref": "#/definitions/ModelResult"
5427             }
5428           }
5429         },
5430         "Life": {
5431           "type": "object",
5432           "properties": {
5433             "Params": {
5434               "$ref": "#/definitions/Entities"
5435             },
5436             "Result": {
5437               "$ref": "#/definitions/LifeResults"
5438             }
5439           }
5440         },
5441         "ModelUUID": {
5442           "type": "object",
5443           "properties": {
5444             "Result": {
5445               "$ref": "#/definitions/StringResult"
5446             }
5447           }
5448         },
5449         "Remove": {
5450           "type": "object",
5451           "properties": {
5452             "Params": {
5453               "$ref": "#/definitions/Entities"
5454             },
5455             "Result": {
5456               "$ref": "#/definitions/ErrorResults"
5457             }
5458           }
5459         },
5460         "SetPodSpec": {
5461           "type": "object",
5462           "properties": {
5463             "Params": {
5464               "$ref": "#/definitions/SetPodSpecParams"
5465             },
5466             "Result": {
5467               "$ref": "#/definitions/ErrorResults"
5468             }
5469           }
5470         },
5471         "SetStatus": {
5472           "type": "object",
5473           "properties": {
5474             "Params": {
5475               "$ref": "#/definitions/SetStatus"
5476             },
5477             "Result": {
5478               "$ref": "#/definitions/ErrorResults"
5479             }
5480           }
5481         },
5482         "SetTools": {
5483           "type": "object",
5484           "properties": {
5485             "Params": {
5486               "$ref": "#/definitions/EntitiesVersion"
5487             },
5488             "Result": {
5489               "$ref": "#/definitions/ErrorResults"
5490             }
5491           }
5492         },
5493         "Watch": {
5494           "type": "object",
5495           "properties": {
5496             "Params": {
5497               "$ref": "#/definitions/Entities"
5498             },
5499             "Result": {
5500               "$ref": "#/definitions/NotifyWatchResults"
5501             }
5502           }
5503         },
5504         "WatchAPIHostPorts": {
5505           "type": "object",
5506           "properties": {
5507             "Result": {
5508               "$ref": "#/definitions/NotifyWatchResult"
5509             }
5510           }
5511         },
5512         "WatchUnits": {
5513           "type": "object",
5514           "properties": {
5515             "Params": {
5516               "$ref": "#/definitions/Entities"
5517             },
5518             "Result": {
5519               "$ref": "#/definitions/StringsWatchResults"
5520             }
5521           }
5522         }
5523       },
5524       "definitions": {
5525         "APIHostPortsResult": {
5526           "type": "object",
5527           "properties": {
5528             "servers": {
5529               "type": "array",
5530               "items": {
5531                 "type": "array",
5532                 "items": {
5533                   "$ref": "#/definitions/HostPort"
5534                 }
5535               }
5536             }
5537           },
5538           "additionalProperties": false,
5539           "required": [
5540             "servers"
5541           ]
5542         },
5543         "Address": {
5544           "type": "object",
5545           "properties": {
5546             "scope": {
5547               "type": "string"
5548             },
5549             "space-name": {
5550               "type": "string"
5551             },
5552             "type": {
5553               "type": "string"
5554             },
5555             "value": {
5556               "type": "string"
5557             }
5558           },
5559           "additionalProperties": false,
5560           "required": [
5561             "value",
5562             "type",
5563             "scope"
5564           ]
5565         },
5566         "ApplicationCharm": {
5567           "type": "object",
5568           "properties": {
5569             "charm-modified-version": {
5570               "type": "integer"
5571             },
5572             "force-upgrade": {
5573               "type": "boolean"
5574             },
5575             "sha256": {
5576               "type": "string"
5577             },
5578             "url": {
5579               "type": "string"
5580             }
5581           },
5582           "additionalProperties": false,
5583           "required": [
5584             "url",
5585             "sha256",
5586             "charm-modified-version"
5587           ]
5588         },
5589         "ApplicationCharmResult": {
5590           "type": "object",
5591           "properties": {
5592             "error": {
5593               "$ref": "#/definitions/Error"
5594             },
5595             "result": {
5596               "$ref": "#/definitions/ApplicationCharm"
5597             }
5598           },
5599           "additionalProperties": false
5600         },
5601         "ApplicationCharmResults": {
5602           "type": "object",
5603           "properties": {
5604             "results": {
5605               "type": "array",
5606               "items": {
5607                 "$ref": "#/definitions/ApplicationCharmResult"
5608               }
5609             }
5610           },
5611           "additionalProperties": false,
5612           "required": [
5613             "results"
5614           ]
5615         },
5616         "Binary": {
5617           "type": "object",
5618           "properties": {
5619             "Arch": {
5620               "type": "string"
5621             },
5622             "Number": {
5623               "$ref": "#/definitions/Number"
5624             },
5625             "Series": {
5626               "type": "string"
5627             }
5628           },
5629           "additionalProperties": false,
5630           "required": [
5631             "Number",
5632             "Series",
5633             "Arch"
5634           ]
5635         },
5636         "Entities": {
5637           "type": "object",
5638           "properties": {
5639             "entities": {
5640               "type": "array",
5641               "items": {
5642                 "$ref": "#/definitions/Entity"
5643               }
5644             }
5645           },
5646           "additionalProperties": false,
5647           "required": [
5648             "entities"
5649           ]
5650         },
5651         "EntitiesVersion": {
5652           "type": "object",
5653           "properties": {
5654             "agent-tools": {
5655               "type": "array",
5656               "items": {
5657                 "$ref": "#/definitions/EntityVersion"
5658               }
5659             }
5660           },
5661           "additionalProperties": false,
5662           "required": [
5663             "agent-tools"
5664           ]
5665         },
5666         "Entity": {
5667           "type": "object",
5668           "properties": {
5669             "tag": {
5670               "type": "string"
5671             }
5672           },
5673           "additionalProperties": false,
5674           "required": [
5675             "tag"
5676           ]
5677         },
5678         "EntityStatusArgs": {
5679           "type": "object",
5680           "properties": {
5681             "data": {
5682               "type": "object",
5683               "patternProperties": {
5684                 ".*": {
5685                   "type": "object",
5686                   "additionalProperties": true
5687                 }
5688               }
5689             },
5690             "info": {
5691               "type": "string"
5692             },
5693             "status": {
5694               "type": "string"
5695             },
5696             "tag": {
5697               "type": "string"
5698             }
5699           },
5700           "additionalProperties": false,
5701           "required": [
5702             "tag",
5703             "status",
5704             "info",
5705             "data"
5706           ]
5707         },
5708         "EntityString": {
5709           "type": "object",
5710           "properties": {
5711             "tag": {
5712               "type": "string"
5713             },
5714             "value": {
5715               "type": "string"
5716             }
5717           },
5718           "additionalProperties": false,
5719           "required": [
5720             "tag",
5721             "value"
5722           ]
5723         },
5724         "EntityVersion": {
5725           "type": "object",
5726           "properties": {
5727             "tag": {
5728               "type": "string"
5729             },
5730             "tools": {
5731               "$ref": "#/definitions/Version"
5732             }
5733           },
5734           "additionalProperties": false,
5735           "required": [
5736             "tag",
5737             "tools"
5738           ]
5739         },
5740         "Error": {
5741           "type": "object",
5742           "properties": {
5743             "code": {
5744               "type": "string"
5745             },
5746             "info": {
5747               "$ref": "#/definitions/ErrorInfo"
5748             },
5749             "message": {
5750               "type": "string"
5751             }
5752           },
5753           "additionalProperties": false,
5754           "required": [
5755             "message",
5756             "code"
5757           ]
5758         },
5759         "ErrorInfo": {
5760           "type": "object",
5761           "properties": {
5762             "macaroon": {
5763               "$ref": "#/definitions/Macaroon"
5764             },
5765             "macaroon-path": {
5766               "type": "string"
5767             }
5768           },
5769           "additionalProperties": false
5770         },
5771         "ErrorResult": {
5772           "type": "object",
5773           "properties": {
5774             "error": {
5775               "$ref": "#/definitions/Error"
5776             }
5777           },
5778           "additionalProperties": false
5779         },
5780         "ErrorResults": {
5781           "type": "object",
5782           "properties": {
5783             "results": {
5784               "type": "array",
5785               "items": {
5786                 "$ref": "#/definitions/ErrorResult"
5787               }
5788             }
5789           },
5790           "additionalProperties": false,
5791           "required": [
5792             "results"
5793           ]
5794         },
5795         "HostPort": {
5796           "type": "object",
5797           "properties": {
5798             "Address": {
5799               "$ref": "#/definitions/Address"
5800             },
5801             "port": {
5802               "type": "integer"
5803             }
5804           },
5805           "additionalProperties": false,
5806           "required": [
5807             "Address",
5808             "port"
5809           ]
5810         },
5811         "LifeResult": {
5812           "type": "object",
5813           "properties": {
5814             "error": {
5815               "$ref": "#/definitions/Error"
5816             },
5817             "life": {
5818               "type": "string"
5819             }
5820           },
5821           "additionalProperties": false,
5822           "required": [
5823             "life"
5824           ]
5825         },
5826         "LifeResults": {
5827           "type": "object",
5828           "properties": {
5829             "results": {
5830               "type": "array",
5831               "items": {
5832                 "$ref": "#/definitions/LifeResult"
5833               }
5834             }
5835           },
5836           "additionalProperties": false,
5837           "required": [
5838             "results"
5839           ]
5840         },
5841         "Macaroon": {
5842           "type": "object",
5843           "additionalProperties": false
5844         },
5845         "ModelResult": {
5846           "type": "object",
5847           "properties": {
5848             "error": {
5849               "$ref": "#/definitions/Error"
5850             },
5851             "name": {
5852               "type": "string"
5853             },
5854             "type": {
5855               "type": "string"
5856             },
5857             "uuid": {
5858               "type": "string"
5859             }
5860           },
5861           "additionalProperties": false,
5862           "required": [
5863             "name",
5864             "uuid",
5865             "type"
5866           ]
5867         },
5868         "NotifyWatchResult": {
5869           "type": "object",
5870           "properties": {
5871             "NotifyWatcherId": {
5872               "type": "string"
5873             },
5874             "error": {
5875               "$ref": "#/definitions/Error"
5876             }
5877           },
5878           "additionalProperties": false,
5879           "required": [
5880             "NotifyWatcherId"
5881           ]
5882         },
5883         "NotifyWatchResults": {
5884           "type": "object",
5885           "properties": {
5886             "results": {
5887               "type": "array",
5888               "items": {
5889                 "$ref": "#/definitions/NotifyWatchResult"
5890               }
5891             }
5892           },
5893           "additionalProperties": false,
5894           "required": [
5895             "results"
5896           ]
5897         },
5898         "Number": {
5899           "type": "object",
5900           "properties": {
5901             "Build": {
5902               "type": "integer"
5903             },
5904             "Major": {
5905               "type": "integer"
5906             },
5907             "Minor": {
5908               "type": "integer"
5909             },
5910             "Patch": {
5911               "type": "integer"
5912             },
5913             "Tag": {
5914               "type": "string"
5915             }
5916           },
5917           "additionalProperties": false,
5918           "required": [
5919             "Major",
5920             "Minor",
5921             "Tag",
5922             "Patch",
5923             "Build"
5924           ]
5925         },
5926         "SetPodSpecParams": {
5927           "type": "object",
5928           "properties": {
5929             "specs": {
5930               "type": "array",
5931               "items": {
5932                 "$ref": "#/definitions/EntityString"
5933               }
5934             }
5935           },
5936           "additionalProperties": false,
5937           "required": [
5938             "specs"
5939           ]
5940         },
5941         "SetStatus": {
5942           "type": "object",
5943           "properties": {
5944             "entities": {
5945               "type": "array",
5946               "items": {
5947                 "$ref": "#/definitions/EntityStatusArgs"
5948               }
5949             }
5950           },
5951           "additionalProperties": false,
5952           "required": [
5953             "entities"
5954           ]
5955         },
5956         "StringResult": {
5957           "type": "object",
5958           "properties": {
5959             "error": {
5960               "$ref": "#/definitions/Error"
5961             },
5962             "result": {
5963               "type": "string"
5964             }
5965           },
5966           "additionalProperties": false,
5967           "required": [
5968             "result"
5969           ]
5970         },
5971         "StringsResult": {
5972           "type": "object",
5973           "properties": {
5974             "error": {
5975               "$ref": "#/definitions/Error"
5976             },
5977             "result": {
5978               "type": "array",
5979               "items": {
5980                 "type": "string"
5981               }
5982             }
5983           },
5984           "additionalProperties": false
5985         },
5986         "StringsWatchResult": {
5987           "type": "object",
5988           "properties": {
5989             "changes": {
5990               "type": "array",
5991               "items": {
5992                 "type": "string"
5993               }
5994             },
5995             "error": {
5996               "$ref": "#/definitions/Error"
5997             },
5998             "watcher-id": {
5999               "type": "string"
6000             }
6001           },
6002           "additionalProperties": false,
6003           "required": [
6004             "watcher-id"
6005           ]
6006         },
6007         "StringsWatchResults": {
6008           "type": "object",
6009           "properties": {
6010             "results": {
6011               "type": "array",
6012               "items": {
6013                 "$ref": "#/definitions/StringsWatchResult"
6014               }
6015             }
6016           },
6017           "additionalProperties": false,
6018           "required": [
6019             "results"
6020           ]
6021         },
6022         "Version": {
6023           "type": "object",
6024           "properties": {
6025             "version": {
6026               "$ref": "#/definitions/Binary"
6027             }
6028           },
6029           "additionalProperties": false,
6030           "required": [
6031             "version"
6032           ]
6033         }
6034       }
6035     }
6036   },
6037   {
6038     "Name": "CAASOperatorProvisioner",
6039     "Version": 1,
6040     "Schema": {
6041       "type": "object",
6042       "properties": {
6043         "APIAddresses": {
6044           "type": "object",
6045           "properties": {
6046             "Result": {
6047               "$ref": "#/definitions/StringsResult"
6048             }
6049           }
6050         },
6051         "APIHostPorts": {
6052           "type": "object",
6053           "properties": {
6054             "Result": {
6055               "$ref": "#/definitions/APIHostPortsResult"
6056             }
6057           }
6058         },
6059         "Life": {
6060           "type": "object",
6061           "properties": {
6062             "Params": {
6063               "$ref": "#/definitions/Entities"
6064             },
6065             "Result": {
6066               "$ref": "#/definitions/LifeResults"
6067             }
6068           }
6069         },
6070         "ModelUUID": {
6071           "type": "object",
6072           "properties": {
6073             "Result": {
6074               "$ref": "#/definitions/StringResult"
6075             }
6076           }
6077         },
6078         "OperatorProvisioningInfo": {
6079           "type": "object",
6080           "properties": {
6081             "Result": {
6082               "$ref": "#/definitions/OperatorProvisioningInfo"
6083             }
6084           }
6085         },
6086         "SetPasswords": {
6087           "type": "object",
6088           "properties": {
6089             "Params": {
6090               "$ref": "#/definitions/EntityPasswords"
6091             },
6092             "Result": {
6093               "$ref": "#/definitions/ErrorResults"
6094             }
6095           }
6096         },
6097         "WatchAPIHostPorts": {
6098           "type": "object",
6099           "properties": {
6100             "Result": {
6101               "$ref": "#/definitions/NotifyWatchResult"
6102             }
6103           }
6104         },
6105         "WatchApplications": {
6106           "type": "object",
6107           "properties": {
6108             "Result": {
6109               "$ref": "#/definitions/StringsWatchResult"
6110             }
6111           }
6112         }
6113       },
6114       "definitions": {
6115         "APIHostPortsResult": {
6116           "type": "object",
6117           "properties": {
6118             "servers": {
6119               "type": "array",
6120               "items": {
6121                 "type": "array",
6122                 "items": {
6123                   "$ref": "#/definitions/HostPort"
6124                 }
6125               }
6126             }
6127           },
6128           "additionalProperties": false,
6129           "required": [
6130             "servers"
6131           ]
6132         },
6133         "Address": {
6134           "type": "object",
6135           "properties": {
6136             "scope": {
6137               "type": "string"
6138             },
6139             "space-name": {
6140               "type": "string"
6141             },
6142             "type": {
6143               "type": "string"
6144             },
6145             "value": {
6146               "type": "string"
6147             }
6148           },
6149           "additionalProperties": false,
6150           "required": [
6151             "value",
6152             "type",
6153             "scope"
6154           ]
6155         },
6156         "Entities": {
6157           "type": "object",
6158           "properties": {
6159             "entities": {
6160               "type": "array",
6161               "items": {
6162                 "$ref": "#/definitions/Entity"
6163               }
6164             }
6165           },
6166           "additionalProperties": false,
6167           "required": [
6168             "entities"
6169           ]
6170         },
6171         "Entity": {
6172           "type": "object",
6173           "properties": {
6174             "tag": {
6175               "type": "string"
6176             }
6177           },
6178           "additionalProperties": false,
6179           "required": [
6180             "tag"
6181           ]
6182         },
6183         "EntityPassword": {
6184           "type": "object",
6185           "properties": {
6186             "password": {
6187               "type": "string"
6188             },
6189             "tag": {
6190               "type": "string"
6191             }
6192           },
6193           "additionalProperties": false,
6194           "required": [
6195             "tag",
6196             "password"
6197           ]
6198         },
6199         "EntityPasswords": {
6200           "type": "object",
6201           "properties": {
6202             "changes": {
6203               "type": "array",
6204               "items": {
6205                 "$ref": "#/definitions/EntityPassword"
6206               }
6207             }
6208           },
6209           "additionalProperties": false,
6210           "required": [
6211             "changes"
6212           ]
6213         },
6214         "Error": {
6215           "type": "object",
6216           "properties": {
6217             "code": {
6218               "type": "string"
6219             },
6220             "info": {
6221               "$ref": "#/definitions/ErrorInfo"
6222             },
6223             "message": {
6224               "type": "string"
6225             }
6226           },
6227           "additionalProperties": false,
6228           "required": [
6229             "message",
6230             "code"
6231           ]
6232         },
6233         "ErrorInfo": {
6234           "type": "object",
6235           "properties": {
6236             "macaroon": {
6237               "$ref": "#/definitions/Macaroon"
6238             },
6239             "macaroon-path": {
6240               "type": "string"
6241             }
6242           },
6243           "additionalProperties": false
6244         },
6245         "ErrorResult": {
6246           "type": "object",
6247           "properties": {
6248             "error": {
6249               "$ref": "#/definitions/Error"
6250             }
6251           },
6252           "additionalProperties": false
6253         },
6254         "ErrorResults": {
6255           "type": "object",
6256           "properties": {
6257             "results": {
6258               "type": "array",
6259               "items": {
6260                 "$ref": "#/definitions/ErrorResult"
6261               }
6262             }
6263           },
6264           "additionalProperties": false,
6265           "required": [
6266             "results"
6267           ]
6268         },
6269         "HostPort": {
6270           "type": "object",
6271           "properties": {
6272             "Address": {
6273               "$ref": "#/definitions/Address"
6274             },
6275             "port": {
6276               "type": "integer"
6277             }
6278           },
6279           "additionalProperties": false,
6280           "required": [
6281             "Address",
6282             "port"
6283           ]
6284         },
6285         "KubernetesFilesystemAttachmentParams": {
6286           "type": "object",
6287           "properties": {
6288             "mount-point": {
6289               "type": "string"
6290             },
6291             "provider": {
6292               "type": "string"
6293             },
6294             "read-only": {
6295               "type": "boolean"
6296             }
6297           },
6298           "additionalProperties": false,
6299           "required": [
6300             "provider"
6301           ]
6302         },
6303         "KubernetesFilesystemParams": {
6304           "type": "object",
6305           "properties": {
6306             "attachment": {
6307               "$ref": "#/definitions/KubernetesFilesystemAttachmentParams"
6308             },
6309             "attributes": {
6310               "type": "object",
6311               "patternProperties": {
6312                 ".*": {
6313                   "type": "object",
6314                   "additionalProperties": true
6315                 }
6316               }
6317             },
6318             "provider": {
6319               "type": "string"
6320             },
6321             "size": {
6322               "type": "integer"
6323             },
6324             "storagename": {
6325               "type": "string"
6326             },
6327             "tags": {
6328               "type": "object",
6329               "patternProperties": {
6330                 ".*": {
6331                   "type": "string"
6332                 }
6333               }
6334             }
6335           },
6336           "additionalProperties": false,
6337           "required": [
6338             "storagename",
6339             "size",
6340             "provider"
6341           ]
6342         },
6343         "LifeResult": {
6344           "type": "object",
6345           "properties": {
6346             "error": {
6347               "$ref": "#/definitions/Error"
6348             },
6349             "life": {
6350               "type": "string"
6351             }
6352           },
6353           "additionalProperties": false,
6354           "required": [
6355             "life"
6356           ]
6357         },
6358         "LifeResults": {
6359           "type": "object",
6360           "properties": {
6361             "results": {
6362               "type": "array",
6363               "items": {
6364                 "$ref": "#/definitions/LifeResult"
6365               }
6366             }
6367           },
6368           "additionalProperties": false,
6369           "required": [
6370             "results"
6371           ]
6372         },
6373         "Macaroon": {
6374           "type": "object",
6375           "additionalProperties": false
6376         },
6377         "NotifyWatchResult": {
6378           "type": "object",
6379           "properties": {
6380             "NotifyWatcherId": {
6381               "type": "string"
6382             },
6383             "error": {
6384               "$ref": "#/definitions/Error"
6385             }
6386           },
6387           "additionalProperties": false,
6388           "required": [
6389             "NotifyWatcherId"
6390           ]
6391         },
6392         "Number": {
6393           "type": "object",
6394           "properties": {
6395             "Build": {
6396               "type": "integer"
6397             },
6398             "Major": {
6399               "type": "integer"
6400             },
6401             "Minor": {
6402               "type": "integer"
6403             },
6404             "Patch": {
6405               "type": "integer"
6406             },
6407             "Tag": {
6408               "type": "string"
6409             }
6410           },
6411           "additionalProperties": false,
6412           "required": [
6413             "Major",
6414             "Minor",
6415             "Tag",
6416             "Patch",
6417             "Build"
6418           ]
6419         },
6420         "OperatorProvisioningInfo": {
6421           "type": "object",
6422           "properties": {
6423             "api-addresses": {
6424               "type": "array",
6425               "items": {
6426                 "type": "string"
6427               }
6428             },
6429             "charm-storage": {
6430               "$ref": "#/definitions/KubernetesFilesystemParams"
6431             },
6432             "image-path": {
6433               "type": "string"
6434             },
6435             "tags": {
6436               "type": "object",
6437               "patternProperties": {
6438                 ".*": {
6439                   "type": "string"
6440                 }
6441               }
6442             },
6443             "version": {
6444               "$ref": "#/definitions/Number"
6445             }
6446           },
6447           "additionalProperties": false,
6448           "required": [
6449             "image-path",
6450             "version",
6451             "api-addresses",
6452             "charm-storage"
6453           ]
6454         },
6455         "StringResult": {
6456           "type": "object",
6457           "properties": {
6458             "error": {
6459               "$ref": "#/definitions/Error"
6460             },
6461             "result": {
6462               "type": "string"
6463             }
6464           },
6465           "additionalProperties": false,
6466           "required": [
6467             "result"
6468           ]
6469         },
6470         "StringsResult": {
6471           "type": "object",
6472           "properties": {
6473             "error": {
6474               "$ref": "#/definitions/Error"
6475             },
6476             "result": {
6477               "type": "array",
6478               "items": {
6479                 "type": "string"
6480               }
6481             }
6482           },
6483           "additionalProperties": false
6484         },
6485         "StringsWatchResult": {
6486           "type": "object",
6487           "properties": {
6488             "changes": {
6489               "type": "array",
6490               "items": {
6491                 "type": "string"
6492               }
6493             },
6494             "error": {
6495               "$ref": "#/definitions/Error"
6496             },
6497             "watcher-id": {
6498               "type": "string"
6499             }
6500           },
6501           "additionalProperties": false,
6502           "required": [
6503             "watcher-id"
6504           ]
6505         }
6506       }
6507     }
6508   },
6509   {
6510     "Name": "CAASUnitProvisioner",
6511     "Version": 1,
6512     "Schema": {
6513       "type": "object",
6514       "properties": {
6515         "ApplicationsConfig": {
6516           "type": "object",
6517           "properties": {
6518             "Params": {
6519               "$ref": "#/definitions/Entities"
6520             },
6521             "Result": {
6522               "$ref": "#/definitions/ApplicationGetConfigResults"
6523             }
6524           }
6525         },
6526         "ApplicationsScale": {
6527           "type": "object",
6528           "properties": {
6529             "Params": {
6530               "$ref": "#/definitions/Entities"
6531             },
6532             "Result": {
6533               "$ref": "#/definitions/IntResults"
6534             }
6535           }
6536         },
6537         "Life": {
6538           "type": "object",
6539           "properties": {
6540             "Params": {
6541               "$ref": "#/definitions/Entities"
6542             },
6543             "Result": {
6544               "$ref": "#/definitions/LifeResults"
6545             }
6546           }
6547         },
6548         "ProvisioningInfo": {
6549           "type": "object",
6550           "properties": {
6551             "Params": {
6552               "$ref": "#/definitions/Entities"
6553             },
6554             "Result": {
6555               "$ref": "#/definitions/KubernetesProvisioningInfoResults"
6556             }
6557           }
6558         },
6559         "SetOperatorStatus": {
6560           "type": "object",
6561           "properties": {
6562             "Params": {
6563               "$ref": "#/definitions/SetStatus"
6564             },
6565             "Result": {
6566               "$ref": "#/definitions/ErrorResults"
6567             }
6568           }
6569         },
6570         "UpdateApplicationsService": {
6571           "type": "object",
6572           "properties": {
6573             "Params": {
6574               "$ref": "#/definitions/UpdateApplicationServiceArgs"
6575             },
6576             "Result": {
6577               "$ref": "#/definitions/ErrorResults"
6578             }
6579           }
6580         },
6581         "UpdateApplicationsUnits": {
6582           "type": "object",
6583           "properties": {
6584             "Params": {
6585               "$ref": "#/definitions/UpdateApplicationUnitArgs"
6586             },
6587             "Result": {
6588               "$ref": "#/definitions/ErrorResults"
6589             }
6590           }
6591         },
6592         "WatchApplications": {
6593           "type": "object",
6594           "properties": {
6595             "Result": {
6596               "$ref": "#/definitions/StringsWatchResult"
6597             }
6598           }
6599         },
6600         "WatchApplicationsScale": {
6601           "type": "object",
6602           "properties": {
6603             "Params": {
6604               "$ref": "#/definitions/Entities"
6605             },
6606             "Result": {
6607               "$ref": "#/definitions/NotifyWatchResults"
6608             }
6609           }
6610         },
6611         "WatchPodSpec": {
6612           "type": "object",
6613           "properties": {
6614             "Params": {
6615               "$ref": "#/definitions/Entities"
6616             },
6617             "Result": {
6618               "$ref": "#/definitions/NotifyWatchResults"
6619             }
6620           }
6621         }
6622       },
6623       "definitions": {
6624         "Address": {
6625           "type": "object",
6626           "properties": {
6627             "scope": {
6628               "type": "string"
6629             },
6630             "space-name": {
6631               "type": "string"
6632             },
6633             "type": {
6634               "type": "string"
6635             },
6636             "value": {
6637               "type": "string"
6638             }
6639           },
6640           "additionalProperties": false,
6641           "required": [
6642             "value",
6643             "type",
6644             "scope"
6645           ]
6646         },
6647         "ApplicationGetConfigResults": {
6648           "type": "object",
6649           "properties": {
6650             "Results": {
6651               "type": "array",
6652               "items": {
6653                 "$ref": "#/definitions/ConfigResult"
6654               }
6655             }
6656           },
6657           "additionalProperties": false,
6658           "required": [
6659             "Results"
6660           ]
6661         },
6662         "ApplicationUnitParams": {
6663           "type": "object",
6664           "properties": {
6665             "address": {
6666               "type": "string"
6667             },
6668             "data": {
6669               "type": "object",
6670               "patternProperties": {
6671                 ".*": {
6672                   "type": "object",
6673                   "additionalProperties": true
6674                 }
6675               }
6676             },
6677             "filesystem-info": {
6678               "type": "array",
6679               "items": {
6680                 "$ref": "#/definitions/KubernetesFilesystemInfo"
6681               }
6682             },
6683             "info": {
6684               "type": "string"
6685             },
6686             "ports": {
6687               "type": "array",
6688               "items": {
6689                 "type": "string"
6690               }
6691             },
6692             "provider-id": {
6693               "type": "string"
6694             },
6695             "status": {
6696               "type": "string"
6697             },
6698             "unit-tag": {
6699               "type": "string"
6700             }
6701           },
6702           "additionalProperties": false,
6703           "required": [
6704             "provider-id",
6705             "unit-tag",
6706             "address",
6707             "ports",
6708             "status",
6709             "info"
6710           ]
6711         },
6712         "ConfigResult": {
6713           "type": "object",
6714           "properties": {
6715             "config": {
6716               "type": "object",
6717               "patternProperties": {
6718                 ".*": {
6719                   "type": "object",
6720                   "additionalProperties": true
6721                 }
6722               }
6723             },
6724             "error": {
6725               "$ref": "#/definitions/Error"
6726             }
6727           },
6728           "additionalProperties": false,
6729           "required": [
6730             "config"
6731           ]
6732         },
6733         "Entities": {
6734           "type": "object",
6735           "properties": {
6736             "entities": {
6737               "type": "array",
6738               "items": {
6739                 "$ref": "#/definitions/Entity"
6740               }
6741             }
6742           },
6743           "additionalProperties": false,
6744           "required": [
6745             "entities"
6746           ]
6747         },
6748         "Entity": {
6749           "type": "object",
6750           "properties": {
6751             "tag": {
6752               "type": "string"
6753             }
6754           },
6755           "additionalProperties": false,
6756           "required": [
6757             "tag"
6758           ]
6759         },
6760         "EntityStatusArgs": {
6761           "type": "object",
6762           "properties": {
6763             "data": {
6764               "type": "object",
6765               "patternProperties": {
6766                 ".*": {
6767                   "type": "object",
6768                   "additionalProperties": true
6769                 }
6770               }
6771             },
6772             "info": {
6773               "type": "string"
6774             },
6775             "status": {
6776               "type": "string"
6777             },
6778             "tag": {
6779               "type": "string"
6780             }
6781           },
6782           "additionalProperties": false,
6783           "required": [
6784             "tag",
6785             "status",
6786             "info",
6787             "data"
6788           ]
6789         },
6790         "Error": {
6791           "type": "object",
6792           "properties": {
6793             "code": {
6794               "type": "string"
6795             },
6796             "info": {
6797               "$ref": "#/definitions/ErrorInfo"
6798             },
6799             "message": {
6800               "type": "string"
6801             }
6802           },
6803           "additionalProperties": false,
6804           "required": [
6805             "message",
6806             "code"
6807           ]
6808         },
6809         "ErrorInfo": {
6810           "type": "object",
6811           "properties": {
6812             "macaroon": {
6813               "$ref": "#/definitions/Macaroon"
6814             },
6815             "macaroon-path": {
6816               "type": "string"
6817             }
6818           },
6819           "additionalProperties": false
6820         },
6821         "ErrorResult": {
6822           "type": "object",
6823           "properties": {
6824             "error": {
6825               "$ref": "#/definitions/Error"
6826             }
6827           },
6828           "additionalProperties": false
6829         },
6830         "ErrorResults": {
6831           "type": "object",
6832           "properties": {
6833             "results": {
6834               "type": "array",
6835               "items": {
6836                 "$ref": "#/definitions/ErrorResult"
6837               }
6838             }
6839           },
6840           "additionalProperties": false,
6841           "required": [
6842             "results"
6843           ]
6844         },
6845         "IntResult": {
6846           "type": "object",
6847           "properties": {
6848             "error": {
6849               "$ref": "#/definitions/Error"
6850             },
6851             "result": {
6852               "type": "integer"
6853             }
6854           },
6855           "additionalProperties": false,
6856           "required": [
6857             "result"
6858           ]
6859         },
6860         "IntResults": {
6861           "type": "object",
6862           "properties": {
6863             "results": {
6864               "type": "array",
6865               "items": {
6866                 "$ref": "#/definitions/IntResult"
6867               }
6868             }
6869           },
6870           "additionalProperties": false,
6871           "required": [
6872             "results"
6873           ]
6874         },
6875         "KubernetesDeviceParams": {
6876           "type": "object",
6877           "properties": {
6878             "Attributes": {
6879               "type": "object",
6880               "patternProperties": {
6881                 ".*": {
6882                   "type": "string"
6883                 }
6884               }
6885             },
6886             "Count": {
6887               "type": "integer"
6888             },
6889             "Type": {
6890               "type": "string"
6891             }
6892           },
6893           "additionalProperties": false,
6894           "required": [
6895             "Type",
6896             "Count",
6897             "Attributes"
6898           ]
6899         },
6900         "KubernetesFilesystemAttachmentParams": {
6901           "type": "object",
6902           "properties": {
6903             "mount-point": {
6904               "type": "string"
6905             },
6906             "provider": {
6907               "type": "string"
6908             },
6909             "read-only": {
6910               "type": "boolean"
6911             }
6912           },
6913           "additionalProperties": false,
6914           "required": [
6915             "provider"
6916           ]
6917         },
6918         "KubernetesFilesystemInfo": {
6919           "type": "object",
6920           "properties": {
6921             "data": {
6922               "type": "object",
6923               "patternProperties": {
6924                 ".*": {
6925                   "type": "object",
6926                   "additionalProperties": true
6927                 }
6928               }
6929             },
6930             "filesystem-id": {
6931               "type": "string"
6932             },
6933             "info": {
6934               "type": "string"
6935             },
6936             "mount-point": {
6937               "type": "string"
6938             },
6939             "pool": {
6940               "type": "string"
6941             },
6942             "read-only": {
6943               "type": "boolean"
6944             },
6945             "size": {
6946               "type": "integer"
6947             },
6948             "status": {
6949               "type": "string"
6950             },
6951             "storagename": {
6952               "type": "string"
6953             },
6954             "volume": {
6955               "$ref": "#/definitions/KubernetesVolumeInfo"
6956             }
6957           },
6958           "additionalProperties": false,
6959           "required": [
6960             "storagename",
6961             "pool",
6962             "size",
6963             "filesystem-id",
6964             "status",
6965             "info",
6966             "volume"
6967           ]
6968         },
6969         "KubernetesFilesystemParams": {
6970           "type": "object",
6971           "properties": {
6972             "attachment": {
6973               "$ref": "#/definitions/KubernetesFilesystemAttachmentParams"
6974             },
6975             "attributes": {
6976               "type": "object",
6977               "patternProperties": {
6978                 ".*": {
6979                   "type": "object",
6980                   "additionalProperties": true
6981                 }
6982               }
6983             },
6984             "provider": {
6985               "type": "string"
6986             },
6987             "size": {
6988               "type": "integer"
6989             },
6990             "storagename": {
6991               "type": "string"
6992             },
6993             "tags": {
6994               "type": "object",
6995               "patternProperties": {
6996                 ".*": {
6997                   "type": "string"
6998                 }
6999               }
7000             }
7001           },
7002           "additionalProperties": false,
7003           "required": [
7004             "storagename",
7005             "size",
7006             "provider"
7007           ]
7008         },
7009         "KubernetesProvisioningInfo": {
7010           "type": "object",
7011           "properties": {
7012             "constraints": {
7013               "$ref": "#/definitions/Value"
7014             },
7015             "devices": {
7016               "type": "array",
7017               "items": {
7018                 "$ref": "#/definitions/KubernetesDeviceParams"
7019               }
7020             },
7021             "filesystems": {
7022               "type": "array",
7023               "items": {
7024                 "$ref": "#/definitions/KubernetesFilesystemParams"
7025               }
7026             },
7027             "placement": {
7028               "type": "string"
7029             },
7030             "pod-spec": {
7031               "type": "string"
7032             },
7033             "tags": {
7034               "type": "object",
7035               "patternProperties": {
7036                 ".*": {
7037                   "type": "string"
7038                 }
7039               }
7040             },
7041             "volumes": {
7042               "type": "array",
7043               "items": {
7044                 "$ref": "#/definitions/KubernetesVolumeParams"
7045               }
7046             }
7047           },
7048           "additionalProperties": false,
7049           "required": [
7050             "pod-spec",
7051             "constraints"
7052           ]
7053         },
7054         "KubernetesProvisioningInfoResult": {
7055           "type": "object",
7056           "properties": {
7057             "error": {
7058               "$ref": "#/definitions/Error"
7059             },
7060             "result": {
7061               "$ref": "#/definitions/KubernetesProvisioningInfo"
7062             }
7063           },
7064           "additionalProperties": false,
7065           "required": [
7066             "result"
7067           ]
7068         },
7069         "KubernetesProvisioningInfoResults": {
7070           "type": "object",
7071           "properties": {
7072             "results": {
7073               "type": "array",
7074               "items": {
7075                 "$ref": "#/definitions/KubernetesProvisioningInfoResult"
7076               }
7077             }
7078           },
7079           "additionalProperties": false,
7080           "required": [
7081             "results"
7082           ]
7083         },
7084         "KubernetesVolumeAttachmentParams": {
7085           "type": "object",
7086           "properties": {
7087             "provider": {
7088               "type": "string"
7089             },
7090             "read-only": {
7091               "type": "boolean"
7092             }
7093           },
7094           "additionalProperties": false,
7095           "required": [
7096             "provider"
7097           ]
7098         },
7099         "KubernetesVolumeInfo": {
7100           "type": "object",
7101           "properties": {
7102             "data": {
7103               "type": "object",
7104               "patternProperties": {
7105                 ".*": {
7106                   "type": "object",
7107                   "additionalProperties": true
7108                 }
7109               }
7110             },
7111             "info": {
7112               "type": "string"
7113             },
7114             "persistent": {
7115               "type": "boolean"
7116             },
7117             "pool": {
7118               "type": "string"
7119             },
7120             "size": {
7121               "type": "integer"
7122             },
7123             "status": {
7124               "type": "string"
7125             },
7126             "volume-id": {
7127               "type": "string"
7128             }
7129           },
7130           "additionalProperties": false,
7131           "required": [
7132             "volume-id",
7133             "size",
7134             "persistent",
7135             "status",
7136             "info"
7137           ]
7138         },
7139         "KubernetesVolumeParams": {
7140           "type": "object",
7141           "properties": {
7142             "attachment": {
7143               "$ref": "#/definitions/KubernetesVolumeAttachmentParams"
7144             },
7145             "attributes": {
7146               "type": "object",
7147               "patternProperties": {
7148                 ".*": {
7149                   "type": "object",
7150                   "additionalProperties": true
7151                 }
7152               }
7153             },
7154             "provider": {
7155               "type": "string"
7156             },
7157             "size": {
7158               "type": "integer"
7159             },
7160             "storagename": {
7161               "type": "string"
7162             },
7163             "tags": {
7164               "type": "object",
7165               "patternProperties": {
7166                 ".*": {
7167                   "type": "string"
7168                 }
7169               }
7170             }
7171           },
7172           "additionalProperties": false,
7173           "required": [
7174             "storagename",
7175             "size",
7176             "provider"
7177           ]
7178         },
7179         "LifeResult": {
7180           "type": "object",
7181           "properties": {
7182             "error": {
7183               "$ref": "#/definitions/Error"
7184             },
7185             "life": {
7186               "type": "string"
7187             }
7188           },
7189           "additionalProperties": false,
7190           "required": [
7191             "life"
7192           ]
7193         },
7194         "LifeResults": {
7195           "type": "object",
7196           "properties": {
7197             "results": {
7198               "type": "array",
7199               "items": {
7200                 "$ref": "#/definitions/LifeResult"
7201               }
7202             }
7203           },
7204           "additionalProperties": false,
7205           "required": [
7206             "results"
7207           ]
7208         },
7209         "Macaroon": {
7210           "type": "object",
7211           "additionalProperties": false
7212         },
7213         "NotifyWatchResult": {
7214           "type": "object",
7215           "properties": {
7216             "NotifyWatcherId": {
7217               "type": "string"
7218             },
7219             "error": {
7220               "$ref": "#/definitions/Error"
7221             }
7222           },
7223           "additionalProperties": false,
7224           "required": [
7225             "NotifyWatcherId"
7226           ]
7227         },
7228         "NotifyWatchResults": {
7229           "type": "object",
7230           "properties": {
7231             "results": {
7232               "type": "array",
7233               "items": {
7234                 "$ref": "#/definitions/NotifyWatchResult"
7235               }
7236             }
7237           },
7238           "additionalProperties": false,
7239           "required": [
7240             "results"
7241           ]
7242         },
7243         "SetStatus": {
7244           "type": "object",
7245           "properties": {
7246             "entities": {
7247               "type": "array",
7248               "items": {
7249                 "$ref": "#/definitions/EntityStatusArgs"
7250               }
7251             }
7252           },
7253           "additionalProperties": false,
7254           "required": [
7255             "entities"
7256           ]
7257         },
7258         "StringsWatchResult": {
7259           "type": "object",
7260           "properties": {
7261             "changes": {
7262               "type": "array",
7263               "items": {
7264                 "type": "string"
7265               }
7266             },
7267             "error": {
7268               "$ref": "#/definitions/Error"
7269             },
7270             "watcher-id": {
7271               "type": "string"
7272             }
7273           },
7274           "additionalProperties": false,
7275           "required": [
7276             "watcher-id"
7277           ]
7278         },
7279         "UpdateApplicationServiceArg": {
7280           "type": "object",
7281           "properties": {
7282             "addresses": {
7283               "type": "array",
7284               "items": {
7285                 "$ref": "#/definitions/Address"
7286               }
7287             },
7288             "application-tag": {
7289               "type": "string"
7290             },
7291             "provider-id": {
7292               "type": "string"
7293             }
7294           },
7295           "additionalProperties": false,
7296           "required": [
7297             "application-tag",
7298             "provider-id",
7299             "addresses"
7300           ]
7301         },
7302         "UpdateApplicationServiceArgs": {
7303           "type": "object",
7304           "properties": {
7305             "args": {
7306               "type": "array",
7307               "items": {
7308                 "$ref": "#/definitions/UpdateApplicationServiceArg"
7309               }
7310             }
7311           },
7312           "additionalProperties": false,
7313           "required": [
7314             "args"
7315           ]
7316         },
7317         "UpdateApplicationUnitArgs": {
7318           "type": "object",
7319           "properties": {
7320             "args": {
7321               "type": "array",
7322               "items": {
7323                 "$ref": "#/definitions/UpdateApplicationUnits"
7324               }
7325             }
7326           },
7327           "additionalProperties": false,
7328           "required": [
7329             "args"
7330           ]
7331         },
7332         "UpdateApplicationUnits": {
7333           "type": "object",
7334           "properties": {
7335             "application-tag": {
7336               "type": "string"
7337             },
7338             "units": {
7339               "type": "array",
7340               "items": {
7341                 "$ref": "#/definitions/ApplicationUnitParams"
7342               }
7343             }
7344           },
7345           "additionalProperties": false,
7346           "required": [
7347             "application-tag",
7348             "units"
7349           ]
7350         },
7351         "Value": {
7352           "type": "object",
7353           "properties": {
7354             "arch": {
7355               "type": "string"
7356             },
7357             "container": {
7358               "type": "string"
7359             },
7360             "cores": {
7361               "type": "integer"
7362             },
7363             "cpu-power": {
7364               "type": "integer"
7365             },
7366             "instance-type": {
7367               "type": "string"
7368             },
7369             "mem": {
7370               "type": "integer"
7371             },
7372             "root-disk": {
7373               "type": "integer"
7374             },
7375             "spaces": {
7376               "type": "array",
7377               "items": {
7378                 "type": "string"
7379               }
7380             },
7381             "tags": {
7382               "type": "array",
7383               "items": {
7384                 "type": "string"
7385               }
7386             },
7387             "virt-type": {
7388               "type": "string"
7389             },
7390             "zones": {
7391               "type": "array",
7392               "items": {
7393                 "type": "string"
7394               }
7395             }
7396           },
7397           "additionalProperties": false
7398         }
7399       }
7400     }
7401   },
7402   {
7403     "Name": "CharmRevisionUpdater",
7404     "Version": 2,
7405     "Schema": {
7406       "type": "object",
7407       "properties": {
7408         "UpdateLatestRevisions": {
7409           "type": "object",
7410           "properties": {
7411             "Result": {
7412               "$ref": "#/definitions/ErrorResult"
7413             }
7414           }
7415         }
7416       },
7417       "definitions": {
7418         "Error": {
7419           "type": "object",
7420           "properties": {
7421             "code": {
7422               "type": "string"
7423             },
7424             "info": {
7425               "$ref": "#/definitions/ErrorInfo"
7426             },
7427             "message": {
7428               "type": "string"
7429             }
7430           },
7431           "additionalProperties": false,
7432           "required": [
7433             "message",
7434             "code"
7435           ]
7436         },
7437         "ErrorInfo": {
7438           "type": "object",
7439           "properties": {
7440             "macaroon": {
7441               "$ref": "#/definitions/Macaroon"
7442             },
7443             "macaroon-path": {
7444               "type": "string"
7445             }
7446           },
7447           "additionalProperties": false
7448         },
7449         "ErrorResult": {
7450           "type": "object",
7451           "properties": {
7452             "error": {
7453               "$ref": "#/definitions/Error"
7454             }
7455           },
7456           "additionalProperties": false
7457         },
7458         "Macaroon": {
7459           "type": "object",
7460           "additionalProperties": false
7461         }
7462       }
7463     }
7464   },
7465   {
7466     "Name": "Charms",
7467     "Version": 2,
7468     "Schema": {
7469       "type": "object",
7470       "properties": {
7471         "CharmInfo": {
7472           "type": "object",
7473           "properties": {
7474             "Params": {
7475               "$ref": "#/definitions/CharmURL"
7476             },
7477             "Result": {
7478               "$ref": "#/definitions/CharmInfo"
7479             }
7480           }
7481         },
7482         "IsMetered": {
7483           "type": "object",
7484           "properties": {
7485             "Params": {
7486               "$ref": "#/definitions/CharmURL"
7487             },
7488             "Result": {
7489               "$ref": "#/definitions/IsMeteredResult"
7490             }
7491           }
7492         },
7493         "List": {
7494           "type": "object",
7495           "properties": {
7496             "Params": {
7497               "$ref": "#/definitions/CharmsList"
7498             },
7499             "Result": {
7500               "$ref": "#/definitions/CharmsListResult"
7501             }
7502           }
7503         }
7504       },
7505       "definitions": {
7506         "CharmActionSpec": {
7507           "type": "object",
7508           "properties": {
7509             "description": {
7510               "type": "string"
7511             },
7512             "params": {
7513               "type": "object",
7514               "patternProperties": {
7515                 ".*": {
7516                   "type": "object",
7517                   "additionalProperties": true
7518                 }
7519               }
7520             }
7521           },
7522           "additionalProperties": false,
7523           "required": [
7524             "description",
7525             "params"
7526           ]
7527         },
7528         "CharmActions": {
7529           "type": "object",
7530           "properties": {
7531             "specs": {
7532               "type": "object",
7533               "patternProperties": {
7534                 ".*": {
7535                   "$ref": "#/definitions/CharmActionSpec"
7536                 }
7537               }
7538             }
7539           },
7540           "additionalProperties": false
7541         },
7542         "CharmDevice": {
7543           "type": "object",
7544           "properties": {
7545             "CountMax": {
7546               "type": "integer"
7547             },
7548             "CountMin": {
7549               "type": "integer"
7550             },
7551             "Description": {
7552               "type": "string"
7553             },
7554             "Name": {
7555               "type": "string"
7556             },
7557             "Type": {
7558               "type": "string"
7559             }
7560           },
7561           "additionalProperties": false,
7562           "required": [
7563             "Name",
7564             "Description",
7565             "Type",
7566             "CountMin",
7567             "CountMax"
7568           ]
7569         },
7570         "CharmInfo": {
7571           "type": "object",
7572           "properties": {
7573             "actions": {
7574               "$ref": "#/definitions/CharmActions"
7575             },
7576             "config": {
7577               "type": "object",
7578               "patternProperties": {
7579                 ".*": {
7580                   "$ref": "#/definitions/CharmOption"
7581                 }
7582               }
7583             },
7584             "lxd-profile": {
7585               "$ref": "#/definitions/CharmLXDProfile"
7586             },
7587             "meta": {
7588               "$ref": "#/definitions/CharmMeta"
7589             },
7590             "metrics": {
7591               "$ref": "#/definitions/CharmMetrics"
7592             },
7593             "revision": {
7594               "type": "integer"
7595             },
7596             "url": {
7597               "type": "string"
7598             }
7599           },
7600           "additionalProperties": false,
7601           "required": [
7602             "revision",
7603             "url",
7604             "config"
7605           ]
7606         },
7607         "CharmLXDProfile": {
7608           "type": "object",
7609           "properties": {
7610             "config": {
7611               "type": "object",
7612               "patternProperties": {
7613                 ".*": {
7614                   "type": "string"
7615                 }
7616               }
7617             },
7618             "description": {
7619               "type": "string"
7620             },
7621             "devices": {
7622               "type": "object",
7623               "patternProperties": {
7624                 ".*": {
7625                   "type": "object",
7626                   "patternProperties": {
7627                     ".*": {
7628                       "type": "string"
7629                     }
7630                   }
7631                 }
7632               }
7633             }
7634           },
7635           "additionalProperties": false,
7636           "required": [
7637             "config",
7638             "description",
7639             "devices"
7640           ]
7641         },
7642         "CharmMeta": {
7643           "type": "object",
7644           "properties": {
7645             "categories": {
7646               "type": "array",
7647               "items": {
7648                 "type": "string"
7649               }
7650             },
7651             "description": {
7652               "type": "string"
7653             },
7654             "devices": {
7655               "type": "object",
7656               "patternProperties": {
7657                 ".*": {
7658                   "$ref": "#/definitions/CharmDevice"
7659                 }
7660               }
7661             },
7662             "extra-bindings": {
7663               "type": "object",
7664               "patternProperties": {
7665                 ".*": {
7666                   "type": "string"
7667                 }
7668               }
7669             },
7670             "min-juju-version": {
7671               "type": "string"
7672             },
7673             "name": {
7674               "type": "string"
7675             },
7676             "payload-classes": {
7677               "type": "object",
7678               "patternProperties": {
7679                 ".*": {
7680                   "$ref": "#/definitions/CharmPayloadClass"
7681                 }
7682               }
7683             },
7684             "peers": {
7685               "type": "object",
7686               "patternProperties": {
7687                 ".*": {
7688                   "$ref": "#/definitions/CharmRelation"
7689                 }
7690               }
7691             },
7692             "provides": {
7693               "type": "object",
7694               "patternProperties": {
7695                 ".*": {
7696                   "$ref": "#/definitions/CharmRelation"
7697                 }
7698               }
7699             },
7700             "requires": {
7701               "type": "object",
7702               "patternProperties": {
7703                 ".*": {
7704                   "$ref": "#/definitions/CharmRelation"
7705                 }
7706               }
7707             },
7708             "resources": {
7709               "type": "object",
7710               "patternProperties": {
7711                 ".*": {
7712                   "$ref": "#/definitions/CharmResourceMeta"
7713                 }
7714               }
7715             },
7716             "series": {
7717               "type": "array",
7718               "items": {
7719                 "type": "string"
7720               }
7721             },
7722             "storage": {
7723               "type": "object",
7724               "patternProperties": {
7725                 ".*": {
7726                   "$ref": "#/definitions/CharmStorage"
7727                 }
7728               }
7729             },
7730             "subordinate": {
7731               "type": "boolean"
7732             },
7733             "summary": {
7734               "type": "string"
7735             },
7736             "tags": {
7737               "type": "array",
7738               "items": {
7739                 "type": "string"
7740               }
7741             },
7742             "terms": {
7743               "type": "array",
7744               "items": {
7745                 "type": "string"
7746               }
7747             }
7748           },
7749           "additionalProperties": false,
7750           "required": [
7751             "name",
7752             "summary",
7753             "description",
7754             "subordinate"
7755           ]
7756         },
7757         "CharmMetric": {
7758           "type": "object",
7759           "properties": {
7760             "description": {
7761               "type": "string"
7762             },
7763             "type": {
7764               "type": "string"
7765             }
7766           },
7767           "additionalProperties": false,
7768           "required": [
7769             "type",
7770             "description"
7771           ]
7772         },
7773         "CharmMetrics": {
7774           "type": "object",
7775           "properties": {
7776             "metrics": {
7777               "type": "object",
7778               "patternProperties": {
7779                 ".*": {
7780                   "$ref": "#/definitions/CharmMetric"
7781                 }
7782               }
7783             },
7784             "plan": {
7785               "$ref": "#/definitions/CharmPlan"
7786             }
7787           },
7788           "additionalProperties": false,
7789           "required": [
7790             "metrics",
7791             "plan"
7792           ]
7793         },
7794         "CharmOption": {
7795           "type": "object",
7796           "properties": {
7797             "default": {
7798               "type": "object",
7799               "additionalProperties": true
7800             },
7801             "description": {
7802               "type": "string"
7803             },
7804             "type": {
7805               "type": "string"
7806             }
7807           },
7808           "additionalProperties": false,
7809           "required": [
7810             "type"
7811           ]
7812         },
7813         "CharmPayloadClass": {
7814           "type": "object",
7815           "properties": {
7816             "name": {
7817               "type": "string"
7818             },
7819             "type": {
7820               "type": "string"
7821             }
7822           },
7823           "additionalProperties": false,
7824           "required": [
7825             "name",
7826             "type"
7827           ]
7828         },
7829         "CharmPlan": {
7830           "type": "object",
7831           "properties": {
7832             "required": {
7833               "type": "boolean"
7834             }
7835           },
7836           "additionalProperties": false,
7837           "required": [
7838             "required"
7839           ]
7840         },
7841         "CharmRelation": {
7842           "type": "object",
7843           "properties": {
7844             "interface": {
7845               "type": "string"
7846             },
7847             "limit": {
7848               "type": "integer"
7849             },
7850             "name": {
7851               "type": "string"
7852             },
7853             "optional": {
7854               "type": "boolean"
7855             },
7856             "role": {
7857               "type": "string"
7858             },
7859             "scope": {
7860               "type": "string"
7861             }
7862           },
7863           "additionalProperties": false,
7864           "required": [
7865             "name",
7866             "role",
7867             "interface",
7868             "optional",
7869             "limit",
7870             "scope"
7871           ]
7872         },
7873         "CharmResourceMeta": {
7874           "type": "object",
7875           "properties": {
7876             "description": {
7877               "type": "string"
7878             },
7879             "name": {
7880               "type": "string"
7881             },
7882             "path": {
7883               "type": "string"
7884             },
7885             "type": {
7886               "type": "string"
7887             }
7888           },
7889           "additionalProperties": false,
7890           "required": [
7891             "name",
7892             "type",
7893             "path",
7894             "description"
7895           ]
7896         },
7897         "CharmStorage": {
7898           "type": "object",
7899           "properties": {
7900             "count-max": {
7901               "type": "integer"
7902             },
7903             "count-min": {
7904               "type": "integer"
7905             },
7906             "description": {
7907               "type": "string"
7908             },
7909             "location": {
7910               "type": "string"
7911             },
7912             "minimum-size": {
7913               "type": "integer"
7914             },
7915             "name": {
7916               "type": "string"
7917             },
7918             "properties": {
7919               "type": "array",
7920               "items": {
7921                 "type": "string"
7922               }
7923             },
7924             "read-only": {
7925               "type": "boolean"
7926             },
7927             "shared": {
7928               "type": "boolean"
7929             },
7930             "type": {
7931               "type": "string"
7932             }
7933           },
7934           "additionalProperties": false,
7935           "required": [
7936             "name",
7937             "description",
7938             "type",
7939             "shared",
7940             "read-only",
7941             "count-min",
7942             "count-max",
7943             "minimum-size"
7944           ]
7945         },
7946         "CharmURL": {
7947           "type": "object",
7948           "properties": {
7949             "url": {
7950               "type": "string"
7951             }
7952           },
7953           "additionalProperties": false,
7954           "required": [
7955             "url"
7956           ]
7957         },
7958         "CharmsList": {
7959           "type": "object",
7960           "properties": {
7961             "names": {
7962               "type": "array",
7963               "items": {
7964                 "type": "string"
7965               }
7966             }
7967           },
7968           "additionalProperties": false,
7969           "required": [
7970             "names"
7971           ]
7972         },
7973         "CharmsListResult": {
7974           "type": "object",
7975           "properties": {
7976             "charm-urls": {
7977               "type": "array",
7978               "items": {
7979                 "type": "string"
7980               }
7981             }
7982           },
7983           "additionalProperties": false,
7984           "required": [
7985             "charm-urls"
7986           ]
7987         },
7988         "IsMeteredResult": {
7989           "type": "object",
7990           "properties": {
7991             "metered": {
7992               "type": "boolean"
7993             }
7994           },
7995           "additionalProperties": false,
7996           "required": [
7997             "metered"
7998           ]
7999         }
8000       }
8001     }
8002   },
8003   {
8004     "Name": "Cleaner",
8005     "Version": 2,
8006     "Schema": {
8007       "type": "object",
8008       "properties": {
8009         "Cleanup": {
8010           "type": "object"
8011         },
8012         "WatchCleanups": {
8013           "type": "object",
8014           "properties": {
8015             "Result": {
8016               "$ref": "#/definitions/NotifyWatchResult"
8017             }
8018           }
8019         }
8020       },
8021       "definitions": {
8022         "Error": {
8023           "type": "object",
8024           "properties": {
8025             "code": {
8026               "type": "string"
8027             },
8028             "info": {
8029               "$ref": "#/definitions/ErrorInfo"
8030             },
8031             "message": {
8032               "type": "string"
8033             }
8034           },
8035           "additionalProperties": false,
8036           "required": [
8037             "message",
8038             "code"
8039           ]
8040         },
8041         "ErrorInfo": {
8042           "type": "object",
8043           "properties": {
8044             "macaroon": {
8045               "$ref": "#/definitions/Macaroon"
8046             },
8047             "macaroon-path": {
8048               "type": "string"
8049             }
8050           },
8051           "additionalProperties": false
8052         },
8053         "Macaroon": {
8054           "type": "object",
8055           "additionalProperties": false
8056         },
8057         "NotifyWatchResult": {
8058           "type": "object",
8059           "properties": {
8060             "NotifyWatcherId": {
8061               "type": "string"
8062             },
8063             "error": {
8064               "$ref": "#/definitions/Error"
8065             }
8066           },
8067           "additionalProperties": false,
8068           "required": [
8069             "NotifyWatcherId"
8070           ]
8071         }
8072       }
8073     }
8074   },
8075   {
8076     "Name": "Client",
8077     "Version": 2,
8078     "Schema": {
8079       "type": "object",
8080       "properties": {
8081         "APIHostPorts": {
8082           "type": "object",
8083           "properties": {
8084             "Result": {
8085               "$ref": "#/definitions/APIHostPortsResult"
8086             }
8087           }
8088         },
8089         "AbortCurrentUpgrade": {
8090           "type": "object"
8091         },
8092         "AddCharm": {
8093           "type": "object",
8094           "properties": {
8095             "Params": {
8096               "$ref": "#/definitions/AddCharm"
8097             }
8098           }
8099         },
8100         "AddCharmWithAuthorization": {
8101           "type": "object",
8102           "properties": {
8103             "Params": {
8104               "$ref": "#/definitions/AddCharmWithAuthorization"
8105             }
8106           }
8107         },
8108         "AddMachines": {
8109           "type": "object",
8110           "properties": {
8111             "Params": {
8112               "$ref": "#/definitions/AddMachines"
8113             },
8114             "Result": {
8115               "$ref": "#/definitions/AddMachinesResults"
8116             }
8117           }
8118         },
8119         "AddMachinesV2": {
8120           "type": "object",
8121           "properties": {
8122             "Params": {
8123               "$ref": "#/definitions/AddMachines"
8124             },
8125             "Result": {
8126               "$ref": "#/definitions/AddMachinesResults"
8127             }
8128           }
8129         },
8130         "AgentVersion": {
8131           "type": "object",
8132           "properties": {
8133             "Result": {
8134               "$ref": "#/definitions/AgentVersionResult"
8135             }
8136           }
8137         },
8138         "CACert": {
8139           "type": "object",
8140           "properties": {
8141             "Result": {
8142               "$ref": "#/definitions/BytesResult"
8143             }
8144           }
8145         },
8146         "DestroyMachines": {
8147           "type": "object",
8148           "properties": {
8149             "Params": {
8150               "$ref": "#/definitions/DestroyMachines"
8151             }
8152           }
8153         },
8154         "FindTools": {
8155           "type": "object",
8156           "properties": {
8157             "Params": {
8158               "$ref": "#/definitions/FindToolsParams"
8159             },
8160             "Result": {
8161               "$ref": "#/definitions/FindToolsResult"
8162             }
8163           }
8164         },
8165         "FullStatus": {
8166           "type": "object",
8167           "properties": {
8168             "Params": {
8169               "$ref": "#/definitions/StatusParams"
8170             },
8171             "Result": {
8172               "$ref": "#/definitions/FullStatus"
8173             }
8174           }
8175         },
8176         "GetBundleChanges": {
8177           "type": "object",
8178           "properties": {
8179             "Params": {
8180               "$ref": "#/definitions/BundleChangesParams"
8181             },
8182             "Result": {
8183               "$ref": "#/definitions/BundleChangesResults"
8184             }
8185           }
8186         },
8187         "GetModelConstraints": {
8188           "type": "object",
8189           "properties": {
8190             "Result": {
8191               "$ref": "#/definitions/GetConstraintsResults"
8192             }
8193           }
8194         },
8195         "InjectMachines": {
8196           "type": "object",
8197           "properties": {
8198             "Params": {
8199               "$ref": "#/definitions/AddMachines"
8200             },
8201             "Result": {
8202               "$ref": "#/definitions/AddMachinesResults"
8203             }
8204           }
8205         },
8206         "ModelGet": {
8207           "type": "object",
8208           "properties": {
8209             "Result": {
8210               "$ref": "#/definitions/ModelConfigResults"
8211             }
8212           }
8213         },
8214         "ModelInfo": {
8215           "type": "object",
8216           "properties": {
8217             "Result": {
8218               "$ref": "#/definitions/ModelInfo"
8219             }
8220           }
8221         },
8222         "ModelSet": {
8223           "type": "object",
8224           "properties": {
8225             "Params": {
8226               "$ref": "#/definitions/ModelSet"
8227             }
8228           }
8229         },
8230         "ModelUnset": {
8231           "type": "object",
8232           "properties": {
8233             "Params": {
8234               "$ref": "#/definitions/ModelUnset"
8235             }
8236           }
8237         },
8238         "ModelUserInfo": {
8239           "type": "object",
8240           "properties": {
8241             "Result": {
8242               "$ref": "#/definitions/ModelUserInfoResults"
8243             }
8244           }
8245         },
8246         "PrivateAddress": {
8247           "type": "object",
8248           "properties": {
8249             "Params": {
8250               "$ref": "#/definitions/PrivateAddress"
8251             },
8252             "Result": {
8253               "$ref": "#/definitions/PrivateAddressResults"
8254             }
8255           }
8256         },
8257         "ProvisioningScript": {
8258           "type": "object",
8259           "properties": {
8260             "Params": {
8261               "$ref": "#/definitions/ProvisioningScriptParams"
8262             },
8263             "Result": {
8264               "$ref": "#/definitions/ProvisioningScriptResult"
8265             }
8266           }
8267         },
8268         "PublicAddress": {
8269           "type": "object",
8270           "properties": {
8271             "Params": {
8272               "$ref": "#/definitions/PublicAddress"
8273             },
8274             "Result": {
8275               "$ref": "#/definitions/PublicAddressResults"
8276             }
8277           }
8278         },
8279         "ResolveCharms": {
8280           "type": "object",
8281           "properties": {
8282             "Params": {
8283               "$ref": "#/definitions/ResolveCharms"
8284             },
8285             "Result": {
8286               "$ref": "#/definitions/ResolveCharmResults"
8287             }
8288           }
8289         },
8290         "Resolved": {
8291           "type": "object",
8292           "properties": {
8293             "Params": {
8294               "$ref": "#/definitions/Resolved"
8295             }
8296           }
8297         },
8298         "RetryProvisioning": {
8299           "type": "object",
8300           "properties": {
8301             "Params": {
8302               "$ref": "#/definitions/Entities"
8303             },
8304             "Result": {
8305               "$ref": "#/definitions/ErrorResults"
8306             }
8307           }
8308         },
8309         "SLALevel": {
8310           "type": "object",
8311           "properties": {
8312             "Result": {
8313               "$ref": "#/definitions/StringResult"
8314             }
8315           }
8316         },
8317         "SetModelAgentVersion": {
8318           "type": "object",
8319           "properties": {
8320             "Params": {
8321               "$ref": "#/definitions/SetModelAgentVersion"
8322             }
8323           }
8324         },
8325         "SetModelConstraints": {
8326           "type": "object",
8327           "properties": {
8328             "Params": {
8329               "$ref": "#/definitions/SetConstraints"
8330             }
8331           }
8332         },
8333         "SetSLALevel": {
8334           "type": "object",
8335           "properties": {
8336             "Params": {
8337               "$ref": "#/definitions/ModelSLA"
8338             }
8339           }
8340         },
8341         "StatusHistory": {
8342           "type": "object",
8343           "properties": {
8344             "Params": {
8345               "$ref": "#/definitions/StatusHistoryRequests"
8346             },
8347             "Result": {
8348               "$ref": "#/definitions/StatusHistoryResults"
8349             }
8350           }
8351         },
8352         "WatchAll": {
8353           "type": "object",
8354           "properties": {
8355             "Result": {
8356               "$ref": "#/definitions/AllWatcherId"
8357             }
8358           }
8359         }
8360       },
8361       "definitions": {
8362         "APIHostPortsResult": {
8363           "type": "object",
8364           "properties": {
8365             "servers": {
8366               "type": "array",
8367               "items": {
8368                 "type": "array",
8369                 "items": {
8370                   "$ref": "#/definitions/HostPort"
8371                 }
8372               }
8373             }
8374           },
8375           "additionalProperties": false,
8376           "required": [
8377             "servers"
8378           ]
8379         },
8380         "AddCharm": {
8381           "type": "object",
8382           "properties": {
8383             "channel": {
8384               "type": "string"
8385             },
8386             "force": {
8387               "type": "boolean"
8388             },
8389             "url": {
8390               "type": "string"
8391             }
8392           },
8393           "additionalProperties": false,
8394           "required": [
8395             "url",
8396             "channel",
8397             "force"
8398           ]
8399         },
8400         "AddCharmWithAuthorization": {
8401           "type": "object",
8402           "properties": {
8403             "channel": {
8404               "type": "string"
8405             },
8406             "force": {
8407               "type": "boolean"
8408             },
8409             "macaroon": {
8410               "$ref": "#/definitions/Macaroon"
8411             },
8412             "url": {
8413               "type": "string"
8414             }
8415           },
8416           "additionalProperties": false,
8417           "required": [
8418             "url",
8419             "channel",
8420             "macaroon",
8421             "force"
8422           ]
8423         },
8424         "AddMachineParams": {
8425           "type": "object",
8426           "properties": {
8427             "addresses": {
8428               "type": "array",
8429               "items": {
8430                 "$ref": "#/definitions/Address"
8431               }
8432             },
8433             "constraints": {
8434               "$ref": "#/definitions/Value"
8435             },
8436             "container-type": {
8437               "type": "string"
8438             },
8439             "disks": {
8440               "type": "array",
8441               "items": {
8442                 "$ref": "#/definitions/Constraints"
8443               }
8444             },
8445             "hardware-characteristics": {
8446               "$ref": "#/definitions/HardwareCharacteristics"
8447             },
8448             "instance-id": {
8449               "type": "string"
8450             },
8451             "jobs": {
8452               "type": "array",
8453               "items": {
8454                 "type": "string"
8455               }
8456             },
8457             "nonce": {
8458               "type": "string"
8459             },
8460             "parent-id": {
8461               "type": "string"
8462             },
8463             "placement": {
8464               "$ref": "#/definitions/Placement"
8465             },
8466             "series": {
8467               "type": "string"
8468             }
8469           },
8470           "additionalProperties": false,
8471           "required": [
8472             "series",
8473             "constraints",
8474             "jobs",
8475             "parent-id",
8476             "container-type",
8477             "instance-id",
8478             "nonce",
8479             "hardware-characteristics",
8480             "addresses"
8481           ]
8482         },
8483         "AddMachines": {
8484           "type": "object",
8485           "properties": {
8486             "params": {
8487               "type": "array",
8488               "items": {
8489                 "$ref": "#/definitions/AddMachineParams"
8490               }
8491             }
8492           },
8493           "additionalProperties": false,
8494           "required": [
8495             "params"
8496           ]
8497         },
8498         "AddMachinesResult": {
8499           "type": "object",
8500           "properties": {
8501             "error": {
8502               "$ref": "#/definitions/Error"
8503             },
8504             "machine": {
8505               "type": "string"
8506             }
8507           },
8508           "additionalProperties": false,
8509           "required": [
8510             "machine"
8511           ]
8512         },
8513         "AddMachinesResults": {
8514           "type": "object",
8515           "properties": {
8516             "machines": {
8517               "type": "array",
8518               "items": {
8519                 "$ref": "#/definitions/AddMachinesResult"
8520               }
8521             }
8522           },
8523           "additionalProperties": false,
8524           "required": [
8525             "machines"
8526           ]
8527         },
8528         "Address": {
8529           "type": "object",
8530           "properties": {
8531             "scope": {
8532               "type": "string"
8533             },
8534             "space-name": {
8535               "type": "string"
8536             },
8537             "type": {
8538               "type": "string"
8539             },
8540             "value": {
8541               "type": "string"
8542             }
8543           },
8544           "additionalProperties": false,
8545           "required": [
8546             "value",
8547             "type",
8548             "scope"
8549           ]
8550         },
8551         "AgentVersionResult": {
8552           "type": "object",
8553           "properties": {
8554             "version": {
8555               "$ref": "#/definitions/Number"
8556             }
8557           },
8558           "additionalProperties": false,
8559           "required": [
8560             "version"
8561           ]
8562         },
8563         "AllWatcherId": {
8564           "type": "object",
8565           "properties": {
8566             "watcher-id": {
8567               "type": "string"
8568             }
8569           },
8570           "additionalProperties": false,
8571           "required": [
8572             "watcher-id"
8573           ]
8574         },
8575         "ApplicationOfferStatus": {
8576           "type": "object",
8577           "properties": {
8578             "active-connected-count": {
8579               "type": "integer"
8580             },
8581             "application-name": {
8582               "type": "string"
8583             },
8584             "charm": {
8585               "type": "string"
8586             },
8587             "endpoints": {
8588               "type": "object",
8589               "patternProperties": {
8590                 ".*": {
8591                   "$ref": "#/definitions/RemoteEndpoint"
8592                 }
8593               }
8594             },
8595             "err": {
8596               "type": "object",
8597               "additionalProperties": true
8598             },
8599             "offer-name": {
8600               "type": "string"
8601             },
8602             "total-connected-count": {
8603               "type": "integer"
8604             }
8605           },
8606           "additionalProperties": false,
8607           "required": [
8608             "offer-name",
8609             "application-name",
8610             "charm",
8611             "endpoints",
8612             "active-connected-count",
8613             "total-connected-count"
8614           ]
8615         },
8616         "ApplicationStatus": {
8617           "type": "object",
8618           "properties": {
8619             "can-upgrade-to": {
8620               "type": "string"
8621             },
8622             "charm": {
8623               "type": "string"
8624             },
8625             "charm-verion": {
8626               "type": "string"
8627             },
8628             "endpoint-bindings": {
8629               "type": "object",
8630               "patternProperties": {
8631                 ".*": {
8632                   "type": "string"
8633                 }
8634               }
8635             },
8636             "err": {
8637               "type": "object",
8638               "additionalProperties": true
8639             },
8640             "exposed": {
8641               "type": "boolean"
8642             },
8643             "int": {
8644               "type": "integer"
8645             },
8646             "life": {
8647               "type": "string"
8648             },
8649             "meter-statuses": {
8650               "type": "object",
8651               "patternProperties": {
8652                 ".*": {
8653                   "$ref": "#/definitions/MeterStatus"
8654                 }
8655               }
8656             },
8657             "provider-id": {
8658               "type": "string"
8659             },
8660             "public-address": {
8661               "type": "string"
8662             },
8663             "relations": {
8664               "type": "object",
8665               "patternProperties": {
8666                 ".*": {
8667                   "type": "array",
8668                   "items": {
8669                     "type": "string"
8670                   }
8671                 }
8672               }
8673             },
8674             "series": {
8675               "type": "string"
8676             },
8677             "status": {
8678               "$ref": "#/definitions/DetailedStatus"
8679             },
8680             "string": {
8681               "type": "string"
8682             },
8683             "subordinate-to": {
8684               "type": "array",
8685               "items": {
8686                 "type": "string"
8687               }
8688             },
8689             "units": {
8690               "type": "object",
8691               "patternProperties": {
8692                 ".*": {
8693                   "$ref": "#/definitions/UnitStatus"
8694                 }
8695               }
8696             },
8697             "workload-version": {
8698               "type": "string"
8699             }
8700           },
8701           "additionalProperties": false,
8702           "required": [
8703             "charm",
8704             "series",
8705             "exposed",
8706             "life",
8707             "relations",
8708             "can-upgrade-to",
8709             "subordinate-to",
8710             "units",
8711             "meter-statuses",
8712             "status",
8713             "workload-version",
8714             "charm-verion",
8715             "endpoint-bindings",
8716             "public-address"
8717           ]
8718         },
8719         "Binary": {
8720           "type": "object",
8721           "properties": {
8722             "Arch": {
8723               "type": "string"
8724             },
8725             "Number": {
8726               "$ref": "#/definitions/Number"
8727             },
8728             "Series": {
8729               "type": "string"
8730             }
8731           },
8732           "additionalProperties": false,
8733           "required": [
8734             "Number",
8735             "Series",
8736             "Arch"
8737           ]
8738         },
8739         "BundleChange": {
8740           "type": "object",
8741           "properties": {
8742             "args": {
8743               "type": "array",
8744               "items": {
8745                 "type": "object",
8746                 "additionalProperties": true
8747               }
8748             },
8749             "id": {
8750               "type": "string"
8751             },
8752             "method": {
8753               "type": "string"
8754             },
8755             "requires": {
8756               "type": "array",
8757               "items": {
8758                 "type": "string"
8759               }
8760             }
8761           },
8762           "additionalProperties": false,
8763           "required": [
8764             "id",
8765             "method",
8766             "args",
8767             "requires"
8768           ]
8769         },
8770         "BundleChangesParams": {
8771           "type": "object",
8772           "properties": {
8773             "bundleURL": {
8774               "type": "string"
8775             },
8776             "yaml": {
8777               "type": "string"
8778             }
8779           },
8780           "additionalProperties": false,
8781           "required": [
8782             "yaml",
8783             "bundleURL"
8784           ]
8785         },
8786         "BundleChangesResults": {
8787           "type": "object",
8788           "properties": {
8789             "changes": {
8790               "type": "array",
8791               "items": {
8792                 "$ref": "#/definitions/BundleChange"
8793               }
8794             },
8795             "errors": {
8796               "type": "array",
8797               "items": {
8798                 "type": "string"
8799               }
8800             }
8801           },
8802           "additionalProperties": false
8803         },
8804         "BytesResult": {
8805           "type": "object",
8806           "properties": {
8807             "result": {
8808               "type": "array",
8809               "items": {
8810                 "type": "integer"
8811               }
8812             }
8813           },
8814           "additionalProperties": false,
8815           "required": [
8816             "result"
8817           ]
8818         },
8819         "ConfigValue": {
8820           "type": "object",
8821           "properties": {
8822             "source": {
8823               "type": "string"
8824             },
8825             "value": {
8826               "type": "object",
8827               "additionalProperties": true
8828             }
8829           },
8830           "additionalProperties": false,
8831           "required": [
8832             "value",
8833             "source"
8834           ]
8835         },
8836         "Constraints": {
8837           "type": "object",
8838           "properties": {
8839             "Count": {
8840               "type": "integer"
8841             },
8842             "Pool": {
8843               "type": "string"
8844             },
8845             "Size": {
8846               "type": "integer"
8847             }
8848           },
8849           "additionalProperties": false,
8850           "required": [
8851             "Pool",
8852             "Size",
8853             "Count"
8854           ]
8855         },
8856         "DestroyMachines": {
8857           "type": "object",
8858           "properties": {
8859             "force": {
8860               "type": "boolean"
8861             },
8862             "machine-names": {
8863               "type": "array",
8864               "items": {
8865                 "type": "string"
8866               }
8867             }
8868           },
8869           "additionalProperties": false,
8870           "required": [
8871             "machine-names",
8872             "force"
8873           ]
8874         },
8875         "DetailedStatus": {
8876           "type": "object",
8877           "properties": {
8878             "data": {
8879               "type": "object",
8880               "patternProperties": {
8881                 ".*": {
8882                   "type": "object",
8883                   "additionalProperties": true
8884                 }
8885               }
8886             },
8887             "err": {
8888               "type": "object",
8889               "additionalProperties": true
8890             },
8891             "info": {
8892               "type": "string"
8893             },
8894             "kind": {
8895               "type": "string"
8896             },
8897             "life": {
8898               "type": "string"
8899             },
8900             "since": {
8901               "type": "string",
8902               "format": "date-time"
8903             },
8904             "status": {
8905               "type": "string"
8906             },
8907             "version": {
8908               "type": "string"
8909             }
8910           },
8911           "additionalProperties": false,
8912           "required": [
8913             "status",
8914             "info",
8915             "data",
8916             "since",
8917             "kind",
8918             "version",
8919             "life"
8920           ]
8921         },
8922         "EndpointStatus": {
8923           "type": "object",
8924           "properties": {
8925             "application": {
8926               "type": "string"
8927             },
8928             "name": {
8929               "type": "string"
8930             },
8931             "role": {
8932               "type": "string"
8933             },
8934             "subordinate": {
8935               "type": "boolean"
8936             }
8937           },
8938           "additionalProperties": false,
8939           "required": [
8940             "application",
8941             "name",
8942             "role",
8943             "subordinate"
8944           ]
8945         },
8946         "Entities": {
8947           "type": "object",
8948           "properties": {
8949             "entities": {
8950               "type": "array",
8951               "items": {
8952                 "$ref": "#/definitions/Entity"
8953               }
8954             }
8955           },
8956           "additionalProperties": false,
8957           "required": [
8958             "entities"
8959           ]
8960         },
8961         "Entity": {
8962           "type": "object",
8963           "properties": {
8964             "tag": {
8965               "type": "string"
8966             }
8967           },
8968           "additionalProperties": false,
8969           "required": [
8970             "tag"
8971           ]
8972         },
8973         "EntityStatus": {
8974           "type": "object",
8975           "properties": {
8976             "data": {
8977               "type": "object",
8978               "patternProperties": {
8979                 ".*": {
8980                   "type": "object",
8981                   "additionalProperties": true
8982                 }
8983               }
8984             },
8985             "info": {
8986               "type": "string"
8987             },
8988             "since": {
8989               "type": "string",
8990               "format": "date-time"
8991             },
8992             "status": {
8993               "type": "string"
8994             }
8995           },
8996           "additionalProperties": false,
8997           "required": [
8998             "status",
8999             "info",
9000             "since"
9001           ]
9002         },
9003         "Error": {
9004           "type": "object",
9005           "properties": {
9006             "code": {
9007               "type": "string"
9008             },
9009             "info": {
9010               "$ref": "#/definitions/ErrorInfo"
9011             },
9012             "message": {
9013               "type": "string"
9014             }
9015           },
9016           "additionalProperties": false,
9017           "required": [
9018             "message",
9019             "code"
9020           ]
9021         },
9022         "ErrorInfo": {
9023           "type": "object",
9024           "properties": {
9025             "macaroon": {
9026               "$ref": "#/definitions/Macaroon"
9027             },
9028             "macaroon-path": {
9029               "type": "string"
9030             }
9031           },
9032           "additionalProperties": false
9033         },
9034         "ErrorResult": {
9035           "type": "object",
9036           "properties": {
9037             "error": {
9038               "$ref": "#/definitions/Error"
9039             }
9040           },
9041           "additionalProperties": false
9042         },
9043         "ErrorResults": {
9044           "type": "object",
9045           "properties": {
9046             "results": {
9047               "type": "array",
9048               "items": {
9049                 "$ref": "#/definitions/ErrorResult"
9050               }
9051             }
9052           },
9053           "additionalProperties": false,
9054           "required": [
9055             "results"
9056           ]
9057         },
9058         "FindToolsParams": {
9059           "type": "object",
9060           "properties": {
9061             "agentstream": {
9062               "type": "string"
9063             },
9064             "arch": {
9065               "type": "string"
9066             },
9067             "major": {
9068               "type": "integer"
9069             },
9070             "minor": {
9071               "type": "integer"
9072             },
9073             "number": {
9074               "$ref": "#/definitions/Number"
9075             },
9076             "series": {
9077               "type": "string"
9078             }
9079           },
9080           "additionalProperties": false,
9081           "required": [
9082             "number",
9083             "major",
9084             "minor",
9085             "arch",
9086             "series",
9087             "agentstream"
9088           ]
9089         },
9090         "FindToolsResult": {
9091           "type": "object",
9092           "properties": {
9093             "error": {
9094               "$ref": "#/definitions/Error"
9095             },
9096             "list": {
9097               "type": "array",
9098               "items": {
9099                 "$ref": "#/definitions/Tools"
9100               }
9101             }
9102           },
9103           "additionalProperties": false,
9104           "required": [
9105             "list"
9106           ]
9107         },
9108         "FullStatus": {
9109           "type": "object",
9110           "properties": {
9111             "applications": {
9112               "type": "object",
9113               "patternProperties": {
9114                 ".*": {
9115                   "$ref": "#/definitions/ApplicationStatus"
9116                 }
9117               }
9118             },
9119             "controller-timestamp": {
9120               "type": "string",
9121               "format": "date-time"
9122             },
9123             "machines": {
9124               "type": "object",
9125               "patternProperties": {
9126                 ".*": {
9127                   "$ref": "#/definitions/MachineStatus"
9128                 }
9129               }
9130             },
9131             "model": {
9132               "$ref": "#/definitions/ModelStatusInfo"
9133             },
9134             "offers": {
9135               "type": "object",
9136               "patternProperties": {
9137                 ".*": {
9138                   "$ref": "#/definitions/ApplicationOfferStatus"
9139                 }
9140               }
9141             },
9142             "relations": {
9143               "type": "array",
9144               "items": {
9145                 "$ref": "#/definitions/RelationStatus"
9146               }
9147             },
9148             "remote-applications": {
9149               "type": "object",
9150               "patternProperties": {
9151                 ".*": {
9152                   "$ref": "#/definitions/RemoteApplicationStatus"
9153                 }
9154               }
9155             }
9156           },
9157           "additionalProperties": false,
9158           "required": [
9159             "model",
9160             "machines",
9161             "applications",
9162             "remote-applications",
9163             "offers",
9164             "relations",
9165             "controller-timestamp"
9166           ]
9167         },
9168         "GetConstraintsResults": {
9169           "type": "object",
9170           "properties": {
9171             "constraints": {
9172               "$ref": "#/definitions/Value"
9173             }
9174           },
9175           "additionalProperties": false,
9176           "required": [
9177             "constraints"
9178           ]
9179         },
9180         "HardwareCharacteristics": {
9181           "type": "object",
9182           "properties": {
9183             "arch": {
9184               "type": "string"
9185             },
9186             "availability-zone": {
9187               "type": "string"
9188             },
9189             "cpu-cores": {
9190               "type": "integer"
9191             },
9192             "cpu-power": {
9193               "type": "integer"
9194             },
9195             "mem": {
9196               "type": "integer"
9197             },
9198             "root-disk": {
9199               "type": "integer"
9200             },
9201             "tags": {
9202               "type": "array",
9203               "items": {
9204                 "type": "string"
9205               }
9206             }
9207           },
9208           "additionalProperties": false
9209         },
9210         "History": {
9211           "type": "object",
9212           "properties": {
9213             "error": {
9214               "$ref": "#/definitions/Error"
9215             },
9216             "statuses": {
9217               "type": "array",
9218               "items": {
9219                 "$ref": "#/definitions/DetailedStatus"
9220               }
9221             }
9222           },
9223           "additionalProperties": false,
9224           "required": [
9225             "statuses"
9226           ]
9227         },
9228         "HostPort": {
9229           "type": "object",
9230           "properties": {
9231             "Address": {
9232               "$ref": "#/definitions/Address"
9233             },
9234             "port": {
9235               "type": "integer"
9236             }
9237           },
9238           "additionalProperties": false,
9239           "required": [
9240             "Address",
9241             "port"
9242           ]
9243         },
9244         "LXDProfile": {
9245           "type": "object",
9246           "properties": {
9247             "config": {
9248               "type": "object",
9249               "patternProperties": {
9250                 ".*": {
9251                   "type": "string"
9252                 }
9253               }
9254             },
9255             "description": {
9256               "type": "string"
9257             },
9258             "devices": {
9259               "type": "object",
9260               "patternProperties": {
9261                 ".*": {
9262                   "type": "object",
9263                   "patternProperties": {
9264                     ".*": {
9265                       "type": "string"
9266                     }
9267                   }
9268                 }
9269               }
9270             }
9271           },
9272           "additionalProperties": false,
9273           "required": [
9274             "config",
9275             "description",
9276             "devices"
9277           ]
9278         },
9279         "Macaroon": {
9280           "type": "object",
9281           "additionalProperties": false
9282         },
9283         "MachineHardware": {
9284           "type": "object",
9285           "properties": {
9286             "arch": {
9287               "type": "string"
9288             },
9289             "availability-zone": {
9290               "type": "string"
9291             },
9292             "cores": {
9293               "type": "integer"
9294             },
9295             "cpu-power": {
9296               "type": "integer"
9297             },
9298             "mem": {
9299               "type": "integer"
9300             },
9301             "root-disk": {
9302               "type": "integer"
9303             },
9304             "tags": {
9305               "type": "array",
9306               "items": {
9307                 "type": "string"
9308               }
9309             }
9310           },
9311           "additionalProperties": false
9312         },
9313         "MachineStatus": {
9314           "type": "object",
9315           "properties": {
9316             "agent-status": {
9317               "$ref": "#/definitions/DetailedStatus"
9318             },
9319             "constraints": {
9320               "type": "string"
9321             },
9322             "containers": {
9323               "type": "object",
9324               "patternProperties": {
9325                 ".*": {
9326                   "$ref": "#/definitions/MachineStatus"
9327                 }
9328               }
9329             },
9330             "dns-name": {
9331               "type": "string"
9332             },
9333             "hardware": {
9334               "type": "string"
9335             },
9336             "has-vote": {
9337               "type": "boolean"
9338             },
9339             "id": {
9340               "type": "string"
9341             },
9342             "instance-id": {
9343               "type": "string"
9344             },
9345             "instance-status": {
9346               "$ref": "#/definitions/DetailedStatus"
9347             },
9348             "ip-addresses": {
9349               "type": "array",
9350               "items": {
9351                 "type": "string"
9352               }
9353             },
9354             "jobs": {
9355               "type": "array",
9356               "items": {
9357                 "type": "string"
9358               }
9359             },
9360             "lxd-profiles": {
9361               "type": "object",
9362               "patternProperties": {
9363                 ".*": {
9364                   "$ref": "#/definitions/LXDProfile"
9365                 }
9366               }
9367             },
9368             "network-interfaces": {
9369               "type": "object",
9370               "patternProperties": {
9371                 ".*": {
9372                   "$ref": "#/definitions/NetworkInterface"
9373                 }
9374               }
9375             },
9376             "series": {
9377               "type": "string"
9378             },
9379             "wants-vote": {
9380               "type": "boolean"
9381             }
9382           },
9383           "additionalProperties": false,
9384           "required": [
9385             "agent-status",
9386             "instance-status",
9387             "dns-name",
9388             "instance-id",
9389             "series",
9390             "id",
9391             "containers",
9392             "constraints",
9393             "hardware",
9394             "jobs",
9395             "has-vote",
9396             "wants-vote"
9397           ]
9398         },
9399         "MeterStatus": {
9400           "type": "object",
9401           "properties": {
9402             "color": {
9403               "type": "string"
9404             },
9405             "message": {
9406               "type": "string"
9407             }
9408           },
9409           "additionalProperties": false,
9410           "required": [
9411             "color",
9412             "message"
9413           ]
9414         },
9415         "ModelConfigResults": {
9416           "type": "object",
9417           "properties": {
9418             "config": {
9419               "type": "object",
9420               "patternProperties": {
9421                 ".*": {
9422                   "$ref": "#/definitions/ConfigValue"
9423                 }
9424               }
9425             }
9426           },
9427           "additionalProperties": false,
9428           "required": [
9429             "config"
9430           ]
9431         },
9432         "ModelInfo": {
9433           "type": "object",
9434           "properties": {
9435             "agent-version": {
9436               "$ref": "#/definitions/Number"
9437             },
9438             "cloud-credential-tag": {
9439               "type": "string"
9440             },
9441             "cloud-region": {
9442               "type": "string"
9443             },
9444             "cloud-tag": {
9445               "type": "string"
9446             },
9447             "controller-uuid": {
9448               "type": "string"
9449             },
9450             "default-series": {
9451               "type": "string"
9452             },
9453             "life": {
9454               "type": "string"
9455             },
9456             "machines": {
9457               "type": "array",
9458               "items": {
9459                 "$ref": "#/definitions/ModelMachineInfo"
9460               }
9461             },
9462             "migration": {
9463               "$ref": "#/definitions/ModelMigrationStatus"
9464             },
9465             "name": {
9466               "type": "string"
9467             },
9468             "owner-tag": {
9469               "type": "string"
9470             },
9471             "provider-type": {
9472               "type": "string"
9473             },
9474             "sla": {
9475               "$ref": "#/definitions/ModelSLAInfo"
9476             },
9477             "status": {
9478               "$ref": "#/definitions/EntityStatus"
9479             },
9480             "type": {
9481               "type": "string"
9482             },
9483             "users": {
9484               "type": "array",
9485               "items": {
9486                 "$ref": "#/definitions/ModelUserInfo"
9487               }
9488             },
9489             "uuid": {
9490               "type": "string"
9491             }
9492           },
9493           "additionalProperties": false,
9494           "required": [
9495             "name",
9496             "type",
9497             "uuid",
9498             "controller-uuid",
9499             "cloud-tag",
9500             "owner-tag",
9501             "life",
9502             "users",
9503             "machines",
9504             "sla",
9505             "agent-version"
9506           ]
9507         },
9508         "ModelMachineInfo": {
9509           "type": "object",
9510           "properties": {
9511             "hardware": {
9512               "$ref": "#/definitions/MachineHardware"
9513             },
9514             "has-vote": {
9515               "type": "boolean"
9516             },
9517             "id": {
9518               "type": "string"
9519             },
9520             "instance-id": {
9521               "type": "string"
9522             },
9523             "message": {
9524               "type": "string"
9525             },
9526             "status": {
9527               "type": "string"
9528             },
9529             "wants-vote": {
9530               "type": "boolean"
9531             }
9532           },
9533           "additionalProperties": false,
9534           "required": [
9535             "id"
9536           ]
9537         },
9538         "ModelMigrationStatus": {
9539           "type": "object",
9540           "properties": {
9541             "end": {
9542               "type": "string",
9543               "format": "date-time"
9544             },
9545             "start": {
9546               "type": "string",
9547               "format": "date-time"
9548             },
9549             "status": {
9550               "type": "string"
9551             }
9552           },
9553           "additionalProperties": false,
9554           "required": [
9555             "status",
9556             "start"
9557           ]
9558         },
9559         "ModelSLA": {
9560           "type": "object",
9561           "properties": {
9562             "ModelSLAInfo": {
9563               "$ref": "#/definitions/ModelSLAInfo"
9564             },
9565             "creds": {
9566               "type": "array",
9567               "items": {
9568                 "type": "integer"
9569               }
9570             }
9571           },
9572           "additionalProperties": false,
9573           "required": [
9574             "ModelSLAInfo",
9575             "creds"
9576           ]
9577         },
9578         "ModelSLAInfo": {
9579           "type": "object",
9580           "properties": {
9581             "level": {
9582               "type": "string"
9583             },
9584             "owner": {
9585               "type": "string"
9586             }
9587           },
9588           "additionalProperties": false,
9589           "required": [
9590             "level",
9591             "owner"
9592           ]
9593         },
9594         "ModelSet": {
9595           "type": "object",
9596           "properties": {
9597             "config": {
9598               "type": "object",
9599               "patternProperties": {
9600                 ".*": {
9601                   "type": "object",
9602                   "additionalProperties": true
9603                 }
9604               }
9605             }
9606           },
9607           "additionalProperties": false,
9608           "required": [
9609             "config"
9610           ]
9611         },
9612         "ModelStatusInfo": {
9613           "type": "object",
9614           "properties": {
9615             "available-version": {
9616               "type": "string"
9617             },
9618             "cloud-tag": {
9619               "type": "string"
9620             },
9621             "meter-status": {
9622               "$ref": "#/definitions/MeterStatus"
9623             },
9624             "model-status": {
9625               "$ref": "#/definitions/DetailedStatus"
9626             },
9627             "name": {
9628               "type": "string"
9629             },
9630             "region": {
9631               "type": "string"
9632             },
9633             "sla": {
9634               "type": "string"
9635             },
9636             "type": {
9637               "type": "string"
9638             },
9639             "version": {
9640               "type": "string"
9641             }
9642           },
9643           "additionalProperties": false,
9644           "required": [
9645             "name",
9646             "type",
9647             "cloud-tag",
9648             "version",
9649             "available-version",
9650             "model-status",
9651             "meter-status",
9652             "sla"
9653           ]
9654         },
9655         "ModelUnset": {
9656           "type": "object",
9657           "properties": {
9658             "keys": {
9659               "type": "array",
9660               "items": {
9661                 "type": "string"
9662               }
9663             }
9664           },
9665           "additionalProperties": false,
9666           "required": [
9667             "keys"
9668           ]
9669         },
9670         "ModelUserInfo": {
9671           "type": "object",
9672           "properties": {
9673             "access": {
9674               "type": "string"
9675             },
9676             "display-name": {
9677               "type": "string"
9678             },
9679             "last-connection": {
9680               "type": "string",
9681               "format": "date-time"
9682             },
9683             "user": {
9684               "type": "string"
9685             }
9686           },
9687           "additionalProperties": false,
9688           "required": [
9689             "user",
9690             "display-name",
9691             "last-connection",
9692             "access"
9693           ]
9694         },
9695         "ModelUserInfoResult": {
9696           "type": "object",
9697           "properties": {
9698             "error": {
9699               "$ref": "#/definitions/Error"
9700             },
9701             "result": {
9702               "$ref": "#/definitions/ModelUserInfo"
9703             }
9704           },
9705           "additionalProperties": false
9706         },
9707         "ModelUserInfoResults": {
9708           "type": "object",
9709           "properties": {
9710             "results": {
9711               "type": "array",
9712               "items": {
9713                 "$ref": "#/definitions/ModelUserInfoResult"
9714               }
9715             }
9716           },
9717           "additionalProperties": false,
9718           "required": [
9719             "results"
9720           ]
9721         },
9722         "NetworkInterface": {
9723           "type": "object",
9724           "properties": {
9725             "dns-nameservers": {
9726               "type": "array",
9727               "items": {
9728                 "type": "string"
9729               }
9730             },
9731             "gateway": {
9732               "type": "string"
9733             },
9734             "ip-addresses": {
9735               "type": "array",
9736               "items": {
9737                 "type": "string"
9738               }
9739             },
9740             "is-up": {
9741               "type": "boolean"
9742             },
9743             "mac-address": {
9744               "type": "string"
9745             },
9746             "space": {
9747               "type": "string"
9748             }
9749           },
9750           "additionalProperties": false,
9751           "required": [
9752             "ip-addresses",
9753             "mac-address",
9754             "is-up"
9755           ]
9756         },
9757         "Number": {
9758           "type": "object",
9759           "properties": {
9760             "Build": {
9761               "type": "integer"
9762             },
9763             "Major": {
9764               "type": "integer"
9765             },
9766             "Minor": {
9767               "type": "integer"
9768             },
9769             "Patch": {
9770               "type": "integer"
9771             },
9772             "Tag": {
9773               "type": "string"
9774             }
9775           },
9776           "additionalProperties": false,
9777           "required": [
9778             "Major",
9779             "Minor",
9780             "Tag",
9781             "Patch",
9782             "Build"
9783           ]
9784         },
9785         "Placement": {
9786           "type": "object",
9787           "properties": {
9788             "directive": {
9789               "type": "string"
9790             },
9791             "scope": {
9792               "type": "string"
9793             }
9794           },
9795           "additionalProperties": false,
9796           "required": [
9797             "scope",
9798             "directive"
9799           ]
9800         },
9801         "PrivateAddress": {
9802           "type": "object",
9803           "properties": {
9804             "target": {
9805               "type": "string"
9806             }
9807           },
9808           "additionalProperties": false,
9809           "required": [
9810             "target"
9811           ]
9812         },
9813         "PrivateAddressResults": {
9814           "type": "object",
9815           "properties": {
9816             "private-address": {
9817               "type": "string"
9818             }
9819           },
9820           "additionalProperties": false,
9821           "required": [
9822             "private-address"
9823           ]
9824         },
9825         "ProvisioningScriptParams": {
9826           "type": "object",
9827           "properties": {
9828             "data-dir": {
9829               "type": "string"
9830             },
9831             "disable-package-commands": {
9832               "type": "boolean"
9833             },
9834             "machine-id": {
9835               "type": "string"
9836             },
9837             "nonce": {
9838               "type": "string"
9839             }
9840           },
9841           "additionalProperties": false,
9842           "required": [
9843             "machine-id",
9844             "nonce",
9845             "data-dir",
9846             "disable-package-commands"
9847           ]
9848         },
9849         "ProvisioningScriptResult": {
9850           "type": "object",
9851           "properties": {
9852             "script": {
9853               "type": "string"
9854             }
9855           },
9856           "additionalProperties": false,
9857           "required": [
9858             "script"
9859           ]
9860         },
9861         "PublicAddress": {
9862           "type": "object",
9863           "properties": {
9864             "target": {
9865               "type": "string"
9866             }
9867           },
9868           "additionalProperties": false,
9869           "required": [
9870             "target"
9871           ]
9872         },
9873         "PublicAddressResults": {
9874           "type": "object",
9875           "properties": {
9876             "public-address": {
9877               "type": "string"
9878             }
9879           },
9880           "additionalProperties": false,
9881           "required": [
9882             "public-address"
9883           ]
9884         },
9885         "RelationStatus": {
9886           "type": "object",
9887           "properties": {
9888             "endpoints": {
9889               "type": "array",
9890               "items": {
9891                 "$ref": "#/definitions/EndpointStatus"
9892               }
9893             },
9894             "id": {
9895               "type": "integer"
9896             },
9897             "interface": {
9898               "type": "string"
9899             },
9900             "key": {
9901               "type": "string"
9902             },
9903             "scope": {
9904               "type": "string"
9905             },
9906             "status": {
9907               "$ref": "#/definitions/DetailedStatus"
9908             }
9909           },
9910           "additionalProperties": false,
9911           "required": [
9912             "id",
9913             "key",
9914             "interface",
9915             "scope",
9916             "endpoints",
9917             "status"
9918           ]
9919         },
9920         "RemoteApplicationStatus": {
9921           "type": "object",
9922           "properties": {
9923             "endpoints": {
9924               "type": "array",
9925               "items": {
9926                 "$ref": "#/definitions/RemoteEndpoint"
9927               }
9928             },
9929             "err": {
9930               "type": "object",
9931               "additionalProperties": true
9932             },
9933             "life": {
9934               "type": "string"
9935             },
9936             "offer-name": {
9937               "type": "string"
9938             },
9939             "offer-url": {
9940               "type": "string"
9941             },
9942             "relations": {
9943               "type": "object",
9944               "patternProperties": {
9945                 ".*": {
9946                   "type": "array",
9947                   "items": {
9948                     "type": "string"
9949                   }
9950                 }
9951               }
9952             },
9953             "status": {
9954               "$ref": "#/definitions/DetailedStatus"
9955             }
9956           },
9957           "additionalProperties": false,
9958           "required": [
9959             "offer-url",
9960             "offer-name",
9961             "endpoints",
9962             "life",
9963             "relations",
9964             "status"
9965           ]
9966         },
9967         "RemoteEndpoint": {
9968           "type": "object",
9969           "properties": {
9970             "interface": {
9971               "type": "string"
9972             },
9973             "limit": {
9974               "type": "integer"
9975             },
9976             "name": {
9977               "type": "string"
9978             },
9979             "role": {
9980               "type": "string"
9981             }
9982           },
9983           "additionalProperties": false,
9984           "required": [
9985             "name",
9986             "role",
9987             "interface",
9988             "limit"
9989           ]
9990         },
9991         "ResolveCharmResult": {
9992           "type": "object",
9993           "properties": {
9994             "error": {
9995               "type": "string"
9996             },
9997             "url": {
9998               "type": "string"
9999             }
10000           },
10001           "additionalProperties": false
10002         },
10003         "ResolveCharmResults": {
10004           "type": "object",
10005           "properties": {
10006             "urls": {
10007               "type": "array",
10008               "items": {
10009                 "$ref": "#/definitions/ResolveCharmResult"
10010               }
10011             }
10012           },
10013           "additionalProperties": false,
10014           "required": [
10015             "urls"
10016           ]
10017         },
10018         "ResolveCharms": {
10019           "type": "object",
10020           "properties": {
10021             "references": {
10022               "type": "array",
10023               "items": {
10024                 "type": "string"
10025               }
10026             }
10027           },
10028           "additionalProperties": false,
10029           "required": [
10030             "references"
10031           ]
10032         },
10033         "Resolved": {
10034           "type": "object",
10035           "properties": {
10036             "retry": {
10037               "type": "boolean"
10038             },
10039             "unit-name": {
10040               "type": "string"
10041             }
10042           },
10043           "additionalProperties": false,
10044           "required": [
10045             "unit-name",
10046             "retry"
10047           ]
10048         },
10049         "SetConstraints": {
10050           "type": "object",
10051           "properties": {
10052             "application": {
10053               "type": "string"
10054             },
10055             "constraints": {
10056               "$ref": "#/definitions/Value"
10057             }
10058           },
10059           "additionalProperties": false,
10060           "required": [
10061             "application",
10062             "constraints"
10063           ]
10064         },
10065         "SetModelAgentVersion": {
10066           "type": "object",
10067           "properties": {
10068             "force": {
10069               "type": "boolean"
10070             },
10071             "version": {
10072               "$ref": "#/definitions/Number"
10073             }
10074           },
10075           "additionalProperties": false,
10076           "required": [
10077             "version"
10078           ]
10079         },
10080         "StatusHistoryFilter": {
10081           "type": "object",
10082           "properties": {
10083             "date": {
10084               "type": "string",
10085               "format": "date-time"
10086             },
10087             "delta": {
10088               "type": "integer"
10089             },
10090             "exclude": {
10091               "type": "array",
10092               "items": {
10093                 "type": "string"
10094               }
10095             },
10096             "size": {
10097               "type": "integer"
10098             }
10099           },
10100           "additionalProperties": false,
10101           "required": [
10102             "size",
10103             "date",
10104             "delta",
10105             "exclude"
10106           ]
10107         },
10108         "StatusHistoryRequest": {
10109           "type": "object",
10110           "properties": {
10111             "filter": {
10112               "$ref": "#/definitions/StatusHistoryFilter"
10113             },
10114             "historyKind": {
10115               "type": "string"
10116             },
10117             "size": {
10118               "type": "integer"
10119             },
10120             "tag": {
10121               "type": "string"
10122             }
10123           },
10124           "additionalProperties": false,
10125           "required": [
10126             "historyKind",
10127             "size",
10128             "filter",
10129             "tag"
10130           ]
10131         },
10132         "StatusHistoryRequests": {
10133           "type": "object",
10134           "properties": {
10135             "requests": {
10136               "type": "array",
10137               "items": {
10138                 "$ref": "#/definitions/StatusHistoryRequest"
10139               }
10140             }
10141           },
10142           "additionalProperties": false,
10143           "required": [
10144             "requests"
10145           ]
10146         },
10147         "StatusHistoryResult": {
10148           "type": "object",
10149           "properties": {
10150             "error": {
10151               "$ref": "#/definitions/Error"
10152             },
10153             "history": {
10154               "$ref": "#/definitions/History"
10155             }
10156           },
10157           "additionalProperties": false,
10158           "required": [
10159             "history"
10160           ]
10161         },
10162         "StatusHistoryResults": {
10163           "type": "object",
10164           "properties": {
10165             "results": {
10166               "type": "array",
10167               "items": {
10168                 "$ref": "#/definitions/StatusHistoryResult"
10169               }
10170             }
10171           },
10172           "additionalProperties": false,
10173           "required": [
10174             "results"
10175           ]
10176         },
10177         "StatusParams": {
10178           "type": "object",
10179           "properties": {
10180             "patterns": {
10181               "type": "array",
10182               "items": {
10183                 "type": "string"
10184               }
10185             }
10186           },
10187           "additionalProperties": false,
10188           "required": [
10189             "patterns"
10190           ]
10191         },
10192         "StringResult": {
10193           "type": "object",
10194           "properties": {
10195             "error": {
10196               "$ref": "#/definitions/Error"
10197             },
10198             "result": {
10199               "type": "string"
10200             }
10201           },
10202           "additionalProperties": false,
10203           "required": [
10204             "result"
10205           ]
10206         },
10207         "Tools": {
10208           "type": "object",
10209           "properties": {
10210             "sha256": {
10211               "type": "string"
10212             },
10213             "size": {
10214               "type": "integer"
10215             },
10216             "url": {
10217               "type": "string"
10218             },
10219             "version": {
10220               "$ref": "#/definitions/Binary"
10221             }
10222           },
10223           "additionalProperties": false,
10224           "required": [
10225             "version",
10226             "url",
10227             "size"
10228           ]
10229         },
10230         "UnitStatus": {
10231           "type": "object",
10232           "properties": {
10233             "address": {
10234               "type": "string"
10235             },
10236             "agent-status": {
10237               "$ref": "#/definitions/DetailedStatus"
10238             },
10239             "charm": {
10240               "type": "string"
10241             },
10242             "leader": {
10243               "type": "boolean"
10244             },
10245             "machine": {
10246               "type": "string"
10247             },
10248             "opened-ports": {
10249               "type": "array",
10250               "items": {
10251                 "type": "string"
10252               }
10253             },
10254             "provider-id": {
10255               "type": "string"
10256             },
10257             "public-address": {
10258               "type": "string"
10259             },
10260             "subordinates": {
10261               "type": "object",
10262               "patternProperties": {
10263                 ".*": {
10264                   "$ref": "#/definitions/UnitStatus"
10265                 }
10266               }
10267             },
10268             "workload-status": {
10269               "$ref": "#/definitions/DetailedStatus"
10270             },
10271             "workload-version": {
10272               "type": "string"
10273             }
10274           },
10275           "additionalProperties": false,
10276           "required": [
10277             "agent-status",
10278             "workload-status",
10279             "workload-version",
10280             "machine",
10281             "opened-ports",
10282             "public-address",
10283             "charm",
10284             "subordinates"
10285           ]
10286         },
10287         "Value": {
10288           "type": "object",
10289           "properties": {
10290             "arch": {
10291               "type": "string"
10292             },
10293             "container": {
10294               "type": "string"
10295             },
10296             "cores": {
10297               "type": "integer"
10298             },
10299             "cpu-power": {
10300               "type": "integer"
10301             },
10302             "instance-type": {
10303               "type": "string"
10304             },
10305             "mem": {
10306               "type": "integer"
10307             },
10308             "root-disk": {
10309               "type": "integer"
10310             },
10311             "spaces": {
10312               "type": "array",
10313               "items": {
10314                 "type": "string"
10315               }
10316             },
10317             "tags": {
10318               "type": "array",
10319               "items": {
10320                 "type": "string"
10321               }
10322             },
10323             "virt-type": {
10324               "type": "string"
10325             },
10326             "zones": {
10327               "type": "array",
10328               "items": {
10329                 "type": "string"
10330               }
10331             }
10332           },
10333           "additionalProperties": false
10334         }
10335       }
10336     }
10337   },
10338   {
10339     "Name": "Cloud",
10340     "Version": 3,
10341     "Schema": {
10342       "type": "object",
10343       "properties": {
10344         "AddCloud": {
10345           "type": "object",
10346           "properties": {
10347             "Params": {
10348               "$ref": "#/definitions/AddCloudArgs"
10349             }
10350           }
10351         },
10352         "AddCredentials": {
10353           "type": "object",
10354           "properties": {
10355             "Params": {
10356               "$ref": "#/definitions/TaggedCredentials"
10357             },
10358             "Result": {
10359               "$ref": "#/definitions/ErrorResults"
10360             }
10361           }
10362         },
10363         "CheckCredentialsModels": {
10364           "type": "object",
10365           "properties": {
10366             "Params": {
10367               "$ref": "#/definitions/TaggedCredentials"
10368             },
10369             "Result": {
10370               "$ref": "#/definitions/UpdateCredentialResults"
10371             }
10372           }
10373         },
10374         "Cloud": {
10375           "type": "object",
10376           "properties": {
10377             "Params": {
10378               "$ref": "#/definitions/Entities"
10379             },
10380             "Result": {
10381               "$ref": "#/definitions/CloudResults"
10382             }
10383           }
10384         },
10385         "CloudInfo": {
10386           "type": "object",
10387           "properties": {
10388             "Params": {
10389               "$ref": "#/definitions/Entities"
10390             },
10391             "Result": {
10392               "$ref": "#/definitions/CloudInfoResults"
10393             }
10394           }
10395         },
10396         "Clouds": {
10397           "type": "object",
10398           "properties": {
10399             "Result": {
10400               "$ref": "#/definitions/CloudsResult"
10401             }
10402           }
10403         },
10404         "Credential": {
10405           "type": "object",
10406           "properties": {
10407             "Params": {
10408               "$ref": "#/definitions/Entities"
10409             },
10410             "Result": {
10411               "$ref": "#/definitions/CloudCredentialResults"
10412             }
10413           }
10414         },
10415         "CredentialContents": {
10416           "type": "object",
10417           "properties": {
10418             "Params": {
10419               "$ref": "#/definitions/CloudCredentialArgs"
10420             },
10421             "Result": {
10422               "$ref": "#/definitions/CredentialContentResults"
10423             }
10424           }
10425         },
10426         "DefaultCloud": {
10427           "type": "object",
10428           "properties": {
10429             "Result": {
10430               "$ref": "#/definitions/StringResult"
10431             }
10432           }
10433         },
10434         "InstanceTypes": {
10435           "type": "object",
10436           "properties": {
10437             "Params": {
10438               "$ref": "#/definitions/CloudInstanceTypesConstraints"
10439             },
10440             "Result": {
10441               "$ref": "#/definitions/InstanceTypesResults"
10442             }
10443           }
10444         },
10445         "ListCloudInfo": {
10446           "type": "object",
10447           "properties": {
10448             "Params": {
10449               "$ref": "#/definitions/ListCloudsRequest"
10450             },
10451             "Result": {
10452               "$ref": "#/definitions/ListCloudInfoResults"
10453             }
10454           }
10455         },
10456         "ModifyCloudAccess": {
10457           "type": "object",
10458           "properties": {
10459             "Params": {
10460               "$ref": "#/definitions/ModifyCloudAccessRequest"
10461             },
10462             "Result": {
10463               "$ref": "#/definitions/ErrorResults"
10464             }
10465           }
10466         },
10467         "RemoveClouds": {
10468           "type": "object",
10469           "properties": {
10470             "Params": {
10471               "$ref": "#/definitions/Entities"
10472             },
10473             "Result": {
10474               "$ref": "#/definitions/ErrorResults"
10475             }
10476           }
10477         },
10478         "RevokeCredentialsCheckModels": {
10479           "type": "object",
10480           "properties": {
10481             "Params": {
10482               "$ref": "#/definitions/RevokeCredentialArgs"
10483             },
10484             "Result": {
10485               "$ref": "#/definitions/ErrorResults"
10486             }
10487           }
10488         },
10489         "UpdateCredentialsCheckModels": {
10490           "type": "object",
10491           "properties": {
10492             "Params": {
10493               "$ref": "#/definitions/UpdateCredentialArgs"
10494             },
10495             "Result": {
10496               "$ref": "#/definitions/UpdateCredentialResults"
10497             }
10498           }
10499         },
10500         "UserCredentials": {
10501           "type": "object",
10502           "properties": {
10503             "Params": {
10504               "$ref": "#/definitions/UserClouds"
10505             },
10506             "Result": {
10507               "$ref": "#/definitions/StringsResults"
10508             }
10509           }
10510         }
10511       },
10512       "definitions": {
10513         "AddCloudArgs": {
10514           "type": "object",
10515           "properties": {
10516             "cloud": {
10517               "$ref": "#/definitions/Cloud"
10518             },
10519             "name": {
10520               "type": "string"
10521             }
10522           },
10523           "additionalProperties": false,
10524           "required": [
10525             "cloud",
10526             "name"
10527           ]
10528         },
10529         "Cloud": {
10530           "type": "object",
10531           "properties": {
10532             "auth-types": {
10533               "type": "array",
10534               "items": {
10535                 "type": "string"
10536               }
10537             },
10538             "ca-certificates": {
10539               "type": "array",
10540               "items": {
10541                 "type": "string"
10542               }
10543             },
10544             "endpoint": {
10545               "type": "string"
10546             },
10547             "identity-endpoint": {
10548               "type": "string"
10549             },
10550             "regions": {
10551               "type": "array",
10552               "items": {
10553                 "$ref": "#/definitions/CloudRegion"
10554               }
10555             },
10556             "storage-endpoint": {
10557               "type": "string"
10558             },
10559             "type": {
10560               "type": "string"
10561             }
10562           },
10563           "additionalProperties": false,
10564           "required": [
10565             "type"
10566           ]
10567         },
10568         "CloudCredential": {
10569           "type": "object",
10570           "properties": {
10571             "attrs": {
10572               "type": "object",
10573               "patternProperties": {
10574                 ".*": {
10575                   "type": "string"
10576                 }
10577               }
10578             },
10579             "auth-type": {
10580               "type": "string"
10581             },
10582             "redacted": {
10583               "type": "array",
10584               "items": {
10585                 "type": "string"
10586               }
10587             }
10588           },
10589           "additionalProperties": false,
10590           "required": [
10591             "auth-type"
10592           ]
10593         },
10594         "CloudCredentialArg": {
10595           "type": "object",
10596           "properties": {
10597             "cloud-name": {
10598               "type": "string"
10599             },
10600             "credential-name": {
10601               "type": "string"
10602             }
10603           },
10604           "additionalProperties": false,
10605           "required": [
10606             "cloud-name",
10607             "credential-name"
10608           ]
10609         },
10610         "CloudCredentialArgs": {
10611           "type": "object",
10612           "properties": {
10613             "credentials": {
10614               "type": "array",
10615               "items": {
10616                 "$ref": "#/definitions/CloudCredentialArg"
10617               }
10618             },
10619             "include-secrets": {
10620               "type": "boolean"
10621             }
10622           },
10623           "additionalProperties": false,
10624           "required": [
10625             "include-secrets"
10626           ]
10627         },
10628         "CloudCredentialResult": {
10629           "type": "object",
10630           "properties": {
10631             "error": {
10632               "$ref": "#/definitions/Error"
10633             },
10634             "result": {
10635               "$ref": "#/definitions/CloudCredential"
10636             }
10637           },
10638           "additionalProperties": false
10639         },
10640         "CloudCredentialResults": {
10641           "type": "object",
10642           "properties": {
10643             "results": {
10644               "type": "array",
10645               "items": {
10646                 "$ref": "#/definitions/CloudCredentialResult"
10647               }
10648             }
10649           },
10650           "additionalProperties": false
10651         },
10652         "CloudDetails": {
10653           "type": "object",
10654           "properties": {
10655             "auth-types": {
10656               "type": "array",
10657               "items": {
10658                 "type": "string"
10659               }
10660             },
10661             "endpoint": {
10662               "type": "string"
10663             },
10664             "identity-endpoint": {
10665               "type": "string"
10666             },
10667             "regions": {
10668               "type": "array",
10669               "items": {
10670                 "$ref": "#/definitions/CloudRegion"
10671               }
10672             },
10673             "storage-endpoint": {
10674               "type": "string"
10675             },
10676             "type": {
10677               "type": "string"
10678             }
10679           },
10680           "additionalProperties": false,
10681           "required": [
10682             "type"
10683           ]
10684         },
10685         "CloudInfo": {
10686           "type": "object",
10687           "properties": {
10688             "CloudDetails": {
10689               "$ref": "#/definitions/CloudDetails"
10690             },
10691             "users": {
10692               "type": "array",
10693               "items": {
10694                 "$ref": "#/definitions/CloudUserInfo"
10695               }
10696             }
10697           },
10698           "additionalProperties": false,
10699           "required": [
10700             "CloudDetails",
10701             "users"
10702           ]
10703         },
10704         "CloudInfoResult": {
10705           "type": "object",
10706           "properties": {
10707             "error": {
10708               "$ref": "#/definitions/Error"
10709             },
10710             "result": {
10711               "$ref": "#/definitions/CloudInfo"
10712             }
10713           },
10714           "additionalProperties": false
10715         },
10716         "CloudInfoResults": {
10717           "type": "object",
10718           "properties": {
10719             "results": {
10720               "type": "array",
10721               "items": {
10722                 "$ref": "#/definitions/CloudInfoResult"
10723               }
10724             }
10725           },
10726           "additionalProperties": false,
10727           "required": [
10728             "results"
10729           ]
10730         },
10731         "CloudInstanceTypesConstraint": {
10732           "type": "object",
10733           "properties": {
10734             "cloud-tag": {
10735               "type": "string"
10736             },
10737             "constraints": {
10738               "$ref": "#/definitions/Value"
10739             },
10740             "region": {
10741               "type": "string"
10742             }
10743           },
10744           "additionalProperties": false,
10745           "required": [
10746             "cloud-tag",
10747             "region"
10748           ]
10749         },
10750         "CloudInstanceTypesConstraints": {
10751           "type": "object",
10752           "properties": {
10753             "constraints": {
10754               "type": "array",
10755               "items": {
10756                 "$ref": "#/definitions/CloudInstanceTypesConstraint"
10757               }
10758             }
10759           },
10760           "additionalProperties": false,
10761           "required": [
10762             "constraints"
10763           ]
10764         },
10765         "CloudRegion": {
10766           "type": "object",
10767           "properties": {
10768             "endpoint": {
10769               "type": "string"
10770             },
10771             "identity-endpoint": {
10772               "type": "string"
10773             },
10774             "name": {
10775               "type": "string"
10776             },
10777             "storage-endpoint": {
10778               "type": "string"
10779             }
10780           },
10781           "additionalProperties": false,
10782           "required": [
10783             "name"
10784           ]
10785         },
10786         "CloudResult": {
10787           "type": "object",
10788           "properties": {
10789             "cloud": {
10790               "$ref": "#/definitions/Cloud"
10791             },
10792             "error": {
10793               "$ref": "#/definitions/Error"
10794             }
10795           },
10796           "additionalProperties": false
10797         },
10798         "CloudResults": {
10799           "type": "object",
10800           "properties": {
10801             "results": {
10802               "type": "array",
10803               "items": {
10804                 "$ref": "#/definitions/CloudResult"
10805               }
10806             }
10807           },
10808           "additionalProperties": false
10809         },
10810         "CloudUserInfo": {
10811           "type": "object",
10812           "properties": {
10813             "access": {
10814               "type": "string"
10815             },
10816             "display-name": {
10817               "type": "string"
10818             },
10819             "user": {
10820               "type": "string"
10821             }
10822           },
10823           "additionalProperties": false,
10824           "required": [
10825             "user",
10826             "display-name",
10827             "access"
10828           ]
10829         },
10830         "CloudsResult": {
10831           "type": "object",
10832           "properties": {
10833             "clouds": {
10834               "type": "object",
10835               "patternProperties": {
10836                 ".*": {
10837                   "$ref": "#/definitions/Cloud"
10838                 }
10839               }
10840             }
10841           },
10842           "additionalProperties": false
10843         },
10844         "ControllerCredentialInfo": {
10845           "type": "object",
10846           "properties": {
10847             "content": {
10848               "$ref": "#/definitions/CredentialContent"
10849             },
10850             "models": {
10851               "type": "array",
10852               "items": {
10853                 "$ref": "#/definitions/ModelAccess"
10854               }
10855             }
10856           },
10857           "additionalProperties": false
10858         },
10859         "CredentialContent": {
10860           "type": "object",
10861           "properties": {
10862             "attrs": {
10863               "type": "object",
10864               "patternProperties": {
10865                 ".*": {
10866                   "type": "string"
10867                 }
10868               }
10869             },
10870             "auth-type": {
10871               "type": "string"
10872             },
10873             "cloud": {
10874               "type": "string"
10875             },
10876             "name": {
10877               "type": "string"
10878             }
10879           },
10880           "additionalProperties": false,
10881           "required": [
10882             "name",
10883             "cloud",
10884             "auth-type"
10885           ]
10886         },
10887         "CredentialContentResult": {
10888           "type": "object",
10889           "properties": {
10890             "error": {
10891               "$ref": "#/definitions/Error"
10892             },
10893             "result": {
10894               "$ref": "#/definitions/ControllerCredentialInfo"
10895             }
10896           },
10897           "additionalProperties": false
10898         },
10899         "CredentialContentResults": {
10900           "type": "object",
10901           "properties": {
10902             "results": {
10903               "type": "array",
10904               "items": {
10905                 "$ref": "#/definitions/CredentialContentResult"
10906               }
10907             }
10908           },
10909           "additionalProperties": false
10910         },
10911         "Entities": {
10912           "type": "object",
10913           "properties": {
10914             "entities": {
10915               "type": "array",
10916               "items": {
10917                 "$ref": "#/definitions/Entity"
10918               }
10919             }
10920           },
10921           "additionalProperties": false,
10922           "required": [
10923             "entities"
10924           ]
10925         },
10926         "Entity": {
10927           "type": "object",
10928           "properties": {
10929             "tag": {
10930               "type": "string"
10931             }
10932           },
10933           "additionalProperties": false,
10934           "required": [
10935             "tag"
10936           ]
10937         },
10938         "Error": {
10939           "type": "object",
10940           "properties": {
10941             "code": {
10942               "type": "string"
10943             },
10944             "info": {
10945               "$ref": "#/definitions/ErrorInfo"
10946             },
10947             "message": {
10948               "type": "string"
10949             }
10950           },
10951           "additionalProperties": false,
10952           "required": [
10953             "message",
10954             "code"
10955           ]
10956         },
10957         "ErrorInfo": {
10958           "type": "object",
10959           "properties": {
10960             "macaroon": {
10961               "$ref": "#/definitions/Macaroon"
10962             },
10963             "macaroon-path": {
10964               "type": "string"
10965             }
10966           },
10967           "additionalProperties": false
10968         },
10969         "ErrorResult": {
10970           "type": "object",
10971           "properties": {
10972             "error": {
10973               "$ref": "#/definitions/Error"
10974             }
10975           },
10976           "additionalProperties": false
10977         },
10978         "ErrorResults": {
10979           "type": "object",
10980           "properties": {
10981             "results": {
10982               "type": "array",
10983               "items": {
10984                 "$ref": "#/definitions/ErrorResult"
10985               }
10986             }
10987           },
10988           "additionalProperties": false,
10989           "required": [
10990             "results"
10991           ]
10992         },
10993         "InstanceType": {
10994           "type": "object",
10995           "properties": {
10996             "arches": {
10997               "type": "array",
10998               "items": {
10999                 "type": "string"
11000               }
11001             },
11002             "cost": {
11003               "type": "integer"
11004             },
11005             "cpu-cores": {
11006               "type": "integer"
11007             },
11008             "deprecated": {
11009               "type": "boolean"
11010             },
11011             "memory": {
11012               "type": "integer"
11013             },
11014             "name": {
11015               "type": "string"
11016             },
11017             "root-disk": {
11018               "type": "integer"
11019             },
11020             "virt-type": {
11021               "type": "string"
11022             }
11023           },
11024           "additionalProperties": false,
11025           "required": [
11026             "arches",
11027             "cpu-cores",
11028             "memory"
11029           ]
11030         },
11031         "InstanceTypesResult": {
11032           "type": "object",
11033           "properties": {
11034             "cost-currency": {
11035               "type": "string"
11036             },
11037             "cost-divisor": {
11038               "type": "integer"
11039             },
11040             "cost-unit": {
11041               "type": "string"
11042             },
11043             "error": {
11044               "$ref": "#/definitions/Error"
11045             },
11046             "instance-types": {
11047               "type": "array",
11048               "items": {
11049                 "$ref": "#/definitions/InstanceType"
11050               }
11051             }
11052           },
11053           "additionalProperties": false
11054         },
11055         "InstanceTypesResults": {
11056           "type": "object",
11057           "properties": {
11058             "results": {
11059               "type": "array",
11060               "items": {
11061                 "$ref": "#/definitions/InstanceTypesResult"
11062               }
11063             }
11064           },
11065           "additionalProperties": false,
11066           "required": [
11067             "results"
11068           ]
11069         },
11070         "ListCloudInfo": {
11071           "type": "object",
11072           "properties": {
11073             "CloudDetails": {
11074               "$ref": "#/definitions/CloudDetails"
11075             },
11076             "user-access": {
11077               "type": "string"
11078             }
11079           },
11080           "additionalProperties": false,
11081           "required": [
11082             "CloudDetails",
11083             "user-access"
11084           ]
11085         },
11086         "ListCloudInfoResult": {
11087           "type": "object",
11088           "properties": {
11089             "error": {
11090               "$ref": "#/definitions/Error"
11091             },
11092             "result": {
11093               "$ref": "#/definitions/ListCloudInfo"
11094             }
11095           },
11096           "additionalProperties": false
11097         },
11098         "ListCloudInfoResults": {
11099           "type": "object",
11100           "properties": {
11101             "results": {
11102               "type": "array",
11103               "items": {
11104                 "$ref": "#/definitions/ListCloudInfoResult"
11105               }
11106             }
11107           },
11108           "additionalProperties": false,
11109           "required": [
11110             "results"
11111           ]
11112         },
11113         "ListCloudsRequest": {
11114           "type": "object",
11115           "properties": {
11116             "all": {
11117               "type": "boolean"
11118             },
11119             "user-tag": {
11120               "type": "string"
11121             }
11122           },
11123           "additionalProperties": false,
11124           "required": [
11125             "user-tag"
11126           ]
11127         },
11128         "Macaroon": {
11129           "type": "object",
11130           "additionalProperties": false
11131         },
11132         "ModelAccess": {
11133           "type": "object",
11134           "properties": {
11135             "access": {
11136               "type": "string"
11137             },
11138             "model": {
11139               "type": "string"
11140             }
11141           },
11142           "additionalProperties": false
11143         },
11144         "ModifyCloudAccess": {
11145           "type": "object",
11146           "properties": {
11147             "access": {
11148               "type": "string"
11149             },
11150             "action": {
11151               "type": "string"
11152             },
11153             "cloud-tag": {
11154               "type": "string"
11155             },
11156             "user-tag": {
11157               "type": "string"
11158             }
11159           },
11160           "additionalProperties": false,
11161           "required": [
11162             "user-tag",
11163             "cloud-tag",
11164             "action",
11165             "access"
11166           ]
11167         },
11168         "ModifyCloudAccessRequest": {
11169           "type": "object",
11170           "properties": {
11171             "changes": {
11172               "type": "array",
11173               "items": {
11174                 "$ref": "#/definitions/ModifyCloudAccess"
11175               }
11176             }
11177           },
11178           "additionalProperties": false,
11179           "required": [
11180             "changes"
11181           ]
11182         },
11183         "RevokeCredentialArg": {
11184           "type": "object",
11185           "properties": {
11186             "force": {
11187               "type": "boolean"
11188             },
11189             "tag": {
11190               "type": "string"
11191             }
11192           },
11193           "additionalProperties": false,
11194           "required": [
11195             "tag",
11196             "force"
11197           ]
11198         },
11199         "RevokeCredentialArgs": {
11200           "type": "object",
11201           "properties": {
11202             "credentials": {
11203               "type": "array",
11204               "items": {
11205                 "$ref": "#/definitions/RevokeCredentialArg"
11206               }
11207             }
11208           },
11209           "additionalProperties": false,
11210           "required": [
11211             "credentials"
11212           ]
11213         },
11214         "StringResult": {
11215           "type": "object",
11216           "properties": {
11217             "error": {
11218               "$ref": "#/definitions/Error"
11219             },
11220             "result": {
11221               "type": "string"
11222             }
11223           },
11224           "additionalProperties": false,
11225           "required": [
11226             "result"
11227           ]
11228         },
11229         "StringsResult": {
11230           "type": "object",
11231           "properties": {
11232             "error": {
11233               "$ref": "#/definitions/Error"
11234             },
11235             "result": {
11236               "type": "array",
11237               "items": {
11238                 "type": "string"
11239               }
11240             }
11241           },
11242           "additionalProperties": false
11243         },
11244         "StringsResults": {
11245           "type": "object",
11246           "properties": {
11247             "results": {
11248               "type": "array",
11249               "items": {
11250                 "$ref": "#/definitions/StringsResult"
11251               }
11252             }
11253           },
11254           "additionalProperties": false,
11255           "required": [
11256             "results"
11257           ]
11258         },
11259         "TaggedCredential": {
11260           "type": "object",
11261           "properties": {
11262             "credential": {
11263               "$ref": "#/definitions/CloudCredential"
11264             },
11265             "tag": {
11266               "type": "string"
11267             }
11268           },
11269           "additionalProperties": false,
11270           "required": [
11271             "tag",
11272             "credential"
11273           ]
11274         },
11275         "TaggedCredentials": {
11276           "type": "object",
11277           "properties": {
11278             "credentials": {
11279               "type": "array",
11280               "items": {
11281                 "$ref": "#/definitions/TaggedCredential"
11282               }
11283             }
11284           },
11285           "additionalProperties": false
11286         },
11287         "UpdateCredentialArgs": {
11288           "type": "object",
11289           "properties": {
11290             "credentials": {
11291               "type": "array",
11292               "items": {
11293                 "$ref": "#/definitions/TaggedCredential"
11294               }
11295             },
11296             "force": {
11297               "type": "boolean"
11298             }
11299           },
11300           "additionalProperties": false,
11301           "required": [
11302             "credentials",
11303             "force"
11304           ]
11305         },
11306         "UpdateCredentialModelResult": {
11307           "type": "object",
11308           "properties": {
11309             "errors": {
11310               "type": "array",
11311               "items": {
11312                 "$ref": "#/definitions/ErrorResult"
11313               }
11314             },
11315             "name": {
11316               "type": "string"
11317             },
11318             "uuid": {
11319               "type": "string"
11320             }
11321           },
11322           "additionalProperties": false,
11323           "required": [
11324             "uuid",
11325             "name"
11326           ]
11327         },
11328         "UpdateCredentialResult": {
11329           "type": "object",
11330           "properties": {
11331             "error": {
11332               "$ref": "#/definitions/Error"
11333             },
11334             "models": {
11335               "type": "array",
11336               "items": {
11337                 "$ref": "#/definitions/UpdateCredentialModelResult"
11338               }
11339             },
11340             "tag": {
11341               "type": "string"
11342             }
11343           },
11344           "additionalProperties": false,
11345           "required": [
11346             "tag"
11347           ]
11348         },
11349         "UpdateCredentialResults": {
11350           "type": "object",
11351           "properties": {
11352             "results": {
11353               "type": "array",
11354               "items": {
11355                 "$ref": "#/definitions/UpdateCredentialResult"
11356               }
11357             }
11358           },
11359           "additionalProperties": false
11360         },
11361         "UserCloud": {
11362           "type": "object",
11363           "properties": {
11364             "cloud-tag": {
11365               "type": "string"
11366             },
11367             "user-tag": {
11368               "type": "string"
11369             }
11370           },
11371           "additionalProperties": false,
11372           "required": [
11373             "user-tag",
11374             "cloud-tag"
11375           ]
11376         },
11377         "UserClouds": {
11378           "type": "object",
11379           "properties": {
11380             "user-clouds": {
11381               "type": "array",
11382               "items": {
11383                 "$ref": "#/definitions/UserCloud"
11384               }
11385             }
11386           },
11387           "additionalProperties": false
11388         },
11389         "Value": {
11390           "type": "object",
11391           "properties": {
11392             "arch": {
11393               "type": "string"
11394             },
11395             "container": {
11396               "type": "string"
11397             },
11398             "cores": {
11399               "type": "integer"
11400             },
11401             "cpu-power": {
11402               "type": "integer"
11403             },
11404             "instance-type": {
11405               "type": "string"
11406             },
11407             "mem": {
11408               "type": "integer"
11409             },
11410             "root-disk": {
11411               "type": "integer"
11412             },
11413             "spaces": {
11414               "type": "array",
11415               "items": {
11416                 "type": "string"
11417               }
11418             },
11419             "tags": {
11420               "type": "array",
11421               "items": {
11422                 "type": "string"
11423               }
11424             },
11425             "virt-type": {
11426               "type": "string"
11427             },
11428             "zones": {
11429               "type": "array",
11430               "items": {
11431                 "type": "string"
11432               }
11433             }
11434           },
11435           "additionalProperties": false
11436         }
11437       }
11438     }
11439   },
11440   {
11441     "Name": "Controller",
11442     "Version": 5,
11443     "Schema": {
11444       "type": "object",
11445       "properties": {
11446         "AllModels": {
11447           "type": "object",
11448           "properties": {
11449             "Result": {
11450               "$ref": "#/definitions/UserModelList"
11451             }
11452           }
11453         },
11454         "CloudSpec": {
11455           "type": "object",
11456           "properties": {
11457             "Params": {
11458               "$ref": "#/definitions/Entities"
11459             },
11460             "Result": {
11461               "$ref": "#/definitions/CloudSpecResults"
11462             }
11463           }
11464         },
11465         "ConfigSet": {
11466           "type": "object",
11467           "properties": {
11468             "Params": {
11469               "$ref": "#/definitions/ControllerConfigSet"
11470             }
11471           }
11472         },
11473         "ControllerAPIInfoForModels": {
11474           "type": "object",
11475           "properties": {
11476             "Params": {
11477               "$ref": "#/definitions/Entities"
11478             },
11479             "Result": {
11480               "$ref": "#/definitions/ControllerAPIInfoResults"
11481             }
11482           }
11483         },
11484         "ControllerConfig": {
11485           "type": "object",
11486           "properties": {
11487             "Result": {
11488               "$ref": "#/definitions/ControllerConfigResult"
11489             }
11490           }
11491         },
11492         "DestroyController": {
11493           "type": "object",
11494           "properties": {
11495             "Params": {
11496               "$ref": "#/definitions/DestroyControllerArgs"
11497             }
11498           }
11499         },
11500         "GetCloudSpec": {
11501           "type": "object",
11502           "properties": {
11503             "Params": {
11504               "$ref": "#/definitions/ModelTag"
11505             },
11506             "Result": {
11507               "$ref": "#/definitions/CloudSpecResult"
11508             }
11509           }
11510         },
11511         "GetControllerAccess": {
11512           "type": "object",
11513           "properties": {
11514             "Params": {
11515               "$ref": "#/definitions/Entities"
11516             },
11517             "Result": {
11518               "$ref": "#/definitions/UserAccessResults"
11519             }
11520           }
11521         },
11522         "HostedModelConfigs": {
11523           "type": "object",
11524           "properties": {
11525             "Result": {
11526               "$ref": "#/definitions/HostedModelConfigsResults"
11527             }
11528           }
11529         },
11530         "InitiateMigration": {
11531           "type": "object",
11532           "properties": {
11533             "Params": {
11534               "$ref": "#/definitions/InitiateMigrationArgs"
11535             },
11536             "Result": {
11537               "$ref": "#/definitions/InitiateMigrationResults"
11538             }
11539           }
11540         },
11541         "ListBlockedModels": {
11542           "type": "object",
11543           "properties": {
11544             "Result": {
11545               "$ref": "#/definitions/ModelBlockInfoList"
11546             }
11547           }
11548         },
11549         "ModelConfig": {
11550           "type": "object",
11551           "properties": {
11552             "Result": {
11553               "$ref": "#/definitions/ModelConfigResults"
11554             }
11555           }
11556         },
11557         "ModelStatus": {
11558           "type": "object",
11559           "properties": {
11560             "Params": {
11561               "$ref": "#/definitions/Entities"
11562             },
11563             "Result": {
11564               "$ref": "#/definitions/ModelStatusResults"
11565             }
11566           }
11567         },
11568         "ModifyControllerAccess": {
11569           "type": "object",
11570           "properties": {
11571             "Params": {
11572               "$ref": "#/definitions/ModifyControllerAccessRequest"
11573             },
11574             "Result": {
11575               "$ref": "#/definitions/ErrorResults"
11576             }
11577           }
11578         },
11579         "RemoveBlocks": {
11580           "type": "object",
11581           "properties": {
11582             "Params": {
11583               "$ref": "#/definitions/RemoveBlocksArgs"
11584             }
11585           }
11586         },
11587         "WatchAllModels": {
11588           "type": "object",
11589           "properties": {
11590             "Result": {
11591               "$ref": "#/definitions/AllWatcherId"
11592             }
11593           }
11594         }
11595       },
11596       "definitions": {
11597         "AllWatcherId": {
11598           "type": "object",
11599           "properties": {
11600             "watcher-id": {
11601               "type": "string"
11602             }
11603           },
11604           "additionalProperties": false,
11605           "required": [
11606             "watcher-id"
11607           ]
11608         },
11609         "CloudCredential": {
11610           "type": "object",
11611           "properties": {
11612             "attrs": {
11613               "type": "object",
11614               "patternProperties": {
11615                 ".*": {
11616                   "type": "string"
11617                 }
11618               }
11619             },
11620             "auth-type": {
11621               "type": "string"
11622             },
11623             "redacted": {
11624               "type": "array",
11625               "items": {
11626                 "type": "string"
11627               }
11628             }
11629           },
11630           "additionalProperties": false,
11631           "required": [
11632             "auth-type"
11633           ]
11634         },
11635         "CloudSpec": {
11636           "type": "object",
11637           "properties": {
11638             "cacertificates": {
11639               "type": "array",
11640               "items": {
11641                 "type": "string"
11642               }
11643             },
11644             "credential": {
11645               "$ref": "#/definitions/CloudCredential"
11646             },
11647             "endpoint": {
11648               "type": "string"
11649             },
11650             "identity-endpoint": {
11651               "type": "string"
11652             },
11653             "name": {
11654               "type": "string"
11655             },
11656             "region": {
11657               "type": "string"
11658             },
11659             "storage-endpoint": {
11660               "type": "string"
11661             },
11662             "type": {
11663               "type": "string"
11664             }
11665           },
11666           "additionalProperties": false,
11667           "required": [
11668             "type",
11669             "name"
11670           ]
11671         },
11672         "CloudSpecResult": {
11673           "type": "object",
11674           "properties": {
11675             "error": {
11676               "$ref": "#/definitions/Error"
11677             },
11678             "result": {
11679               "$ref": "#/definitions/CloudSpec"
11680             }
11681           },
11682           "additionalProperties": false
11683         },
11684         "CloudSpecResults": {
11685           "type": "object",
11686           "properties": {
11687             "results": {
11688               "type": "array",
11689               "items": {
11690                 "$ref": "#/definitions/CloudSpecResult"
11691               }
11692             }
11693           },
11694           "additionalProperties": false
11695         },
11696         "ConfigValue": {
11697           "type": "object",
11698           "properties": {
11699             "source": {
11700               "type": "string"
11701             },
11702             "value": {
11703               "type": "object",
11704               "additionalProperties": true
11705             }
11706           },
11707           "additionalProperties": false,
11708           "required": [
11709             "value",
11710             "source"
11711           ]
11712         },
11713         "ControllerAPIInfoResult": {
11714           "type": "object",
11715           "properties": {
11716             "addresses": {
11717               "type": "array",
11718               "items": {
11719                 "type": "string"
11720               }
11721             },
11722             "cacert": {
11723               "type": "string"
11724             },
11725             "error": {
11726               "$ref": "#/definitions/Error"
11727             }
11728           },
11729           "additionalProperties": false,
11730           "required": [
11731             "addresses",
11732             "cacert"
11733           ]
11734         },
11735         "ControllerAPIInfoResults": {
11736           "type": "object",
11737           "properties": {
11738             "results": {
11739               "type": "array",
11740               "items": {
11741                 "$ref": "#/definitions/ControllerAPIInfoResult"
11742               }
11743             }
11744           },
11745           "additionalProperties": false,
11746           "required": [
11747             "results"
11748           ]
11749         },
11750         "ControllerConfigResult": {
11751           "type": "object",
11752           "properties": {
11753             "config": {
11754               "type": "object",
11755               "patternProperties": {
11756                 ".*": {
11757                   "type": "object",
11758                   "additionalProperties": true
11759                 }
11760               }
11761             }
11762           },
11763           "additionalProperties": false,
11764           "required": [
11765             "config"
11766           ]
11767         },
11768         "ControllerConfigSet": {
11769           "type": "object",
11770           "properties": {
11771             "config": {
11772               "type": "object",
11773               "patternProperties": {
11774                 ".*": {
11775                   "type": "object",
11776                   "additionalProperties": true
11777                 }
11778               }
11779             }
11780           },
11781           "additionalProperties": false,
11782           "required": [
11783             "config"
11784           ]
11785         },
11786         "DestroyControllerArgs": {
11787           "type": "object",
11788           "properties": {
11789             "destroy-models": {
11790               "type": "boolean"
11791             },
11792             "destroy-storage": {
11793               "type": "boolean"
11794             }
11795           },
11796           "additionalProperties": false,
11797           "required": [
11798             "destroy-models"
11799           ]
11800         },
11801         "Entities": {
11802           "type": "object",
11803           "properties": {
11804             "entities": {
11805               "type": "array",
11806               "items": {
11807                 "$ref": "#/definitions/Entity"
11808               }
11809             }
11810           },
11811           "additionalProperties": false,
11812           "required": [
11813             "entities"
11814           ]
11815         },
11816         "Entity": {
11817           "type": "object",
11818           "properties": {
11819             "tag": {
11820               "type": "string"
11821             }
11822           },
11823           "additionalProperties": false,
11824           "required": [
11825             "tag"
11826           ]
11827         },
11828         "Error": {
11829           "type": "object",
11830           "properties": {
11831             "code": {
11832               "type": "string"
11833             },
11834             "info": {
11835               "$ref": "#/definitions/ErrorInfo"
11836             },
11837             "message": {
11838               "type": "string"
11839             }
11840           },
11841           "additionalProperties": false,
11842           "required": [
11843             "message",
11844             "code"
11845           ]
11846         },
11847         "ErrorInfo": {
11848           "type": "object",
11849           "properties": {
11850             "macaroon": {
11851               "$ref": "#/definitions/Macaroon"
11852             },
11853             "macaroon-path": {
11854               "type": "string"
11855             }
11856           },
11857           "additionalProperties": false
11858         },
11859         "ErrorResult": {
11860           "type": "object",
11861           "properties": {
11862             "error": {
11863               "$ref": "#/definitions/Error"
11864             }
11865           },
11866           "additionalProperties": false
11867         },
11868         "ErrorResults": {
11869           "type": "object",
11870           "properties": {
11871             "results": {
11872               "type": "array",
11873               "items": {
11874                 "$ref": "#/definitions/ErrorResult"
11875               }
11876             }
11877           },
11878           "additionalProperties": false,
11879           "required": [
11880             "results"
11881           ]
11882         },
11883         "HostedModelConfig": {
11884           "type": "object",
11885           "properties": {
11886             "cloud-spec": {
11887               "$ref": "#/definitions/CloudSpec"
11888             },
11889             "config": {
11890               "type": "object",
11891               "patternProperties": {
11892                 ".*": {
11893                   "type": "object",
11894                   "additionalProperties": true
11895                 }
11896               }
11897             },
11898             "error": {
11899               "$ref": "#/definitions/Error"
11900             },
11901             "name": {
11902               "type": "string"
11903             },
11904             "owner": {
11905               "type": "string"
11906             }
11907           },
11908           "additionalProperties": false,
11909           "required": [
11910             "name",
11911             "owner"
11912           ]
11913         },
11914         "HostedModelConfigsResults": {
11915           "type": "object",
11916           "properties": {
11917             "models": {
11918               "type": "array",
11919               "items": {
11920                 "$ref": "#/definitions/HostedModelConfig"
11921               }
11922             }
11923           },
11924           "additionalProperties": false,
11925           "required": [
11926             "models"
11927           ]
11928         },
11929         "InitiateMigrationArgs": {
11930           "type": "object",
11931           "properties": {
11932             "specs": {
11933               "type": "array",
11934               "items": {
11935                 "$ref": "#/definitions/MigrationSpec"
11936               }
11937             }
11938           },
11939           "additionalProperties": false,
11940           "required": [
11941             "specs"
11942           ]
11943         },
11944         "InitiateMigrationResult": {
11945           "type": "object",
11946           "properties": {
11947             "error": {
11948               "$ref": "#/definitions/Error"
11949             },
11950             "migration-id": {
11951               "type": "string"
11952             },
11953             "model-tag": {
11954               "type": "string"
11955             }
11956           },
11957           "additionalProperties": false,
11958           "required": [
11959             "model-tag",
11960             "migration-id"
11961           ]
11962         },
11963         "InitiateMigrationResults": {
11964           "type": "object",
11965           "properties": {
11966             "results": {
11967               "type": "array",
11968               "items": {
11969                 "$ref": "#/definitions/InitiateMigrationResult"
11970               }
11971             }
11972           },
11973           "additionalProperties": false,
11974           "required": [
11975             "results"
11976           ]
11977         },
11978         "Macaroon": {
11979           "type": "object",
11980           "additionalProperties": false
11981         },
11982         "MachineHardware": {
11983           "type": "object",
11984           "properties": {
11985             "arch": {
11986               "type": "string"
11987             },
11988             "availability-zone": {
11989               "type": "string"
11990             },
11991             "cores": {
11992               "type": "integer"
11993             },
11994             "cpu-power": {
11995               "type": "integer"
11996             },
11997             "mem": {
11998               "type": "integer"
11999             },
12000             "root-disk": {
12001               "type": "integer"
12002             },
12003             "tags": {
12004               "type": "array",
12005               "items": {
12006                 "type": "string"
12007               }
12008             }
12009           },
12010           "additionalProperties": false
12011         },
12012         "MigrationSpec": {
12013           "type": "object",
12014           "properties": {
12015             "model-tag": {
12016               "type": "string"
12017             },
12018             "target-info": {
12019               "$ref": "#/definitions/MigrationTargetInfo"
12020             }
12021           },
12022           "additionalProperties": false,
12023           "required": [
12024             "model-tag",
12025             "target-info"
12026           ]
12027         },
12028         "MigrationTargetInfo": {
12029           "type": "object",
12030           "properties": {
12031             "addrs": {
12032               "type": "array",
12033               "items": {
12034                 "type": "string"
12035               }
12036             },
12037             "auth-tag": {
12038               "type": "string"
12039             },
12040             "ca-cert": {
12041               "type": "string"
12042             },
12043             "controller-tag": {
12044               "type": "string"
12045             },
12046             "macaroons": {
12047               "type": "string"
12048             },
12049             "password": {
12050               "type": "string"
12051             }
12052           },
12053           "additionalProperties": false,
12054           "required": [
12055             "controller-tag",
12056             "addrs",
12057             "ca-cert",
12058             "auth-tag"
12059           ]
12060         },
12061         "Model": {
12062           "type": "object",
12063           "properties": {
12064             "name": {
12065               "type": "string"
12066             },
12067             "owner-tag": {
12068               "type": "string"
12069             },
12070             "type": {
12071               "type": "string"
12072             },
12073             "uuid": {
12074               "type": "string"
12075             }
12076           },
12077           "additionalProperties": false,
12078           "required": [
12079             "name",
12080             "uuid",
12081             "type",
12082             "owner-tag"
12083           ]
12084         },
12085         "ModelBlockInfo": {
12086           "type": "object",
12087           "properties": {
12088             "blocks": {
12089               "type": "array",
12090               "items": {
12091                 "type": "string"
12092               }
12093             },
12094             "model-uuid": {
12095               "type": "string"
12096             },
12097             "name": {
12098               "type": "string"
12099             },
12100             "owner-tag": {
12101               "type": "string"
12102             }
12103           },
12104           "additionalProperties": false,
12105           "required": [
12106             "name",
12107             "model-uuid",
12108             "owner-tag",
12109             "blocks"
12110           ]
12111         },
12112         "ModelBlockInfoList": {
12113           "type": "object",
12114           "properties": {
12115             "models": {
12116               "type": "array",
12117               "items": {
12118                 "$ref": "#/definitions/ModelBlockInfo"
12119               }
12120             }
12121           },
12122           "additionalProperties": false
12123         },
12124         "ModelConfigResults": {
12125           "type": "object",
12126           "properties": {
12127             "config": {
12128               "type": "object",
12129               "patternProperties": {
12130                 ".*": {
12131                   "$ref": "#/definitions/ConfigValue"
12132                 }
12133               }
12134             }
12135           },
12136           "additionalProperties": false,
12137           "required": [
12138             "config"
12139           ]
12140         },
12141         "ModelFilesystemInfo": {
12142           "type": "object",
12143           "properties": {
12144             "detachable": {
12145               "type": "boolean"
12146             },
12147             "id": {
12148               "type": "string"
12149             },
12150             "message": {
12151               "type": "string"
12152             },
12153             "provider-id": {
12154               "type": "string"
12155             },
12156             "status": {
12157               "type": "string"
12158             }
12159           },
12160           "additionalProperties": false,
12161           "required": [
12162             "id"
12163           ]
12164         },
12165         "ModelMachineInfo": {
12166           "type": "object",
12167           "properties": {
12168             "hardware": {
12169               "$ref": "#/definitions/MachineHardware"
12170             },
12171             "has-vote": {
12172               "type": "boolean"
12173             },
12174             "id": {
12175               "type": "string"
12176             },
12177             "instance-id": {
12178               "type": "string"
12179             },
12180             "message": {
12181               "type": "string"
12182             },
12183             "status": {
12184               "type": "string"
12185             },
12186             "wants-vote": {
12187               "type": "boolean"
12188             }
12189           },
12190           "additionalProperties": false,
12191           "required": [
12192             "id"
12193           ]
12194         },
12195         "ModelStatus": {
12196           "type": "object",
12197           "properties": {
12198             "application-count": {
12199               "type": "integer"
12200             },
12201             "error": {
12202               "$ref": "#/definitions/Error"
12203             },
12204             "filesystems": {
12205               "type": "array",
12206               "items": {
12207                 "$ref": "#/definitions/ModelFilesystemInfo"
12208               }
12209             },
12210             "hosted-machine-count": {
12211               "type": "integer"
12212             },
12213             "life": {
12214               "type": "string"
12215             },
12216             "machines": {
12217               "type": "array",
12218               "items": {
12219                 "$ref": "#/definitions/ModelMachineInfo"
12220               }
12221             },
12222             "model-tag": {
12223               "type": "string"
12224             },
12225             "owner-tag": {
12226               "type": "string"
12227             },
12228             "volumes": {
12229               "type": "array",
12230               "items": {
12231                 "$ref": "#/definitions/ModelVolumeInfo"
12232               }
12233             }
12234           },
12235           "additionalProperties": false,
12236           "required": [
12237             "model-tag",
12238             "life",
12239             "hosted-machine-count",
12240             "application-count",
12241             "owner-tag"
12242           ]
12243         },
12244         "ModelStatusResults": {
12245           "type": "object",
12246           "properties": {
12247             "models": {
12248               "type": "array",
12249               "items": {
12250                 "$ref": "#/definitions/ModelStatus"
12251               }
12252             }
12253           },
12254           "additionalProperties": false,
12255           "required": [
12256             "models"
12257           ]
12258         },
12259         "ModelTag": {
12260           "type": "object",
12261           "additionalProperties": false
12262         },
12263         "ModelVolumeInfo": {
12264           "type": "object",
12265           "properties": {
12266             "detachable": {
12267               "type": "boolean"
12268             },
12269             "id": {
12270               "type": "string"
12271             },
12272             "message": {
12273               "type": "string"
12274             },
12275             "provider-id": {
12276               "type": "string"
12277             },
12278             "status": {
12279               "type": "string"
12280             }
12281           },
12282           "additionalProperties": false,
12283           "required": [
12284             "id"
12285           ]
12286         },
12287         "ModifyControllerAccess": {
12288           "type": "object",
12289           "properties": {
12290             "access": {
12291               "type": "string"
12292             },
12293             "action": {
12294               "type": "string"
12295             },
12296             "user-tag": {
12297               "type": "string"
12298             }
12299           },
12300           "additionalProperties": false,
12301           "required": [
12302             "user-tag",
12303             "action",
12304             "access"
12305           ]
12306         },
12307         "ModifyControllerAccessRequest": {
12308           "type": "object",
12309           "properties": {
12310             "changes": {
12311               "type": "array",
12312               "items": {
12313                 "$ref": "#/definitions/ModifyControllerAccess"
12314               }
12315             }
12316           },
12317           "additionalProperties": false,
12318           "required": [
12319             "changes"
12320           ]
12321         },
12322         "RemoveBlocksArgs": {
12323           "type": "object",
12324           "properties": {
12325             "all": {
12326               "type": "boolean"
12327             }
12328           },
12329           "additionalProperties": false,
12330           "required": [
12331             "all"
12332           ]
12333         },
12334         "UserAccess": {
12335           "type": "object",
12336           "properties": {
12337             "access": {
12338               "type": "string"
12339             },
12340             "user-tag": {
12341               "type": "string"
12342             }
12343           },
12344           "additionalProperties": false,
12345           "required": [
12346             "user-tag",
12347             "access"
12348           ]
12349         },
12350         "UserAccessResult": {
12351           "type": "object",
12352           "properties": {
12353             "error": {
12354               "$ref": "#/definitions/Error"
12355             },
12356             "result": {
12357               "$ref": "#/definitions/UserAccess"
12358             }
12359           },
12360           "additionalProperties": false
12361         },
12362         "UserAccessResults": {
12363           "type": "object",
12364           "properties": {
12365             "results": {
12366               "type": "array",
12367               "items": {
12368                 "$ref": "#/definitions/UserAccessResult"
12369               }
12370             }
12371           },
12372           "additionalProperties": false
12373         },
12374         "UserModel": {
12375           "type": "object",
12376           "properties": {
12377             "last-connection": {
12378               "type": "string",
12379               "format": "date-time"
12380             },
12381             "model": {
12382               "$ref": "#/definitions/Model"
12383             }
12384           },
12385           "additionalProperties": false,
12386           "required": [
12387             "model",
12388             "last-connection"
12389           ]
12390         },
12391         "UserModelList": {
12392           "type": "object",
12393           "properties": {
12394             "user-models": {
12395               "type": "array",
12396               "items": {
12397                 "$ref": "#/definitions/UserModel"
12398               }
12399             }
12400           },
12401           "additionalProperties": false,
12402           "required": [
12403             "user-models"
12404           ]
12405         }
12406       }
12407     }
12408   },
12409   {
12410     "Name": "CredentialManager",
12411     "Version": 1,
12412     "Schema": {
12413       "type": "object",
12414       "properties": {
12415         "InvalidateModelCredential": {
12416           "type": "object",
12417           "properties": {
12418             "Params": {
12419               "$ref": "#/definitions/InvalidateCredentialArg"
12420             },
12421             "Result": {
12422               "$ref": "#/definitions/ErrorResult"
12423             }
12424           }
12425         }
12426       },
12427       "definitions": {
12428         "Error": {
12429           "type": "object",
12430           "properties": {
12431             "code": {
12432               "type": "string"
12433             },
12434             "info": {
12435               "$ref": "#/definitions/ErrorInfo"
12436             },
12437             "message": {
12438               "type": "string"
12439             }
12440           },
12441           "additionalProperties": false,
12442           "required": [
12443             "message",
12444             "code"
12445           ]
12446         },
12447         "ErrorInfo": {
12448           "type": "object",
12449           "properties": {
12450             "macaroon": {
12451               "$ref": "#/definitions/Macaroon"
12452             },
12453             "macaroon-path": {
12454               "type": "string"
12455             }
12456           },
12457           "additionalProperties": false
12458         },
12459         "ErrorResult": {
12460           "type": "object",
12461           "properties": {
12462             "error": {
12463               "$ref": "#/definitions/Error"
12464             }
12465           },
12466           "additionalProperties": false
12467         },
12468         "InvalidateCredentialArg": {
12469           "type": "object",
12470           "properties": {
12471             "reason": {
12472               "type": "string"
12473             }
12474           },
12475           "additionalProperties": false
12476         },
12477         "Macaroon": {
12478           "type": "object",
12479           "additionalProperties": false
12480         }
12481       }
12482     }
12483   },
12484   {
12485     "Name": "CredentialValidator",
12486     "Version": 2,
12487     "Schema": {
12488       "type": "object",
12489       "properties": {
12490         "InvalidateModelCredential": {
12491           "type": "object",
12492           "properties": {
12493             "Params": {
12494               "$ref": "#/definitions/InvalidateCredentialArg"
12495             },
12496             "Result": {
12497               "$ref": "#/definitions/ErrorResult"
12498             }
12499           }
12500         },
12501         "ModelCredential": {
12502           "type": "object",
12503           "properties": {
12504             "Result": {
12505               "$ref": "#/definitions/ModelCredential"
12506             }
12507           }
12508         },
12509         "WatchCredential": {
12510           "type": "object",
12511           "properties": {
12512             "Params": {
12513               "$ref": "#/definitions/Entity"
12514             },
12515             "Result": {
12516               "$ref": "#/definitions/NotifyWatchResult"
12517             }
12518           }
12519         },
12520         "WatchModelCredential": {
12521           "type": "object",
12522           "properties": {
12523             "Result": {
12524               "$ref": "#/definitions/NotifyWatchResult"
12525             }
12526           }
12527         }
12528       },
12529       "definitions": {
12530         "Entity": {
12531           "type": "object",
12532           "properties": {
12533             "tag": {
12534               "type": "string"
12535             }
12536           },
12537           "additionalProperties": false,
12538           "required": [
12539             "tag"
12540           ]
12541         },
12542         "Error": {
12543           "type": "object",
12544           "properties": {
12545             "code": {
12546               "type": "string"
12547             },
12548             "info": {
12549               "$ref": "#/definitions/ErrorInfo"
12550             },
12551             "message": {
12552               "type": "string"
12553             }
12554           },
12555           "additionalProperties": false,
12556           "required": [
12557             "message",
12558             "code"
12559           ]
12560         },
12561         "ErrorInfo": {
12562           "type": "object",
12563           "properties": {
12564             "macaroon": {
12565               "$ref": "#/definitions/Macaroon"
12566             },
12567             "macaroon-path": {
12568               "type": "string"
12569             }
12570           },
12571           "additionalProperties": false
12572         },
12573         "ErrorResult": {
12574           "type": "object",
12575           "properties": {
12576             "error": {
12577               "$ref": "#/definitions/Error"
12578             }
12579           },
12580           "additionalProperties": false
12581         },
12582         "InvalidateCredentialArg": {
12583           "type": "object",
12584           "properties": {
12585             "reason": {
12586               "type": "string"
12587             }
12588           },
12589           "additionalProperties": false
12590         },
12591         "Macaroon": {
12592           "type": "object",
12593           "additionalProperties": false
12594         },
12595         "ModelCredential": {
12596           "type": "object",
12597           "properties": {
12598             "credential-tag": {
12599               "type": "string"
12600             },
12601             "exists": {
12602               "type": "boolean"
12603             },
12604             "model-tag": {
12605               "type": "string"
12606             },
12607             "valid": {
12608               "type": "boolean"
12609             }
12610           },
12611           "additionalProperties": false,
12612           "required": [
12613             "model-tag",
12614             "credential-tag"
12615           ]
12616         },
12617         "NotifyWatchResult": {
12618           "type": "object",
12619           "properties": {
12620             "NotifyWatcherId": {
12621               "type": "string"
12622             },
12623             "error": {
12624               "$ref": "#/definitions/Error"
12625             }
12626           },
12627           "additionalProperties": false,
12628           "required": [
12629             "NotifyWatcherId"
12630           ]
12631         }
12632       }
12633     }
12634   },
12635   {
12636     "Name": "CrossController",
12637     "Version": 1,
12638     "Schema": {
12639       "type": "object",
12640       "properties": {
12641         "ControllerInfo": {
12642           "type": "object",
12643           "properties": {
12644             "Result": {
12645               "$ref": "#/definitions/ControllerAPIInfoResults"
12646             }
12647           }
12648         },
12649         "WatchControllerInfo": {
12650           "type": "object",
12651           "properties": {
12652             "Result": {
12653               "$ref": "#/definitions/NotifyWatchResults"
12654             }
12655           }
12656         }
12657       },
12658       "definitions": {
12659         "ControllerAPIInfoResult": {
12660           "type": "object",
12661           "properties": {
12662             "addresses": {
12663               "type": "array",
12664               "items": {
12665                 "type": "string"
12666               }
12667             },
12668             "cacert": {
12669               "type": "string"
12670             },
12671             "error": {
12672               "$ref": "#/definitions/Error"
12673             }
12674           },
12675           "additionalProperties": false,
12676           "required": [
12677             "addresses",
12678             "cacert"
12679           ]
12680         },
12681         "ControllerAPIInfoResults": {
12682           "type": "object",
12683           "properties": {
12684             "results": {
12685               "type": "array",
12686               "items": {
12687                 "$ref": "#/definitions/ControllerAPIInfoResult"
12688               }
12689             }
12690           },
12691           "additionalProperties": false,
12692           "required": [
12693             "results"
12694           ]
12695         },
12696         "Error": {
12697           "type": "object",
12698           "properties": {
12699             "code": {
12700               "type": "string"
12701             },
12702             "info": {
12703               "$ref": "#/definitions/ErrorInfo"
12704             },
12705             "message": {
12706               "type": "string"
12707             }
12708           },
12709           "additionalProperties": false,
12710           "required": [
12711             "message",
12712             "code"
12713           ]
12714         },
12715         "ErrorInfo": {
12716           "type": "object",
12717           "properties": {
12718             "macaroon": {
12719               "$ref": "#/definitions/Macaroon"
12720             },
12721             "macaroon-path": {
12722               "type": "string"
12723             }
12724           },
12725           "additionalProperties": false
12726         },
12727         "Macaroon": {
12728           "type": "object",
12729           "additionalProperties": false
12730         },
12731         "NotifyWatchResult": {
12732           "type": "object",
12733           "properties": {
12734             "NotifyWatcherId": {
12735               "type": "string"
12736             },
12737             "error": {
12738               "$ref": "#/definitions/Error"
12739             }
12740           },
12741           "additionalProperties": false,
12742           "required": [
12743             "NotifyWatcherId"
12744           ]
12745         },
12746         "NotifyWatchResults": {
12747           "type": "object",
12748           "properties": {
12749             "results": {
12750               "type": "array",
12751               "items": {
12752                 "$ref": "#/definitions/NotifyWatchResult"
12753               }
12754             }
12755           },
12756           "additionalProperties": false,
12757           "required": [
12758             "results"
12759           ]
12760         }
12761       }
12762     }
12763   },
12764   {
12765     "Name": "CrossModelRelations",
12766     "Version": 1,
12767     "Schema": {
12768       "type": "object",
12769       "properties": {
12770         "PublishIngressNetworkChanges": {
12771           "type": "object",
12772           "properties": {
12773             "Params": {
12774               "$ref": "#/definitions/IngressNetworksChanges"
12775             },
12776             "Result": {
12777               "$ref": "#/definitions/ErrorResults"
12778             }
12779           }
12780         },
12781         "PublishRelationChanges": {
12782           "type": "object",
12783           "properties": {
12784             "Params": {
12785               "$ref": "#/definitions/RemoteRelationsChanges"
12786             },
12787             "Result": {
12788               "$ref": "#/definitions/ErrorResults"
12789             }
12790           }
12791         },
12792         "RegisterRemoteRelations": {
12793           "type": "object",
12794           "properties": {
12795             "Params": {
12796               "$ref": "#/definitions/RegisterRemoteRelationArgs"
12797             },
12798             "Result": {
12799               "$ref": "#/definitions/RegisterRemoteRelationResults"
12800             }
12801           }
12802         },
12803         "RelationUnitSettings": {
12804           "type": "object",
12805           "properties": {
12806             "Params": {
12807               "$ref": "#/definitions/RemoteRelationUnits"
12808             },
12809             "Result": {
12810               "$ref": "#/definitions/SettingsResults"
12811             }
12812           }
12813         },
12814         "WatchEgressAddressesForRelations": {
12815           "type": "object",
12816           "properties": {
12817             "Params": {
12818               "$ref": "#/definitions/RemoteEntityArgs"
12819             },
12820             "Result": {
12821               "$ref": "#/definitions/StringsWatchResults"
12822             }
12823           }
12824         },
12825         "WatchOfferStatus": {
12826           "type": "object",
12827           "properties": {
12828             "Params": {
12829               "$ref": "#/definitions/OfferArgs"
12830             },
12831             "Result": {
12832               "$ref": "#/definitions/OfferStatusWatchResults"
12833             }
12834           }
12835         },
12836         "WatchRelationUnits": {
12837           "type": "object",
12838           "properties": {
12839             "Params": {
12840               "$ref": "#/definitions/RemoteEntityArgs"
12841             },
12842             "Result": {
12843               "$ref": "#/definitions/RelationUnitsWatchResults"
12844             }
12845           }
12846         },
12847         "WatchRelationsSuspendedStatus": {
12848           "type": "object",
12849           "properties": {
12850             "Params": {
12851               "$ref": "#/definitions/RemoteEntityArgs"
12852             },
12853             "Result": {
12854               "$ref": "#/definitions/RelationStatusWatchResults"
12855             }
12856           }
12857         }
12858       },
12859       "definitions": {
12860         "EntityStatus": {
12861           "type": "object",
12862           "properties": {
12863             "data": {
12864               "type": "object",
12865               "patternProperties": {
12866                 ".*": {
12867                   "type": "object",
12868                   "additionalProperties": true
12869                 }
12870               }
12871             },
12872             "info": {
12873               "type": "string"
12874             },
12875             "since": {
12876               "type": "string",
12877               "format": "date-time"
12878             },
12879             "status": {
12880               "type": "string"
12881             }
12882           },
12883           "additionalProperties": false,
12884           "required": [
12885             "status",
12886             "info",
12887             "since"
12888           ]
12889         },
12890         "Error": {
12891           "type": "object",
12892           "properties": {
12893             "code": {
12894               "type": "string"
12895             },
12896             "info": {
12897               "$ref": "#/definitions/ErrorInfo"
12898             },
12899             "message": {
12900               "type": "string"
12901             }
12902           },
12903           "additionalProperties": false,
12904           "required": [
12905             "message",
12906             "code"
12907           ]
12908         },
12909         "ErrorInfo": {
12910           "type": "object",
12911           "properties": {
12912             "macaroon": {
12913               "$ref": "#/definitions/Macaroon"
12914             },
12915             "macaroon-path": {
12916               "type": "string"
12917             }
12918           },
12919           "additionalProperties": false
12920         },
12921         "ErrorResult": {
12922           "type": "object",
12923           "properties": {
12924             "error": {
12925               "$ref": "#/definitions/Error"
12926             }
12927           },
12928           "additionalProperties": false
12929         },
12930         "ErrorResults": {
12931           "type": "object",
12932           "properties": {
12933             "results": {
12934               "type": "array",
12935               "items": {
12936                 "$ref": "#/definitions/ErrorResult"
12937               }
12938             }
12939           },
12940           "additionalProperties": false,
12941           "required": [
12942             "results"
12943           ]
12944         },
12945         "IngressNetworksChangeEvent": {
12946           "type": "object",
12947           "properties": {
12948             "application-token": {
12949               "type": "string"
12950             },
12951             "ingress-required": {
12952               "type": "boolean"
12953             },
12954             "macaroons": {
12955               "type": "array",
12956               "items": {
12957                 "$ref": "#/definitions/Macaroon"
12958               }
12959             },
12960             "networks": {
12961               "type": "array",
12962               "items": {
12963                 "type": "string"
12964               }
12965             },
12966             "relation-token": {
12967               "type": "string"
12968             }
12969           },
12970           "additionalProperties": false,
12971           "required": [
12972             "relation-token",
12973             "application-token",
12974             "ingress-required"
12975           ]
12976         },
12977         "IngressNetworksChanges": {
12978           "type": "object",
12979           "properties": {
12980             "changes": {
12981               "type": "array",
12982               "items": {
12983                 "$ref": "#/definitions/IngressNetworksChangeEvent"
12984               }
12985             }
12986           },
12987           "additionalProperties": false
12988         },
12989         "Macaroon": {
12990           "type": "object",
12991           "additionalProperties": false
12992         },
12993         "OfferArg": {
12994           "type": "object",
12995           "properties": {
12996             "macaroons": {
12997               "type": "array",
12998               "items": {
12999                 "$ref": "#/definitions/Macaroon"
13000               }
13001             },
13002             "offer-uuid": {
13003               "type": "string"
13004             }
13005           },
13006           "additionalProperties": false,
13007           "required": [
13008             "offer-uuid"
13009           ]
13010         },
13011         "OfferArgs": {
13012           "type": "object",
13013           "properties": {
13014             "args": {
13015               "type": "array",
13016               "items": {
13017                 "$ref": "#/definitions/OfferArg"
13018               }
13019             }
13020           },
13021           "additionalProperties": false,
13022           "required": [
13023             "args"
13024           ]
13025         },
13026         "OfferStatusChange": {
13027           "type": "object",
13028           "properties": {
13029             "offer-name": {
13030               "type": "string"
13031             },
13032             "status": {
13033               "$ref": "#/definitions/EntityStatus"
13034             }
13035           },
13036           "additionalProperties": false,
13037           "required": [
13038             "offer-name",
13039             "status"
13040           ]
13041         },
13042         "OfferStatusWatchResult": {
13043           "type": "object",
13044           "properties": {
13045             "changes": {
13046               "type": "array",
13047               "items": {
13048                 "$ref": "#/definitions/OfferStatusChange"
13049               }
13050             },
13051             "error": {
13052               "$ref": "#/definitions/Error"
13053             },
13054             "watcher-id": {
13055               "type": "string"
13056             }
13057           },
13058           "additionalProperties": false,
13059           "required": [
13060             "watcher-id",
13061             "changes"
13062           ]
13063         },
13064         "OfferStatusWatchResults": {
13065           "type": "object",
13066           "properties": {
13067             "results": {
13068               "type": "array",
13069               "items": {
13070                 "$ref": "#/definitions/OfferStatusWatchResult"
13071               }
13072             }
13073           },
13074           "additionalProperties": false,
13075           "required": [
13076             "results"
13077           ]
13078         },
13079         "RegisterRemoteRelationArg": {
13080           "type": "object",
13081           "properties": {
13082             "application-token": {
13083               "type": "string"
13084             },
13085             "local-endpoint-name": {
13086               "type": "string"
13087             },
13088             "macaroons": {
13089               "type": "array",
13090               "items": {
13091                 "$ref": "#/definitions/Macaroon"
13092               }
13093             },
13094             "offer-uuid": {
13095               "type": "string"
13096             },
13097             "relation-token": {
13098               "type": "string"
13099             },
13100             "remote-endpoint": {
13101               "$ref": "#/definitions/RemoteEndpoint"
13102             },
13103             "remote-space": {
13104               "$ref": "#/definitions/RemoteSpace"
13105             },
13106             "source-model-tag": {
13107               "type": "string"
13108             }
13109           },
13110           "additionalProperties": false,
13111           "required": [
13112             "application-token",
13113             "source-model-tag",
13114             "relation-token",
13115             "remote-endpoint",
13116             "remote-space",
13117             "offer-uuid",
13118             "local-endpoint-name"
13119           ]
13120         },
13121         "RegisterRemoteRelationArgs": {
13122           "type": "object",
13123           "properties": {
13124             "relations": {
13125               "type": "array",
13126               "items": {
13127                 "$ref": "#/definitions/RegisterRemoteRelationArg"
13128               }
13129             }
13130           },
13131           "additionalProperties": false,
13132           "required": [
13133             "relations"
13134           ]
13135         },
13136         "RegisterRemoteRelationResult": {
13137           "type": "object",
13138           "properties": {
13139             "error": {
13140               "$ref": "#/definitions/Error"
13141             },
13142             "result": {
13143               "$ref": "#/definitions/RemoteRelationDetails"
13144             }
13145           },
13146           "additionalProperties": false
13147         },
13148         "RegisterRemoteRelationResults": {
13149           "type": "object",
13150           "properties": {
13151             "results": {
13152               "type": "array",
13153               "items": {
13154                 "$ref": "#/definitions/RegisterRemoteRelationResult"
13155               }
13156             }
13157           },
13158           "additionalProperties": false
13159         },
13160         "RelationLifeSuspendedStatusChange": {
13161           "type": "object",
13162           "properties": {
13163             "key": {
13164               "type": "string"
13165             },
13166             "life": {
13167               "type": "string"
13168             },
13169             "suspended": {
13170               "type": "boolean"
13171             },
13172             "suspended-reason": {
13173               "type": "string"
13174             }
13175           },
13176           "additionalProperties": false,
13177           "required": [
13178             "key",
13179             "life",
13180             "suspended",
13181             "suspended-reason"
13182           ]
13183         },
13184         "RelationLifeSuspendedStatusWatchResult": {
13185           "type": "object",
13186           "properties": {
13187             "changes": {
13188               "type": "array",
13189               "items": {
13190                 "$ref": "#/definitions/RelationLifeSuspendedStatusChange"
13191               }
13192             },
13193             "error": {
13194               "$ref": "#/definitions/Error"
13195             },
13196             "watcher-id": {
13197               "type": "string"
13198             }
13199           },
13200           "additionalProperties": false,
13201           "required": [
13202             "watcher-id",
13203             "changes"
13204           ]
13205         },
13206         "RelationStatusWatchResults": {
13207           "type": "object",
13208           "properties": {
13209             "results": {
13210               "type": "array",
13211               "items": {
13212                 "$ref": "#/definitions/RelationLifeSuspendedStatusWatchResult"
13213               }
13214             }
13215           },
13216           "additionalProperties": false,
13217           "required": [
13218             "results"
13219           ]
13220         },
13221         "RelationUnitsChange": {
13222           "type": "object",
13223           "properties": {
13224             "changed": {
13225               "type": "object",
13226               "patternProperties": {
13227                 ".*": {
13228                   "$ref": "#/definitions/UnitSettings"
13229                 }
13230               }
13231             },
13232             "departed": {
13233               "type": "array",
13234               "items": {
13235                 "type": "string"
13236               }
13237             }
13238           },
13239           "additionalProperties": false,
13240           "required": [
13241             "changed"
13242           ]
13243         },
13244         "RelationUnitsWatchResult": {
13245           "type": "object",
13246           "properties": {
13247             "changes": {
13248               "$ref": "#/definitions/RelationUnitsChange"
13249             },
13250             "error": {
13251               "$ref": "#/definitions/Error"
13252             },
13253             "watcher-id": {
13254               "type": "string"
13255             }
13256           },
13257           "additionalProperties": false,
13258           "required": [
13259             "watcher-id",
13260             "changes"
13261           ]
13262         },
13263         "RelationUnitsWatchResults": {
13264           "type": "object",
13265           "properties": {
13266             "results": {
13267               "type": "array",
13268               "items": {
13269                 "$ref": "#/definitions/RelationUnitsWatchResult"
13270               }
13271             }
13272           },
13273           "additionalProperties": false,
13274           "required": [
13275             "results"
13276           ]
13277         },
13278         "RemoteEndpoint": {
13279           "type": "object",
13280           "properties": {
13281             "interface": {
13282               "type": "string"
13283             },
13284             "limit": {
13285               "type": "integer"
13286             },
13287             "name": {
13288               "type": "string"
13289             },
13290             "role": {
13291               "type": "string"
13292             }
13293           },
13294           "additionalProperties": false,
13295           "required": [
13296             "name",
13297             "role",
13298             "interface",
13299             "limit"
13300           ]
13301         },
13302         "RemoteEntityArg": {
13303           "type": "object",
13304           "properties": {
13305             "macaroons": {
13306               "type": "array",
13307               "items": {
13308                 "$ref": "#/definitions/Macaroon"
13309               }
13310             },
13311             "relation-token": {
13312               "type": "string"
13313             }
13314           },
13315           "additionalProperties": false,
13316           "required": [
13317             "relation-token"
13318           ]
13319         },
13320         "RemoteEntityArgs": {
13321           "type": "object",
13322           "properties": {
13323             "args": {
13324               "type": "array",
13325               "items": {
13326                 "$ref": "#/definitions/RemoteEntityArg"
13327               }
13328             }
13329           },
13330           "additionalProperties": false,
13331           "required": [
13332             "args"
13333           ]
13334         },
13335         "RemoteRelationChangeEvent": {
13336           "type": "object",
13337           "properties": {
13338             "application-token": {
13339               "type": "string"
13340             },
13341             "changed-units": {
13342               "type": "array",
13343               "items": {
13344                 "$ref": "#/definitions/RemoteRelationUnitChange"
13345               }
13346             },
13347             "departed-units": {
13348               "type": "array",
13349               "items": {
13350                 "type": "integer"
13351               }
13352             },
13353             "force-cleanup": {
13354               "type": "boolean"
13355             },
13356             "life": {
13357               "type": "string"
13358             },
13359             "macaroons": {
13360               "type": "array",
13361               "items": {
13362                 "$ref": "#/definitions/Macaroon"
13363               }
13364             },
13365             "relation-token": {
13366               "type": "string"
13367             },
13368             "suspended": {
13369               "type": "boolean"
13370             },
13371             "suspended-reason": {
13372               "type": "string"
13373             }
13374           },
13375           "additionalProperties": false,
13376           "required": [
13377             "relation-token",
13378             "application-token",
13379             "life"
13380           ]
13381         },
13382         "RemoteRelationDetails": {
13383           "type": "object",
13384           "properties": {
13385             "macaroon": {
13386               "$ref": "#/definitions/Macaroon"
13387             },
13388             "relation-token": {
13389               "type": "string"
13390             }
13391           },
13392           "additionalProperties": false,
13393           "required": [
13394             "relation-token"
13395           ]
13396         },
13397         "RemoteRelationUnit": {
13398           "type": "object",
13399           "properties": {
13400             "macaroons": {
13401               "type": "array",
13402               "items": {
13403                 "$ref": "#/definitions/Macaroon"
13404               }
13405             },
13406             "relation-token": {
13407               "type": "string"
13408             },
13409             "unit": {
13410               "type": "string"
13411             }
13412           },
13413           "additionalProperties": false,
13414           "required": [
13415             "relation-token",
13416             "unit"
13417           ]
13418         },
13419         "RemoteRelationUnitChange": {
13420           "type": "object",
13421           "properties": {
13422             "settings": {
13423               "type": "object",
13424               "patternProperties": {
13425                 ".*": {
13426                   "type": "object",
13427                   "additionalProperties": true
13428                 }
13429               }
13430             },
13431             "unit-id": {
13432               "type": "integer"
13433             }
13434           },
13435           "additionalProperties": false,
13436           "required": [
13437             "unit-id"
13438           ]
13439         },
13440         "RemoteRelationUnits": {
13441           "type": "object",
13442           "properties": {
13443             "relation-units": {
13444               "type": "array",
13445               "items": {
13446                 "$ref": "#/definitions/RemoteRelationUnit"
13447               }
13448             }
13449           },
13450           "additionalProperties": false,
13451           "required": [
13452             "relation-units"
13453           ]
13454         },
13455         "RemoteRelationsChanges": {
13456           "type": "object",
13457           "properties": {
13458             "changes": {
13459               "type": "array",
13460               "items": {
13461                 "$ref": "#/definitions/RemoteRelationChangeEvent"
13462               }
13463             }
13464           },
13465           "additionalProperties": false
13466         },
13467         "RemoteSpace": {
13468           "type": "object",
13469           "properties": {
13470             "cloud-type": {
13471               "type": "string"
13472             },
13473             "name": {
13474               "type": "string"
13475             },
13476             "provider-attributes": {
13477               "type": "object",
13478               "patternProperties": {
13479                 ".*": {
13480                   "type": "object",
13481                   "additionalProperties": true
13482                 }
13483               }
13484             },
13485             "provider-id": {
13486               "type": "string"
13487             },
13488             "subnets": {
13489               "type": "array",
13490               "items": {
13491                 "$ref": "#/definitions/Subnet"
13492               }
13493             }
13494           },
13495           "additionalProperties": false,
13496           "required": [
13497             "cloud-type",
13498             "name",
13499             "provider-id",
13500             "provider-attributes",
13501             "subnets"
13502           ]
13503         },
13504         "SettingsResult": {
13505           "type": "object",
13506           "properties": {
13507             "error": {
13508               "$ref": "#/definitions/Error"
13509             },
13510             "settings": {
13511               "type": "object",
13512               "patternProperties": {
13513                 ".*": {
13514                   "type": "string"
13515                 }
13516               }
13517             }
13518           },
13519           "additionalProperties": false,
13520           "required": [
13521             "settings"
13522           ]
13523         },
13524         "SettingsResults": {
13525           "type": "object",
13526           "properties": {
13527             "results": {
13528               "type": "array",
13529               "items": {
13530                 "$ref": "#/definitions/SettingsResult"
13531               }
13532             }
13533           },
13534           "additionalProperties": false,
13535           "required": [
13536             "results"
13537           ]
13538         },
13539         "StringsWatchResult": {
13540           "type": "object",
13541           "properties": {
13542             "changes": {
13543               "type": "array",
13544               "items": {
13545                 "type": "string"
13546               }
13547             },
13548             "error": {
13549               "$ref": "#/definitions/Error"
13550             },
13551             "watcher-id": {
13552               "type": "string"
13553             }
13554           },
13555           "additionalProperties": false,
13556           "required": [
13557             "watcher-id"
13558           ]
13559         },
13560         "StringsWatchResults": {
13561           "type": "object",
13562           "properties": {
13563             "results": {
13564               "type": "array",
13565               "items": {
13566                 "$ref": "#/definitions/StringsWatchResult"
13567               }
13568             }
13569           },
13570           "additionalProperties": false,
13571           "required": [
13572             "results"
13573           ]
13574         },
13575         "Subnet": {
13576           "type": "object",
13577           "properties": {
13578             "cidr": {
13579               "type": "string"
13580             },
13581             "life": {
13582               "type": "string"
13583             },
13584             "provider-id": {
13585               "type": "string"
13586             },
13587             "provider-network-id": {
13588               "type": "string"
13589             },
13590             "provider-space-id": {
13591               "type": "string"
13592             },
13593             "space-tag": {
13594               "type": "string"
13595             },
13596             "status": {
13597               "type": "string"
13598             },
13599             "vlan-tag": {
13600               "type": "integer"
13601             },
13602             "zones": {
13603               "type": "array",
13604               "items": {
13605                 "type": "string"
13606               }
13607             }
13608           },
13609           "additionalProperties": false,
13610           "required": [
13611             "cidr",
13612             "vlan-tag",
13613             "life",
13614             "space-tag",
13615             "zones"
13616           ]
13617         },
13618         "UnitSettings": {
13619           "type": "object",
13620           "properties": {
13621             "version": {
13622               "type": "integer"
13623             }
13624           },
13625           "additionalProperties": false,
13626           "required": [
13627             "version"
13628           ]
13629         }
13630       }
13631     }
13632   },
13633   {
13634     "Name": "Deployer",
13635     "Version": 1,
13636     "Schema": {
13637       "type": "object",
13638       "properties": {
13639         "APIAddresses": {
13640           "type": "object",
13641           "properties": {
13642             "Result": {
13643               "$ref": "#/definitions/StringsResult"
13644             }
13645           }
13646         },
13647         "APIHostPorts": {
13648           "type": "object",
13649           "properties": {
13650             "Result": {
13651               "$ref": "#/definitions/APIHostPortsResult"
13652             }
13653           }
13654         },
13655         "ConnectionInfo": {
13656           "type": "object",
13657           "properties": {
13658             "Result": {
13659               "$ref": "#/definitions/DeployerConnectionValues"
13660             }
13661           }
13662         },
13663         "Life": {
13664           "type": "object",
13665           "properties": {
13666             "Params": {
13667               "$ref": "#/definitions/Entities"
13668             },
13669             "Result": {
13670               "$ref": "#/definitions/LifeResults"
13671             }
13672           }
13673         },
13674         "ModelUUID": {
13675           "type": "object",
13676           "properties": {
13677             "Result": {
13678               "$ref": "#/definitions/StringResult"
13679             }
13680           }
13681         },
13682         "Remove": {
13683           "type": "object",
13684           "properties": {
13685             "Params": {
13686               "$ref": "#/definitions/Entities"
13687             },
13688             "Result": {
13689               "$ref": "#/definitions/ErrorResults"
13690             }
13691           }
13692         },
13693         "SetPasswords": {
13694           "type": "object",
13695           "properties": {
13696             "Params": {
13697               "$ref": "#/definitions/EntityPasswords"
13698             },
13699             "Result": {
13700               "$ref": "#/definitions/ErrorResults"
13701             }
13702           }
13703         },
13704         "SetStatus": {
13705           "type": "object",
13706           "properties": {
13707             "Params": {
13708               "$ref": "#/definitions/SetStatus"
13709             },
13710             "Result": {
13711               "$ref": "#/definitions/ErrorResults"
13712             }
13713           }
13714         },
13715         "UpdateStatus": {
13716           "type": "object",
13717           "properties": {
13718             "Params": {
13719               "$ref": "#/definitions/SetStatus"
13720             },
13721             "Result": {
13722               "$ref": "#/definitions/ErrorResults"
13723             }
13724           }
13725         },
13726         "WatchAPIHostPorts": {
13727           "type": "object",
13728           "properties": {
13729             "Result": {
13730               "$ref": "#/definitions/NotifyWatchResult"
13731             }
13732           }
13733         },
13734         "WatchUnits": {
13735           "type": "object",
13736           "properties": {
13737             "Params": {
13738               "$ref": "#/definitions/Entities"
13739             },
13740             "Result": {
13741               "$ref": "#/definitions/StringsWatchResults"
13742             }
13743           }
13744         }
13745       },
13746       "definitions": {
13747         "APIHostPortsResult": {
13748           "type": "object",
13749           "properties": {
13750             "servers": {
13751               "type": "array",
13752               "items": {
13753                 "type": "array",
13754                 "items": {
13755                   "$ref": "#/definitions/HostPort"
13756                 }
13757               }
13758             }
13759           },
13760           "additionalProperties": false,
13761           "required": [
13762             "servers"
13763           ]
13764         },
13765         "Address": {
13766           "type": "object",
13767           "properties": {
13768             "scope": {
13769               "type": "string"
13770             },
13771             "space-name": {
13772               "type": "string"
13773             },
13774             "type": {
13775               "type": "string"
13776             },
13777             "value": {
13778               "type": "string"
13779             }
13780           },
13781           "additionalProperties": false,
13782           "required": [
13783             "value",
13784             "type",
13785             "scope"
13786           ]
13787         },
13788         "DeployerConnectionValues": {
13789           "type": "object",
13790           "properties": {
13791             "api-addresses": {
13792               "type": "array",
13793               "items": {
13794                 "type": "string"
13795               }
13796             }
13797           },
13798           "additionalProperties": false,
13799           "required": [
13800             "api-addresses"
13801           ]
13802         },
13803         "Entities": {
13804           "type": "object",
13805           "properties": {
13806             "entities": {
13807               "type": "array",
13808               "items": {
13809                 "$ref": "#/definitions/Entity"
13810               }
13811             }
13812           },
13813           "additionalProperties": false,
13814           "required": [
13815             "entities"
13816           ]
13817         },
13818         "Entity": {
13819           "type": "object",
13820           "properties": {
13821             "tag": {
13822               "type": "string"
13823             }
13824           },
13825           "additionalProperties": false,
13826           "required": [
13827             "tag"
13828           ]
13829         },
13830         "EntityPassword": {
13831           "type": "object",
13832           "properties": {
13833             "password": {
13834               "type": "string"
13835             },
13836             "tag": {
13837               "type": "string"
13838             }
13839           },
13840           "additionalProperties": false,
13841           "required": [
13842             "tag",
13843             "password"
13844           ]
13845         },
13846         "EntityPasswords": {
13847           "type": "object",
13848           "properties": {
13849             "changes": {
13850               "type": "array",
13851               "items": {
13852                 "$ref": "#/definitions/EntityPassword"
13853               }
13854             }
13855           },
13856           "additionalProperties": false,
13857           "required": [
13858             "changes"
13859           ]
13860         },
13861         "EntityStatusArgs": {
13862           "type": "object",
13863           "properties": {
13864             "data": {
13865               "type": "object",
13866               "patternProperties": {
13867                 ".*": {
13868                   "type": "object",
13869                   "additionalProperties": true
13870                 }
13871               }
13872             },
13873             "info": {
13874               "type": "string"
13875             },
13876             "status": {
13877               "type": "string"
13878             },
13879             "tag": {
13880               "type": "string"
13881             }
13882           },
13883           "additionalProperties": false,
13884           "required": [
13885             "tag",
13886             "status",
13887             "info",
13888             "data"
13889           ]
13890         },
13891         "Error": {
13892           "type": "object",
13893           "properties": {
13894             "code": {
13895               "type": "string"
13896             },
13897             "info": {
13898               "$ref": "#/definitions/ErrorInfo"
13899             },
13900             "message": {
13901               "type": "string"
13902             }
13903           },
13904           "additionalProperties": false,
13905           "required": [
13906             "message",
13907             "code"
13908           ]
13909         },
13910         "ErrorInfo": {
13911           "type": "object",
13912           "properties": {
13913             "macaroon": {
13914               "$ref": "#/definitions/Macaroon"
13915             },
13916             "macaroon-path": {
13917               "type": "string"
13918             }
13919           },
13920           "additionalProperties": false
13921         },
13922         "ErrorResult": {
13923           "type": "object",
13924           "properties": {
13925             "error": {
13926               "$ref": "#/definitions/Error"
13927             }
13928           },
13929           "additionalProperties": false
13930         },
13931         "ErrorResults": {
13932           "type": "object",
13933           "properties": {
13934             "results": {
13935               "type": "array",
13936               "items": {
13937                 "$ref": "#/definitions/ErrorResult"
13938               }
13939             }
13940           },
13941           "additionalProperties": false,
13942           "required": [
13943             "results"
13944           ]
13945         },
13946         "HostPort": {
13947           "type": "object",
13948           "properties": {
13949             "Address": {
13950               "$ref": "#/definitions/Address"
13951             },
13952             "port": {
13953               "type": "integer"
13954             }
13955           },
13956           "additionalProperties": false,
13957           "required": [
13958             "Address",
13959             "port"
13960           ]
13961         },
13962         "LifeResult": {
13963           "type": "object",
13964           "properties": {
13965             "error": {
13966               "$ref": "#/definitions/Error"
13967             },
13968             "life": {
13969               "type": "string"
13970             }
13971           },
13972           "additionalProperties": false,
13973           "required": [
13974             "life"
13975           ]
13976         },
13977         "LifeResults": {
13978           "type": "object",
13979           "properties": {
13980             "results": {
13981               "type": "array",
13982               "items": {
13983                 "$ref": "#/definitions/LifeResult"
13984               }
13985             }
13986           },
13987           "additionalProperties": false,
13988           "required": [
13989             "results"
13990           ]
13991         },
13992         "Macaroon": {
13993           "type": "object",
13994           "additionalProperties": false
13995         },
13996         "NotifyWatchResult": {
13997           "type": "object",
13998           "properties": {
13999             "NotifyWatcherId": {
14000               "type": "string"
14001             },
14002             "error": {
14003               "$ref": "#/definitions/Error"
14004             }
14005           },
14006           "additionalProperties": false,
14007           "required": [
14008             "NotifyWatcherId"
14009           ]
14010         },
14011         "SetStatus": {
14012           "type": "object",
14013           "properties": {
14014             "entities": {
14015               "type": "array",
14016               "items": {
14017                 "$ref": "#/definitions/EntityStatusArgs"
14018               }
14019             }
14020           },
14021           "additionalProperties": false,
14022           "required": [
14023             "entities"
14024           ]
14025         },
14026         "StringResult": {
14027           "type": "object",
14028           "properties": {
14029             "error": {
14030               "$ref": "#/definitions/Error"
14031             },
14032             "result": {
14033               "type": "string"
14034             }
14035           },
14036           "additionalProperties": false,
14037           "required": [
14038             "result"
14039           ]
14040         },
14041         "StringsResult": {
14042           "type": "object",
14043           "properties": {
14044             "error": {
14045               "$ref": "#/definitions/Error"
14046             },
14047             "result": {
14048               "type": "array",
14049               "items": {
14050                 "type": "string"
14051               }
14052             }
14053           },
14054           "additionalProperties": false
14055         },
14056         "StringsWatchResult": {
14057           "type": "object",
14058           "properties": {
14059             "changes": {
14060               "type": "array",
14061               "items": {
14062                 "type": "string"
14063               }
14064             },
14065             "error": {
14066               "$ref": "#/definitions/Error"
14067             },
14068             "watcher-id": {
14069               "type": "string"
14070             }
14071           },
14072           "additionalProperties": false,
14073           "required": [
14074             "watcher-id"
14075           ]
14076         },
14077         "StringsWatchResults": {
14078           "type": "object",
14079           "properties": {
14080             "results": {
14081               "type": "array",
14082               "items": {
14083                 "$ref": "#/definitions/StringsWatchResult"
14084               }
14085             }
14086           },
14087           "additionalProperties": false,
14088           "required": [
14089             "results"
14090           ]
14091         }
14092       }
14093     }
14094   },
14095   {
14096     "Name": "DiskManager",
14097     "Version": 2,
14098     "Schema": {
14099       "type": "object",
14100       "properties": {
14101         "SetMachineBlockDevices": {
14102           "type": "object",
14103           "properties": {
14104             "Params": {
14105               "$ref": "#/definitions/SetMachineBlockDevices"
14106             },
14107             "Result": {
14108               "$ref": "#/definitions/ErrorResults"
14109             }
14110           }
14111         }
14112       },
14113       "definitions": {
14114         "BlockDevice": {
14115           "type": "object",
14116           "properties": {
14117             "BusAddress": {
14118               "type": "string"
14119             },
14120             "DeviceLinks": {
14121               "type": "array",
14122               "items": {
14123                 "type": "string"
14124               }
14125             },
14126             "DeviceName": {
14127               "type": "string"
14128             },
14129             "FilesystemType": {
14130               "type": "string"
14131             },
14132             "HardwareId": {
14133               "type": "string"
14134             },
14135             "InUse": {
14136               "type": "boolean"
14137             },
14138             "Label": {
14139               "type": "string"
14140             },
14141             "MountPoint": {
14142               "type": "string"
14143             },
14144             "Size": {
14145               "type": "integer"
14146             },
14147             "UUID": {
14148               "type": "string"
14149             },
14150             "WWN": {
14151               "type": "string"
14152             }
14153           },
14154           "additionalProperties": false,
14155           "required": [
14156             "DeviceName",
14157             "DeviceLinks",
14158             "Label",
14159             "UUID",
14160             "HardwareId",
14161             "WWN",
14162             "BusAddress",
14163             "Size",
14164             "FilesystemType",
14165             "InUse",
14166             "MountPoint"
14167           ]
14168         },
14169         "Error": {
14170           "type": "object",
14171           "properties": {
14172             "code": {
14173               "type": "string"
14174             },
14175             "info": {
14176               "$ref": "#/definitions/ErrorInfo"
14177             },
14178             "message": {
14179               "type": "string"
14180             }
14181           },
14182           "additionalProperties": false,
14183           "required": [
14184             "message",
14185             "code"
14186           ]
14187         },
14188         "ErrorInfo": {
14189           "type": "object",
14190           "properties": {
14191             "macaroon": {
14192               "$ref": "#/definitions/Macaroon"
14193             },
14194             "macaroon-path": {
14195               "type": "string"
14196             }
14197           },
14198           "additionalProperties": false
14199         },
14200         "ErrorResult": {
14201           "type": "object",
14202           "properties": {
14203             "error": {
14204               "$ref": "#/definitions/Error"
14205             }
14206           },
14207           "additionalProperties": false
14208         },
14209         "ErrorResults": {
14210           "type": "object",
14211           "properties": {
14212             "results": {
14213               "type": "array",
14214               "items": {
14215                 "$ref": "#/definitions/ErrorResult"
14216               }
14217             }
14218           },
14219           "additionalProperties": false,
14220           "required": [
14221             "results"
14222           ]
14223         },
14224         "Macaroon": {
14225           "type": "object",
14226           "additionalProperties": false
14227         },
14228         "MachineBlockDevices": {
14229           "type": "object",
14230           "properties": {
14231             "block-devices": {
14232               "type": "array",
14233               "items": {
14234                 "$ref": "#/definitions/BlockDevice"
14235               }
14236             },
14237             "machine": {
14238               "type": "string"
14239             }
14240           },
14241           "additionalProperties": false,
14242           "required": [
14243             "machine"
14244           ]
14245         },
14246         "SetMachineBlockDevices": {
14247           "type": "object",
14248           "properties": {
14249             "machine-block-devices": {
14250               "type": "array",
14251               "items": {
14252                 "$ref": "#/definitions/MachineBlockDevices"
14253               }
14254             }
14255           },
14256           "additionalProperties": false,
14257           "required": [
14258             "machine-block-devices"
14259           ]
14260         }
14261       }
14262     }
14263   },
14264   {
14265     "Name": "EntityWatcher",
14266     "Version": 2,
14267     "Schema": {
14268       "type": "object",
14269       "properties": {
14270         "Next": {
14271           "type": "object",
14272           "properties": {
14273             "Result": {
14274               "$ref": "#/definitions/EntitiesWatchResult"
14275             }
14276           }
14277         },
14278         "Stop": {
14279           "type": "object"
14280         }
14281       },
14282       "definitions": {
14283         "EntitiesWatchResult": {
14284           "type": "object",
14285           "properties": {
14286             "changes": {
14287               "type": "array",
14288               "items": {
14289                 "type": "string"
14290               }
14291             },
14292             "error": {
14293               "$ref": "#/definitions/Error"
14294             },
14295             "watcher-id": {
14296               "type": "string"
14297             }
14298           },
14299           "additionalProperties": false,
14300           "required": [
14301             "watcher-id"
14302           ]
14303         },
14304         "Error": {
14305           "type": "object",
14306           "properties": {
14307             "code": {
14308               "type": "string"
14309             },
14310             "info": {
14311               "$ref": "#/definitions/ErrorInfo"
14312             },
14313             "message": {
14314               "type": "string"
14315             }
14316           },
14317           "additionalProperties": false,
14318           "required": [
14319             "message",
14320             "code"
14321           ]
14322         },
14323         "ErrorInfo": {
14324           "type": "object",
14325           "properties": {
14326             "macaroon": {
14327               "$ref": "#/definitions/Macaroon"
14328             },
14329             "macaroon-path": {
14330               "type": "string"
14331             }
14332           },
14333           "additionalProperties": false
14334         },
14335         "Macaroon": {
14336           "type": "object",
14337           "additionalProperties": false
14338         }
14339       }
14340     }
14341   },
14342   {
14343     "Name": "ExternalControllerUpdater",
14344     "Version": 1,
14345     "Schema": {
14346       "type": "object",
14347       "properties": {
14348         "ExternalControllerInfo": {
14349           "type": "object",
14350           "properties": {
14351             "Params": {
14352               "$ref": "#/definitions/Entities"
14353             },
14354             "Result": {
14355               "$ref": "#/definitions/ExternalControllerInfoResults"
14356             }
14357           }
14358         },
14359         "SetExternalControllerInfo": {
14360           "type": "object",
14361           "properties": {
14362             "Params": {
14363               "$ref": "#/definitions/SetExternalControllersInfoParams"
14364             },
14365             "Result": {
14366               "$ref": "#/definitions/ErrorResults"
14367             }
14368           }
14369         },
14370         "WatchExternalControllers": {
14371           "type": "object",
14372           "properties": {
14373             "Result": {
14374               "$ref": "#/definitions/StringsWatchResults"
14375             }
14376           }
14377         }
14378       },
14379       "definitions": {
14380         "Entities": {
14381           "type": "object",
14382           "properties": {
14383             "entities": {
14384               "type": "array",
14385               "items": {
14386                 "$ref": "#/definitions/Entity"
14387               }
14388             }
14389           },
14390           "additionalProperties": false,
14391           "required": [
14392             "entities"
14393           ]
14394         },
14395         "Entity": {
14396           "type": "object",
14397           "properties": {
14398             "tag": {
14399               "type": "string"
14400             }
14401           },
14402           "additionalProperties": false,
14403           "required": [
14404             "tag"
14405           ]
14406         },
14407         "Error": {
14408           "type": "object",
14409           "properties": {
14410             "code": {
14411               "type": "string"
14412             },
14413             "info": {
14414               "$ref": "#/definitions/ErrorInfo"
14415             },
14416             "message": {
14417               "type": "string"
14418             }
14419           },
14420           "additionalProperties": false,
14421           "required": [
14422             "message",
14423             "code"
14424           ]
14425         },
14426         "ErrorInfo": {
14427           "type": "object",
14428           "properties": {
14429             "macaroon": {
14430               "$ref": "#/definitions/Macaroon"
14431             },
14432             "macaroon-path": {
14433               "type": "string"
14434             }
14435           },
14436           "additionalProperties": false
14437         },
14438         "ErrorResult": {
14439           "type": "object",
14440           "properties": {
14441             "error": {
14442               "$ref": "#/definitions/Error"
14443             }
14444           },
14445           "additionalProperties": false
14446         },
14447         "ErrorResults": {
14448           "type": "object",
14449           "properties": {
14450             "results": {
14451               "type": "array",
14452               "items": {
14453                 "$ref": "#/definitions/ErrorResult"
14454               }
14455             }
14456           },
14457           "additionalProperties": false,
14458           "required": [
14459             "results"
14460           ]
14461         },
14462         "ExternalControllerInfo": {
14463           "type": "object",
14464           "properties": {
14465             "addrs": {
14466               "type": "array",
14467               "items": {
14468                 "type": "string"
14469               }
14470             },
14471             "ca-cert": {
14472               "type": "string"
14473             },
14474             "controller-alias": {
14475               "type": "string"
14476             },
14477             "controller-tag": {
14478               "type": "string"
14479             }
14480           },
14481           "additionalProperties": false,
14482           "required": [
14483             "controller-tag",
14484             "controller-alias",
14485             "addrs",
14486             "ca-cert"
14487           ]
14488         },
14489         "ExternalControllerInfoResult": {
14490           "type": "object",
14491           "properties": {
14492             "error": {
14493               "$ref": "#/definitions/Error"
14494             },
14495             "result": {
14496               "$ref": "#/definitions/ExternalControllerInfo"
14497             }
14498           },
14499           "additionalProperties": false,
14500           "required": [
14501             "result",
14502             "error"
14503           ]
14504         },
14505         "ExternalControllerInfoResults": {
14506           "type": "object",
14507           "properties": {
14508             "results": {
14509               "type": "array",
14510               "items": {
14511                 "$ref": "#/definitions/ExternalControllerInfoResult"
14512               }
14513             }
14514           },
14515           "additionalProperties": false,
14516           "required": [
14517             "results"
14518           ]
14519         },
14520         "Macaroon": {
14521           "type": "object",
14522           "additionalProperties": false
14523         },
14524         "SetExternalControllerInfoParams": {
14525           "type": "object",
14526           "properties": {
14527             "info": {
14528               "$ref": "#/definitions/ExternalControllerInfo"
14529             }
14530           },
14531           "additionalProperties": false,
14532           "required": [
14533             "info"
14534           ]
14535         },
14536         "SetExternalControllersInfoParams": {
14537           "type": "object",
14538           "properties": {
14539             "controllers": {
14540               "type": "array",
14541               "items": {
14542                 "$ref": "#/definitions/SetExternalControllerInfoParams"
14543               }
14544             }
14545           },
14546           "additionalProperties": false,
14547           "required": [
14548             "controllers"
14549           ]
14550         },
14551         "StringsWatchResult": {
14552           "type": "object",
14553           "properties": {
14554             "changes": {
14555               "type": "array",
14556               "items": {
14557                 "type": "string"
14558               }
14559             },
14560             "error": {
14561               "$ref": "#/definitions/Error"
14562             },
14563             "watcher-id": {
14564               "type": "string"
14565             }
14566           },
14567           "additionalProperties": false,
14568           "required": [
14569             "watcher-id"
14570           ]
14571         },
14572         "StringsWatchResults": {
14573           "type": "object",
14574           "properties": {
14575             "results": {
14576               "type": "array",
14577               "items": {
14578                 "$ref": "#/definitions/StringsWatchResult"
14579               }
14580             }
14581           },
14582           "additionalProperties": false,
14583           "required": [
14584             "results"
14585           ]
14586         }
14587       }
14588     }
14589   },
14590   {
14591     "Name": "FanConfigurer",
14592     "Version": 1,
14593     "Schema": {
14594       "type": "object",
14595       "properties": {
14596         "FanConfig": {
14597           "type": "object",
14598           "properties": {
14599             "Result": {
14600               "$ref": "#/definitions/FanConfigResult"
14601             }
14602           }
14603         },
14604         "WatchForFanConfigChanges": {
14605           "type": "object",
14606           "properties": {
14607             "Result": {
14608               "$ref": "#/definitions/NotifyWatchResult"
14609             }
14610           }
14611         }
14612       },
14613       "definitions": {
14614         "Error": {
14615           "type": "object",
14616           "properties": {
14617             "code": {
14618               "type": "string"
14619             },
14620             "info": {
14621               "$ref": "#/definitions/ErrorInfo"
14622             },
14623             "message": {
14624               "type": "string"
14625             }
14626           },
14627           "additionalProperties": false,
14628           "required": [
14629             "message",
14630             "code"
14631           ]
14632         },
14633         "ErrorInfo": {
14634           "type": "object",
14635           "properties": {
14636             "macaroon": {
14637               "$ref": "#/definitions/Macaroon"
14638             },
14639             "macaroon-path": {
14640               "type": "string"
14641             }
14642           },
14643           "additionalProperties": false
14644         },
14645         "FanConfigEntry": {
14646           "type": "object",
14647           "properties": {
14648             "overlay": {
14649               "type": "string"
14650             },
14651             "underlay": {
14652               "type": "string"
14653             }
14654           },
14655           "additionalProperties": false,
14656           "required": [
14657             "underlay",
14658             "overlay"
14659           ]
14660         },
14661         "FanConfigResult": {
14662           "type": "object",
14663           "properties": {
14664             "fans": {
14665               "type": "array",
14666               "items": {
14667                 "$ref": "#/definitions/FanConfigEntry"
14668               }
14669             }
14670           },
14671           "additionalProperties": false,
14672           "required": [
14673             "fans"
14674           ]
14675         },
14676         "Macaroon": {
14677           "type": "object",
14678           "additionalProperties": false
14679         },
14680         "NotifyWatchResult": {
14681           "type": "object",
14682           "properties": {
14683             "NotifyWatcherId": {
14684               "type": "string"
14685             },
14686             "error": {
14687               "$ref": "#/definitions/Error"
14688             }
14689           },
14690           "additionalProperties": false,
14691           "required": [
14692             "NotifyWatcherId"
14693           ]
14694         }
14695       }
14696     }
14697   },
14698   {
14699     "Name": "FilesystemAttachmentsWatcher",
14700     "Version": 2,
14701     "Schema": {
14702       "type": "object",
14703       "properties": {
14704         "Next": {
14705           "type": "object",
14706           "properties": {
14707             "Result": {
14708               "$ref": "#/definitions/MachineStorageIdsWatchResult"
14709             }
14710           }
14711         },
14712         "Stop": {
14713           "type": "object"
14714         }
14715       },
14716       "definitions": {
14717         "Error": {
14718           "type": "object",
14719           "properties": {
14720             "code": {
14721               "type": "string"
14722             },
14723             "info": {
14724               "$ref": "#/definitions/ErrorInfo"
14725             },
14726             "message": {
14727               "type": "string"
14728             }
14729           },
14730           "additionalProperties": false,
14731           "required": [
14732             "message",
14733             "code"
14734           ]
14735         },
14736         "ErrorInfo": {
14737           "type": "object",
14738           "properties": {
14739             "macaroon": {
14740               "$ref": "#/definitions/Macaroon"
14741             },
14742             "macaroon-path": {
14743               "type": "string"
14744             }
14745           },
14746           "additionalProperties": false
14747         },
14748         "Macaroon": {
14749           "type": "object",
14750           "additionalProperties": false
14751         },
14752         "MachineStorageId": {
14753           "type": "object",
14754           "properties": {
14755             "attachment-tag": {
14756               "type": "string"
14757             },
14758             "machine-tag": {
14759               "type": "string"
14760             }
14761           },
14762           "additionalProperties": false,
14763           "required": [
14764             "machine-tag",
14765             "attachment-tag"
14766           ]
14767         },
14768         "MachineStorageIdsWatchResult": {
14769           "type": "object",
14770           "properties": {
14771             "changes": {
14772               "type": "array",
14773               "items": {
14774                 "$ref": "#/definitions/MachineStorageId"
14775               }
14776             },
14777             "error": {
14778               "$ref": "#/definitions/Error"
14779             },
14780             "watcher-id": {
14781               "type": "string"
14782             }
14783           },
14784           "additionalProperties": false,
14785           "required": [
14786             "watcher-id",
14787             "changes"
14788           ]
14789         }
14790       }
14791     }
14792   },
14793   {
14794     "Name": "FirewallRules",
14795     "Version": 1,
14796     "Schema": {
14797       "type": "object",
14798       "properties": {
14799         "ListFirewallRules": {
14800           "type": "object",
14801           "properties": {
14802             "Result": {
14803               "$ref": "#/definitions/ListFirewallRulesResults"
14804             }
14805           }
14806         },
14807         "SetFirewallRules": {
14808           "type": "object",
14809           "properties": {
14810             "Params": {
14811               "$ref": "#/definitions/FirewallRuleArgs"
14812             },
14813             "Result": {
14814               "$ref": "#/definitions/ErrorResults"
14815             }
14816           }
14817         }
14818       },
14819       "definitions": {
14820         "Error": {
14821           "type": "object",
14822           "properties": {
14823             "code": {
14824               "type": "string"
14825             },
14826             "info": {
14827               "$ref": "#/definitions/ErrorInfo"
14828             },
14829             "message": {
14830               "type": "string"
14831             }
14832           },
14833           "additionalProperties": false,
14834           "required": [
14835             "message",
14836             "code"
14837           ]
14838         },
14839         "ErrorInfo": {
14840           "type": "object",
14841           "properties": {
14842             "macaroon": {
14843               "$ref": "#/definitions/Macaroon"
14844             },
14845             "macaroon-path": {
14846               "type": "string"
14847             }
14848           },
14849           "additionalProperties": false
14850         },
14851         "ErrorResult": {
14852           "type": "object",
14853           "properties": {
14854             "error": {
14855               "$ref": "#/definitions/Error"
14856             }
14857           },
14858           "additionalProperties": false
14859         },
14860         "ErrorResults": {
14861           "type": "object",
14862           "properties": {
14863             "results": {
14864               "type": "array",
14865               "items": {
14866                 "$ref": "#/definitions/ErrorResult"
14867               }
14868             }
14869           },
14870           "additionalProperties": false,
14871           "required": [
14872             "results"
14873           ]
14874         },
14875         "FirewallRule": {
14876           "type": "object",
14877           "properties": {
14878             "known-service": {
14879               "type": "string"
14880             },
14881             "whitelist-cidrs": {
14882               "type": "array",
14883               "items": {
14884                 "type": "string"
14885               }
14886             }
14887           },
14888           "additionalProperties": false,
14889           "required": [
14890             "known-service"
14891           ]
14892         },
14893         "FirewallRuleArgs": {
14894           "type": "object",
14895           "properties": {
14896             "args": {
14897               "type": "array",
14898               "items": {
14899                 "$ref": "#/definitions/FirewallRule"
14900               }
14901             }
14902           },
14903           "additionalProperties": false,
14904           "required": [
14905             "args"
14906           ]
14907         },
14908         "ListFirewallRulesResults": {
14909           "type": "object",
14910           "properties": {
14911             "Rules": {
14912               "type": "array",
14913               "items": {
14914                 "$ref": "#/definitions/FirewallRule"
14915               }
14916             }
14917           },
14918           "additionalProperties": false,
14919           "required": [
14920             "Rules"
14921           ]
14922         },
14923         "Macaroon": {
14924           "type": "object",
14925           "additionalProperties": false
14926         }
14927       }
14928     }
14929   },
14930   {
14931     "Name": "Firewaller",
14932     "Version": 5,
14933     "Schema": {
14934       "type": "object",
14935       "properties": {
14936         "AreManuallyProvisioned": {
14937           "type": "object",
14938           "properties": {
14939             "Params": {
14940               "$ref": "#/definitions/Entities"
14941             },
14942             "Result": {
14943               "$ref": "#/definitions/BoolResults"
14944             }
14945           }
14946         },
14947         "CloudSpec": {
14948           "type": "object",
14949           "properties": {
14950             "Params": {
14951               "$ref": "#/definitions/Entities"
14952             },
14953             "Result": {
14954               "$ref": "#/definitions/CloudSpecResults"
14955             }
14956           }
14957         },
14958         "ControllerAPIInfoForModels": {
14959           "type": "object",
14960           "properties": {
14961             "Params": {
14962               "$ref": "#/definitions/Entities"
14963             },
14964             "Result": {
14965               "$ref": "#/definitions/ControllerAPIInfoResults"
14966             }
14967           }
14968         },
14969         "ControllerConfig": {
14970           "type": "object",
14971           "properties": {
14972             "Result": {
14973               "$ref": "#/definitions/ControllerConfigResult"
14974             }
14975           }
14976         },
14977         "FirewallRules": {
14978           "type": "object",
14979           "properties": {
14980             "Params": {
14981               "$ref": "#/definitions/KnownServiceArgs"
14982             },
14983             "Result": {
14984               "$ref": "#/definitions/ListFirewallRulesResults"
14985             }
14986           }
14987         },
14988         "GetAssignedMachine": {
14989           "type": "object",
14990           "properties": {
14991             "Params": {
14992               "$ref": "#/definitions/Entities"
14993             },
14994             "Result": {
14995               "$ref": "#/definitions/StringResults"
14996             }
14997           }
14998         },
14999         "GetCloudSpec": {
15000           "type": "object",
15001           "properties": {
15002             "Params": {
15003               "$ref": "#/definitions/ModelTag"
15004             },
15005             "Result": {
15006               "$ref": "#/definitions/CloudSpecResult"
15007             }
15008           }
15009         },
15010         "GetExposed": {
15011           "type": "object",
15012           "properties": {
15013             "Params": {
15014               "$ref": "#/definitions/Entities"
15015             },
15016             "Result": {
15017               "$ref": "#/definitions/BoolResults"
15018             }
15019           }
15020         },
15021         "GetMachineActiveSubnets": {
15022           "type": "object",
15023           "properties": {
15024             "Params": {
15025               "$ref": "#/definitions/Entities"
15026             },
15027             "Result": {
15028               "$ref": "#/definitions/StringsResults"
15029             }
15030           }
15031         },
15032         "GetMachinePorts": {
15033           "type": "object",
15034           "properties": {
15035             "Params": {
15036               "$ref": "#/definitions/MachinePortsParams"
15037             },
15038             "Result": {
15039               "$ref": "#/definitions/MachinePortsResults"
15040             }
15041           }
15042         },
15043         "InstanceId": {
15044           "type": "object",
15045           "properties": {
15046             "Params": {
15047               "$ref": "#/definitions/Entities"
15048             },
15049             "Result": {
15050               "$ref": "#/definitions/StringResults"
15051             }
15052           }
15053         },
15054         "Life": {
15055           "type": "object",
15056           "properties": {
15057             "Params": {
15058               "$ref": "#/definitions/Entities"
15059             },
15060             "Result": {
15061               "$ref": "#/definitions/LifeResults"
15062             }
15063           }
15064         },
15065         "MacaroonForRelations": {
15066           "type": "object",
15067           "properties": {
15068             "Params": {
15069               "$ref": "#/definitions/Entities"
15070             },
15071             "Result": {
15072               "$ref": "#/definitions/MacaroonResults"
15073             }
15074           }
15075         },
15076         "ModelConfig": {
15077           "type": "object",
15078           "properties": {
15079             "Result": {
15080               "$ref": "#/definitions/ModelConfigResult"
15081             }
15082           }
15083         },
15084         "SetRelationsStatus": {
15085           "type": "object",
15086           "properties": {
15087             "Params": {
15088               "$ref": "#/definitions/SetStatus"
15089             },
15090             "Result": {
15091               "$ref": "#/definitions/ErrorResults"
15092             }
15093           }
15094         },
15095         "Watch": {
15096           "type": "object",
15097           "properties": {
15098             "Params": {
15099               "$ref": "#/definitions/Entities"
15100             },
15101             "Result": {
15102               "$ref": "#/definitions/NotifyWatchResults"
15103             }
15104           }
15105         },
15106         "WatchEgressAddressesForRelations": {
15107           "type": "object",
15108           "properties": {
15109             "Params": {
15110               "$ref": "#/definitions/Entities"
15111             },
15112             "Result": {
15113               "$ref": "#/definitions/StringsWatchResults"
15114             }
15115           }
15116         },
15117         "WatchForModelConfigChanges": {
15118           "type": "object",
15119           "properties": {
15120             "Result": {
15121               "$ref": "#/definitions/NotifyWatchResult"
15122             }
15123           }
15124         },
15125         "WatchIngressAddressesForRelations": {
15126           "type": "object",
15127           "properties": {
15128             "Params": {
15129               "$ref": "#/definitions/Entities"
15130             },
15131             "Result": {
15132               "$ref": "#/definitions/StringsWatchResults"
15133             }
15134           }
15135         },
15136         "WatchModelMachines": {
15137           "type": "object",
15138           "properties": {
15139             "Result": {
15140               "$ref": "#/definitions/StringsWatchResult"
15141             }
15142           }
15143         },
15144         "WatchOpenedPorts": {
15145           "type": "object",
15146           "properties": {
15147             "Params": {
15148               "$ref": "#/definitions/Entities"
15149             },
15150             "Result": {
15151               "$ref": "#/definitions/StringsWatchResults"
15152             }
15153           }
15154         },
15155         "WatchUnits": {
15156           "type": "object",
15157           "properties": {
15158             "Params": {
15159               "$ref": "#/definitions/Entities"
15160             },
15161             "Result": {
15162               "$ref": "#/definitions/StringsWatchResults"
15163             }
15164           }
15165         }
15166       },
15167       "definitions": {
15168         "BoolResult": {
15169           "type": "object",
15170           "properties": {
15171             "error": {
15172               "$ref": "#/definitions/Error"
15173             },
15174             "result": {
15175               "type": "boolean"
15176             }
15177           },
15178           "additionalProperties": false,
15179           "required": [
15180             "result"
15181           ]
15182         },
15183         "BoolResults": {
15184           "type": "object",
15185           "properties": {
15186             "results": {
15187               "type": "array",
15188               "items": {
15189                 "$ref": "#/definitions/BoolResult"
15190               }
15191             }
15192           },
15193           "additionalProperties": false,
15194           "required": [
15195             "results"
15196           ]
15197         },
15198         "CloudCredential": {
15199           "type": "object",
15200           "properties": {
15201             "attrs": {
15202               "type": "object",
15203               "patternProperties": {
15204                 ".*": {
15205                   "type": "string"
15206                 }
15207               }
15208             },
15209             "auth-type": {
15210               "type": "string"
15211             },
15212             "redacted": {
15213               "type": "array",
15214               "items": {
15215                 "type": "string"
15216               }
15217             }
15218           },
15219           "additionalProperties": false,
15220           "required": [
15221             "auth-type"
15222           ]
15223         },
15224         "CloudSpec": {
15225           "type": "object",
15226           "properties": {
15227             "cacertificates": {
15228               "type": "array",
15229               "items": {
15230                 "type": "string"
15231               }
15232             },
15233             "credential": {
15234               "$ref": "#/definitions/CloudCredential"
15235             },
15236             "endpoint": {
15237               "type": "string"
15238             },
15239             "identity-endpoint": {
15240               "type": "string"
15241             },
15242             "name": {
15243               "type": "string"
15244             },
15245             "region": {
15246               "type": "string"
15247             },
15248             "storage-endpoint": {
15249               "type": "string"
15250             },
15251             "type": {
15252               "type": "string"
15253             }
15254           },
15255           "additionalProperties": false,
15256           "required": [
15257             "type",
15258             "name"
15259           ]
15260         },
15261         "CloudSpecResult": {
15262           "type": "object",
15263           "properties": {
15264             "error": {
15265               "$ref": "#/definitions/Error"
15266             },
15267             "result": {
15268               "$ref": "#/definitions/CloudSpec"
15269             }
15270           },
15271           "additionalProperties": false
15272         },
15273         "CloudSpecResults": {
15274           "type": "object",
15275           "properties": {
15276             "results": {
15277               "type": "array",
15278               "items": {
15279                 "$ref": "#/definitions/CloudSpecResult"
15280               }
15281             }
15282           },
15283           "additionalProperties": false
15284         },
15285         "ControllerAPIInfoResult": {
15286           "type": "object",
15287           "properties": {
15288             "addresses": {
15289               "type": "array",
15290               "items": {
15291                 "type": "string"
15292               }
15293             },
15294             "cacert": {
15295               "type": "string"
15296             },
15297             "error": {
15298               "$ref": "#/definitions/Error"
15299             }
15300           },
15301           "additionalProperties": false,
15302           "required": [
15303             "addresses",
15304             "cacert"
15305           ]
15306         },
15307         "ControllerAPIInfoResults": {
15308           "type": "object",
15309           "properties": {
15310             "results": {
15311               "type": "array",
15312               "items": {
15313                 "$ref": "#/definitions/ControllerAPIInfoResult"
15314               }
15315             }
15316           },
15317           "additionalProperties": false,
15318           "required": [
15319             "results"
15320           ]
15321         },
15322         "ControllerConfigResult": {
15323           "type": "object",
15324           "properties": {
15325             "config": {
15326               "type": "object",
15327               "patternProperties": {
15328                 ".*": {
15329                   "type": "object",
15330                   "additionalProperties": true
15331                 }
15332               }
15333             }
15334           },
15335           "additionalProperties": false,
15336           "required": [
15337             "config"
15338           ]
15339         },
15340         "Entities": {
15341           "type": "object",
15342           "properties": {
15343             "entities": {
15344               "type": "array",
15345               "items": {
15346                 "$ref": "#/definitions/Entity"
15347               }
15348             }
15349           },
15350           "additionalProperties": false,
15351           "required": [
15352             "entities"
15353           ]
15354         },
15355         "Entity": {
15356           "type": "object",
15357           "properties": {
15358             "tag": {
15359               "type": "string"
15360             }
15361           },
15362           "additionalProperties": false,
15363           "required": [
15364             "tag"
15365           ]
15366         },
15367         "EntityStatusArgs": {
15368           "type": "object",
15369           "properties": {
15370             "data": {
15371               "type": "object",
15372               "patternProperties": {
15373                 ".*": {
15374                   "type": "object",
15375                   "additionalProperties": true
15376                 }
15377               }
15378             },
15379             "info": {
15380               "type": "string"
15381             },
15382             "status": {
15383               "type": "string"
15384             },
15385             "tag": {
15386               "type": "string"
15387             }
15388           },
15389           "additionalProperties": false,
15390           "required": [
15391             "tag",
15392             "status",
15393             "info",
15394             "data"
15395           ]
15396         },
15397         "Error": {
15398           "type": "object",
15399           "properties": {
15400             "code": {
15401               "type": "string"
15402             },
15403             "info": {
15404               "$ref": "#/definitions/ErrorInfo"
15405             },
15406             "message": {
15407               "type": "string"
15408             }
15409           },
15410           "additionalProperties": false,
15411           "required": [
15412             "message",
15413             "code"
15414           ]
15415         },
15416         "ErrorInfo": {
15417           "type": "object",
15418           "properties": {
15419             "macaroon": {
15420               "$ref": "#/definitions/Macaroon"
15421             },
15422             "macaroon-path": {
15423               "type": "string"
15424             }
15425           },
15426           "additionalProperties": false
15427         },
15428         "ErrorResult": {
15429           "type": "object",
15430           "properties": {
15431             "error": {
15432               "$ref": "#/definitions/Error"
15433             }
15434           },
15435           "additionalProperties": false
15436         },
15437         "ErrorResults": {
15438           "type": "object",
15439           "properties": {
15440             "results": {
15441               "type": "array",
15442               "items": {
15443                 "$ref": "#/definitions/ErrorResult"
15444               }
15445             }
15446           },
15447           "additionalProperties": false,
15448           "required": [
15449             "results"
15450           ]
15451         },
15452         "FirewallRule": {
15453           "type": "object",
15454           "properties": {
15455             "known-service": {
15456               "type": "string"
15457             },
15458             "whitelist-cidrs": {
15459               "type": "array",
15460               "items": {
15461                 "type": "string"
15462               }
15463             }
15464           },
15465           "additionalProperties": false,
15466           "required": [
15467             "known-service"
15468           ]
15469         },
15470         "KnownServiceArgs": {
15471           "type": "object",
15472           "properties": {
15473             "known-services": {
15474               "type": "array",
15475               "items": {
15476                 "type": "string"
15477               }
15478             }
15479           },
15480           "additionalProperties": false,
15481           "required": [
15482             "known-services"
15483           ]
15484         },
15485         "LifeResult": {
15486           "type": "object",
15487           "properties": {
15488             "error": {
15489               "$ref": "#/definitions/Error"
15490             },
15491             "life": {
15492               "type": "string"
15493             }
15494           },
15495           "additionalProperties": false,
15496           "required": [
15497             "life"
15498           ]
15499         },
15500         "LifeResults": {
15501           "type": "object",
15502           "properties": {
15503             "results": {
15504               "type": "array",
15505               "items": {
15506                 "$ref": "#/definitions/LifeResult"
15507               }
15508             }
15509           },
15510           "additionalProperties": false,
15511           "required": [
15512             "results"
15513           ]
15514         },
15515         "ListFirewallRulesResults": {
15516           "type": "object",
15517           "properties": {
15518             "Rules": {
15519               "type": "array",
15520               "items": {
15521                 "$ref": "#/definitions/FirewallRule"
15522               }
15523             }
15524           },
15525           "additionalProperties": false,
15526           "required": [
15527             "Rules"
15528           ]
15529         },
15530         "Macaroon": {
15531           "type": "object",
15532           "additionalProperties": false
15533         },
15534         "MacaroonResult": {
15535           "type": "object",
15536           "properties": {
15537             "error": {
15538               "$ref": "#/definitions/Error"
15539             },
15540             "result": {
15541               "$ref": "#/definitions/Macaroon"
15542             }
15543           },
15544           "additionalProperties": false
15545         },
15546         "MacaroonResults": {
15547           "type": "object",
15548           "properties": {
15549             "results": {
15550               "type": "array",
15551               "items": {
15552                 "$ref": "#/definitions/MacaroonResult"
15553               }
15554             }
15555           },
15556           "additionalProperties": false,
15557           "required": [
15558             "results"
15559           ]
15560         },
15561         "MachinePortRange": {
15562           "type": "object",
15563           "properties": {
15564             "port-range": {
15565               "$ref": "#/definitions/PortRange"
15566             },
15567             "relation-tag": {
15568               "type": "string"
15569             },
15570             "unit-tag": {
15571               "type": "string"
15572             }
15573           },
15574           "additionalProperties": false,
15575           "required": [
15576             "unit-tag",
15577             "relation-tag",
15578             "port-range"
15579           ]
15580         },
15581         "MachinePorts": {
15582           "type": "object",
15583           "properties": {
15584             "machine-tag": {
15585               "type": "string"
15586             },
15587             "subnet-tag": {
15588               "type": "string"
15589             }
15590           },
15591           "additionalProperties": false,
15592           "required": [
15593             "machine-tag",
15594             "subnet-tag"
15595           ]
15596         },
15597         "MachinePortsParams": {
15598           "type": "object",
15599           "properties": {
15600             "params": {
15601               "type": "array",
15602               "items": {
15603                 "$ref": "#/definitions/MachinePorts"
15604               }
15605             }
15606           },
15607           "additionalProperties": false,
15608           "required": [
15609             "params"
15610           ]
15611         },
15612         "MachinePortsResult": {
15613           "type": "object",
15614           "properties": {
15615             "error": {
15616               "$ref": "#/definitions/Error"
15617             },
15618             "ports": {
15619               "type": "array",
15620               "items": {
15621                 "$ref": "#/definitions/MachinePortRange"
15622               }
15623             }
15624           },
15625           "additionalProperties": false,
15626           "required": [
15627             "ports"
15628           ]
15629         },
15630         "MachinePortsResults": {
15631           "type": "object",
15632           "properties": {
15633             "results": {
15634               "type": "array",
15635               "items": {
15636                 "$ref": "#/definitions/MachinePortsResult"
15637               }
15638             }
15639           },
15640           "additionalProperties": false,
15641           "required": [
15642             "results"
15643           ]
15644         },
15645         "ModelConfigResult": {
15646           "type": "object",
15647           "properties": {
15648             "config": {
15649               "type": "object",
15650               "patternProperties": {
15651                 ".*": {
15652                   "type": "object",
15653                   "additionalProperties": true
15654                 }
15655               }
15656             }
15657           },
15658           "additionalProperties": false,
15659           "required": [
15660             "config"
15661           ]
15662         },
15663         "ModelTag": {
15664           "type": "object",
15665           "additionalProperties": false
15666         },
15667         "NotifyWatchResult": {
15668           "type": "object",
15669           "properties": {
15670             "NotifyWatcherId": {
15671               "type": "string"
15672             },
15673             "error": {
15674               "$ref": "#/definitions/Error"
15675             }
15676           },
15677           "additionalProperties": false,
15678           "required": [
15679             "NotifyWatcherId"
15680           ]
15681         },
15682         "NotifyWatchResults": {
15683           "type": "object",
15684           "properties": {
15685             "results": {
15686               "type": "array",
15687               "items": {
15688                 "$ref": "#/definitions/NotifyWatchResult"
15689               }
15690             }
15691           },
15692           "additionalProperties": false,
15693           "required": [
15694             "results"
15695           ]
15696         },
15697         "PortRange": {
15698           "type": "object",
15699           "properties": {
15700             "from-port": {
15701               "type": "integer"
15702             },
15703             "protocol": {
15704               "type": "string"
15705             },
15706             "to-port": {
15707               "type": "integer"
15708             }
15709           },
15710           "additionalProperties": false,
15711           "required": [
15712             "from-port",
15713             "to-port",
15714             "protocol"
15715           ]
15716         },
15717         "SetStatus": {
15718           "type": "object",
15719           "properties": {
15720             "entities": {
15721               "type": "array",
15722               "items": {
15723                 "$ref": "#/definitions/EntityStatusArgs"
15724               }
15725             }
15726           },
15727           "additionalProperties": false,
15728           "required": [
15729             "entities"
15730           ]
15731         },
15732         "StringResult": {
15733           "type": "object",
15734           "properties": {
15735             "error": {
15736               "$ref": "#/definitions/Error"
15737             },
15738             "result": {
15739               "type": "string"
15740             }
15741           },
15742           "additionalProperties": false,
15743           "required": [
15744             "result"
15745           ]
15746         },
15747         "StringResults": {
15748           "type": "object",
15749           "properties": {
15750             "results": {
15751               "type": "array",
15752               "items": {
15753                 "$ref": "#/definitions/StringResult"
15754               }
15755             }
15756           },
15757           "additionalProperties": false,
15758           "required": [
15759             "results"
15760           ]
15761         },
15762         "StringsResult": {
15763           "type": "object",
15764           "properties": {
15765             "error": {
15766               "$ref": "#/definitions/Error"
15767             },
15768             "result": {
15769               "type": "array",
15770               "items": {
15771                 "type": "string"
15772               }
15773             }
15774           },
15775           "additionalProperties": false
15776         },
15777         "StringsResults": {
15778           "type": "object",
15779           "properties": {
15780             "results": {
15781               "type": "array",
15782               "items": {
15783                 "$ref": "#/definitions/StringsResult"
15784               }
15785             }
15786           },
15787           "additionalProperties": false,
15788           "required": [
15789             "results"
15790           ]
15791         },
15792         "StringsWatchResult": {
15793           "type": "object",
15794           "properties": {
15795             "changes": {
15796               "type": "array",
15797               "items": {
15798                 "type": "string"
15799               }
15800             },
15801             "error": {
15802               "$ref": "#/definitions/Error"
15803             },
15804             "watcher-id": {
15805               "type": "string"
15806             }
15807           },
15808           "additionalProperties": false,
15809           "required": [
15810             "watcher-id"
15811           ]
15812         },
15813         "StringsWatchResults": {
15814           "type": "object",
15815           "properties": {
15816             "results": {
15817               "type": "array",
15818               "items": {
15819                 "$ref": "#/definitions/StringsWatchResult"
15820               }
15821             }
15822           },
15823           "additionalProperties": false,
15824           "required": [
15825             "results"
15826           ]
15827         }
15828       }
15829     }
15830   },
15831   {
15832     "Name": "HighAvailability",
15833     "Version": 2,
15834     "Schema": {
15835       "type": "object",
15836       "properties": {
15837         "EnableHA": {
15838           "type": "object",
15839           "properties": {
15840             "Params": {
15841               "$ref": "#/definitions/ControllersSpecs"
15842             },
15843             "Result": {
15844               "$ref": "#/definitions/ControllersChangeResults"
15845             }
15846           }
15847         },
15848         "ResumeHAReplicationAfterUpgrade": {
15849           "type": "object",
15850           "properties": {
15851             "Params": {
15852               "$ref": "#/definitions/ResumeReplicationParams"
15853             }
15854           }
15855         },
15856         "StopHAReplicationForUpgrade": {
15857           "type": "object",
15858           "properties": {
15859             "Params": {
15860               "$ref": "#/definitions/UpgradeMongoParams"
15861             },
15862             "Result": {
15863               "$ref": "#/definitions/MongoUpgradeResults"
15864             }
15865           }
15866         }
15867       },
15868       "definitions": {
15869         "Address": {
15870           "type": "object",
15871           "properties": {
15872             "Scope": {
15873               "type": "string"
15874             },
15875             "SpaceName": {
15876               "type": "string"
15877             },
15878             "SpaceProviderId": {
15879               "type": "string"
15880             },
15881             "Type": {
15882               "type": "string"
15883             },
15884             "Value": {
15885               "type": "string"
15886             }
15887           },
15888           "additionalProperties": false,
15889           "required": [
15890             "Value",
15891             "Type",
15892             "Scope",
15893             "SpaceName",
15894             "SpaceProviderId"
15895           ]
15896         },
15897         "ControllersChangeResult": {
15898           "type": "object",
15899           "properties": {
15900             "error": {
15901               "$ref": "#/definitions/Error"
15902             },
15903             "result": {
15904               "$ref": "#/definitions/ControllersChanges"
15905             }
15906           },
15907           "additionalProperties": false,
15908           "required": [
15909             "result"
15910           ]
15911         },
15912         "ControllersChangeResults": {
15913           "type": "object",
15914           "properties": {
15915             "results": {
15916               "type": "array",
15917               "items": {
15918                 "$ref": "#/definitions/ControllersChangeResult"
15919               }
15920             }
15921           },
15922           "additionalProperties": false,
15923           "required": [
15924             "results"
15925           ]
15926         },
15927         "ControllersChanges": {
15928           "type": "object",
15929           "properties": {
15930             "added": {
15931               "type": "array",
15932               "items": {
15933                 "type": "string"
15934               }
15935             },
15936             "converted": {
15937               "type": "array",
15938               "items": {
15939                 "type": "string"
15940               }
15941             },
15942             "demoted": {
15943               "type": "array",
15944               "items": {
15945                 "type": "string"
15946               }
15947             },
15948             "maintained": {
15949               "type": "array",
15950               "items": {
15951                 "type": "string"
15952               }
15953             },
15954             "promoted": {
15955               "type": "array",
15956               "items": {
15957                 "type": "string"
15958               }
15959             },
15960             "removed": {
15961               "type": "array",
15962               "items": {
15963                 "type": "string"
15964               }
15965             }
15966           },
15967           "additionalProperties": false
15968         },
15969         "ControllersSpec": {
15970           "type": "object",
15971           "properties": {
15972             "constraints": {
15973               "$ref": "#/definitions/Value"
15974             },
15975             "num-controllers": {
15976               "type": "integer"
15977             },
15978             "placement": {
15979               "type": "array",
15980               "items": {
15981                 "type": "string"
15982               }
15983             },
15984             "series": {
15985               "type": "string"
15986             }
15987           },
15988           "additionalProperties": false,
15989           "required": [
15990             "num-controllers"
15991           ]
15992         },
15993         "ControllersSpecs": {
15994           "type": "object",
15995           "properties": {
15996             "specs": {
15997               "type": "array",
15998               "items": {
15999                 "$ref": "#/definitions/ControllersSpec"
16000               }
16001             }
16002           },
16003           "additionalProperties": false,
16004           "required": [
16005             "specs"
16006           ]
16007         },
16008         "Error": {
16009           "type": "object",
16010           "properties": {
16011             "code": {
16012               "type": "string"
16013             },
16014             "info": {
16015               "$ref": "#/definitions/ErrorInfo"
16016             },
16017             "message": {
16018               "type": "string"
16019             }
16020           },
16021           "additionalProperties": false,
16022           "required": [
16023             "message",
16024             "code"
16025           ]
16026         },
16027         "ErrorInfo": {
16028           "type": "object",
16029           "properties": {
16030             "macaroon": {
16031               "$ref": "#/definitions/Macaroon"
16032             },
16033             "macaroon-path": {
16034               "type": "string"
16035             }
16036           },
16037           "additionalProperties": false
16038         },
16039         "HAMember": {
16040           "type": "object",
16041           "properties": {
16042             "public-address": {
16043               "$ref": "#/definitions/Address"
16044             },
16045             "series": {
16046               "type": "string"
16047             },
16048             "tag": {
16049               "type": "string"
16050             }
16051           },
16052           "additionalProperties": false,
16053           "required": [
16054             "tag",
16055             "public-address",
16056             "series"
16057           ]
16058         },
16059         "Macaroon": {
16060           "type": "object",
16061           "additionalProperties": false
16062         },
16063         "Member": {
16064           "type": "object",
16065           "properties": {
16066             "Address": {
16067               "type": "string"
16068             },
16069             "Id": {
16070               "type": "integer"
16071             },
16072             "Priority": {
16073               "type": "number"
16074             },
16075             "Tags": {
16076               "type": "object",
16077               "patternProperties": {
16078                 ".*": {
16079                   "type": "string"
16080                 }
16081               }
16082             },
16083             "Votes": {
16084               "type": "integer"
16085             }
16086           },
16087           "additionalProperties": false,
16088           "required": [
16089             "Id",
16090             "Address",
16091             "Priority",
16092             "Tags",
16093             "Votes"
16094           ]
16095         },
16096         "MongoUpgradeResults": {
16097           "type": "object",
16098           "properties": {
16099             "ha-members": {
16100               "type": "array",
16101               "items": {
16102                 "$ref": "#/definitions/HAMember"
16103               }
16104             },
16105             "master": {
16106               "$ref": "#/definitions/HAMember"
16107             },
16108             "rs-members": {
16109               "type": "array",
16110               "items": {
16111                 "$ref": "#/definitions/Member"
16112               }
16113             }
16114           },
16115           "additionalProperties": false,
16116           "required": [
16117             "rs-members",
16118             "master",
16119             "ha-members"
16120           ]
16121         },
16122         "MongoVersion": {
16123           "type": "object",
16124           "properties": {
16125             "engine": {
16126               "type": "string"
16127             },
16128             "major": {
16129               "type": "integer"
16130             },
16131             "minor": {
16132               "type": "integer"
16133             },
16134             "patch": {
16135               "type": "string"
16136             }
16137           },
16138           "additionalProperties": false,
16139           "required": [
16140             "major",
16141             "minor",
16142             "patch",
16143             "engine"
16144           ]
16145         },
16146         "ResumeReplicationParams": {
16147           "type": "object",
16148           "properties": {
16149             "members": {
16150               "type": "array",
16151               "items": {
16152                 "$ref": "#/definitions/Member"
16153               }
16154             }
16155           },
16156           "additionalProperties": false,
16157           "required": [
16158             "members"
16159           ]
16160         },
16161         "UpgradeMongoParams": {
16162           "type": "object",
16163           "properties": {
16164             "target": {
16165               "$ref": "#/definitions/MongoVersion"
16166             }
16167           },
16168           "additionalProperties": false,
16169           "required": [
16170             "target"
16171           ]
16172         },
16173         "Value": {
16174           "type": "object",
16175           "properties": {
16176             "arch": {
16177               "type": "string"
16178             },
16179             "container": {
16180               "type": "string"
16181             },
16182             "cores": {
16183               "type": "integer"
16184             },
16185             "cpu-power": {
16186               "type": "integer"
16187             },
16188             "instance-type": {
16189               "type": "string"
16190             },
16191             "mem": {
16192               "type": "integer"
16193             },
16194             "root-disk": {
16195               "type": "integer"
16196             },
16197             "spaces": {
16198               "type": "array",
16199               "items": {
16200                 "type": "string"
16201               }
16202             },
16203             "tags": {
16204               "type": "array",
16205               "items": {
16206                 "type": "string"
16207               }
16208             },
16209             "virt-type": {
16210               "type": "string"
16211             },
16212             "zones": {
16213               "type": "array",
16214               "items": {
16215                 "type": "string"
16216               }
16217             }
16218           },
16219           "additionalProperties": false
16220         }
16221       }
16222     }
16223   },
16224   {
16225     "Name": "HostKeyReporter",
16226     "Version": 1,
16227     "Schema": {
16228       "type": "object",
16229       "properties": {
16230         "ReportKeys": {
16231           "type": "object",
16232           "properties": {
16233             "Params": {
16234               "$ref": "#/definitions/SSHHostKeySet"
16235             },
16236             "Result": {
16237               "$ref": "#/definitions/ErrorResults"
16238             }
16239           }
16240         }
16241       },
16242       "definitions": {
16243         "Error": {
16244           "type": "object",
16245           "properties": {
16246             "code": {
16247               "type": "string"
16248             },
16249             "info": {
16250               "$ref": "#/definitions/ErrorInfo"
16251             },
16252             "message": {
16253               "type": "string"
16254             }
16255           },
16256           "additionalProperties": false,
16257           "required": [
16258             "message",
16259             "code"
16260           ]
16261         },
16262         "ErrorInfo": {
16263           "type": "object",
16264           "properties": {
16265             "macaroon": {
16266               "$ref": "#/definitions/Macaroon"
16267             },
16268             "macaroon-path": {
16269               "type": "string"
16270             }
16271           },
16272           "additionalProperties": false
16273         },
16274         "ErrorResult": {
16275           "type": "object",
16276           "properties": {
16277             "error": {
16278               "$ref": "#/definitions/Error"
16279             }
16280           },
16281           "additionalProperties": false
16282         },
16283         "ErrorResults": {
16284           "type": "object",
16285           "properties": {
16286             "results": {
16287               "type": "array",
16288               "items": {
16289                 "$ref": "#/definitions/ErrorResult"
16290               }
16291             }
16292           },
16293           "additionalProperties": false,
16294           "required": [
16295             "results"
16296           ]
16297         },
16298         "Macaroon": {
16299           "type": "object",
16300           "additionalProperties": false
16301         },
16302         "SSHHostKeySet": {
16303           "type": "object",
16304           "properties": {
16305             "entity-keys": {
16306               "type": "array",
16307               "items": {
16308                 "$ref": "#/definitions/SSHHostKeys"
16309               }
16310             }
16311           },
16312           "additionalProperties": false,
16313           "required": [
16314             "entity-keys"
16315           ]
16316         },
16317         "SSHHostKeys": {
16318           "type": "object",
16319           "properties": {
16320             "public-keys": {
16321               "type": "array",
16322               "items": {
16323                 "type": "string"
16324               }
16325             },
16326             "tag": {
16327               "type": "string"
16328             }
16329           },
16330           "additionalProperties": false,
16331           "required": [
16332             "tag",
16333             "public-keys"
16334           ]
16335         }
16336       }
16337     }
16338   },
16339   {
16340     "Name": "ImageManager",
16341     "Version": 2,
16342     "Schema": {
16343       "type": "object",
16344       "properties": {
16345         "DeleteImages": {
16346           "type": "object",
16347           "properties": {
16348             "Params": {
16349               "$ref": "#/definitions/ImageFilterParams"
16350             },
16351             "Result": {
16352               "$ref": "#/definitions/ErrorResults"
16353             }
16354           }
16355         },
16356         "ListImages": {
16357           "type": "object",
16358           "properties": {
16359             "Params": {
16360               "$ref": "#/definitions/ImageFilterParams"
16361             },
16362             "Result": {
16363               "$ref": "#/definitions/ListImageResult"
16364             }
16365           }
16366         }
16367       },
16368       "definitions": {
16369         "Error": {
16370           "type": "object",
16371           "properties": {
16372             "code": {
16373               "type": "string"
16374             },
16375             "info": {
16376               "$ref": "#/definitions/ErrorInfo"
16377             },
16378             "message": {
16379               "type": "string"
16380             }
16381           },
16382           "additionalProperties": false,
16383           "required": [
16384             "message",
16385             "code"
16386           ]
16387         },
16388         "ErrorInfo": {
16389           "type": "object",
16390           "properties": {
16391             "macaroon": {
16392               "$ref": "#/definitions/Macaroon"
16393             },
16394             "macaroon-path": {
16395               "type": "string"
16396             }
16397           },
16398           "additionalProperties": false
16399         },
16400         "ErrorResult": {
16401           "type": "object",
16402           "properties": {
16403             "error": {
16404               "$ref": "#/definitions/Error"
16405             }
16406           },
16407           "additionalProperties": false
16408         },
16409         "ErrorResults": {
16410           "type": "object",
16411           "properties": {
16412             "results": {
16413               "type": "array",
16414               "items": {
16415                 "$ref": "#/definitions/ErrorResult"
16416               }
16417             }
16418           },
16419           "additionalProperties": false,
16420           "required": [
16421             "results"
16422           ]
16423         },
16424         "ImageFilterParams": {
16425           "type": "object",
16426           "properties": {
16427             "images": {
16428               "type": "array",
16429               "items": {
16430                 "$ref": "#/definitions/ImageSpec"
16431               }
16432             }
16433           },
16434           "additionalProperties": false,
16435           "required": [
16436             "images"
16437           ]
16438         },
16439         "ImageMetadata": {
16440           "type": "object",
16441           "properties": {
16442             "arch": {
16443               "type": "string"
16444             },
16445             "created": {
16446               "type": "string",
16447               "format": "date-time"
16448             },
16449             "kind": {
16450               "type": "string"
16451             },
16452             "series": {
16453               "type": "string"
16454             },
16455             "url": {
16456               "type": "string"
16457             }
16458           },
16459           "additionalProperties": false,
16460           "required": [
16461             "kind",
16462             "arch",
16463             "series",
16464             "url",
16465             "created"
16466           ]
16467         },
16468         "ImageSpec": {
16469           "type": "object",
16470           "properties": {
16471             "arch": {
16472               "type": "string"
16473             },
16474             "kind": {
16475               "type": "string"
16476             },
16477             "series": {
16478               "type": "string"
16479             }
16480           },
16481           "additionalProperties": false,
16482           "required": [
16483             "kind",
16484             "arch",
16485             "series"
16486           ]
16487         },
16488         "ListImageResult": {
16489           "type": "object",
16490           "properties": {
16491             "result": {
16492               "type": "array",
16493               "items": {
16494                 "$ref": "#/definitions/ImageMetadata"
16495               }
16496             }
16497           },
16498           "additionalProperties": false,
16499           "required": [
16500             "result"
16501           ]
16502         },
16503         "Macaroon": {
16504           "type": "object",
16505           "additionalProperties": false
16506         }
16507       }
16508     }
16509   },
16510   {
16511     "Name": "ImageMetadata",
16512     "Version": 3,
16513     "Schema": {
16514       "type": "object",
16515       "properties": {
16516         "UpdateFromPublishedImages": {
16517           "type": "object"
16518         }
16519       }
16520     }
16521   },
16522   {
16523     "Name": "InstancePoller",
16524     "Version": 3,
16525     "Schema": {
16526       "type": "object",
16527       "properties": {
16528         "AreManuallyProvisioned": {
16529           "type": "object",
16530           "properties": {
16531             "Params": {
16532               "$ref": "#/definitions/Entities"
16533             },
16534             "Result": {
16535               "$ref": "#/definitions/BoolResults"
16536             }
16537           }
16538         },
16539         "InstanceId": {
16540           "type": "object",
16541           "properties": {
16542             "Params": {
16543               "$ref": "#/definitions/Entities"
16544             },
16545             "Result": {
16546               "$ref": "#/definitions/StringResults"
16547             }
16548           }
16549         },
16550         "InstanceStatus": {
16551           "type": "object",
16552           "properties": {
16553             "Params": {
16554               "$ref": "#/definitions/Entities"
16555             },
16556             "Result": {
16557               "$ref": "#/definitions/StatusResults"
16558             }
16559           }
16560         },
16561         "Life": {
16562           "type": "object",
16563           "properties": {
16564             "Params": {
16565               "$ref": "#/definitions/Entities"
16566             },
16567             "Result": {
16568               "$ref": "#/definitions/LifeResults"
16569             }
16570           }
16571         },
16572         "ModelConfig": {
16573           "type": "object",
16574           "properties": {
16575             "Result": {
16576               "$ref": "#/definitions/ModelConfigResult"
16577             }
16578           }
16579         },
16580         "ProviderAddresses": {
16581           "type": "object",
16582           "properties": {
16583             "Params": {
16584               "$ref": "#/definitions/Entities"
16585             },
16586             "Result": {
16587               "$ref": "#/definitions/MachineAddressesResults"
16588             }
16589           }
16590         },
16591         "SetInstanceStatus": {
16592           "type": "object",
16593           "properties": {
16594             "Params": {
16595               "$ref": "#/definitions/SetStatus"
16596             },
16597             "Result": {
16598               "$ref": "#/definitions/ErrorResults"
16599             }
16600           }
16601         },
16602         "SetProviderAddresses": {
16603           "type": "object",
16604           "properties": {
16605             "Params": {
16606               "$ref": "#/definitions/SetMachinesAddresses"
16607             },
16608             "Result": {
16609               "$ref": "#/definitions/ErrorResults"
16610             }
16611           }
16612         },
16613         "Status": {
16614           "type": "object",
16615           "properties": {
16616             "Params": {
16617               "$ref": "#/definitions/Entities"
16618             },
16619             "Result": {
16620               "$ref": "#/definitions/StatusResults"
16621             }
16622           }
16623         },
16624         "WatchForModelConfigChanges": {
16625           "type": "object",
16626           "properties": {
16627             "Result": {
16628               "$ref": "#/definitions/NotifyWatchResult"
16629             }
16630           }
16631         },
16632         "WatchModelMachines": {
16633           "type": "object",
16634           "properties": {
16635             "Result": {
16636               "$ref": "#/definitions/StringsWatchResult"
16637             }
16638           }
16639         }
16640       },
16641       "definitions": {
16642         "Address": {
16643           "type": "object",
16644           "properties": {
16645             "scope": {
16646               "type": "string"
16647             },
16648             "space-name": {
16649               "type": "string"
16650             },
16651             "type": {
16652               "type": "string"
16653             },
16654             "value": {
16655               "type": "string"
16656             }
16657           },
16658           "additionalProperties": false,
16659           "required": [
16660             "value",
16661             "type",
16662             "scope"
16663           ]
16664         },
16665         "BoolResult": {
16666           "type": "object",
16667           "properties": {
16668             "error": {
16669               "$ref": "#/definitions/Error"
16670             },
16671             "result": {
16672               "type": "boolean"
16673             }
16674           },
16675           "additionalProperties": false,
16676           "required": [
16677             "result"
16678           ]
16679         },
16680         "BoolResults": {
16681           "type": "object",
16682           "properties": {
16683             "results": {
16684               "type": "array",
16685               "items": {
16686                 "$ref": "#/definitions/BoolResult"
16687               }
16688             }
16689           },
16690           "additionalProperties": false,
16691           "required": [
16692             "results"
16693           ]
16694         },
16695         "Entities": {
16696           "type": "object",
16697           "properties": {
16698             "entities": {
16699               "type": "array",
16700               "items": {
16701                 "$ref": "#/definitions/Entity"
16702               }
16703             }
16704           },
16705           "additionalProperties": false,
16706           "required": [
16707             "entities"
16708           ]
16709         },
16710         "Entity": {
16711           "type": "object",
16712           "properties": {
16713             "tag": {
16714               "type": "string"
16715             }
16716           },
16717           "additionalProperties": false,
16718           "required": [
16719             "tag"
16720           ]
16721         },
16722         "EntityStatusArgs": {
16723           "type": "object",
16724           "properties": {
16725             "data": {
16726               "type": "object",
16727               "patternProperties": {
16728                 ".*": {
16729                   "type": "object",
16730                   "additionalProperties": true
16731                 }
16732               }
16733             },
16734             "info": {
16735               "type": "string"
16736             },
16737             "status": {
16738               "type": "string"
16739             },
16740             "tag": {
16741               "type": "string"
16742             }
16743           },
16744           "additionalProperties": false,
16745           "required": [
16746             "tag",
16747             "status",
16748             "info",
16749             "data"
16750           ]
16751         },
16752         "Error": {
16753           "type": "object",
16754           "properties": {
16755             "code": {
16756               "type": "string"
16757             },
16758             "info": {
16759               "$ref": "#/definitions/ErrorInfo"
16760             },
16761             "message": {
16762               "type": "string"
16763             }
16764           },
16765           "additionalProperties": false,
16766           "required": [
16767             "message",
16768             "code"
16769           ]
16770         },
16771         "ErrorInfo": {
16772           "type": "object",
16773           "properties": {
16774             "macaroon": {
16775               "$ref": "#/definitions/Macaroon"
16776             },
16777             "macaroon-path": {
16778               "type": "string"
16779             }
16780           },
16781           "additionalProperties": false
16782         },
16783         "ErrorResult": {
16784           "type": "object",
16785           "properties": {
16786             "error": {
16787               "$ref": "#/definitions/Error"
16788             }
16789           },
16790           "additionalProperties": false
16791         },
16792         "ErrorResults": {
16793           "type": "object",
16794           "properties": {
16795             "results": {
16796               "type": "array",
16797               "items": {
16798                 "$ref": "#/definitions/ErrorResult"
16799               }
16800             }
16801           },
16802           "additionalProperties": false,
16803           "required": [
16804             "results"
16805           ]
16806         },
16807         "LifeResult": {
16808           "type": "object",
16809           "properties": {
16810             "error": {
16811               "$ref": "#/definitions/Error"
16812             },
16813             "life": {
16814               "type": "string"
16815             }
16816           },
16817           "additionalProperties": false,
16818           "required": [
16819             "life"
16820           ]
16821         },
16822         "LifeResults": {
16823           "type": "object",
16824           "properties": {
16825             "results": {
16826               "type": "array",
16827               "items": {
16828                 "$ref": "#/definitions/LifeResult"
16829               }
16830             }
16831           },
16832           "additionalProperties": false,
16833           "required": [
16834             "results"
16835           ]
16836         },
16837         "Macaroon": {
16838           "type": "object",
16839           "additionalProperties": false
16840         },
16841         "MachineAddresses": {
16842           "type": "object",
16843           "properties": {
16844             "addresses": {
16845               "type": "array",
16846               "items": {
16847                 "$ref": "#/definitions/Address"
16848               }
16849             },
16850             "tag": {
16851               "type": "string"
16852             }
16853           },
16854           "additionalProperties": false,
16855           "required": [
16856             "tag",
16857             "addresses"
16858           ]
16859         },
16860         "MachineAddressesResult": {
16861           "type": "object",
16862           "properties": {
16863             "addresses": {
16864               "type": "array",
16865               "items": {
16866                 "$ref": "#/definitions/Address"
16867               }
16868             },
16869             "error": {
16870               "$ref": "#/definitions/Error"
16871             }
16872           },
16873           "additionalProperties": false,
16874           "required": [
16875             "addresses"
16876           ]
16877         },
16878         "MachineAddressesResults": {
16879           "type": "object",
16880           "properties": {
16881             "results": {
16882               "type": "array",
16883               "items": {
16884                 "$ref": "#/definitions/MachineAddressesResult"
16885               }
16886             }
16887           },
16888           "additionalProperties": false,
16889           "required": [
16890             "results"
16891           ]
16892         },
16893         "ModelConfigResult": {
16894           "type": "object",
16895           "properties": {
16896             "config": {
16897               "type": "object",
16898               "patternProperties": {
16899                 ".*": {
16900                   "type": "object",
16901                   "additionalProperties": true
16902                 }
16903               }
16904             }
16905           },
16906           "additionalProperties": false,
16907           "required": [
16908             "config"
16909           ]
16910         },
16911         "NotifyWatchResult": {
16912           "type": "object",
16913           "properties": {
16914             "NotifyWatcherId": {
16915               "type": "string"
16916             },
16917             "error": {
16918               "$ref": "#/definitions/Error"
16919             }
16920           },
16921           "additionalProperties": false,
16922           "required": [
16923             "NotifyWatcherId"
16924           ]
16925         },
16926         "SetMachinesAddresses": {
16927           "type": "object",
16928           "properties": {
16929             "machine-addresses": {
16930               "type": "array",
16931               "items": {
16932                 "$ref": "#/definitions/MachineAddresses"
16933               }
16934             }
16935           },
16936           "additionalProperties": false,
16937           "required": [
16938             "machine-addresses"
16939           ]
16940         },
16941         "SetStatus": {
16942           "type": "object",
16943           "properties": {
16944             "entities": {
16945               "type": "array",
16946               "items": {
16947                 "$ref": "#/definitions/EntityStatusArgs"
16948               }
16949             }
16950           },
16951           "additionalProperties": false,
16952           "required": [
16953             "entities"
16954           ]
16955         },
16956         "StatusResult": {
16957           "type": "object",
16958           "properties": {
16959             "data": {
16960               "type": "object",
16961               "patternProperties": {
16962                 ".*": {
16963                   "type": "object",
16964                   "additionalProperties": true
16965                 }
16966               }
16967             },
16968             "error": {
16969               "$ref": "#/definitions/Error"
16970             },
16971             "id": {
16972               "type": "string"
16973             },
16974             "info": {
16975               "type": "string"
16976             },
16977             "life": {
16978               "type": "string"
16979             },
16980             "since": {
16981               "type": "string",
16982               "format": "date-time"
16983             },
16984             "status": {
16985               "type": "string"
16986             }
16987           },
16988           "additionalProperties": false,
16989           "required": [
16990             "id",
16991             "life",
16992             "status",
16993             "info",
16994             "data",
16995             "since"
16996           ]
16997         },
16998         "StatusResults": {
16999           "type": "object",
17000           "properties": {
17001             "results": {
17002               "type": "array",
17003               "items": {
17004                 "$ref": "#/definitions/StatusResult"
17005               }
17006             }
17007           },
17008           "additionalProperties": false,
17009           "required": [
17010             "results"
17011           ]
17012         },
17013         "StringResult": {
17014           "type": "object",
17015           "properties": {
17016             "error": {
17017               "$ref": "#/definitions/Error"
17018             },
17019             "result": {
17020               "type": "string"
17021             }
17022           },
17023           "additionalProperties": false,
17024           "required": [
17025             "result"
17026           ]
17027         },
17028         "StringResults": {
17029           "type": "object",
17030           "properties": {
17031             "results": {
17032               "type": "array",
17033               "items": {
17034                 "$ref": "#/definitions/StringResult"
17035               }
17036             }
17037           },
17038           "additionalProperties": false,
17039           "required": [
17040             "results"
17041           ]
17042         },
17043         "StringsWatchResult": {
17044           "type": "object",
17045           "properties": {
17046             "changes": {
17047               "type": "array",
17048               "items": {
17049                 "type": "string"
17050               }
17051             },
17052             "error": {
17053               "$ref": "#/definitions/Error"
17054             },
17055             "watcher-id": {
17056               "type": "string"
17057             }
17058           },
17059           "additionalProperties": false,
17060           "required": [
17061             "watcher-id"
17062           ]
17063         }
17064       }
17065     }
17066   },
17067   {
17068     "Name": "KeyManager",
17069     "Version": 1,
17070     "Schema": {
17071       "type": "object",
17072       "properties": {
17073         "AddKeys": {
17074           "type": "object",
17075           "properties": {
17076             "Params": {
17077               "$ref": "#/definitions/ModifyUserSSHKeys"
17078             },
17079             "Result": {
17080               "$ref": "#/definitions/ErrorResults"
17081             }
17082           }
17083         },
17084         "DeleteKeys": {
17085           "type": "object",
17086           "properties": {
17087             "Params": {
17088               "$ref": "#/definitions/ModifyUserSSHKeys"
17089             },
17090             "Result": {
17091               "$ref": "#/definitions/ErrorResults"
17092             }
17093           }
17094         },
17095         "ImportKeys": {
17096           "type": "object",
17097           "properties": {
17098             "Params": {
17099               "$ref": "#/definitions/ModifyUserSSHKeys"
17100             },
17101             "Result": {
17102               "$ref": "#/definitions/ErrorResults"
17103             }
17104           }
17105         },
17106         "ListKeys": {
17107           "type": "object",
17108           "properties": {
17109             "Params": {
17110               "$ref": "#/definitions/ListSSHKeys"
17111             },
17112             "Result": {
17113               "$ref": "#/definitions/StringsResults"
17114             }
17115           }
17116         }
17117       },
17118       "definitions": {
17119         "Entities": {
17120           "type": "object",
17121           "properties": {
17122             "entities": {
17123               "type": "array",
17124               "items": {
17125                 "$ref": "#/definitions/Entity"
17126               }
17127             }
17128           },
17129           "additionalProperties": false,
17130           "required": [
17131             "entities"
17132           ]
17133         },
17134         "Entity": {
17135           "type": "object",
17136           "properties": {
17137             "tag": {
17138               "type": "string"
17139             }
17140           },
17141           "additionalProperties": false,
17142           "required": [
17143             "tag"
17144           ]
17145         },
17146         "Error": {
17147           "type": "object",
17148           "properties": {
17149             "code": {
17150               "type": "string"
17151             },
17152             "info": {
17153               "$ref": "#/definitions/ErrorInfo"
17154             },
17155             "message": {
17156               "type": "string"
17157             }
17158           },
17159           "additionalProperties": false,
17160           "required": [
17161             "message",
17162             "code"
17163           ]
17164         },
17165         "ErrorInfo": {
17166           "type": "object",
17167           "properties": {
17168             "macaroon": {
17169               "$ref": "#/definitions/Macaroon"
17170             },
17171             "macaroon-path": {
17172               "type": "string"
17173             }
17174           },
17175           "additionalProperties": false
17176         },
17177         "ErrorResult": {
17178           "type": "object",
17179           "properties": {
17180             "error": {
17181               "$ref": "#/definitions/Error"
17182             }
17183           },
17184           "additionalProperties": false
17185         },
17186         "ErrorResults": {
17187           "type": "object",
17188           "properties": {
17189             "results": {
17190               "type": "array",
17191               "items": {
17192                 "$ref": "#/definitions/ErrorResult"
17193               }
17194             }
17195           },
17196           "additionalProperties": false,
17197           "required": [
17198             "results"
17199           ]
17200         },
17201         "ListSSHKeys": {
17202           "type": "object",
17203           "properties": {
17204             "entities": {
17205               "$ref": "#/definitions/Entities"
17206             },
17207             "mode": {
17208               "type": "boolean"
17209             }
17210           },
17211           "additionalProperties": false,
17212           "required": [
17213             "entities",
17214             "mode"
17215           ]
17216         },
17217         "Macaroon": {
17218           "type": "object",
17219           "additionalProperties": false
17220         },
17221         "ModifyUserSSHKeys": {
17222           "type": "object",
17223           "properties": {
17224             "ssh-keys": {
17225               "type": "array",
17226               "items": {
17227                 "type": "string"
17228               }
17229             },
17230             "user": {
17231               "type": "string"
17232             }
17233           },
17234           "additionalProperties": false,
17235           "required": [
17236             "user",
17237             "ssh-keys"
17238           ]
17239         },
17240         "StringsResult": {
17241           "type": "object",
17242           "properties": {
17243             "error": {
17244               "$ref": "#/definitions/Error"
17245             },
17246             "result": {
17247               "type": "array",
17248               "items": {
17249                 "type": "string"
17250               }
17251             }
17252           },
17253           "additionalProperties": false
17254         },
17255         "StringsResults": {
17256           "type": "object",
17257           "properties": {
17258             "results": {
17259               "type": "array",
17260               "items": {
17261                 "$ref": "#/definitions/StringsResult"
17262               }
17263             }
17264           },
17265           "additionalProperties": false,
17266           "required": [
17267             "results"
17268           ]
17269         }
17270       }
17271     }
17272   },
17273   {
17274     "Name": "KeyUpdater",
17275     "Version": 1,
17276     "Schema": {
17277       "type": "object",
17278       "properties": {
17279         "AuthorisedKeys": {
17280           "type": "object",
17281           "properties": {
17282             "Params": {
17283               "$ref": "#/definitions/Entities"
17284             },
17285             "Result": {
17286               "$ref": "#/definitions/StringsResults"
17287             }
17288           }
17289         },
17290         "WatchAuthorisedKeys": {
17291           "type": "object",
17292           "properties": {
17293             "Params": {
17294               "$ref": "#/definitions/Entities"
17295             },
17296             "Result": {
17297               "$ref": "#/definitions/NotifyWatchResults"
17298             }
17299           }
17300         }
17301       },
17302       "definitions": {
17303         "Entities": {
17304           "type": "object",
17305           "properties": {
17306             "entities": {
17307               "type": "array",
17308               "items": {
17309                 "$ref": "#/definitions/Entity"
17310               }
17311             }
17312           },
17313           "additionalProperties": false,
17314           "required": [
17315             "entities"
17316           ]
17317         },
17318         "Entity": {
17319           "type": "object",
17320           "properties": {
17321             "tag": {
17322               "type": "string"
17323             }
17324           },
17325           "additionalProperties": false,
17326           "required": [
17327             "tag"
17328           ]
17329         },
17330         "Error": {
17331           "type": "object",
17332           "properties": {
17333             "code": {
17334               "type": "string"
17335             },
17336             "info": {
17337               "$ref": "#/definitions/ErrorInfo"
17338             },
17339             "message": {
17340               "type": "string"
17341             }
17342           },
17343           "additionalProperties": false,
17344           "required": [
17345             "message",
17346             "code"
17347           ]
17348         },
17349         "ErrorInfo": {
17350           "type": "object",
17351           "properties": {
17352             "macaroon": {
17353               "$ref": "#/definitions/Macaroon"
17354             },
17355             "macaroon-path": {
17356               "type": "string"
17357             }
17358           },
17359           "additionalProperties": false
17360         },
17361         "Macaroon": {
17362           "type": "object",
17363           "additionalProperties": false
17364         },
17365         "NotifyWatchResult": {
17366           "type": "object",
17367           "properties": {
17368             "NotifyWatcherId": {
17369               "type": "string"
17370             },
17371             "error": {
17372               "$ref": "#/definitions/Error"
17373             }
17374           },
17375           "additionalProperties": false,
17376           "required": [
17377             "NotifyWatcherId"
17378           ]
17379         },
17380         "NotifyWatchResults": {
17381           "type": "object",
17382           "properties": {
17383             "results": {
17384               "type": "array",
17385               "items": {
17386                 "$ref": "#/definitions/NotifyWatchResult"
17387               }
17388             }
17389           },
17390           "additionalProperties": false,
17391           "required": [
17392             "results"
17393           ]
17394         },
17395         "StringsResult": {
17396           "type": "object",
17397           "properties": {
17398             "error": {
17399               "$ref": "#/definitions/Error"
17400             },
17401             "result": {
17402               "type": "array",
17403               "items": {
17404                 "type": "string"
17405               }
17406             }
17407           },
17408           "additionalProperties": false
17409         },
17410         "StringsResults": {
17411           "type": "object",
17412           "properties": {
17413             "results": {
17414               "type": "array",
17415               "items": {
17416                 "$ref": "#/definitions/StringsResult"
17417               }
17418             }
17419           },
17420           "additionalProperties": false,
17421           "required": [
17422             "results"
17423           ]
17424         }
17425       }
17426     }
17427   },
17428   {
17429     "Name": "LeadershipService",
17430     "Version": 2,
17431     "Schema": {
17432       "type": "object",
17433       "properties": {
17434         "BlockUntilLeadershipReleased": {
17435           "type": "object",
17436           "properties": {
17437             "Params": {
17438               "$ref": "#/definitions/ApplicationTag"
17439             },
17440             "Result": {
17441               "$ref": "#/definitions/ErrorResult"
17442             }
17443           }
17444         },
17445         "ClaimLeadership": {
17446           "type": "object",
17447           "properties": {
17448             "Params": {
17449               "$ref": "#/definitions/ClaimLeadershipBulkParams"
17450             },
17451             "Result": {
17452               "$ref": "#/definitions/ClaimLeadershipBulkResults"
17453             }
17454           }
17455         }
17456       },
17457       "definitions": {
17458         "ApplicationTag": {
17459           "type": "object",
17460           "properties": {
17461             "Name": {
17462               "type": "string"
17463             }
17464           },
17465           "additionalProperties": false,
17466           "required": [
17467             "Name"
17468           ]
17469         },
17470         "ClaimLeadershipBulkParams": {
17471           "type": "object",
17472           "properties": {
17473             "params": {
17474               "type": "array",
17475               "items": {
17476                 "$ref": "#/definitions/ClaimLeadershipParams"
17477               }
17478             }
17479           },
17480           "additionalProperties": false,
17481           "required": [
17482             "params"
17483           ]
17484         },
17485         "ClaimLeadershipBulkResults": {
17486           "type": "object",
17487           "properties": {
17488             "results": {
17489               "type": "array",
17490               "items": {
17491                 "$ref": "#/definitions/ErrorResult"
17492               }
17493             }
17494           },
17495           "additionalProperties": false,
17496           "required": [
17497             "results"
17498           ]
17499         },
17500         "ClaimLeadershipParams": {
17501           "type": "object",
17502           "properties": {
17503             "application-tag": {
17504               "type": "string"
17505             },
17506             "duration": {
17507               "type": "number"
17508             },
17509             "unit-tag": {
17510               "type": "string"
17511             }
17512           },
17513           "additionalProperties": false,
17514           "required": [
17515             "application-tag",
17516             "unit-tag",
17517             "duration"
17518           ]
17519         },
17520         "Error": {
17521           "type": "object",
17522           "properties": {
17523             "code": {
17524               "type": "string"
17525             },
17526             "info": {
17527               "$ref": "#/definitions/ErrorInfo"
17528             },
17529             "message": {
17530               "type": "string"
17531             }
17532           },
17533           "additionalProperties": false,
17534           "required": [
17535             "message",
17536             "code"
17537           ]
17538         },
17539         "ErrorInfo": {
17540           "type": "object",
17541           "properties": {
17542             "macaroon": {
17543               "$ref": "#/definitions/Macaroon"
17544             },
17545             "macaroon-path": {
17546               "type": "string"
17547             }
17548           },
17549           "additionalProperties": false
17550         },
17551         "ErrorResult": {
17552           "type": "object",
17553           "properties": {
17554             "error": {
17555               "$ref": "#/definitions/Error"
17556             }
17557           },
17558           "additionalProperties": false
17559         },
17560         "Macaroon": {
17561           "type": "object",
17562           "additionalProperties": false
17563         }
17564       }
17565     }
17566   },
17567   {
17568     "Name": "LifeFlag",
17569     "Version": 1,
17570     "Schema": {
17571       "type": "object",
17572       "properties": {
17573         "Life": {
17574           "type": "object",
17575           "properties": {
17576             "Params": {
17577               "$ref": "#/definitions/Entities"
17578             },
17579             "Result": {
17580               "$ref": "#/definitions/LifeResults"
17581             }
17582           }
17583         },
17584         "Watch": {
17585           "type": "object",
17586           "properties": {
17587             "Params": {
17588               "$ref": "#/definitions/Entities"
17589             },
17590             "Result": {
17591               "$ref": "#/definitions/NotifyWatchResults"
17592             }
17593           }
17594         }
17595       },
17596       "definitions": {
17597         "Entities": {
17598           "type": "object",
17599           "properties": {
17600             "entities": {
17601               "type": "array",
17602               "items": {
17603                 "$ref": "#/definitions/Entity"
17604               }
17605             }
17606           },
17607           "additionalProperties": false,
17608           "required": [
17609             "entities"
17610           ]
17611         },
17612         "Entity": {
17613           "type": "object",
17614           "properties": {
17615             "tag": {
17616               "type": "string"
17617             }
17618           },
17619           "additionalProperties": false,
17620           "required": [
17621             "tag"
17622           ]
17623         },
17624         "Error": {
17625           "type": "object",
17626           "properties": {
17627             "code": {
17628               "type": "string"
17629             },
17630             "info": {
17631               "$ref": "#/definitions/ErrorInfo"
17632             },
17633             "message": {
17634               "type": "string"
17635             }
17636           },
17637           "additionalProperties": false,
17638           "required": [
17639             "message",
17640             "code"
17641           ]
17642         },
17643         "ErrorInfo": {
17644           "type": "object",
17645           "properties": {
17646             "macaroon": {
17647               "$ref": "#/definitions/Macaroon"
17648             },
17649             "macaroon-path": {
17650               "type": "string"
17651             }
17652           },
17653           "additionalProperties": false
17654         },
17655         "LifeResult": {
17656           "type": "object",
17657           "properties": {
17658             "error": {
17659               "$ref": "#/definitions/Error"
17660             },
17661             "life": {
17662               "type": "string"
17663             }
17664           },
17665           "additionalProperties": false,
17666           "required": [
17667             "life"
17668           ]
17669         },
17670         "LifeResults": {
17671           "type": "object",
17672           "properties": {
17673             "results": {
17674               "type": "array",
17675               "items": {
17676                 "$ref": "#/definitions/LifeResult"
17677               }
17678             }
17679           },
17680           "additionalProperties": false,
17681           "required": [
17682             "results"
17683           ]
17684         },
17685         "Macaroon": {
17686           "type": "object",
17687           "additionalProperties": false
17688         },
17689         "NotifyWatchResult": {
17690           "type": "object",
17691           "properties": {
17692             "NotifyWatcherId": {
17693               "type": "string"
17694             },
17695             "error": {
17696               "$ref": "#/definitions/Error"
17697             }
17698           },
17699           "additionalProperties": false,
17700           "required": [
17701             "NotifyWatcherId"
17702           ]
17703         },
17704         "NotifyWatchResults": {
17705           "type": "object",
17706           "properties": {
17707             "results": {
17708               "type": "array",
17709               "items": {
17710                 "$ref": "#/definitions/NotifyWatchResult"
17711               }
17712             }
17713           },
17714           "additionalProperties": false,
17715           "required": [
17716             "results"
17717           ]
17718         }
17719       }
17720     }
17721   },
17722   {
17723     "Name": "LogForwarding",
17724     "Version": 1,
17725     "Schema": {
17726       "type": "object",
17727       "properties": {
17728         "GetLastSent": {
17729           "type": "object",
17730           "properties": {
17731             "Params": {
17732               "$ref": "#/definitions/LogForwardingGetLastSentParams"
17733             },
17734             "Result": {
17735               "$ref": "#/definitions/LogForwardingGetLastSentResults"
17736             }
17737           }
17738         },
17739         "SetLastSent": {
17740           "type": "object",
17741           "properties": {
17742             "Params": {
17743               "$ref": "#/definitions/LogForwardingSetLastSentParams"
17744             },
17745             "Result": {
17746               "$ref": "#/definitions/ErrorResults"
17747             }
17748           }
17749         }
17750       },
17751       "definitions": {
17752         "Error": {
17753           "type": "object",
17754           "properties": {
17755             "code": {
17756               "type": "string"
17757             },
17758             "info": {
17759               "$ref": "#/definitions/ErrorInfo"
17760             },
17761             "message": {
17762               "type": "string"
17763             }
17764           },
17765           "additionalProperties": false,
17766           "required": [
17767             "message",
17768             "code"
17769           ]
17770         },
17771         "ErrorInfo": {
17772           "type": "object",
17773           "properties": {
17774             "macaroon": {
17775               "$ref": "#/definitions/Macaroon"
17776             },
17777             "macaroon-path": {
17778               "type": "string"
17779             }
17780           },
17781           "additionalProperties": false
17782         },
17783         "ErrorResult": {
17784           "type": "object",
17785           "properties": {
17786             "error": {
17787               "$ref": "#/definitions/Error"
17788             }
17789           },
17790           "additionalProperties": false
17791         },
17792         "ErrorResults": {
17793           "type": "object",
17794           "properties": {
17795             "results": {
17796               "type": "array",
17797               "items": {
17798                 "$ref": "#/definitions/ErrorResult"
17799               }
17800             }
17801           },
17802           "additionalProperties": false,
17803           "required": [
17804             "results"
17805           ]
17806         },
17807         "LogForwardingGetLastSentParams": {
17808           "type": "object",
17809           "properties": {
17810             "ids": {
17811               "type": "array",
17812               "items": {
17813                 "$ref": "#/definitions/LogForwardingID"
17814               }
17815             }
17816           },
17817           "additionalProperties": false,
17818           "required": [
17819             "ids"
17820           ]
17821         },
17822         "LogForwardingGetLastSentResult": {
17823           "type": "object",
17824           "properties": {
17825             "err": {
17826               "$ref": "#/definitions/Error"
17827             },
17828             "record-id": {
17829               "type": "integer"
17830             },
17831             "record-timestamp": {
17832               "type": "integer"
17833             }
17834           },
17835           "additionalProperties": false,
17836           "required": [
17837             "record-id",
17838             "record-timestamp",
17839             "err"
17840           ]
17841         },
17842         "LogForwardingGetLastSentResults": {
17843           "type": "object",
17844           "properties": {
17845             "results": {
17846               "type": "array",
17847               "items": {
17848                 "$ref": "#/definitions/LogForwardingGetLastSentResult"
17849               }
17850             }
17851           },
17852           "additionalProperties": false,
17853           "required": [
17854             "results"
17855           ]
17856         },
17857         "LogForwardingID": {
17858           "type": "object",
17859           "properties": {
17860             "model": {
17861               "type": "string"
17862             },
17863             "sink": {
17864               "type": "string"
17865             }
17866           },
17867           "additionalProperties": false,
17868           "required": [
17869             "model",
17870             "sink"
17871           ]
17872         },
17873         "LogForwardingSetLastSentParam": {
17874           "type": "object",
17875           "properties": {
17876             "LogForwardingID": {
17877               "$ref": "#/definitions/LogForwardingID"
17878             },
17879             "record-id": {
17880               "type": "integer"
17881             },
17882             "record-timestamp": {
17883               "type": "integer"
17884             }
17885           },
17886           "additionalProperties": false,
17887           "required": [
17888             "LogForwardingID",
17889             "record-id",
17890             "record-timestamp"
17891           ]
17892         },
17893         "LogForwardingSetLastSentParams": {
17894           "type": "object",
17895           "properties": {
17896             "params": {
17897               "type": "array",
17898               "items": {
17899                 "$ref": "#/definitions/LogForwardingSetLastSentParam"
17900               }
17901             }
17902           },
17903           "additionalProperties": false,
17904           "required": [
17905             "params"
17906           ]
17907         },
17908         "Macaroon": {
17909           "type": "object",
17910           "additionalProperties": false
17911         }
17912       }
17913     }
17914   },
17915   {
17916     "Name": "Logger",
17917     "Version": 1,
17918     "Schema": {
17919       "type": "object",
17920       "properties": {
17921         "LoggingConfig": {
17922           "type": "object",
17923           "properties": {
17924             "Params": {
17925               "$ref": "#/definitions/Entities"
17926             },
17927             "Result": {
17928               "$ref": "#/definitions/StringResults"
17929             }
17930           }
17931         },
17932         "WatchLoggingConfig": {
17933           "type": "object",
17934           "properties": {
17935             "Params": {
17936               "$ref": "#/definitions/Entities"
17937             },
17938             "Result": {
17939               "$ref": "#/definitions/NotifyWatchResults"
17940             }
17941           }
17942         }
17943       },
17944       "definitions": {
17945         "Entities": {
17946           "type": "object",
17947           "properties": {
17948             "entities": {
17949               "type": "array",
17950               "items": {
17951                 "$ref": "#/definitions/Entity"
17952               }
17953             }
17954           },
17955           "additionalProperties": false,
17956           "required": [
17957             "entities"
17958           ]
17959         },
17960         "Entity": {
17961           "type": "object",
17962           "properties": {
17963             "tag": {
17964               "type": "string"
17965             }
17966           },
17967           "additionalProperties": false,
17968           "required": [
17969             "tag"
17970           ]
17971         },
17972         "Error": {
17973           "type": "object",
17974           "properties": {
17975             "code": {
17976               "type": "string"
17977             },
17978             "info": {
17979               "$ref": "#/definitions/ErrorInfo"
17980             },
17981             "message": {
17982               "type": "string"
17983             }
17984           },
17985           "additionalProperties": false,
17986           "required": [
17987             "message",
17988             "code"
17989           ]
17990         },
17991         "ErrorInfo": {
17992           "type": "object",
17993           "properties": {
17994             "macaroon": {
17995               "$ref": "#/definitions/Macaroon"
17996             },
17997             "macaroon-path": {
17998               "type": "string"
17999             }
18000           },
18001           "additionalProperties": false
18002         },
18003         "Macaroon": {
18004           "type": "object",
18005           "additionalProperties": false
18006         },
18007         "NotifyWatchResult": {
18008           "type": "object",
18009           "properties": {
18010             "NotifyWatcherId": {
18011               "type": "string"
18012             },
18013             "error": {
18014               "$ref": "#/definitions/Error"
18015             }
18016           },
18017           "additionalProperties": false,
18018           "required": [
18019             "NotifyWatcherId"
18020           ]
18021         },
18022         "NotifyWatchResults": {
18023           "type": "object",
18024           "properties": {
18025             "results": {
18026               "type": "array",
18027               "items": {
18028                 "$ref": "#/definitions/NotifyWatchResult"
18029               }
18030             }
18031           },
18032           "additionalProperties": false,
18033           "required": [
18034             "results"
18035           ]
18036         },
18037         "StringResult": {
18038           "type": "object",
18039           "properties": {
18040             "error": {
18041               "$ref": "#/definitions/Error"
18042             },
18043             "result": {
18044               "type": "string"
18045             }
18046           },
18047           "additionalProperties": false,
18048           "required": [
18049             "result"
18050           ]
18051         },
18052         "StringResults": {
18053           "type": "object",
18054           "properties": {
18055             "results": {
18056               "type": "array",
18057               "items": {
18058                 "$ref": "#/definitions/StringResult"
18059               }
18060             }
18061           },
18062           "additionalProperties": false,
18063           "required": [
18064             "results"
18065           ]
18066         }
18067       }
18068     }
18069   },
18070   {
18071     "Name": "MachineActions",
18072     "Version": 1,
18073     "Schema": {
18074       "type": "object",
18075       "properties": {
18076         "Actions": {
18077           "type": "object",
18078           "properties": {
18079             "Params": {
18080               "$ref": "#/definitions/Entities"
18081             },
18082             "Result": {
18083               "$ref": "#/definitions/ActionResults"
18084             }
18085           }
18086         },
18087         "BeginActions": {
18088           "type": "object",
18089           "properties": {
18090             "Params": {
18091               "$ref": "#/definitions/Entities"
18092             },
18093             "Result": {
18094               "$ref": "#/definitions/ErrorResults"
18095             }
18096           }
18097         },
18098         "FinishActions": {
18099           "type": "object",
18100           "properties": {
18101             "Params": {
18102               "$ref": "#/definitions/ActionExecutionResults"
18103             },
18104             "Result": {
18105               "$ref": "#/definitions/ErrorResults"
18106             }
18107           }
18108         },
18109         "RunningActions": {
18110           "type": "object",
18111           "properties": {
18112             "Params": {
18113               "$ref": "#/definitions/Entities"
18114             },
18115             "Result": {
18116               "$ref": "#/definitions/ActionsByReceivers"
18117             }
18118           }
18119         },
18120         "WatchActionNotifications": {
18121           "type": "object",
18122           "properties": {
18123             "Params": {
18124               "$ref": "#/definitions/Entities"
18125             },
18126             "Result": {
18127               "$ref": "#/definitions/StringsWatchResults"
18128             }
18129           }
18130         }
18131       },
18132       "definitions": {
18133         "Action": {
18134           "type": "object",
18135           "properties": {
18136             "name": {
18137               "type": "string"
18138             },
18139             "parameters": {
18140               "type": "object",
18141               "patternProperties": {
18142                 ".*": {
18143                   "type": "object",
18144                   "additionalProperties": true
18145                 }
18146               }
18147             },
18148             "receiver": {
18149               "type": "string"
18150             },
18151             "tag": {
18152               "type": "string"
18153             }
18154           },
18155           "additionalProperties": false,
18156           "required": [
18157             "tag",
18158             "receiver",
18159             "name"
18160           ]
18161         },
18162         "ActionExecutionResult": {
18163           "type": "object",
18164           "properties": {
18165             "action-tag": {
18166               "type": "string"
18167             },
18168             "message": {
18169               "type": "string"
18170             },
18171             "results": {
18172               "type": "object",
18173               "patternProperties": {
18174                 ".*": {
18175                   "type": "object",
18176                   "additionalProperties": true
18177                 }
18178               }
18179             },
18180             "status": {
18181               "type": "string"
18182             }
18183           },
18184           "additionalProperties": false,
18185           "required": [
18186             "action-tag",
18187             "status"
18188           ]
18189         },
18190         "ActionExecutionResults": {
18191           "type": "object",
18192           "properties": {
18193             "results": {
18194               "type": "array",
18195               "items": {
18196                 "$ref": "#/definitions/ActionExecutionResult"
18197               }
18198             }
18199           },
18200           "additionalProperties": false
18201         },
18202         "ActionResult": {
18203           "type": "object",
18204           "properties": {
18205             "action": {
18206               "$ref": "#/definitions/Action"
18207             },
18208             "completed": {
18209               "type": "string",
18210               "format": "date-time"
18211             },
18212             "enqueued": {
18213               "type": "string",
18214               "format": "date-time"
18215             },
18216             "error": {
18217               "$ref": "#/definitions/Error"
18218             },
18219             "message": {
18220               "type": "string"
18221             },
18222             "output": {
18223               "type": "object",
18224               "patternProperties": {
18225                 ".*": {
18226                   "type": "object",
18227                   "additionalProperties": true
18228                 }
18229               }
18230             },
18231             "started": {
18232               "type": "string",
18233               "format": "date-time"
18234             },
18235             "status": {
18236               "type": "string"
18237             }
18238           },
18239           "additionalProperties": false
18240         },
18241         "ActionResults": {
18242           "type": "object",
18243           "properties": {
18244             "results": {
18245               "type": "array",
18246               "items": {
18247                 "$ref": "#/definitions/ActionResult"
18248               }
18249             }
18250           },
18251           "additionalProperties": false
18252         },
18253         "ActionsByReceiver": {
18254           "type": "object",
18255           "properties": {
18256             "actions": {
18257               "type": "array",
18258               "items": {
18259                 "$ref": "#/definitions/ActionResult"
18260               }
18261             },
18262             "error": {
18263               "$ref": "#/definitions/Error"
18264             },
18265             "receiver": {
18266               "type": "string"
18267             }
18268           },
18269           "additionalProperties": false
18270         },
18271         "ActionsByReceivers": {
18272           "type": "object",
18273           "properties": {
18274             "actions": {
18275               "type": "array",
18276               "items": {
18277                 "$ref": "#/definitions/ActionsByReceiver"
18278               }
18279             }
18280           },
18281           "additionalProperties": false
18282         },
18283         "Entities": {
18284           "type": "object",
18285           "properties": {
18286             "entities": {
18287               "type": "array",
18288               "items": {
18289                 "$ref": "#/definitions/Entity"
18290               }
18291             }
18292           },
18293           "additionalProperties": false,
18294           "required": [
18295             "entities"
18296           ]
18297         },
18298         "Entity": {
18299           "type": "object",
18300           "properties": {
18301             "tag": {
18302               "type": "string"
18303             }
18304           },
18305           "additionalProperties": false,
18306           "required": [
18307             "tag"
18308           ]
18309         },
18310         "Error": {
18311           "type": "object",
18312           "properties": {
18313             "code": {
18314               "type": "string"
18315             },
18316             "info": {
18317               "$ref": "#/definitions/ErrorInfo"
18318             },
18319             "message": {
18320               "type": "string"
18321             }
18322           },
18323           "additionalProperties": false,
18324           "required": [
18325             "message",
18326             "code"
18327           ]
18328         },
18329         "ErrorInfo": {
18330           "type": "object",
18331           "properties": {
18332             "macaroon": {
18333               "$ref": "#/definitions/Macaroon"
18334             },
18335             "macaroon-path": {
18336               "type": "string"
18337             }
18338           },
18339           "additionalProperties": false
18340         },
18341         "ErrorResult": {
18342           "type": "object",
18343           "properties": {
18344             "error": {
18345               "$ref": "#/definitions/Error"
18346             }
18347           },
18348           "additionalProperties": false
18349         },
18350         "ErrorResults": {
18351           "type": "object",
18352           "properties": {
18353             "results": {
18354               "type": "array",
18355               "items": {
18356                 "$ref": "#/definitions/ErrorResult"
18357               }
18358             }
18359           },
18360           "additionalProperties": false,
18361           "required": [
18362             "results"
18363           ]
18364         },
18365         "Macaroon": {
18366           "type": "object",
18367           "additionalProperties": false
18368         },
18369         "StringsWatchResult": {
18370           "type": "object",
18371           "properties": {
18372             "changes": {
18373               "type": "array",
18374               "items": {
18375                 "type": "string"
18376               }
18377             },
18378             "error": {
18379               "$ref": "#/definitions/Error"
18380             },
18381             "watcher-id": {
18382               "type": "string"
18383             }
18384           },
18385           "additionalProperties": false,
18386           "required": [
18387             "watcher-id"
18388           ]
18389         },
18390         "StringsWatchResults": {
18391           "type": "object",
18392           "properties": {
18393             "results": {
18394               "type": "array",
18395               "items": {
18396                 "$ref": "#/definitions/StringsWatchResult"
18397               }
18398             }
18399           },
18400           "additionalProperties": false,
18401           "required": [
18402             "results"
18403           ]
18404         }
18405       }
18406     }
18407   },
18408   {
18409     "Name": "MachineManager",
18410     "Version": 5,
18411     "Schema": {
18412       "type": "object",
18413       "properties": {
18414         "AddMachines": {
18415           "type": "object",
18416           "properties": {
18417             "Params": {
18418               "$ref": "#/definitions/AddMachines"
18419             },
18420             "Result": {
18421               "$ref": "#/definitions/AddMachinesResults"
18422             }
18423           }
18424         },
18425         "DestroyMachine": {
18426           "type": "object",
18427           "properties": {
18428             "Params": {
18429               "$ref": "#/definitions/Entities"
18430             },
18431             "Result": {
18432               "$ref": "#/definitions/DestroyMachineResults"
18433             }
18434           }
18435         },
18436         "DestroyMachineWithParams": {
18437           "type": "object",
18438           "properties": {
18439             "Params": {
18440               "$ref": "#/definitions/DestroyMachinesParams"
18441             },
18442             "Result": {
18443               "$ref": "#/definitions/DestroyMachineResults"
18444             }
18445           }
18446         },
18447         "ForceDestroyMachine": {
18448           "type": "object",
18449           "properties": {
18450             "Params": {
18451               "$ref": "#/definitions/Entities"
18452             },
18453             "Result": {
18454               "$ref": "#/definitions/DestroyMachineResults"
18455             }
18456           }
18457         },
18458         "GetUpgradeSeriesMessages": {
18459           "type": "object",
18460           "properties": {
18461             "Params": {
18462               "$ref": "#/definitions/UpgradeSeriesNotificationParams"
18463             },
18464             "Result": {
18465               "$ref": "#/definitions/StringsResults"
18466             }
18467           }
18468         },
18469         "InstanceTypes": {
18470           "type": "object",
18471           "properties": {
18472             "Params": {
18473               "$ref": "#/definitions/ModelInstanceTypesConstraints"
18474             },
18475             "Result": {
18476               "$ref": "#/definitions/InstanceTypesResults"
18477             }
18478           }
18479         },
18480         "UpgradeSeriesComplete": {
18481           "type": "object",
18482           "properties": {
18483             "Params": {
18484               "$ref": "#/definitions/UpdateSeriesArg"
18485             },
18486             "Result": {
18487               "$ref": "#/definitions/ErrorResult"
18488             }
18489           }
18490         },
18491         "UpgradeSeriesPrepare": {
18492           "type": "object",
18493           "properties": {
18494             "Params": {
18495               "$ref": "#/definitions/UpdateSeriesArg"
18496             },
18497             "Result": {
18498               "$ref": "#/definitions/ErrorResult"
18499             }
18500           }
18501         },
18502         "UpgradeSeriesValidate": {
18503           "type": "object",
18504           "properties": {
18505             "Params": {
18506               "$ref": "#/definitions/UpdateSeriesArgs"
18507             },
18508             "Result": {
18509               "$ref": "#/definitions/UpgradeSeriesUnitsResults"
18510             }
18511           }
18512         },
18513         "WatchUpgradeSeriesNotifications": {
18514           "type": "object",
18515           "properties": {
18516             "Params": {
18517               "$ref": "#/definitions/Entities"
18518             },
18519             "Result": {
18520               "$ref": "#/definitions/NotifyWatchResults"
18521             }
18522           }
18523         }
18524       },
18525       "definitions": {
18526         "AddMachineParams": {
18527           "type": "object",
18528           "properties": {
18529             "addresses": {
18530               "type": "array",
18531               "items": {
18532                 "$ref": "#/definitions/Address"
18533               }
18534             },
18535             "constraints": {
18536               "$ref": "#/definitions/Value"
18537             },
18538             "container-type": {
18539               "type": "string"
18540             },
18541             "disks": {
18542               "type": "array",
18543               "items": {
18544                 "$ref": "#/definitions/Constraints"
18545               }
18546             },
18547             "hardware-characteristics": {
18548               "$ref": "#/definitions/HardwareCharacteristics"
18549             },
18550             "instance-id": {
18551               "type": "string"
18552             },
18553             "jobs": {
18554               "type": "array",
18555               "items": {
18556                 "type": "string"
18557               }
18558             },
18559             "nonce": {
18560               "type": "string"
18561             },
18562             "parent-id": {
18563               "type": "string"
18564             },
18565             "placement": {
18566               "$ref": "#/definitions/Placement"
18567             },
18568             "series": {
18569               "type": "string"
18570             }
18571           },
18572           "additionalProperties": false,
18573           "required": [
18574             "series",
18575             "constraints",
18576             "jobs",
18577             "parent-id",
18578             "container-type",
18579             "instance-id",
18580             "nonce",
18581             "hardware-characteristics",
18582             "addresses"
18583           ]
18584         },
18585         "AddMachines": {
18586           "type": "object",
18587           "properties": {
18588             "params": {
18589               "type": "array",
18590               "items": {
18591                 "$ref": "#/definitions/AddMachineParams"
18592               }
18593             }
18594           },
18595           "additionalProperties": false,
18596           "required": [
18597             "params"
18598           ]
18599         },
18600         "AddMachinesResult": {
18601           "type": "object",
18602           "properties": {
18603             "error": {
18604               "$ref": "#/definitions/Error"
18605             },
18606             "machine": {
18607               "type": "string"
18608             }
18609           },
18610           "additionalProperties": false,
18611           "required": [
18612             "machine"
18613           ]
18614         },
18615         "AddMachinesResults": {
18616           "type": "object",
18617           "properties": {
18618             "machines": {
18619               "type": "array",
18620               "items": {
18621                 "$ref": "#/definitions/AddMachinesResult"
18622               }
18623             }
18624           },
18625           "additionalProperties": false,
18626           "required": [
18627             "machines"
18628           ]
18629         },
18630         "Address": {
18631           "type": "object",
18632           "properties": {
18633             "scope": {
18634               "type": "string"
18635             },
18636             "space-name": {
18637               "type": "string"
18638             },
18639             "type": {
18640               "type": "string"
18641             },
18642             "value": {
18643               "type": "string"
18644             }
18645           },
18646           "additionalProperties": false,
18647           "required": [
18648             "value",
18649             "type",
18650             "scope"
18651           ]
18652         },
18653         "Constraints": {
18654           "type": "object",
18655           "properties": {
18656             "Count": {
18657               "type": "integer"
18658             },
18659             "Pool": {
18660               "type": "string"
18661             },
18662             "Size": {
18663               "type": "integer"
18664             }
18665           },
18666           "additionalProperties": false,
18667           "required": [
18668             "Pool",
18669             "Size",
18670             "Count"
18671           ]
18672         },
18673         "DestroyMachineInfo": {
18674           "type": "object",
18675           "properties": {
18676             "destroyed-storage": {
18677               "type": "array",
18678               "items": {
18679                 "$ref": "#/definitions/Entity"
18680               }
18681             },
18682             "destroyed-units": {
18683               "type": "array",
18684               "items": {
18685                 "$ref": "#/definitions/Entity"
18686               }
18687             },
18688             "detached-storage": {
18689               "type": "array",
18690               "items": {
18691                 "$ref": "#/definitions/Entity"
18692               }
18693             }
18694           },
18695           "additionalProperties": false
18696         },
18697         "DestroyMachineResult": {
18698           "type": "object",
18699           "properties": {
18700             "error": {
18701               "$ref": "#/definitions/Error"
18702             },
18703             "info": {
18704               "$ref": "#/definitions/DestroyMachineInfo"
18705             }
18706           },
18707           "additionalProperties": false
18708         },
18709         "DestroyMachineResults": {
18710           "type": "object",
18711           "properties": {
18712             "results": {
18713               "type": "array",
18714               "items": {
18715                 "$ref": "#/definitions/DestroyMachineResult"
18716               }
18717             }
18718           },
18719           "additionalProperties": false
18720         },
18721         "DestroyMachinesParams": {
18722           "type": "object",
18723           "properties": {
18724             "force": {
18725               "type": "boolean"
18726             },
18727             "keep": {
18728               "type": "boolean"
18729             },
18730             "machine-tags": {
18731               "type": "array",
18732               "items": {
18733                 "type": "string"
18734               }
18735             }
18736           },
18737           "additionalProperties": false,
18738           "required": [
18739             "machine-tags"
18740           ]
18741         },
18742         "Entities": {
18743           "type": "object",
18744           "properties": {
18745             "entities": {
18746               "type": "array",
18747               "items": {
18748                 "$ref": "#/definitions/Entity"
18749               }
18750             }
18751           },
18752           "additionalProperties": false,
18753           "required": [
18754             "entities"
18755           ]
18756         },
18757         "Entity": {
18758           "type": "object",
18759           "properties": {
18760             "tag": {
18761               "type": "string"
18762             }
18763           },
18764           "additionalProperties": false,
18765           "required": [
18766             "tag"
18767           ]
18768         },
18769         "Error": {
18770           "type": "object",
18771           "properties": {
18772             "code": {
18773               "type": "string"
18774             },
18775             "info": {
18776               "$ref": "#/definitions/ErrorInfo"
18777             },
18778             "message": {
18779               "type": "string"
18780             }
18781           },
18782           "additionalProperties": false,
18783           "required": [
18784             "message",
18785             "code"
18786           ]
18787         },
18788         "ErrorInfo": {
18789           "type": "object",
18790           "properties": {
18791             "macaroon": {
18792               "$ref": "#/definitions/Macaroon"
18793             },
18794             "macaroon-path": {
18795               "type": "string"
18796             }
18797           },
18798           "additionalProperties": false
18799         },
18800         "ErrorResult": {
18801           "type": "object",
18802           "properties": {
18803             "error": {
18804               "$ref": "#/definitions/Error"
18805             }
18806           },
18807           "additionalProperties": false
18808         },
18809         "HardwareCharacteristics": {
18810           "type": "object",
18811           "properties": {
18812             "arch": {
18813               "type": "string"
18814             },
18815             "availability-zone": {
18816               "type": "string"
18817             },
18818             "cpu-cores": {
18819               "type": "integer"
18820             },
18821             "cpu-power": {
18822               "type": "integer"
18823             },
18824             "mem": {
18825               "type": "integer"
18826             },
18827             "root-disk": {
18828               "type": "integer"
18829             },
18830             "tags": {
18831               "type": "array",
18832               "items": {
18833                 "type": "string"
18834               }
18835             }
18836           },
18837           "additionalProperties": false
18838         },
18839         "InstanceType": {
18840           "type": "object",
18841           "properties": {
18842             "arches": {
18843               "type": "array",
18844               "items": {
18845                 "type": "string"
18846               }
18847             },
18848             "cost": {
18849               "type": "integer"
18850             },
18851             "cpu-cores": {
18852               "type": "integer"
18853             },
18854             "deprecated": {
18855               "type": "boolean"
18856             },
18857             "memory": {
18858               "type": "integer"
18859             },
18860             "name": {
18861               "type": "string"
18862             },
18863             "root-disk": {
18864               "type": "integer"
18865             },
18866             "virt-type": {
18867               "type": "string"
18868             }
18869           },
18870           "additionalProperties": false,
18871           "required": [
18872             "arches",
18873             "cpu-cores",
18874             "memory"
18875           ]
18876         },
18877         "InstanceTypesResult": {
18878           "type": "object",
18879           "properties": {
18880             "cost-currency": {
18881               "type": "string"
18882             },
18883             "cost-divisor": {
18884               "type": "integer"
18885             },
18886             "cost-unit": {
18887               "type": "string"
18888             },
18889             "error": {
18890               "$ref": "#/definitions/Error"
18891             },
18892             "instance-types": {
18893               "type": "array",
18894               "items": {
18895                 "$ref": "#/definitions/InstanceType"
18896               }
18897             }
18898           },
18899           "additionalProperties": false
18900         },
18901         "InstanceTypesResults": {
18902           "type": "object",
18903           "properties": {
18904             "results": {
18905               "type": "array",
18906               "items": {
18907                 "$ref": "#/definitions/InstanceTypesResult"
18908               }
18909             }
18910           },
18911           "additionalProperties": false,
18912           "required": [
18913             "results"
18914           ]
18915         },
18916         "Macaroon": {
18917           "type": "object",
18918           "additionalProperties": false
18919         },
18920         "ModelInstanceTypesConstraint": {
18921           "type": "object",
18922           "properties": {
18923             "value": {
18924               "$ref": "#/definitions/Value"
18925             }
18926           },
18927           "additionalProperties": false
18928         },
18929         "ModelInstanceTypesConstraints": {
18930           "type": "object",
18931           "properties": {
18932             "constraints": {
18933               "type": "array",
18934               "items": {
18935                 "$ref": "#/definitions/ModelInstanceTypesConstraint"
18936               }
18937             }
18938           },
18939           "additionalProperties": false,
18940           "required": [
18941             "constraints"
18942           ]
18943         },
18944         "NotifyWatchResult": {
18945           "type": "object",
18946           "properties": {
18947             "NotifyWatcherId": {
18948               "type": "string"
18949             },
18950             "error": {
18951               "$ref": "#/definitions/Error"
18952             }
18953           },
18954           "additionalProperties": false,
18955           "required": [
18956             "NotifyWatcherId"
18957           ]
18958         },
18959         "NotifyWatchResults": {
18960           "type": "object",
18961           "properties": {
18962             "results": {
18963               "type": "array",
18964               "items": {
18965                 "$ref": "#/definitions/NotifyWatchResult"
18966               }
18967             }
18968           },
18969           "additionalProperties": false,
18970           "required": [
18971             "results"
18972           ]
18973         },
18974         "Placement": {
18975           "type": "object",
18976           "properties": {
18977             "directive": {
18978               "type": "string"
18979             },
18980             "scope": {
18981               "type": "string"
18982             }
18983           },
18984           "additionalProperties": false,
18985           "required": [
18986             "scope",
18987             "directive"
18988           ]
18989         },
18990         "StringsResult": {
18991           "type": "object",
18992           "properties": {
18993             "error": {
18994               "$ref": "#/definitions/Error"
18995             },
18996             "result": {
18997               "type": "array",
18998               "items": {
18999                 "type": "string"
19000               }
19001             }
19002           },
19003           "additionalProperties": false
19004         },
19005         "StringsResults": {
19006           "type": "object",
19007           "properties": {
19008             "results": {
19009               "type": "array",
19010               "items": {
19011                 "$ref": "#/definitions/StringsResult"
19012               }
19013             }
19014           },
19015           "additionalProperties": false,
19016           "required": [
19017             "results"
19018           ]
19019         },
19020         "UpdateSeriesArg": {
19021           "type": "object",
19022           "properties": {
19023             "force": {
19024               "type": "boolean"
19025             },
19026             "series": {
19027               "type": "string"
19028             },
19029             "tag": {
19030               "$ref": "#/definitions/Entity"
19031             }
19032           },
19033           "additionalProperties": false,
19034           "required": [
19035             "tag",
19036             "force",
19037             "series"
19038           ]
19039         },
19040         "UpdateSeriesArgs": {
19041           "type": "object",
19042           "properties": {
19043             "args": {
19044               "type": "array",
19045               "items": {
19046                 "$ref": "#/definitions/UpdateSeriesArg"
19047               }
19048             }
19049           },
19050           "additionalProperties": false,
19051           "required": [
19052             "args"
19053           ]
19054         },
19055         "UpgradeSeriesNotificationParam": {
19056           "type": "object",
19057           "properties": {
19058             "entity": {
19059               "$ref": "#/definitions/Entity"
19060             },
19061             "watcher-id": {
19062               "type": "string"
19063             }
19064           },
19065           "additionalProperties": false,
19066           "required": [
19067             "entity",
19068             "watcher-id"
19069           ]
19070         },
19071         "UpgradeSeriesNotificationParams": {
19072           "type": "object",
19073           "properties": {
19074             "params": {
19075               "type": "array",
19076               "items": {
19077                 "$ref": "#/definitions/UpgradeSeriesNotificationParam"
19078               }
19079             }
19080           },
19081           "additionalProperties": false,
19082           "required": [
19083             "params"
19084           ]
19085         },
19086         "UpgradeSeriesUnitsResult": {
19087           "type": "object",
19088           "properties": {
19089             "error": {
19090               "$ref": "#/definitions/Error"
19091             },
19092             "unit-names": {
19093               "type": "array",
19094               "items": {
19095                 "type": "string"
19096               }
19097             }
19098           },
19099           "additionalProperties": false,
19100           "required": [
19101             "unit-names"
19102           ]
19103         },
19104         "UpgradeSeriesUnitsResults": {
19105           "type": "object",
19106           "properties": {
19107             "Results": {
19108               "type": "array",
19109               "items": {
19110                 "$ref": "#/definitions/UpgradeSeriesUnitsResult"
19111               }
19112             }
19113           },
19114           "additionalProperties": false,
19115           "required": [
19116             "Results"
19117           ]
19118         },
19119         "Value": {
19120           "type": "object",
19121           "properties": {
19122             "arch": {
19123               "type": "string"
19124             },
19125             "container": {
19126               "type": "string"
19127             },
19128             "cores": {
19129               "type": "integer"
19130             },
19131             "cpu-power": {
19132               "type": "integer"
19133             },
19134             "instance-type": {
19135               "type": "string"
19136             },
19137             "mem": {
19138               "type": "integer"
19139             },
19140             "root-disk": {
19141               "type": "integer"
19142             },
19143             "spaces": {
19144               "type": "array",
19145               "items": {
19146                 "type": "string"
19147               }
19148             },
19149             "tags": {
19150               "type": "array",
19151               "items": {
19152                 "type": "string"
19153               }
19154             },
19155             "virt-type": {
19156               "type": "string"
19157             },
19158             "zones": {
19159               "type": "array",
19160               "items": {
19161                 "type": "string"
19162               }
19163             }
19164           },
19165           "additionalProperties": false
19166         }
19167       }
19168     }
19169   },
19170   {
19171     "Name": "MachineUndertaker",
19172     "Version": 1,
19173     "Schema": {
19174       "type": "object",
19175       "properties": {
19176         "AllMachineRemovals": {
19177           "type": "object",
19178           "properties": {
19179             "Params": {
19180               "$ref": "#/definitions/Entities"
19181             },
19182             "Result": {
19183               "$ref": "#/definitions/EntitiesResults"
19184             }
19185           }
19186         },
19187         "CompleteMachineRemovals": {
19188           "type": "object",
19189           "properties": {
19190             "Params": {
19191               "$ref": "#/definitions/Entities"
19192             }
19193           }
19194         },
19195         "GetMachineProviderInterfaceInfo": {
19196           "type": "object",
19197           "properties": {
19198             "Params": {
19199               "$ref": "#/definitions/Entities"
19200             },
19201             "Result": {
19202               "$ref": "#/definitions/ProviderInterfaceInfoResults"
19203             }
19204           }
19205         },
19206         "WatchMachineRemovals": {
19207           "type": "object",
19208           "properties": {
19209             "Params": {
19210               "$ref": "#/definitions/Entities"
19211             },
19212             "Result": {
19213               "$ref": "#/definitions/NotifyWatchResults"
19214             }
19215           }
19216         }
19217       },
19218       "definitions": {
19219         "Entities": {
19220           "type": "object",
19221           "properties": {
19222             "entities": {
19223               "type": "array",
19224               "items": {
19225                 "$ref": "#/definitions/Entity"
19226               }
19227             }
19228           },
19229           "additionalProperties": false,
19230           "required": [
19231             "entities"
19232           ]
19233         },
19234         "EntitiesResult": {
19235           "type": "object",
19236           "properties": {
19237             "entities": {
19238               "type": "array",
19239               "items": {
19240                 "$ref": "#/definitions/Entity"
19241               }
19242             },
19243             "error": {
19244               "$ref": "#/definitions/Error"
19245             }
19246           },
19247           "additionalProperties": false,
19248           "required": [
19249             "entities"
19250           ]
19251         },
19252         "EntitiesResults": {
19253           "type": "object",
19254           "properties": {
19255             "results": {
19256               "type": "array",
19257               "items": {
19258                 "$ref": "#/definitions/EntitiesResult"
19259               }
19260             }
19261           },
19262           "additionalProperties": false,
19263           "required": [
19264             "results"
19265           ]
19266         },
19267         "Entity": {
19268           "type": "object",
19269           "properties": {
19270             "tag": {
19271               "type": "string"
19272             }
19273           },
19274           "additionalProperties": false,
19275           "required": [
19276             "tag"
19277           ]
19278         },
19279         "Error": {
19280           "type": "object",
19281           "properties": {
19282             "code": {
19283               "type": "string"
19284             },
19285             "info": {
19286               "$ref": "#/definitions/ErrorInfo"
19287             },
19288             "message": {
19289               "type": "string"
19290             }
19291           },
19292           "additionalProperties": false,
19293           "required": [
19294             "message",
19295             "code"
19296           ]
19297         },
19298         "ErrorInfo": {
19299           "type": "object",
19300           "properties": {
19301             "macaroon": {
19302               "$ref": "#/definitions/Macaroon"
19303             },
19304             "macaroon-path": {
19305               "type": "string"
19306             }
19307           },
19308           "additionalProperties": false
19309         },
19310         "Macaroon": {
19311           "type": "object",
19312           "additionalProperties": false
19313         },
19314         "NotifyWatchResult": {
19315           "type": "object",
19316           "properties": {
19317             "NotifyWatcherId": {
19318               "type": "string"
19319             },
19320             "error": {
19321               "$ref": "#/definitions/Error"
19322             }
19323           },
19324           "additionalProperties": false,
19325           "required": [
19326             "NotifyWatcherId"
19327           ]
19328         },
19329         "NotifyWatchResults": {
19330           "type": "object",
19331           "properties": {
19332             "results": {
19333               "type": "array",
19334               "items": {
19335                 "$ref": "#/definitions/NotifyWatchResult"
19336               }
19337             }
19338           },
19339           "additionalProperties": false,
19340           "required": [
19341             "results"
19342           ]
19343         },
19344         "ProviderInterfaceInfo": {
19345           "type": "object",
19346           "properties": {
19347             "interface-name": {
19348               "type": "string"
19349             },
19350             "mac-address": {
19351               "type": "string"
19352             },
19353             "provider-id": {
19354               "type": "string"
19355             }
19356           },
19357           "additionalProperties": false,
19358           "required": [
19359             "interface-name",
19360             "mac-address",
19361             "provider-id"
19362           ]
19363         },
19364         "ProviderInterfaceInfoResult": {
19365           "type": "object",
19366           "properties": {
19367             "error": {
19368               "$ref": "#/definitions/Error"
19369             },
19370             "interfaces": {
19371               "type": "array",
19372               "items": {
19373                 "$ref": "#/definitions/ProviderInterfaceInfo"
19374               }
19375             },
19376             "machine-tag": {
19377               "type": "string"
19378             }
19379           },
19380           "additionalProperties": false,
19381           "required": [
19382             "machine-tag",
19383             "interfaces"
19384           ]
19385         },
19386         "ProviderInterfaceInfoResults": {
19387           "type": "object",
19388           "properties": {
19389             "results": {
19390               "type": "array",
19391               "items": {
19392                 "$ref": "#/definitions/ProviderInterfaceInfoResult"
19393               }
19394             }
19395           },
19396           "additionalProperties": false,
19397           "required": [
19398             "results"
19399           ]
19400         }
19401       }
19402     }
19403   },
19404   {
19405     "Name": "Machiner",
19406     "Version": 1,
19407     "Schema": {
19408       "type": "object",
19409       "properties": {
19410         "APIAddresses": {
19411           "type": "object",
19412           "properties": {
19413             "Result": {
19414               "$ref": "#/definitions/StringsResult"
19415             }
19416           }
19417         },
19418         "APIHostPorts": {
19419           "type": "object",
19420           "properties": {
19421             "Result": {
19422               "$ref": "#/definitions/APIHostPortsResult"
19423             }
19424           }
19425         },
19426         "EnsureDead": {
19427           "type": "object",
19428           "properties": {
19429             "Params": {
19430               "$ref": "#/definitions/Entities"
19431             },
19432             "Result": {
19433               "$ref": "#/definitions/ErrorResults"
19434             }
19435           }
19436         },
19437         "Jobs": {
19438           "type": "object",
19439           "properties": {
19440             "Params": {
19441               "$ref": "#/definitions/Entities"
19442             },
19443             "Result": {
19444               "$ref": "#/definitions/JobsResults"
19445             }
19446           }
19447         },
19448         "Life": {
19449           "type": "object",
19450           "properties": {
19451             "Params": {
19452               "$ref": "#/definitions/Entities"
19453             },
19454             "Result": {
19455               "$ref": "#/definitions/LifeResults"
19456             }
19457           }
19458         },
19459         "ModelUUID": {
19460           "type": "object",
19461           "properties": {
19462             "Result": {
19463               "$ref": "#/definitions/StringResult"
19464             }
19465           }
19466         },
19467         "SetMachineAddresses": {
19468           "type": "object",
19469           "properties": {
19470             "Params": {
19471               "$ref": "#/definitions/SetMachinesAddresses"
19472             },
19473             "Result": {
19474               "$ref": "#/definitions/ErrorResults"
19475             }
19476           }
19477         },
19478         "SetObservedNetworkConfig": {
19479           "type": "object",
19480           "properties": {
19481             "Params": {
19482               "$ref": "#/definitions/SetMachineNetworkConfig"
19483             }
19484           }
19485         },
19486         "SetProviderNetworkConfig": {
19487           "type": "object",
19488           "properties": {
19489             "Params": {
19490               "$ref": "#/definitions/Entities"
19491             },
19492             "Result": {
19493               "$ref": "#/definitions/ErrorResults"
19494             }
19495           }
19496         },
19497         "SetStatus": {
19498           "type": "object",
19499           "properties": {
19500             "Params": {
19501               "$ref": "#/definitions/SetStatus"
19502             },
19503             "Result": {
19504               "$ref": "#/definitions/ErrorResults"
19505             }
19506           }
19507         },
19508         "UpdateStatus": {
19509           "type": "object",
19510           "properties": {
19511             "Params": {
19512               "$ref": "#/definitions/SetStatus"
19513             },
19514             "Result": {
19515               "$ref": "#/definitions/ErrorResults"
19516             }
19517           }
19518         },
19519         "Watch": {
19520           "type": "object",
19521           "properties": {
19522             "Params": {
19523               "$ref": "#/definitions/Entities"
19524             },
19525             "Result": {
19526               "$ref": "#/definitions/NotifyWatchResults"
19527             }
19528           }
19529         },
19530         "WatchAPIHostPorts": {
19531           "type": "object",
19532           "properties": {
19533             "Result": {
19534               "$ref": "#/definitions/NotifyWatchResult"
19535             }
19536           }
19537         }
19538       },
19539       "definitions": {
19540         "APIHostPortsResult": {
19541           "type": "object",
19542           "properties": {
19543             "servers": {
19544               "type": "array",
19545               "items": {
19546                 "type": "array",
19547                 "items": {
19548                   "$ref": "#/definitions/HostPort"
19549                 }
19550               }
19551             }
19552           },
19553           "additionalProperties": false,
19554           "required": [
19555             "servers"
19556           ]
19557         },
19558         "Address": {
19559           "type": "object",
19560           "properties": {
19561             "scope": {
19562               "type": "string"
19563             },
19564             "space-name": {
19565               "type": "string"
19566             },
19567             "type": {
19568               "type": "string"
19569             },
19570             "value": {
19571               "type": "string"
19572             }
19573           },
19574           "additionalProperties": false,
19575           "required": [
19576             "value",
19577             "type",
19578             "scope"
19579           ]
19580         },
19581         "Entities": {
19582           "type": "object",
19583           "properties": {
19584             "entities": {
19585               "type": "array",
19586               "items": {
19587                 "$ref": "#/definitions/Entity"
19588               }
19589             }
19590           },
19591           "additionalProperties": false,
19592           "required": [
19593             "entities"
19594           ]
19595         },
19596         "Entity": {
19597           "type": "object",
19598           "properties": {
19599             "tag": {
19600               "type": "string"
19601             }
19602           },
19603           "additionalProperties": false,
19604           "required": [
19605             "tag"
19606           ]
19607         },
19608         "EntityStatusArgs": {
19609           "type": "object",
19610           "properties": {
19611             "data": {
19612               "type": "object",
19613               "patternProperties": {
19614                 ".*": {
19615                   "type": "object",
19616                   "additionalProperties": true
19617                 }
19618               }
19619             },
19620             "info": {
19621               "type": "string"
19622             },
19623             "status": {
19624               "type": "string"
19625             },
19626             "tag": {
19627               "type": "string"
19628             }
19629           },
19630           "additionalProperties": false,
19631           "required": [
19632             "tag",
19633             "status",
19634             "info",
19635             "data"
19636           ]
19637         },
19638         "Error": {
19639           "type": "object",
19640           "properties": {
19641             "code": {
19642               "type": "string"
19643             },
19644             "info": {
19645               "$ref": "#/definitions/ErrorInfo"
19646             },
19647             "message": {
19648               "type": "string"
19649             }
19650           },
19651           "additionalProperties": false,
19652           "required": [
19653             "message",
19654             "code"
19655           ]
19656         },
19657         "ErrorInfo": {
19658           "type": "object",
19659           "properties": {
19660             "macaroon": {
19661               "$ref": "#/definitions/Macaroon"
19662             },
19663             "macaroon-path": {
19664               "type": "string"
19665             }
19666           },
19667           "additionalProperties": false
19668         },
19669         "ErrorResult": {
19670           "type": "object",
19671           "properties": {
19672             "error": {
19673               "$ref": "#/definitions/Error"
19674             }
19675           },
19676           "additionalProperties": false
19677         },
19678         "ErrorResults": {
19679           "type": "object",
19680           "properties": {
19681             "results": {
19682               "type": "array",
19683               "items": {
19684                 "$ref": "#/definitions/ErrorResult"
19685               }
19686             }
19687           },
19688           "additionalProperties": false,
19689           "required": [
19690             "results"
19691           ]
19692         },
19693         "HostPort": {
19694           "type": "object",
19695           "properties": {
19696             "Address": {
19697               "$ref": "#/definitions/Address"
19698             },
19699             "port": {
19700               "type": "integer"
19701             }
19702           },
19703           "additionalProperties": false,
19704           "required": [
19705             "Address",
19706             "port"
19707           ]
19708         },
19709         "JobsResult": {
19710           "type": "object",
19711           "properties": {
19712             "error": {
19713               "$ref": "#/definitions/Error"
19714             },
19715             "jobs": {
19716               "type": "array",
19717               "items": {
19718                 "type": "string"
19719               }
19720             }
19721           },
19722           "additionalProperties": false,
19723           "required": [
19724             "jobs"
19725           ]
19726         },
19727         "JobsResults": {
19728           "type": "object",
19729           "properties": {
19730             "results": {
19731               "type": "array",
19732               "items": {
19733                 "$ref": "#/definitions/JobsResult"
19734               }
19735             }
19736           },
19737           "additionalProperties": false,
19738           "required": [
19739             "results"
19740           ]
19741         },
19742         "LifeResult": {
19743           "type": "object",
19744           "properties": {
19745             "error": {
19746               "$ref": "#/definitions/Error"
19747             },
19748             "life": {
19749               "type": "string"
19750             }
19751           },
19752           "additionalProperties": false,
19753           "required": [
19754             "life"
19755           ]
19756         },
19757         "LifeResults": {
19758           "type": "object",
19759           "properties": {
19760             "results": {
19761               "type": "array",
19762               "items": {
19763                 "$ref": "#/definitions/LifeResult"
19764               }
19765             }
19766           },
19767           "additionalProperties": false,
19768           "required": [
19769             "results"
19770           ]
19771         },
19772         "Macaroon": {
19773           "type": "object",
19774           "additionalProperties": false
19775         },
19776         "MachineAddresses": {
19777           "type": "object",
19778           "properties": {
19779             "addresses": {
19780               "type": "array",
19781               "items": {
19782                 "$ref": "#/definitions/Address"
19783               }
19784             },
19785             "tag": {
19786               "type": "string"
19787             }
19788           },
19789           "additionalProperties": false,
19790           "required": [
19791             "tag",
19792             "addresses"
19793           ]
19794         },
19795         "NetworkConfig": {
19796           "type": "object",
19797           "properties": {
19798             "address": {
19799               "type": "string"
19800             },
19801             "cidr": {
19802               "type": "string"
19803             },
19804             "config-type": {
19805               "type": "string"
19806             },
19807             "device-index": {
19808               "type": "integer"
19809             },
19810             "disabled": {
19811               "type": "boolean"
19812             },
19813             "dns-search-domains": {
19814               "type": "array",
19815               "items": {
19816                 "type": "string"
19817               }
19818             },
19819             "dns-servers": {
19820               "type": "array",
19821               "items": {
19822                 "type": "string"
19823               }
19824             },
19825             "gateway-address": {
19826               "type": "string"
19827             },
19828             "interface-name": {
19829               "type": "string"
19830             },
19831             "interface-type": {
19832               "type": "string"
19833             },
19834             "is-default-gateway": {
19835               "type": "boolean"
19836             },
19837             "mac-address": {
19838               "type": "string"
19839             },
19840             "mtu": {
19841               "type": "integer"
19842             },
19843             "no-auto-start": {
19844               "type": "boolean"
19845             },
19846             "parent-interface-name": {
19847               "type": "string"
19848             },
19849             "provider-address-id": {
19850               "type": "string"
19851             },
19852             "provider-id": {
19853               "type": "string"
19854             },
19855             "provider-space-id": {
19856               "type": "string"
19857             },
19858             "provider-subnet-id": {
19859               "type": "string"
19860             },
19861             "provider-vlan-id": {
19862               "type": "string"
19863             },
19864             "routes": {
19865               "type": "array",
19866               "items": {
19867                 "$ref": "#/definitions/NetworkRoute"
19868               }
19869             },
19870             "vlan-tag": {
19871               "type": "integer"
19872             }
19873           },
19874           "additionalProperties": false,
19875           "required": [
19876             "device-index",
19877             "mac-address",
19878             "cidr",
19879             "mtu",
19880             "provider-id",
19881             "provider-subnet-id",
19882             "provider-space-id",
19883             "provider-address-id",
19884             "provider-vlan-id",
19885             "vlan-tag",
19886             "interface-name",
19887             "parent-interface-name",
19888             "interface-type",
19889             "disabled"
19890           ]
19891         },
19892         "NetworkRoute": {
19893           "type": "object",
19894           "properties": {
19895             "destination-cidr": {
19896               "type": "string"
19897             },
19898             "gateway-ip": {
19899               "type": "string"
19900             },
19901             "metric": {
19902               "type": "integer"
19903             }
19904           },
19905           "additionalProperties": false,
19906           "required": [
19907             "destination-cidr",
19908             "gateway-ip",
19909             "metric"
19910           ]
19911         },
19912         "NotifyWatchResult": {
19913           "type": "object",
19914           "properties": {
19915             "NotifyWatcherId": {
19916               "type": "string"
19917             },
19918             "error": {
19919               "$ref": "#/definitions/Error"
19920             }
19921           },
19922           "additionalProperties": false,
19923           "required": [
19924             "NotifyWatcherId"
19925           ]
19926         },
19927         "NotifyWatchResults": {
19928           "type": "object",
19929           "properties": {
19930             "results": {
19931               "type": "array",
19932               "items": {
19933                 "$ref": "#/definitions/NotifyWatchResult"
19934               }
19935             }
19936           },
19937           "additionalProperties": false,
19938           "required": [
19939             "results"
19940           ]
19941         },
19942         "SetMachineNetworkConfig": {
19943           "type": "object",
19944           "properties": {
19945             "config": {
19946               "type": "array",
19947               "items": {
19948                 "$ref": "#/definitions/NetworkConfig"
19949               }
19950             },
19951             "tag": {
19952               "type": "string"
19953             }
19954           },
19955           "additionalProperties": false,
19956           "required": [
19957             "tag",
19958             "config"
19959           ]
19960         },
19961         "SetMachinesAddresses": {
19962           "type": "object",
19963           "properties": {
19964             "machine-addresses": {
19965               "type": "array",
19966               "items": {
19967                 "$ref": "#/definitions/MachineAddresses"
19968               }
19969             }
19970           },
19971           "additionalProperties": false,
19972           "required": [
19973             "machine-addresses"
19974           ]
19975         },
19976         "SetStatus": {
19977           "type": "object",
19978           "properties": {
19979             "entities": {
19980               "type": "array",
19981               "items": {
19982                 "$ref": "#/definitions/EntityStatusArgs"
19983               }
19984             }
19985           },
19986           "additionalProperties": false,
19987           "required": [
19988             "entities"
19989           ]
19990         },
19991         "StringResult": {
19992           "type": "object",
19993           "properties": {
19994             "error": {
19995               "$ref": "#/definitions/Error"
19996             },
19997             "result": {
19998               "type": "string"
19999             }
20000           },
20001           "additionalProperties": false,
20002           "required": [
20003             "result"
20004           ]
20005         },
20006         "StringsResult": {
20007           "type": "object",
20008           "properties": {
20009             "error": {
20010               "$ref": "#/definitions/Error"
20011             },
20012             "result": {
20013               "type": "array",
20014               "items": {
20015                 "type": "string"
20016               }
20017             }
20018           },
20019           "additionalProperties": false
20020         }
20021       }
20022     }
20023   },
20024   {
20025     "Name": "MeterStatus",
20026     "Version": 1,
20027     "Schema": {
20028       "type": "object",
20029       "properties": {
20030         "GetMeterStatus": {
20031           "type": "object",
20032           "properties": {
20033             "Params": {
20034               "$ref": "#/definitions/Entities"
20035             },
20036             "Result": {
20037               "$ref": "#/definitions/MeterStatusResults"
20038             }
20039           }
20040         },
20041         "WatchMeterStatus": {
20042           "type": "object",
20043           "properties": {
20044             "Params": {
20045               "$ref": "#/definitions/Entities"
20046             },
20047             "Result": {
20048               "$ref": "#/definitions/NotifyWatchResults"
20049             }
20050           }
20051         }
20052       },
20053       "definitions": {
20054         "Entities": {
20055           "type": "object",
20056           "properties": {
20057             "entities": {
20058               "type": "array",
20059               "items": {
20060                 "$ref": "#/definitions/Entity"
20061               }
20062             }
20063           },
20064           "additionalProperties": false,
20065           "required": [
20066             "entities"
20067           ]
20068         },
20069         "Entity": {
20070           "type": "object",
20071           "properties": {
20072             "tag": {
20073               "type": "string"
20074             }
20075           },
20076           "additionalProperties": false,
20077           "required": [
20078             "tag"
20079           ]
20080         },
20081         "Error": {
20082           "type": "object",
20083           "properties": {
20084             "code": {
20085               "type": "string"
20086             },
20087             "info": {
20088               "$ref": "#/definitions/ErrorInfo"
20089             },
20090             "message": {
20091               "type": "string"
20092             }
20093           },
20094           "additionalProperties": false,
20095           "required": [
20096             "message",
20097             "code"
20098           ]
20099         },
20100         "ErrorInfo": {
20101           "type": "object",
20102           "properties": {
20103             "macaroon": {
20104               "$ref": "#/definitions/Macaroon"
20105             },
20106             "macaroon-path": {
20107               "type": "string"
20108             }
20109           },
20110           "additionalProperties": false
20111         },
20112         "Macaroon": {
20113           "type": "object",
20114           "additionalProperties": false
20115         },
20116         "MeterStatusResult": {
20117           "type": "object",
20118           "properties": {
20119             "code": {
20120               "type": "string"
20121             },
20122             "error": {
20123               "$ref": "#/definitions/Error"
20124             },
20125             "info": {
20126               "type": "string"
20127             }
20128           },
20129           "additionalProperties": false,
20130           "required": [
20131             "code",
20132             "info"
20133           ]
20134         },
20135         "MeterStatusResults": {
20136           "type": "object",
20137           "properties": {
20138             "results": {
20139               "type": "array",
20140               "items": {
20141                 "$ref": "#/definitions/MeterStatusResult"
20142               }
20143             }
20144           },
20145           "additionalProperties": false,
20146           "required": [
20147             "results"
20148           ]
20149         },
20150         "NotifyWatchResult": {
20151           "type": "object",
20152           "properties": {
20153             "NotifyWatcherId": {
20154               "type": "string"
20155             },
20156             "error": {
20157               "$ref": "#/definitions/Error"
20158             }
20159           },
20160           "additionalProperties": false,
20161           "required": [
20162             "NotifyWatcherId"
20163           ]
20164         },
20165         "NotifyWatchResults": {
20166           "type": "object",
20167           "properties": {
20168             "results": {
20169               "type": "array",
20170               "items": {
20171                 "$ref": "#/definitions/NotifyWatchResult"
20172               }
20173             }
20174           },
20175           "additionalProperties": false,
20176           "required": [
20177             "results"
20178           ]
20179         }
20180       }
20181     }
20182   },
20183   {
20184     "Name": "MetricsAdder",
20185     "Version": 2,
20186     "Schema": {
20187       "type": "object",
20188       "properties": {
20189         "AddMetricBatches": {
20190           "type": "object",
20191           "properties": {
20192             "Params": {
20193               "$ref": "#/definitions/MetricBatchParams"
20194             },
20195             "Result": {
20196               "$ref": "#/definitions/ErrorResults"
20197             }
20198           }
20199         }
20200       },
20201       "definitions": {
20202         "Error": {
20203           "type": "object",
20204           "properties": {
20205             "code": {
20206               "type": "string"
20207             },
20208             "info": {
20209               "$ref": "#/definitions/ErrorInfo"
20210             },
20211             "message": {
20212               "type": "string"
20213             }
20214           },
20215           "additionalProperties": false,
20216           "required": [
20217             "message",
20218             "code"
20219           ]
20220         },
20221         "ErrorInfo": {
20222           "type": "object",
20223           "properties": {
20224             "macaroon": {
20225               "$ref": "#/definitions/Macaroon"
20226             },
20227             "macaroon-path": {
20228               "type": "string"
20229             }
20230           },
20231           "additionalProperties": false
20232         },
20233         "ErrorResult": {
20234           "type": "object",
20235           "properties": {
20236             "error": {
20237               "$ref": "#/definitions/Error"
20238             }
20239           },
20240           "additionalProperties": false
20241         },
20242         "ErrorResults": {
20243           "type": "object",
20244           "properties": {
20245             "results": {
20246               "type": "array",
20247               "items": {
20248                 "$ref": "#/definitions/ErrorResult"
20249               }
20250             }
20251           },
20252           "additionalProperties": false,
20253           "required": [
20254             "results"
20255           ]
20256         },
20257         "Macaroon": {
20258           "type": "object",
20259           "additionalProperties": false
20260         },
20261         "Metric": {
20262           "type": "object",
20263           "properties": {
20264             "key": {
20265               "type": "string"
20266             },
20267             "labels": {
20268               "type": "object",
20269               "patternProperties": {
20270                 ".*": {
20271                   "type": "string"
20272                 }
20273               }
20274             },
20275             "time": {
20276               "type": "string",
20277               "format": "date-time"
20278             },
20279             "value": {
20280               "type": "string"
20281             }
20282           },
20283           "additionalProperties": false,
20284           "required": [
20285             "key",
20286             "value",
20287             "time"
20288           ]
20289         },
20290         "MetricBatch": {
20291           "type": "object",
20292           "properties": {
20293             "charm-url": {
20294               "type": "string"
20295             },
20296             "created": {
20297               "type": "string",
20298               "format": "date-time"
20299             },
20300             "metrics": {
20301               "type": "array",
20302               "items": {
20303                 "$ref": "#/definitions/Metric"
20304               }
20305             },
20306             "uuid": {
20307               "type": "string"
20308             }
20309           },
20310           "additionalProperties": false,
20311           "required": [
20312             "uuid",
20313             "charm-url",
20314             "created",
20315             "metrics"
20316           ]
20317         },
20318         "MetricBatchParam": {
20319           "type": "object",
20320           "properties": {
20321             "batch": {
20322               "$ref": "#/definitions/MetricBatch"
20323             },
20324             "tag": {
20325               "type": "string"
20326             }
20327           },
20328           "additionalProperties": false,
20329           "required": [
20330             "tag",
20331             "batch"
20332           ]
20333         },
20334         "MetricBatchParams": {
20335           "type": "object",
20336           "properties": {
20337             "batches": {
20338               "type": "array",
20339               "items": {
20340                 "$ref": "#/definitions/MetricBatchParam"
20341               }
20342             }
20343           },
20344           "additionalProperties": false,
20345           "required": [
20346             "batches"
20347           ]
20348         }
20349       }
20350     }
20351   },
20352   {
20353     "Name": "MetricsDebug",
20354     "Version": 2,
20355     "Schema": {
20356       "type": "object",
20357       "properties": {
20358         "GetMetrics": {
20359           "type": "object",
20360           "properties": {
20361             "Params": {
20362               "$ref": "#/definitions/Entities"
20363             },
20364             "Result": {
20365               "$ref": "#/definitions/MetricResults"
20366             }
20367           }
20368         },
20369         "SetMeterStatus": {
20370           "type": "object",
20371           "properties": {
20372             "Params": {
20373               "$ref": "#/definitions/MeterStatusParams"
20374             },
20375             "Result": {
20376               "$ref": "#/definitions/ErrorResults"
20377             }
20378           }
20379         }
20380       },
20381       "definitions": {
20382         "Entities": {
20383           "type": "object",
20384           "properties": {
20385             "entities": {
20386               "type": "array",
20387               "items": {
20388                 "$ref": "#/definitions/Entity"
20389               }
20390             }
20391           },
20392           "additionalProperties": false,
20393           "required": [
20394             "entities"
20395           ]
20396         },
20397         "Entity": {
20398           "type": "object",
20399           "properties": {
20400             "tag": {
20401               "type": "string"
20402             }
20403           },
20404           "additionalProperties": false,
20405           "required": [
20406             "tag"
20407           ]
20408         },
20409         "EntityMetrics": {
20410           "type": "object",
20411           "properties": {
20412             "error": {
20413               "$ref": "#/definitions/Error"
20414             },
20415             "metrics": {
20416               "type": "array",
20417               "items": {
20418                 "$ref": "#/definitions/MetricResult"
20419               }
20420             }
20421           },
20422           "additionalProperties": false
20423         },
20424         "Error": {
20425           "type": "object",
20426           "properties": {
20427             "code": {
20428               "type": "string"
20429             },
20430             "info": {
20431               "$ref": "#/definitions/ErrorInfo"
20432             },
20433             "message": {
20434               "type": "string"
20435             }
20436           },
20437           "additionalProperties": false,
20438           "required": [
20439             "message",
20440             "code"
20441           ]
20442         },
20443         "ErrorInfo": {
20444           "type": "object",
20445           "properties": {
20446             "macaroon": {
20447               "$ref": "#/definitions/Macaroon"
20448             },
20449             "macaroon-path": {
20450               "type": "string"
20451             }
20452           },
20453           "additionalProperties": false
20454         },
20455         "ErrorResult": {
20456           "type": "object",
20457           "properties": {
20458             "error": {
20459               "$ref": "#/definitions/Error"
20460             }
20461           },
20462           "additionalProperties": false
20463         },
20464         "ErrorResults": {
20465           "type": "object",
20466           "properties": {
20467             "results": {
20468               "type": "array",
20469               "items": {
20470                 "$ref": "#/definitions/ErrorResult"
20471               }
20472             }
20473           },
20474           "additionalProperties": false,
20475           "required": [
20476             "results"
20477           ]
20478         },
20479         "Macaroon": {
20480           "type": "object",
20481           "additionalProperties": false
20482         },
20483         "MeterStatusParam": {
20484           "type": "object",
20485           "properties": {
20486             "code": {
20487               "type": "string"
20488             },
20489             "info": {
20490               "type": "string"
20491             },
20492             "tag": {
20493               "type": "string"
20494             }
20495           },
20496           "additionalProperties": false,
20497           "required": [
20498             "tag",
20499             "code"
20500           ]
20501         },
20502         "MeterStatusParams": {
20503           "type": "object",
20504           "properties": {
20505             "statues": {
20506               "type": "array",
20507               "items": {
20508                 "$ref": "#/definitions/MeterStatusParam"
20509               }
20510             }
20511           },
20512           "additionalProperties": false,
20513           "required": [
20514             "statues"
20515           ]
20516         },
20517         "MetricResult": {
20518           "type": "object",
20519           "properties": {
20520             "key": {
20521               "type": "string"
20522             },
20523             "labels": {
20524               "type": "object",
20525               "patternProperties": {
20526                 ".*": {
20527                   "type": "string"
20528                 }
20529               }
20530             },
20531             "time": {
20532               "type": "string",
20533               "format": "date-time"
20534             },
20535             "unit": {
20536               "type": "string"
20537             },
20538             "value": {
20539               "type": "string"
20540             }
20541           },
20542           "additionalProperties": false,
20543           "required": [
20544             "time",
20545             "key",
20546             "value",
20547             "unit",
20548             "labels"
20549           ]
20550         },
20551         "MetricResults": {
20552           "type": "object",
20553           "properties": {
20554             "results": {
20555               "type": "array",
20556               "items": {
20557                 "$ref": "#/definitions/EntityMetrics"
20558               }
20559             }
20560           },
20561           "additionalProperties": false,
20562           "required": [
20563             "results"
20564           ]
20565         }
20566       }
20567     }
20568   },
20569   {
20570     "Name": "MetricsManager",
20571     "Version": 1,
20572     "Schema": {
20573       "type": "object",
20574       "properties": {
20575         "AddJujuMachineMetrics": {
20576           "type": "object"
20577         },
20578         "CleanupOldMetrics": {
20579           "type": "object",
20580           "properties": {
20581             "Params": {
20582               "$ref": "#/definitions/Entities"
20583             },
20584             "Result": {
20585               "$ref": "#/definitions/ErrorResults"
20586             }
20587           }
20588         },
20589         "SendMetrics": {
20590           "type": "object",
20591           "properties": {
20592             "Params": {
20593               "$ref": "#/definitions/Entities"
20594             },
20595             "Result": {
20596               "$ref": "#/definitions/ErrorResults"
20597             }
20598           }
20599         }
20600       },
20601       "definitions": {
20602         "Entities": {
20603           "type": "object",
20604           "properties": {
20605             "entities": {
20606               "type": "array",
20607               "items": {
20608                 "$ref": "#/definitions/Entity"
20609               }
20610             }
20611           },
20612           "additionalProperties": false,
20613           "required": [
20614             "entities"
20615           ]
20616         },
20617         "Entity": {
20618           "type": "object",
20619           "properties": {
20620             "tag": {
20621               "type": "string"
20622             }
20623           },
20624           "additionalProperties": false,
20625           "required": [
20626             "tag"
20627           ]
20628         },
20629         "Error": {
20630           "type": "object",
20631           "properties": {
20632             "code": {
20633               "type": "string"
20634             },
20635             "info": {
20636               "$ref": "#/definitions/ErrorInfo"
20637             },
20638             "message": {
20639               "type": "string"
20640             }
20641           },
20642           "additionalProperties": false,
20643           "required": [
20644             "message",
20645             "code"
20646           ]
20647         },
20648         "ErrorInfo": {
20649           "type": "object",
20650           "properties": {
20651             "macaroon": {
20652               "$ref": "#/definitions/Macaroon"
20653             },
20654             "macaroon-path": {
20655               "type": "string"
20656             }
20657           },
20658           "additionalProperties": false
20659         },
20660         "ErrorResult": {
20661           "type": "object",
20662           "properties": {
20663             "error": {
20664               "$ref": "#/definitions/Error"
20665             }
20666           },
20667           "additionalProperties": false
20668         },
20669         "ErrorResults": {
20670           "type": "object",
20671           "properties": {
20672             "results": {
20673               "type": "array",
20674               "items": {
20675                 "$ref": "#/definitions/ErrorResult"
20676               }
20677             }
20678           },
20679           "additionalProperties": false,
20680           "required": [
20681             "results"
20682           ]
20683         },
20684         "Macaroon": {
20685           "type": "object",
20686           "additionalProperties": false
20687         }
20688       }
20689     }
20690   },
20691   {
20692     "Name": "MigrationFlag",
20693     "Version": 1,
20694     "Schema": {
20695       "type": "object",
20696       "properties": {
20697         "Phase": {
20698           "type": "object",
20699           "properties": {
20700             "Params": {
20701               "$ref": "#/definitions/Entities"
20702             },
20703             "Result": {
20704               "$ref": "#/definitions/PhaseResults"
20705             }
20706           }
20707         },
20708         "Watch": {
20709           "type": "object",
20710           "properties": {
20711             "Params": {
20712               "$ref": "#/definitions/Entities"
20713             },
20714             "Result": {
20715               "$ref": "#/definitions/NotifyWatchResults"
20716             }
20717           }
20718         }
20719       },
20720       "definitions": {
20721         "Entities": {
20722           "type": "object",
20723           "properties": {
20724             "entities": {
20725               "type": "array",
20726               "items": {
20727                 "$ref": "#/definitions/Entity"
20728               }
20729             }
20730           },
20731           "additionalProperties": false,
20732           "required": [
20733             "entities"
20734           ]
20735         },
20736         "Entity": {
20737           "type": "object",
20738           "properties": {
20739             "tag": {
20740               "type": "string"
20741             }
20742           },
20743           "additionalProperties": false,
20744           "required": [
20745             "tag"
20746           ]
20747         },
20748         "Error": {
20749           "type": "object",
20750           "properties": {
20751             "code": {
20752               "type": "string"
20753             },
20754             "info": {
20755               "$ref": "#/definitions/ErrorInfo"
20756             },
20757             "message": {
20758               "type": "string"
20759             }
20760           },
20761           "additionalProperties": false,
20762           "required": [
20763             "message",
20764             "code"
20765           ]
20766         },
20767         "ErrorInfo": {
20768           "type": "object",
20769           "properties": {
20770             "macaroon": {
20771               "$ref": "#/definitions/Macaroon"
20772             },
20773             "macaroon-path": {
20774               "type": "string"
20775             }
20776           },
20777           "additionalProperties": false
20778         },
20779         "Macaroon": {
20780           "type": "object",
20781           "additionalProperties": false
20782         },
20783         "NotifyWatchResult": {
20784           "type": "object",
20785           "properties": {
20786             "NotifyWatcherId": {
20787               "type": "string"
20788             },
20789             "error": {
20790               "$ref": "#/definitions/Error"
20791             }
20792           },
20793           "additionalProperties": false,
20794           "required": [
20795             "NotifyWatcherId"
20796           ]
20797         },
20798         "NotifyWatchResults": {
20799           "type": "object",
20800           "properties": {
20801             "results": {
20802               "type": "array",
20803               "items": {
20804                 "$ref": "#/definitions/NotifyWatchResult"
20805               }
20806             }
20807           },
20808           "additionalProperties": false,
20809           "required": [
20810             "results"
20811           ]
20812         },
20813         "PhaseResult": {
20814           "type": "object",
20815           "properties": {
20816             "error": {
20817               "$ref": "#/definitions/Error"
20818             },
20819             "phase": {
20820               "type": "string"
20821             }
20822           },
20823           "additionalProperties": false
20824         },
20825         "PhaseResults": {
20826           "type": "object",
20827           "properties": {
20828             "results": {
20829               "type": "array",
20830               "items": {
20831                 "$ref": "#/definitions/PhaseResult"
20832               }
20833             }
20834           },
20835           "additionalProperties": false,
20836           "required": [
20837             "results"
20838           ]
20839         }
20840       }
20841     }
20842   },
20843   {
20844     "Name": "MigrationMaster",
20845     "Version": 1,
20846     "Schema": {
20847       "type": "object",
20848       "properties": {
20849         "Export": {
20850           "type": "object",
20851           "properties": {
20852             "Result": {
20853               "$ref": "#/definitions/SerializedModel"
20854             }
20855           }
20856         },
20857         "MigrationStatus": {
20858           "type": "object",
20859           "properties": {
20860             "Result": {
20861               "$ref": "#/definitions/MasterMigrationStatus"
20862             }
20863           }
20864         },
20865         "MinionReports": {
20866           "type": "object",
20867           "properties": {
20868             "Result": {
20869               "$ref": "#/definitions/MinionReports"
20870             }
20871           }
20872         },
20873         "ModelInfo": {
20874           "type": "object",
20875           "properties": {
20876             "Result": {
20877               "$ref": "#/definitions/MigrationModelInfo"
20878             }
20879           }
20880         },
20881         "Prechecks": {
20882           "type": "object"
20883         },
20884         "Reap": {
20885           "type": "object"
20886         },
20887         "SetPhase": {
20888           "type": "object",
20889           "properties": {
20890             "Params": {
20891               "$ref": "#/definitions/SetMigrationPhaseArgs"
20892             }
20893           }
20894         },
20895         "SetStatusMessage": {
20896           "type": "object",
20897           "properties": {
20898             "Params": {
20899               "$ref": "#/definitions/SetMigrationStatusMessageArgs"
20900             }
20901           }
20902         },
20903         "Watch": {
20904           "type": "object",
20905           "properties": {
20906             "Result": {
20907               "$ref": "#/definitions/NotifyWatchResult"
20908             }
20909           }
20910         },
20911         "WatchMinionReports": {
20912           "type": "object",
20913           "properties": {
20914             "Result": {
20915               "$ref": "#/definitions/NotifyWatchResult"
20916             }
20917           }
20918         }
20919       },
20920       "definitions": {
20921         "Error": {
20922           "type": "object",
20923           "properties": {
20924             "code": {
20925               "type": "string"
20926             },
20927             "info": {
20928               "$ref": "#/definitions/ErrorInfo"
20929             },
20930             "message": {
20931               "type": "string"
20932             }
20933           },
20934           "additionalProperties": false,
20935           "required": [
20936             "message",
20937             "code"
20938           ]
20939         },
20940         "ErrorInfo": {
20941           "type": "object",
20942           "properties": {
20943             "macaroon": {
20944               "$ref": "#/definitions/Macaroon"
20945             },
20946             "macaroon-path": {
20947               "type": "string"
20948             }
20949           },
20950           "additionalProperties": false
20951         },
20952         "Macaroon": {
20953           "type": "object",
20954           "additionalProperties": false
20955         },
20956         "MasterMigrationStatus": {
20957           "type": "object",
20958           "properties": {
20959             "migration-id": {
20960               "type": "string"
20961             },
20962             "phase": {
20963               "type": "string"
20964             },
20965             "phase-changed-time": {
20966               "type": "string",
20967               "format": "date-time"
20968             },
20969             "spec": {
20970               "$ref": "#/definitions/MigrationSpec"
20971             }
20972           },
20973           "additionalProperties": false,
20974           "required": [
20975             "spec",
20976             "migration-id",
20977             "phase",
20978             "phase-changed-time"
20979           ]
20980         },
20981         "MigrationModelInfo": {
20982           "type": "object",
20983           "properties": {
20984             "agent-version": {
20985               "$ref": "#/definitions/Number"
20986             },
20987             "controller-agent-version": {
20988               "$ref": "#/definitions/Number"
20989             },
20990             "name": {
20991               "type": "string"
20992             },
20993             "owner-tag": {
20994               "type": "string"
20995             },
20996             "uuid": {
20997               "type": "string"
20998             }
20999           },
21000           "additionalProperties": false,
21001           "required": [
21002             "uuid",
21003             "name",
21004             "owner-tag",
21005             "agent-version",
21006             "controller-agent-version"
21007           ]
21008         },
21009         "MigrationSpec": {
21010           "type": "object",
21011           "properties": {
21012             "model-tag": {
21013               "type": "string"
21014             },
21015             "target-info": {
21016               "$ref": "#/definitions/MigrationTargetInfo"
21017             }
21018           },
21019           "additionalProperties": false,
21020           "required": [
21021             "model-tag",
21022             "target-info"
21023           ]
21024         },
21025         "MigrationTargetInfo": {
21026           "type": "object",
21027           "properties": {
21028             "addrs": {
21029               "type": "array",
21030               "items": {
21031                 "type": "string"
21032               }
21033             },
21034             "auth-tag": {
21035               "type": "string"
21036             },
21037             "ca-cert": {
21038               "type": "string"
21039             },
21040             "controller-tag": {
21041               "type": "string"
21042             },
21043             "macaroons": {
21044               "type": "string"
21045             },
21046             "password": {
21047               "type": "string"
21048             }
21049           },
21050           "additionalProperties": false,
21051           "required": [
21052             "controller-tag",
21053             "addrs",
21054             "ca-cert",
21055             "auth-tag"
21056           ]
21057         },
21058         "MinionReports": {
21059           "type": "object",
21060           "properties": {
21061             "failed": {
21062               "type": "array",
21063               "items": {
21064                 "type": "string"
21065               }
21066             },
21067             "migration-id": {
21068               "type": "string"
21069             },
21070             "phase": {
21071               "type": "string"
21072             },
21073             "success-count": {
21074               "type": "integer"
21075             },
21076             "unknown-count": {
21077               "type": "integer"
21078             },
21079             "unknown-sample": {
21080               "type": "array",
21081               "items": {
21082                 "type": "string"
21083               }
21084             }
21085           },
21086           "additionalProperties": false,
21087           "required": [
21088             "migration-id",
21089             "phase",
21090             "success-count",
21091             "unknown-count",
21092             "unknown-sample",
21093             "failed"
21094           ]
21095         },
21096         "NotifyWatchResult": {
21097           "type": "object",
21098           "properties": {
21099             "NotifyWatcherId": {
21100               "type": "string"
21101             },
21102             "error": {
21103               "$ref": "#/definitions/Error"
21104             }
21105           },
21106           "additionalProperties": false,
21107           "required": [
21108             "NotifyWatcherId"
21109           ]
21110         },
21111         "Number": {
21112           "type": "object",
21113           "properties": {
21114             "Build": {
21115               "type": "integer"
21116             },
21117             "Major": {
21118               "type": "integer"
21119             },
21120             "Minor": {
21121               "type": "integer"
21122             },
21123             "Patch": {
21124               "type": "integer"
21125             },
21126             "Tag": {
21127               "type": "string"
21128             }
21129           },
21130           "additionalProperties": false,
21131           "required": [
21132             "Major",
21133             "Minor",
21134             "Tag",
21135             "Patch",
21136             "Build"
21137           ]
21138         },
21139         "SerializedModel": {
21140           "type": "object",
21141           "properties": {
21142             "bytes": {
21143               "type": "array",
21144               "items": {
21145                 "type": "integer"
21146               }
21147             },
21148             "charms": {
21149               "type": "array",
21150               "items": {
21151                 "type": "string"
21152               }
21153             },
21154             "resources": {
21155               "type": "array",
21156               "items": {
21157                 "$ref": "#/definitions/SerializedModelResource"
21158               }
21159             },
21160             "tools": {
21161               "type": "array",
21162               "items": {
21163                 "$ref": "#/definitions/SerializedModelTools"
21164               }
21165             }
21166           },
21167           "additionalProperties": false,
21168           "required": [
21169             "bytes",
21170             "charms",
21171             "tools",
21172             "resources"
21173           ]
21174         },
21175         "SerializedModelResource": {
21176           "type": "object",
21177           "properties": {
21178             "application": {
21179               "type": "string"
21180             },
21181             "application-revision": {
21182               "$ref": "#/definitions/SerializedModelResourceRevision"
21183             },
21184             "charmstore-revision": {
21185               "$ref": "#/definitions/SerializedModelResourceRevision"
21186             },
21187             "name": {
21188               "type": "string"
21189             },
21190             "unit-revisions": {
21191               "type": "object",
21192               "patternProperties": {
21193                 ".*": {
21194                   "$ref": "#/definitions/SerializedModelResourceRevision"
21195                 }
21196               }
21197             }
21198           },
21199           "additionalProperties": false,
21200           "required": [
21201             "application",
21202             "name",
21203             "application-revision",
21204             "charmstore-revision",
21205             "unit-revisions"
21206           ]
21207         },
21208         "SerializedModelResourceRevision": {
21209           "type": "object",
21210           "properties": {
21211             "description": {
21212               "type": "string"
21213             },
21214             "fingerprint": {
21215               "type": "string"
21216             },
21217             "origin": {
21218               "type": "string"
21219             },
21220             "path": {
21221               "type": "string"
21222             },
21223             "revision": {
21224               "type": "integer"
21225             },
21226             "size": {
21227               "type": "integer"
21228             },
21229             "timestamp": {
21230               "type": "string",
21231               "format": "date-time"
21232             },
21233             "type": {
21234               "type": "string"
21235             },
21236             "username": {
21237               "type": "string"
21238             }
21239           },
21240           "additionalProperties": false,
21241           "required": [
21242             "revision",
21243             "type",
21244             "path",
21245             "description",
21246             "origin",
21247             "fingerprint",
21248             "size",
21249             "timestamp"
21250           ]
21251         },
21252         "SerializedModelTools": {
21253           "type": "object",
21254           "properties": {
21255             "uri": {
21256               "type": "string"
21257             },
21258             "version": {
21259               "type": "string"
21260             }
21261           },
21262           "additionalProperties": false,
21263           "required": [
21264             "version",
21265             "uri"
21266           ]
21267         },
21268         "SetMigrationPhaseArgs": {
21269           "type": "object",
21270           "properties": {
21271             "phase": {
21272               "type": "string"
21273             }
21274           },
21275           "additionalProperties": false,
21276           "required": [
21277             "phase"
21278           ]
21279         },
21280         "SetMigrationStatusMessageArgs": {
21281           "type": "object",
21282           "properties": {
21283             "message": {
21284               "type": "string"
21285             }
21286           },
21287           "additionalProperties": false,
21288           "required": [
21289             "message"
21290           ]
21291         }
21292       }
21293     }
21294   },
21295   {
21296     "Name": "MigrationMinion",
21297     "Version": 1,
21298     "Schema": {
21299       "type": "object",
21300       "properties": {
21301         "Report": {
21302           "type": "object",
21303           "properties": {
21304             "Params": {
21305               "$ref": "#/definitions/MinionReport"
21306             }
21307           }
21308         },
21309         "Watch": {
21310           "type": "object",
21311           "properties": {
21312             "Result": {
21313               "$ref": "#/definitions/NotifyWatchResult"
21314             }
21315           }
21316         }
21317       },
21318       "definitions": {
21319         "Error": {
21320           "type": "object",
21321           "properties": {
21322             "code": {
21323               "type": "string"
21324             },
21325             "info": {
21326               "$ref": "#/definitions/ErrorInfo"
21327             },
21328             "message": {
21329               "type": "string"
21330             }
21331           },
21332           "additionalProperties": false,
21333           "required": [
21334             "message",
21335             "code"
21336           ]
21337         },
21338         "ErrorInfo": {
21339           "type": "object",
21340           "properties": {
21341             "macaroon": {
21342               "$ref": "#/definitions/Macaroon"
21343             },
21344             "macaroon-path": {
21345               "type": "string"
21346             }
21347           },
21348           "additionalProperties": false
21349         },
21350         "Macaroon": {
21351           "type": "object",
21352           "additionalProperties": false
21353         },
21354         "MinionReport": {
21355           "type": "object",
21356           "properties": {
21357             "migration-id": {
21358               "type": "string"
21359             },
21360             "phase": {
21361               "type": "string"
21362             },
21363             "success": {
21364               "type": "boolean"
21365             }
21366           },
21367           "additionalProperties": false,
21368           "required": [
21369             "migration-id",
21370             "phase",
21371             "success"
21372           ]
21373         },
21374         "NotifyWatchResult": {
21375           "type": "object",
21376           "properties": {
21377             "NotifyWatcherId": {
21378               "type": "string"
21379             },
21380             "error": {
21381               "$ref": "#/definitions/Error"
21382             }
21383           },
21384           "additionalProperties": false,
21385           "required": [
21386             "NotifyWatcherId"
21387           ]
21388         }
21389       }
21390     }
21391   },
21392   {
21393     "Name": "MigrationStatusWatcher",
21394     "Version": 1,
21395     "Schema": {
21396       "type": "object",
21397       "properties": {
21398         "Next": {
21399           "type": "object",
21400           "properties": {
21401             "Result": {
21402               "$ref": "#/definitions/MigrationStatus"
21403             }
21404           }
21405         },
21406         "Stop": {
21407           "type": "object"
21408         }
21409       },
21410       "definitions": {
21411         "MigrationStatus": {
21412           "type": "object",
21413           "properties": {
21414             "attempt": {
21415               "type": "integer"
21416             },
21417             "migration-id": {
21418               "type": "string"
21419             },
21420             "phase": {
21421               "type": "string"
21422             },
21423             "source-api-addrs": {
21424               "type": "array",
21425               "items": {
21426                 "type": "string"
21427               }
21428             },
21429             "source-ca-cert": {
21430               "type": "string"
21431             },
21432             "target-api-addrs": {
21433               "type": "array",
21434               "items": {
21435                 "type": "string"
21436               }
21437             },
21438             "target-ca-cert": {
21439               "type": "string"
21440             }
21441           },
21442           "additionalProperties": false,
21443           "required": [
21444             "migration-id",
21445             "attempt",
21446             "phase",
21447             "source-api-addrs",
21448             "source-ca-cert",
21449             "target-api-addrs",
21450             "target-ca-cert"
21451           ]
21452         }
21453       }
21454     }
21455   },
21456   {
21457     "Name": "MigrationTarget",
21458     "Version": 1,
21459     "Schema": {
21460       "type": "object",
21461       "properties": {
21462         "Abort": {
21463           "type": "object",
21464           "properties": {
21465             "Params": {
21466               "$ref": "#/definitions/ModelArgs"
21467             }
21468           }
21469         },
21470         "Activate": {
21471           "type": "object",
21472           "properties": {
21473             "Params": {
21474               "$ref": "#/definitions/ModelArgs"
21475             }
21476           }
21477         },
21478         "AdoptResources": {
21479           "type": "object",
21480           "properties": {
21481             "Params": {
21482               "$ref": "#/definitions/AdoptResourcesArgs"
21483             }
21484           }
21485         },
21486         "CACert": {
21487           "type": "object",
21488           "properties": {
21489             "Result": {
21490               "$ref": "#/definitions/BytesResult"
21491             }
21492           }
21493         },
21494         "CheckMachines": {
21495           "type": "object",
21496           "properties": {
21497             "Params": {
21498               "$ref": "#/definitions/ModelArgs"
21499             },
21500             "Result": {
21501               "$ref": "#/definitions/ErrorResults"
21502             }
21503           }
21504         },
21505         "Import": {
21506           "type": "object",
21507           "properties": {
21508             "Params": {
21509               "$ref": "#/definitions/SerializedModel"
21510             }
21511           }
21512         },
21513         "LatestLogTime": {
21514           "type": "object",
21515           "properties": {
21516             "Params": {
21517               "$ref": "#/definitions/ModelArgs"
21518             },
21519             "Result": {
21520               "type": "string",
21521               "format": "date-time"
21522             }
21523           }
21524         },
21525         "Prechecks": {
21526           "type": "object",
21527           "properties": {
21528             "Params": {
21529               "$ref": "#/definitions/MigrationModelInfo"
21530             }
21531           }
21532         }
21533       },
21534       "definitions": {
21535         "AdoptResourcesArgs": {
21536           "type": "object",
21537           "properties": {
21538             "model-tag": {
21539               "type": "string"
21540             },
21541             "source-controller-version": {
21542               "$ref": "#/definitions/Number"
21543             }
21544           },
21545           "additionalProperties": false,
21546           "required": [
21547             "model-tag",
21548             "source-controller-version"
21549           ]
21550         },
21551         "BytesResult": {
21552           "type": "object",
21553           "properties": {
21554             "result": {
21555               "type": "array",
21556               "items": {
21557                 "type": "integer"
21558               }
21559             }
21560           },
21561           "additionalProperties": false,
21562           "required": [
21563             "result"
21564           ]
21565         },
21566         "Error": {
21567           "type": "object",
21568           "properties": {
21569             "code": {
21570               "type": "string"
21571             },
21572             "info": {
21573               "$ref": "#/definitions/ErrorInfo"
21574             },
21575             "message": {
21576               "type": "string"
21577             }
21578           },
21579           "additionalProperties": false,
21580           "required": [
21581             "message",
21582             "code"
21583           ]
21584         },
21585         "ErrorInfo": {
21586           "type": "object",
21587           "properties": {
21588             "macaroon": {
21589               "$ref": "#/definitions/Macaroon"
21590             },
21591             "macaroon-path": {
21592               "type": "string"
21593             }
21594           },
21595           "additionalProperties": false
21596         },
21597         "ErrorResult": {
21598           "type": "object",
21599           "properties": {
21600             "error": {
21601               "$ref": "#/definitions/Error"
21602             }
21603           },
21604           "additionalProperties": false
21605         },
21606         "ErrorResults": {
21607           "type": "object",
21608           "properties": {
21609             "results": {
21610               "type": "array",
21611               "items": {
21612                 "$ref": "#/definitions/ErrorResult"
21613               }
21614             }
21615           },
21616           "additionalProperties": false,
21617           "required": [
21618             "results"
21619           ]
21620         },
21621         "Macaroon": {
21622           "type": "object",
21623           "additionalProperties": false
21624         },
21625         "MigrationModelInfo": {
21626           "type": "object",
21627           "properties": {
21628             "agent-version": {
21629               "$ref": "#/definitions/Number"
21630             },
21631             "controller-agent-version": {
21632               "$ref": "#/definitions/Number"
21633             },
21634             "name": {
21635               "type": "string"
21636             },
21637             "owner-tag": {
21638               "type": "string"
21639             },
21640             "uuid": {
21641               "type": "string"
21642             }
21643           },
21644           "additionalProperties": false,
21645           "required": [
21646             "uuid",
21647             "name",
21648             "owner-tag",
21649             "agent-version",
21650             "controller-agent-version"
21651           ]
21652         },
21653         "ModelArgs": {
21654           "type": "object",
21655           "properties": {
21656             "model-tag": {
21657               "type": "string"
21658             }
21659           },
21660           "additionalProperties": false,
21661           "required": [
21662             "model-tag"
21663           ]
21664         },
21665         "Number": {
21666           "type": "object",
21667           "properties": {
21668             "Build": {
21669               "type": "integer"
21670             },
21671             "Major": {
21672               "type": "integer"
21673             },
21674             "Minor": {
21675               "type": "integer"
21676             },
21677             "Patch": {
21678               "type": "integer"
21679             },
21680             "Tag": {
21681               "type": "string"
21682             }
21683           },
21684           "additionalProperties": false,
21685           "required": [
21686             "Major",
21687             "Minor",
21688             "Tag",
21689             "Patch",
21690             "Build"
21691           ]
21692         },
21693         "SerializedModel": {
21694           "type": "object",
21695           "properties": {
21696             "bytes": {
21697               "type": "array",
21698               "items": {
21699                 "type": "integer"
21700               }
21701             },
21702             "charms": {
21703               "type": "array",
21704               "items": {
21705                 "type": "string"
21706               }
21707             },
21708             "resources": {
21709               "type": "array",
21710               "items": {
21711                 "$ref": "#/definitions/SerializedModelResource"
21712               }
21713             },
21714             "tools": {
21715               "type": "array",
21716               "items": {
21717                 "$ref": "#/definitions/SerializedModelTools"
21718               }
21719             }
21720           },
21721           "additionalProperties": false,
21722           "required": [
21723             "bytes",
21724             "charms",
21725             "tools",
21726             "resources"
21727           ]
21728         },
21729         "SerializedModelResource": {
21730           "type": "object",
21731           "properties": {
21732             "application": {
21733               "type": "string"
21734             },
21735             "application-revision": {
21736               "$ref": "#/definitions/SerializedModelResourceRevision"
21737             },
21738             "charmstore-revision": {
21739               "$ref": "#/definitions/SerializedModelResourceRevision"
21740             },
21741             "name": {
21742               "type": "string"
21743             },
21744             "unit-revisions": {
21745               "type": "object",
21746               "patternProperties": {
21747                 ".*": {
21748                   "$ref": "#/definitions/SerializedModelResourceRevision"
21749                 }
21750               }
21751             }
21752           },
21753           "additionalProperties": false,
21754           "required": [
21755             "application",
21756             "name",
21757             "application-revision",
21758             "charmstore-revision",
21759             "unit-revisions"
21760           ]
21761         },
21762         "SerializedModelResourceRevision": {
21763           "type": "object",
21764           "properties": {
21765             "description": {
21766               "type": "string"
21767             },
21768             "fingerprint": {
21769               "type": "string"
21770             },
21771             "origin": {
21772               "type": "string"
21773             },
21774             "path": {
21775               "type": "string"
21776             },
21777             "revision": {
21778               "type": "integer"
21779             },
21780             "size": {
21781               "type": "integer"
21782             },
21783             "timestamp": {
21784               "type": "string",
21785               "format": "date-time"
21786             },
21787             "type": {
21788               "type": "string"
21789             },
21790             "username": {
21791               "type": "string"
21792             }
21793           },
21794           "additionalProperties": false,
21795           "required": [
21796             "revision",
21797             "type",
21798             "path",
21799             "description",
21800             "origin",
21801             "fingerprint",
21802             "size",
21803             "timestamp"
21804           ]
21805         },
21806         "SerializedModelTools": {
21807           "type": "object",
21808           "properties": {
21809             "uri": {
21810               "type": "string"
21811             },
21812             "version": {
21813               "type": "string"
21814             }
21815           },
21816           "additionalProperties": false,
21817           "required": [
21818             "version",
21819             "uri"
21820           ]
21821         }
21822       }
21823     }
21824   },
21825   {
21826     "Name": "ModelConfig",
21827     "Version": 2,
21828     "Schema": {
21829       "type": "object",
21830       "properties": {
21831         "ModelGet": {
21832           "type": "object",
21833           "properties": {
21834             "Result": {
21835               "$ref": "#/definitions/ModelConfigResults"
21836             }
21837           }
21838         },
21839         "ModelSet": {
21840           "type": "object",
21841           "properties": {
21842             "Params": {
21843               "$ref": "#/definitions/ModelSet"
21844             }
21845           }
21846         },
21847         "ModelUnset": {
21848           "type": "object",
21849           "properties": {
21850             "Params": {
21851               "$ref": "#/definitions/ModelUnset"
21852             }
21853           }
21854         },
21855         "SLALevel": {
21856           "type": "object",
21857           "properties": {
21858             "Result": {
21859               "$ref": "#/definitions/StringResult"
21860             }
21861           }
21862         },
21863         "Sequences": {
21864           "type": "object",
21865           "properties": {
21866             "Result": {
21867               "$ref": "#/definitions/ModelSequencesResult"
21868             }
21869           }
21870         },
21871         "SetSLALevel": {
21872           "type": "object",
21873           "properties": {
21874             "Params": {
21875               "$ref": "#/definitions/ModelSLA"
21876             }
21877           }
21878         }
21879       },
21880       "definitions": {
21881         "ConfigValue": {
21882           "type": "object",
21883           "properties": {
21884             "source": {
21885               "type": "string"
21886             },
21887             "value": {
21888               "type": "object",
21889               "additionalProperties": true
21890             }
21891           },
21892           "additionalProperties": false,
21893           "required": [
21894             "value",
21895             "source"
21896           ]
21897         },
21898         "Error": {
21899           "type": "object",
21900           "properties": {
21901             "code": {
21902               "type": "string"
21903             },
21904             "info": {
21905               "$ref": "#/definitions/ErrorInfo"
21906             },
21907             "message": {
21908               "type": "string"
21909             }
21910           },
21911           "additionalProperties": false,
21912           "required": [
21913             "message",
21914             "code"
21915           ]
21916         },
21917         "ErrorInfo": {
21918           "type": "object",
21919           "properties": {
21920             "macaroon": {
21921               "$ref": "#/definitions/Macaroon"
21922             },
21923             "macaroon-path": {
21924               "type": "string"
21925             }
21926           },
21927           "additionalProperties": false
21928         },
21929         "Macaroon": {
21930           "type": "object",
21931           "additionalProperties": false
21932         },
21933         "ModelConfigResults": {
21934           "type": "object",
21935           "properties": {
21936             "config": {
21937               "type": "object",
21938               "patternProperties": {
21939                 ".*": {
21940                   "$ref": "#/definitions/ConfigValue"
21941                 }
21942               }
21943             }
21944           },
21945           "additionalProperties": false,
21946           "required": [
21947             "config"
21948           ]
21949         },
21950         "ModelSLA": {
21951           "type": "object",
21952           "properties": {
21953             "ModelSLAInfo": {
21954               "$ref": "#/definitions/ModelSLAInfo"
21955             },
21956             "creds": {
21957               "type": "array",
21958               "items": {
21959                 "type": "integer"
21960               }
21961             }
21962           },
21963           "additionalProperties": false,
21964           "required": [
21965             "ModelSLAInfo",
21966             "creds"
21967           ]
21968         },
21969         "ModelSLAInfo": {
21970           "type": "object",
21971           "properties": {
21972             "level": {
21973               "type": "string"
21974             },
21975             "owner": {
21976               "type": "string"
21977             }
21978           },
21979           "additionalProperties": false,
21980           "required": [
21981             "level",
21982             "owner"
21983           ]
21984         },
21985         "ModelSequencesResult": {
21986           "type": "object",
21987           "properties": {
21988             "sequences": {
21989               "type": "object",
21990               "patternProperties": {
21991                 ".*": {
21992                   "type": "integer"
21993                 }
21994               }
21995             }
21996           },
21997           "additionalProperties": false,
21998           "required": [
21999             "sequences"
22000           ]
22001         },
22002         "ModelSet": {
22003           "type": "object",
22004           "properties": {
22005             "config": {
22006               "type": "object",
22007               "patternProperties": {
22008                 ".*": {
22009                   "type": "object",
22010                   "additionalProperties": true
22011                 }
22012               }
22013             }
22014           },
22015           "additionalProperties": false,
22016           "required": [
22017             "config"
22018           ]
22019         },
22020         "ModelUnset": {
22021           "type": "object",
22022           "properties": {
22023             "keys": {
22024               "type": "array",
22025               "items": {
22026                 "type": "string"
22027               }
22028             }
22029           },
22030           "additionalProperties": false,
22031           "required": [
22032             "keys"
22033           ]
22034         },
22035         "StringResult": {
22036           "type": "object",
22037           "properties": {
22038             "error": {
22039               "$ref": "#/definitions/Error"
22040             },
22041             "result": {
22042               "type": "string"
22043             }
22044           },
22045           "additionalProperties": false,
22046           "required": [
22047             "result"
22048           ]
22049         }
22050       }
22051     }
22052   },
22053   {
22054     "Name": "ModelManager",
22055     "Version": 5,
22056     "Schema": {
22057       "type": "object",
22058       "properties": {
22059         "ChangeModelCredential": {
22060           "type": "object",
22061           "properties": {
22062             "Params": {
22063               "$ref": "#/definitions/ChangeModelCredentialsParams"
22064             },
22065             "Result": {
22066               "$ref": "#/definitions/ErrorResults"
22067             }
22068           }
22069         },
22070         "CreateModel": {
22071           "type": "object",
22072           "properties": {
22073             "Params": {
22074               "$ref": "#/definitions/ModelCreateArgs"
22075             },
22076             "Result": {
22077               "$ref": "#/definitions/ModelInfo"
22078             }
22079           }
22080         },
22081         "DestroyModels": {
22082           "type": "object",
22083           "properties": {
22084             "Params": {
22085               "$ref": "#/definitions/DestroyModelsParams"
22086             },
22087             "Result": {
22088               "$ref": "#/definitions/ErrorResults"
22089             }
22090           }
22091         },
22092         "DumpModels": {
22093           "type": "object",
22094           "properties": {
22095             "Params": {
22096               "$ref": "#/definitions/DumpModelRequest"
22097             },
22098             "Result": {
22099               "$ref": "#/definitions/StringResults"
22100             }
22101           }
22102         },
22103         "DumpModelsDB": {
22104           "type": "object",
22105           "properties": {
22106             "Params": {
22107               "$ref": "#/definitions/Entities"
22108             },
22109             "Result": {
22110               "$ref": "#/definitions/MapResults"
22111             }
22112           }
22113         },
22114         "ListModelSummaries": {
22115           "type": "object",
22116           "properties": {
22117             "Params": {
22118               "$ref": "#/definitions/ModelSummariesRequest"
22119             },
22120             "Result": {
22121               "$ref": "#/definitions/ModelSummaryResults"
22122             }
22123           }
22124         },
22125         "ListModels": {
22126           "type": "object",
22127           "properties": {
22128             "Params": {
22129               "$ref": "#/definitions/Entity"
22130             },
22131             "Result": {
22132               "$ref": "#/definitions/UserModelList"
22133             }
22134           }
22135         },
22136         "ModelDefaults": {
22137           "type": "object",
22138           "properties": {
22139             "Result": {
22140               "$ref": "#/definitions/ModelDefaultsResult"
22141             }
22142           }
22143         },
22144         "ModelInfo": {
22145           "type": "object",
22146           "properties": {
22147             "Params": {
22148               "$ref": "#/definitions/Entities"
22149             },
22150             "Result": {
22151               "$ref": "#/definitions/ModelInfoResults"
22152             }
22153           }
22154         },
22155         "ModelStatus": {
22156           "type": "object",
22157           "properties": {
22158             "Params": {
22159               "$ref": "#/definitions/Entities"
22160             },
22161             "Result": {
22162               "$ref": "#/definitions/ModelStatusResults"
22163             }
22164           }
22165         },
22166         "ModifyModelAccess": {
22167           "type": "object",
22168           "properties": {
22169             "Params": {
22170               "$ref": "#/definitions/ModifyModelAccessRequest"
22171             },
22172             "Result": {
22173               "$ref": "#/definitions/ErrorResults"
22174             }
22175           }
22176         },
22177         "SetModelDefaults": {
22178           "type": "object",
22179           "properties": {
22180             "Params": {
22181               "$ref": "#/definitions/SetModelDefaults"
22182             },
22183             "Result": {
22184               "$ref": "#/definitions/ErrorResults"
22185             }
22186           }
22187         },
22188         "UnsetModelDefaults": {
22189           "type": "object",
22190           "properties": {
22191             "Params": {
22192               "$ref": "#/definitions/UnsetModelDefaults"
22193             },
22194             "Result": {
22195               "$ref": "#/definitions/ErrorResults"
22196             }
22197           }
22198         }
22199       },
22200       "definitions": {
22201         "ChangeModelCredentialParams": {
22202           "type": "object",
22203           "properties": {
22204             "credential-tag": {
22205               "type": "string"
22206             },
22207             "model-tag": {
22208               "type": "string"
22209             }
22210           },
22211           "additionalProperties": false,
22212           "required": [
22213             "model-tag",
22214             "credential-tag"
22215           ]
22216         },
22217         "ChangeModelCredentialsParams": {
22218           "type": "object",
22219           "properties": {
22220             "model-credentials": {
22221               "type": "array",
22222               "items": {
22223                 "$ref": "#/definitions/ChangeModelCredentialParams"
22224               }
22225             }
22226           },
22227           "additionalProperties": false,
22228           "required": [
22229             "model-credentials"
22230           ]
22231         },
22232         "DestroyModelParams": {
22233           "type": "object",
22234           "properties": {
22235             "destroy-storage": {
22236               "type": "boolean"
22237             },
22238             "model-tag": {
22239               "type": "string"
22240             }
22241           },
22242           "additionalProperties": false,
22243           "required": [
22244             "model-tag"
22245           ]
22246         },
22247         "DestroyModelsParams": {
22248           "type": "object",
22249           "properties": {
22250             "models": {
22251               "type": "array",
22252               "items": {
22253                 "$ref": "#/definitions/DestroyModelParams"
22254               }
22255             }
22256           },
22257           "additionalProperties": false,
22258           "required": [
22259             "models"
22260           ]
22261         },
22262         "DumpModelRequest": {
22263           "type": "object",
22264           "properties": {
22265             "entities": {
22266               "type": "array",
22267               "items": {
22268                 "$ref": "#/definitions/Entity"
22269               }
22270             },
22271             "simplified": {
22272               "type": "boolean"
22273             }
22274           },
22275           "additionalProperties": false,
22276           "required": [
22277             "entities",
22278             "simplified"
22279           ]
22280         },
22281         "Entities": {
22282           "type": "object",
22283           "properties": {
22284             "entities": {
22285               "type": "array",
22286               "items": {
22287                 "$ref": "#/definitions/Entity"
22288               }
22289             }
22290           },
22291           "additionalProperties": false,
22292           "required": [
22293             "entities"
22294           ]
22295         },
22296         "Entity": {
22297           "type": "object",
22298           "properties": {
22299             "tag": {
22300               "type": "string"
22301             }
22302           },
22303           "additionalProperties": false,
22304           "required": [
22305             "tag"
22306           ]
22307         },
22308         "EntityStatus": {
22309           "type": "object",
22310           "properties": {
22311             "data": {
22312               "type": "object",
22313               "patternProperties": {
22314                 ".*": {
22315                   "type": "object",
22316                   "additionalProperties": true
22317                 }
22318               }
22319             },
22320             "info": {
22321               "type": "string"
22322             },
22323             "since": {
22324               "type": "string",
22325               "format": "date-time"
22326             },
22327             "status": {
22328               "type": "string"
22329             }
22330           },
22331           "additionalProperties": false,
22332           "required": [
22333             "status",
22334             "info",
22335             "since"
22336           ]
22337         },
22338         "Error": {
22339           "type": "object",
22340           "properties": {
22341             "code": {
22342               "type": "string"
22343             },
22344             "info": {
22345               "$ref": "#/definitions/ErrorInfo"
22346             },
22347             "message": {
22348               "type": "string"
22349             }
22350           },
22351           "additionalProperties": false,
22352           "required": [
22353             "message",
22354             "code"
22355           ]
22356         },
22357         "ErrorInfo": {
22358           "type": "object",
22359           "properties": {
22360             "macaroon": {
22361               "$ref": "#/definitions/Macaroon"
22362             },
22363             "macaroon-path": {
22364               "type": "string"
22365             }
22366           },
22367           "additionalProperties": false
22368         },
22369         "ErrorResult": {
22370           "type": "object",
22371           "properties": {
22372             "error": {
22373               "$ref": "#/definitions/Error"
22374             }
22375           },
22376           "additionalProperties": false
22377         },
22378         "ErrorResults": {
22379           "type": "object",
22380           "properties": {
22381             "results": {
22382               "type": "array",
22383               "items": {
22384                 "$ref": "#/definitions/ErrorResult"
22385               }
22386             }
22387           },
22388           "additionalProperties": false,
22389           "required": [
22390             "results"
22391           ]
22392         },
22393         "Macaroon": {
22394           "type": "object",
22395           "additionalProperties": false
22396         },
22397         "MachineHardware": {
22398           "type": "object",
22399           "properties": {
22400             "arch": {
22401               "type": "string"
22402             },
22403             "availability-zone": {
22404               "type": "string"
22405             },
22406             "cores": {
22407               "type": "integer"
22408             },
22409             "cpu-power": {
22410               "type": "integer"
22411             },
22412             "mem": {
22413               "type": "integer"
22414             },
22415             "root-disk": {
22416               "type": "integer"
22417             },
22418             "tags": {
22419               "type": "array",
22420               "items": {
22421                 "type": "string"
22422               }
22423             }
22424           },
22425           "additionalProperties": false
22426         },
22427         "MapResult": {
22428           "type": "object",
22429           "properties": {
22430             "error": {
22431               "$ref": "#/definitions/Error"
22432             },
22433             "result": {
22434               "type": "object",
22435               "patternProperties": {
22436                 ".*": {
22437                   "type": "object",
22438                   "additionalProperties": true
22439                 }
22440               }
22441             }
22442           },
22443           "additionalProperties": false,
22444           "required": [
22445             "result"
22446           ]
22447         },
22448         "MapResults": {
22449           "type": "object",
22450           "properties": {
22451             "results": {
22452               "type": "array",
22453               "items": {
22454                 "$ref": "#/definitions/MapResult"
22455               }
22456             }
22457           },
22458           "additionalProperties": false,
22459           "required": [
22460             "results"
22461           ]
22462         },
22463         "Model": {
22464           "type": "object",
22465           "properties": {
22466             "name": {
22467               "type": "string"
22468             },
22469             "owner-tag": {
22470               "type": "string"
22471             },
22472             "type": {
22473               "type": "string"
22474             },
22475             "uuid": {
22476               "type": "string"
22477             }
22478           },
22479           "additionalProperties": false,
22480           "required": [
22481             "name",
22482             "uuid",
22483             "type",
22484             "owner-tag"
22485           ]
22486         },
22487         "ModelCreateArgs": {
22488           "type": "object",
22489           "properties": {
22490             "cloud-tag": {
22491               "type": "string"
22492             },
22493             "config": {
22494               "type": "object",
22495               "patternProperties": {
22496                 ".*": {
22497                   "type": "object",
22498                   "additionalProperties": true
22499                 }
22500               }
22501             },
22502             "credential": {
22503               "type": "string"
22504             },
22505             "name": {
22506               "type": "string"
22507             },
22508             "owner-tag": {
22509               "type": "string"
22510             },
22511             "region": {
22512               "type": "string"
22513             }
22514           },
22515           "additionalProperties": false,
22516           "required": [
22517             "name",
22518             "owner-tag"
22519           ]
22520         },
22521         "ModelDefaultValues": {
22522           "type": "object",
22523           "properties": {
22524             "cloud-region": {
22525               "type": "string"
22526             },
22527             "cloud-tag": {
22528               "type": "string"
22529             },
22530             "config": {
22531               "type": "object",
22532               "patternProperties": {
22533                 ".*": {
22534                   "type": "object",
22535                   "additionalProperties": true
22536                 }
22537               }
22538             }
22539           },
22540           "additionalProperties": false,
22541           "required": [
22542             "config"
22543           ]
22544         },
22545         "ModelDefaults": {
22546           "type": "object",
22547           "properties": {
22548             "controller": {
22549               "type": "object",
22550               "additionalProperties": true
22551             },
22552             "default": {
22553               "type": "object",
22554               "additionalProperties": true
22555             },
22556             "regions": {
22557               "type": "array",
22558               "items": {
22559                 "$ref": "#/definitions/RegionDefaults"
22560               }
22561             }
22562           },
22563           "additionalProperties": false
22564         },
22565         "ModelDefaultsResult": {
22566           "type": "object",
22567           "properties": {
22568             "config": {
22569               "type": "object",
22570               "patternProperties": {
22571                 ".*": {
22572                   "$ref": "#/definitions/ModelDefaults"
22573                 }
22574               }
22575             }
22576           },
22577           "additionalProperties": false,
22578           "required": [
22579             "config"
22580           ]
22581         },
22582         "ModelEntityCount": {
22583           "type": "object",
22584           "properties": {
22585             "count": {
22586               "type": "integer"
22587             },
22588             "entity": {
22589               "type": "string"
22590             }
22591           },
22592           "additionalProperties": false,
22593           "required": [
22594             "entity",
22595             "count"
22596           ]
22597         },
22598         "ModelFilesystemInfo": {
22599           "type": "object",
22600           "properties": {
22601             "detachable": {
22602               "type": "boolean"
22603             },
22604             "id": {
22605               "type": "string"
22606             },
22607             "message": {
22608               "type": "string"
22609             },
22610             "provider-id": {
22611               "type": "string"
22612             },
22613             "status": {
22614               "type": "string"
22615             }
22616           },
22617           "additionalProperties": false,
22618           "required": [
22619             "id"
22620           ]
22621         },
22622         "ModelInfo": {
22623           "type": "object",
22624           "properties": {
22625             "agent-version": {
22626               "$ref": "#/definitions/Number"
22627             },
22628             "cloud-credential-tag": {
22629               "type": "string"
22630             },
22631             "cloud-region": {
22632               "type": "string"
22633             },
22634             "cloud-tag": {
22635               "type": "string"
22636             },
22637             "controller-uuid": {
22638               "type": "string"
22639             },
22640             "default-series": {
22641               "type": "string"
22642             },
22643             "life": {
22644               "type": "string"
22645             },
22646             "machines": {
22647               "type": "array",
22648               "items": {
22649                 "$ref": "#/definitions/ModelMachineInfo"
22650               }
22651             },
22652             "migration": {
22653               "$ref": "#/definitions/ModelMigrationStatus"
22654             },
22655             "name": {
22656               "type": "string"
22657             },
22658             "owner-tag": {
22659               "type": "string"
22660             },
22661             "provider-type": {
22662               "type": "string"
22663             },
22664             "sla": {
22665               "$ref": "#/definitions/ModelSLAInfo"
22666             },
22667             "status": {
22668               "$ref": "#/definitions/EntityStatus"
22669             },
22670             "type": {
22671               "type": "string"
22672             },
22673             "users": {
22674               "type": "array",
22675               "items": {
22676                 "$ref": "#/definitions/ModelUserInfo"
22677               }
22678             },
22679             "uuid": {
22680               "type": "string"
22681             }
22682           },
22683           "additionalProperties": false,
22684           "required": [
22685             "name",
22686             "type",
22687             "uuid",
22688             "controller-uuid",
22689             "cloud-tag",
22690             "owner-tag",
22691             "life",
22692             "users",
22693             "machines",
22694             "sla",
22695             "agent-version"
22696           ]
22697         },
22698         "ModelInfoResult": {
22699           "type": "object",
22700           "properties": {
22701             "error": {
22702               "$ref": "#/definitions/Error"
22703             },
22704             "result": {
22705               "$ref": "#/definitions/ModelInfo"
22706             }
22707           },
22708           "additionalProperties": false
22709         },
22710         "ModelInfoResults": {
22711           "type": "object",
22712           "properties": {
22713             "results": {
22714               "type": "array",
22715               "items": {
22716                 "$ref": "#/definitions/ModelInfoResult"
22717               }
22718             }
22719           },
22720           "additionalProperties": false,
22721           "required": [
22722             "results"
22723           ]
22724         },
22725         "ModelMachineInfo": {
22726           "type": "object",
22727           "properties": {
22728             "hardware": {
22729               "$ref": "#/definitions/MachineHardware"
22730             },
22731             "has-vote": {
22732               "type": "boolean"
22733             },
22734             "id": {
22735               "type": "string"
22736             },
22737             "instance-id": {
22738               "type": "string"
22739             },
22740             "message": {
22741               "type": "string"
22742             },
22743             "status": {
22744               "type": "string"
22745             },
22746             "wants-vote": {
22747               "type": "boolean"
22748             }
22749           },
22750           "additionalProperties": false,
22751           "required": [
22752             "id"
22753           ]
22754         },
22755         "ModelMigrationStatus": {
22756           "type": "object",
22757           "properties": {
22758             "end": {
22759               "type": "string",
22760               "format": "date-time"
22761             },
22762             "start": {
22763               "type": "string",
22764               "format": "date-time"
22765             },
22766             "status": {
22767               "type": "string"
22768             }
22769           },
22770           "additionalProperties": false,
22771           "required": [
22772             "status",
22773             "start"
22774           ]
22775         },
22776         "ModelSLAInfo": {
22777           "type": "object",
22778           "properties": {
22779             "level": {
22780               "type": "string"
22781             },
22782             "owner": {
22783               "type": "string"
22784             }
22785           },
22786           "additionalProperties": false,
22787           "required": [
22788             "level",
22789             "owner"
22790           ]
22791         },
22792         "ModelStatus": {
22793           "type": "object",
22794           "properties": {
22795             "application-count": {
22796               "type": "integer"
22797             },
22798             "error": {
22799               "$ref": "#/definitions/Error"
22800             },
22801             "filesystems": {
22802               "type": "array",
22803               "items": {
22804                 "$ref": "#/definitions/ModelFilesystemInfo"
22805               }
22806             },
22807             "hosted-machine-count": {
22808               "type": "integer"
22809             },
22810             "life": {
22811               "type": "string"
22812             },
22813             "machines": {
22814               "type": "array",
22815               "items": {
22816                 "$ref": "#/definitions/ModelMachineInfo"
22817               }
22818             },
22819             "model-tag": {
22820               "type": "string"
22821             },
22822             "owner-tag": {
22823               "type": "string"
22824             },
22825             "volumes": {
22826               "type": "array",
22827               "items": {
22828                 "$ref": "#/definitions/ModelVolumeInfo"
22829               }
22830             }
22831           },
22832           "additionalProperties": false,
22833           "required": [
22834             "model-tag",
22835             "life",
22836             "hosted-machine-count",
22837             "application-count",
22838             "owner-tag"
22839           ]
22840         },
22841         "ModelStatusResults": {
22842           "type": "object",
22843           "properties": {
22844             "models": {
22845               "type": "array",
22846               "items": {
22847                 "$ref": "#/definitions/ModelStatus"
22848               }
22849             }
22850           },
22851           "additionalProperties": false,
22852           "required": [
22853             "models"
22854           ]
22855         },
22856         "ModelSummariesRequest": {
22857           "type": "object",
22858           "properties": {
22859             "all": {
22860               "type": "boolean"
22861             },
22862             "user-tag": {
22863               "type": "string"
22864             }
22865           },
22866           "additionalProperties": false,
22867           "required": [
22868             "user-tag"
22869           ]
22870         },
22871         "ModelSummary": {
22872           "type": "object",
22873           "properties": {
22874             "agent-version": {
22875               "$ref": "#/definitions/Number"
22876             },
22877             "cloud-credential-tag": {
22878               "type": "string"
22879             },
22880             "cloud-region": {
22881               "type": "string"
22882             },
22883             "cloud-tag": {
22884               "type": "string"
22885             },
22886             "controller-uuid": {
22887               "type": "string"
22888             },
22889             "counts": {
22890               "type": "array",
22891               "items": {
22892                 "$ref": "#/definitions/ModelEntityCount"
22893               }
22894             },
22895             "default-series": {
22896               "type": "string"
22897             },
22898             "last-connection": {
22899               "type": "string",
22900               "format": "date-time"
22901             },
22902             "life": {
22903               "type": "string"
22904             },
22905             "migration": {
22906               "$ref": "#/definitions/ModelMigrationStatus"
22907             },
22908             "name": {
22909               "type": "string"
22910             },
22911             "owner-tag": {
22912               "type": "string"
22913             },
22914             "provider-type": {
22915               "type": "string"
22916             },
22917             "sla": {
22918               "$ref": "#/definitions/ModelSLAInfo"
22919             },
22920             "status": {
22921               "$ref": "#/definitions/EntityStatus"
22922             },
22923             "type": {
22924               "type": "string"
22925             },
22926             "user-access": {
22927               "type": "string"
22928             },
22929             "uuid": {
22930               "type": "string"
22931             }
22932           },
22933           "additionalProperties": false,
22934           "required": [
22935             "name",
22936             "uuid",
22937             "type",
22938             "controller-uuid",
22939             "cloud-tag",
22940             "owner-tag",
22941             "life",
22942             "user-access",
22943             "last-connection",
22944             "counts",
22945             "sla",
22946             "agent-version"
22947           ]
22948         },
22949         "ModelSummaryResult": {
22950           "type": "object",
22951           "properties": {
22952             "error": {
22953               "$ref": "#/definitions/Error"
22954             },
22955             "result": {
22956               "$ref": "#/definitions/ModelSummary"
22957             }
22958           },
22959           "additionalProperties": false
22960         },
22961         "ModelSummaryResults": {
22962           "type": "object",
22963           "properties": {
22964             "results": {
22965               "type": "array",
22966               "items": {
22967                 "$ref": "#/definitions/ModelSummaryResult"
22968               }
22969             }
22970           },
22971           "additionalProperties": false,
22972           "required": [
22973             "results"
22974           ]
22975         },
22976         "ModelUnsetKeys": {
22977           "type": "object",
22978           "properties": {
22979             "cloud-region": {
22980               "type": "string"
22981             },
22982             "cloud-tag": {
22983               "type": "string"
22984             },
22985             "keys": {
22986               "type": "array",
22987               "items": {
22988                 "type": "string"
22989               }
22990             }
22991           },
22992           "additionalProperties": false,
22993           "required": [
22994             "keys"
22995           ]
22996         },
22997         "ModelUserInfo": {
22998           "type": "object",
22999           "properties": {
23000             "access": {
23001               "type": "string"
23002             },
23003             "display-name": {
23004               "type": "string"
23005             },
23006             "last-connection": {
23007               "type": "string",
23008               "format": "date-time"
23009             },
23010             "user": {
23011               "type": "string"
23012             }
23013           },
23014           "additionalProperties": false,
23015           "required": [
23016             "user",
23017             "display-name",
23018             "last-connection",
23019             "access"
23020           ]
23021         },
23022         "ModelVolumeInfo": {
23023           "type": "object",
23024           "properties": {
23025             "detachable": {
23026               "type": "boolean"
23027             },
23028             "id": {
23029               "type": "string"
23030             },
23031             "message": {
23032               "type": "string"
23033             },
23034             "provider-id": {
23035               "type": "string"
23036             },
23037             "status": {
23038               "type": "string"
23039             }
23040           },
23041           "additionalProperties": false,
23042           "required": [
23043             "id"
23044           ]
23045         },
23046         "ModifyModelAccess": {
23047           "type": "object",
23048           "properties": {
23049             "access": {
23050               "type": "string"
23051             },
23052             "action": {
23053               "type": "string"
23054             },
23055             "model-tag": {
23056               "type": "string"
23057             },
23058             "user-tag": {
23059               "type": "string"
23060             }
23061           },
23062           "additionalProperties": false,
23063           "required": [
23064             "user-tag",
23065             "action",
23066             "access",
23067             "model-tag"
23068           ]
23069         },
23070         "ModifyModelAccessRequest": {
23071           "type": "object",
23072           "properties": {
23073             "changes": {
23074               "type": "array",
23075               "items": {
23076                 "$ref": "#/definitions/ModifyModelAccess"
23077               }
23078             }
23079           },
23080           "additionalProperties": false,
23081           "required": [
23082             "changes"
23083           ]
23084         },
23085         "Number": {
23086           "type": "object",
23087           "properties": {
23088             "Build": {
23089               "type": "integer"
23090             },
23091             "Major": {
23092               "type": "integer"
23093             },
23094             "Minor": {
23095               "type": "integer"
23096             },
23097             "Patch": {
23098               "type": "integer"
23099             },
23100             "Tag": {
23101               "type": "string"
23102             }
23103           },
23104           "additionalProperties": false,
23105           "required": [
23106             "Major",
23107             "Minor",
23108             "Tag",
23109             "Patch",
23110             "Build"
23111           ]
23112         },
23113         "RegionDefaults": {
23114           "type": "object",
23115           "properties": {
23116             "region-name": {
23117               "type": "string"
23118             },
23119             "value": {
23120               "type": "object",
23121               "additionalProperties": true
23122             }
23123           },
23124           "additionalProperties": false,
23125           "required": [
23126             "region-name",
23127             "value"
23128           ]
23129         },
23130         "SetModelDefaults": {
23131           "type": "object",
23132           "properties": {
23133             "config": {
23134               "type": "array",
23135               "items": {
23136                 "$ref": "#/definitions/ModelDefaultValues"
23137               }
23138             }
23139           },
23140           "additionalProperties": false,
23141           "required": [
23142             "config"
23143           ]
23144         },
23145         "StringResult": {
23146           "type": "object",
23147           "properties": {
23148             "error": {
23149               "$ref": "#/definitions/Error"
23150             },
23151             "result": {
23152               "type": "string"
23153             }
23154           },
23155           "additionalProperties": false,
23156           "required": [
23157             "result"
23158           ]
23159         },
23160         "StringResults": {
23161           "type": "object",
23162           "properties": {
23163             "results": {
23164               "type": "array",
23165               "items": {
23166                 "$ref": "#/definitions/StringResult"
23167               }
23168             }
23169           },
23170           "additionalProperties": false,
23171           "required": [
23172             "results"
23173           ]
23174         },
23175         "UnsetModelDefaults": {
23176           "type": "object",
23177           "properties": {
23178             "keys": {
23179               "type": "array",
23180               "items": {
23181                 "$ref": "#/definitions/ModelUnsetKeys"
23182               }
23183             }
23184           },
23185           "additionalProperties": false,
23186           "required": [
23187             "keys"
23188           ]
23189         },
23190         "UserModel": {
23191           "type": "object",
23192           "properties": {
23193             "last-connection": {
23194               "type": "string",
23195               "format": "date-time"
23196             },
23197             "model": {
23198               "$ref": "#/definitions/Model"
23199             }
23200           },
23201           "additionalProperties": false,
23202           "required": [
23203             "model",
23204             "last-connection"
23205           ]
23206         },
23207         "UserModelList": {
23208           "type": "object",
23209           "properties": {
23210             "user-models": {
23211               "type": "array",
23212               "items": {
23213                 "$ref": "#/definitions/UserModel"
23214               }
23215             }
23216           },
23217           "additionalProperties": false,
23218           "required": [
23219             "user-models"
23220           ]
23221         }
23222       }
23223     }
23224   },
23225   {
23226     "Name": "ModelUpgrader",
23227     "Version": 1,
23228     "Schema": {
23229       "type": "object",
23230       "properties": {
23231         "ModelEnvironVersion": {
23232           "type": "object",
23233           "properties": {
23234             "Params": {
23235               "$ref": "#/definitions/Entities"
23236             },
23237             "Result": {
23238               "$ref": "#/definitions/IntResults"
23239             }
23240           }
23241         },
23242         "ModelTargetEnvironVersion": {
23243           "type": "object",
23244           "properties": {
23245             "Params": {
23246               "$ref": "#/definitions/Entities"
23247             },
23248             "Result": {
23249               "$ref": "#/definitions/IntResults"
23250             }
23251           }
23252         },
23253         "SetModelEnvironVersion": {
23254           "type": "object",
23255           "properties": {
23256             "Params": {
23257               "$ref": "#/definitions/SetModelEnvironVersions"
23258             },
23259             "Result": {
23260               "$ref": "#/definitions/ErrorResults"
23261             }
23262           }
23263         },
23264         "SetModelStatus": {
23265           "type": "object",
23266           "properties": {
23267             "Params": {
23268               "$ref": "#/definitions/SetStatus"
23269             },
23270             "Result": {
23271               "$ref": "#/definitions/ErrorResults"
23272             }
23273           }
23274         },
23275         "WatchModelEnvironVersion": {
23276           "type": "object",
23277           "properties": {
23278             "Params": {
23279               "$ref": "#/definitions/Entities"
23280             },
23281             "Result": {
23282               "$ref": "#/definitions/NotifyWatchResults"
23283             }
23284           }
23285         }
23286       },
23287       "definitions": {
23288         "Entities": {
23289           "type": "object",
23290           "properties": {
23291             "entities": {
23292               "type": "array",
23293               "items": {
23294                 "$ref": "#/definitions/Entity"
23295               }
23296             }
23297           },
23298           "additionalProperties": false,
23299           "required": [
23300             "entities"
23301           ]
23302         },
23303         "Entity": {
23304           "type": "object",
23305           "properties": {
23306             "tag": {
23307               "type": "string"
23308             }
23309           },
23310           "additionalProperties": false,
23311           "required": [
23312             "tag"
23313           ]
23314         },
23315         "EntityStatusArgs": {
23316           "type": "object",
23317           "properties": {
23318             "data": {
23319               "type": "object",
23320               "patternProperties": {
23321                 ".*": {
23322                   "type": "object",
23323                   "additionalProperties": true
23324                 }
23325               }
23326             },
23327             "info": {
23328               "type": "string"
23329             },
23330             "status": {
23331               "type": "string"
23332             },
23333             "tag": {
23334               "type": "string"
23335             }
23336           },
23337           "additionalProperties": false,
23338           "required": [
23339             "tag",
23340             "status",
23341             "info",
23342             "data"
23343           ]
23344         },
23345         "Error": {
23346           "type": "object",
23347           "properties": {
23348             "code": {
23349               "type": "string"
23350             },
23351             "info": {
23352               "$ref": "#/definitions/ErrorInfo"
23353             },
23354             "message": {
23355               "type": "string"
23356             }
23357           },
23358           "additionalProperties": false,
23359           "required": [
23360             "message",
23361             "code"
23362           ]
23363         },
23364         "ErrorInfo": {
23365           "type": "object",
23366           "properties": {
23367             "macaroon": {
23368               "$ref": "#/definitions/Macaroon"
23369             },
23370             "macaroon-path": {
23371               "type": "string"
23372             }
23373           },
23374           "additionalProperties": false
23375         },
23376         "ErrorResult": {
23377           "type": "object",
23378           "properties": {
23379             "error": {
23380               "$ref": "#/definitions/Error"
23381             }
23382           },
23383           "additionalProperties": false
23384         },
23385         "ErrorResults": {
23386           "type": "object",
23387           "properties": {
23388             "results": {
23389               "type": "array",
23390               "items": {
23391                 "$ref": "#/definitions/ErrorResult"
23392               }
23393             }
23394           },
23395           "additionalProperties": false,
23396           "required": [
23397             "results"
23398           ]
23399         },
23400         "IntResult": {
23401           "type": "object",
23402           "properties": {
23403             "error": {
23404               "$ref": "#/definitions/Error"
23405             },
23406             "result": {
23407               "type": "integer"
23408             }
23409           },
23410           "additionalProperties": false,
23411           "required": [
23412             "result"
23413           ]
23414         },
23415         "IntResults": {
23416           "type": "object",
23417           "properties": {
23418             "results": {
23419               "type": "array",
23420               "items": {
23421                 "$ref": "#/definitions/IntResult"
23422               }
23423             }
23424           },
23425           "additionalProperties": false,
23426           "required": [
23427             "results"
23428           ]
23429         },
23430         "Macaroon": {
23431           "type": "object",
23432           "additionalProperties": false
23433         },
23434         "NotifyWatchResult": {
23435           "type": "object",
23436           "properties": {
23437             "NotifyWatcherId": {
23438               "type": "string"
23439             },
23440             "error": {
23441               "$ref": "#/definitions/Error"
23442             }
23443           },
23444           "additionalProperties": false,
23445           "required": [
23446             "NotifyWatcherId"
23447           ]
23448         },
23449         "NotifyWatchResults": {
23450           "type": "object",
23451           "properties": {
23452             "results": {
23453               "type": "array",
23454               "items": {
23455                 "$ref": "#/definitions/NotifyWatchResult"
23456               }
23457             }
23458           },
23459           "additionalProperties": false,
23460           "required": [
23461             "results"
23462           ]
23463         },
23464         "SetModelEnvironVersion": {
23465           "type": "object",
23466           "properties": {
23467             "model-tag": {
23468               "type": "string"
23469             },
23470             "version": {
23471               "type": "integer"
23472             }
23473           },
23474           "additionalProperties": false,
23475           "required": [
23476             "model-tag",
23477             "version"
23478           ]
23479         },
23480         "SetModelEnvironVersions": {
23481           "type": "object",
23482           "properties": {
23483             "models": {
23484               "type": "array",
23485               "items": {
23486                 "$ref": "#/definitions/SetModelEnvironVersion"
23487               }
23488             }
23489           },
23490           "additionalProperties": false
23491         },
23492         "SetStatus": {
23493           "type": "object",
23494           "properties": {
23495             "entities": {
23496               "type": "array",
23497               "items": {
23498                 "$ref": "#/definitions/EntityStatusArgs"
23499               }
23500             }
23501           },
23502           "additionalProperties": false,
23503           "required": [
23504             "entities"
23505           ]
23506         }
23507       }
23508     }
23509   },
23510   {
23511     "Name": "NotifyWatcher",
23512     "Version": 1,
23513     "Schema": {
23514       "type": "object",
23515       "properties": {
23516         "Next": {
23517           "type": "object"
23518         },
23519         "Stop": {
23520           "type": "object"
23521         }
23522       }
23523     }
23524   },
23525   {
23526     "Name": "OfferStatusWatcher",
23527     "Version": 1,
23528     "Schema": {
23529       "type": "object",
23530       "properties": {
23531         "Next": {
23532           "type": "object",
23533           "properties": {
23534             "Result": {
23535               "$ref": "#/definitions/OfferStatusWatchResult"
23536             }
23537           }
23538         },
23539         "Stop": {
23540           "type": "object"
23541         }
23542       },
23543       "definitions": {
23544         "EntityStatus": {
23545           "type": "object",
23546           "properties": {
23547             "data": {
23548               "type": "object",
23549               "patternProperties": {
23550                 ".*": {
23551                   "type": "object",
23552                   "additionalProperties": true
23553                 }
23554               }
23555             },
23556             "info": {
23557               "type": "string"
23558             },
23559             "since": {
23560               "type": "string",
23561               "format": "date-time"
23562             },
23563             "status": {
23564               "type": "string"
23565             }
23566           },
23567           "additionalProperties": false,
23568           "required": [
23569             "status",
23570             "info",
23571             "since"
23572           ]
23573         },
23574         "Error": {
23575           "type": "object",
23576           "properties": {
23577             "code": {
23578               "type": "string"
23579             },
23580             "info": {
23581               "$ref": "#/definitions/ErrorInfo"
23582             },
23583             "message": {
23584               "type": "string"
23585             }
23586           },
23587           "additionalProperties": false,
23588           "required": [
23589             "message",
23590             "code"
23591           ]
23592         },
23593         "ErrorInfo": {
23594           "type": "object",
23595           "properties": {
23596             "macaroon": {
23597               "$ref": "#/definitions/Macaroon"
23598             },
23599             "macaroon-path": {
23600               "type": "string"
23601             }
23602           },
23603           "additionalProperties": false
23604         },
23605         "Macaroon": {
23606           "type": "object",
23607           "additionalProperties": false
23608         },
23609         "OfferStatusChange": {
23610           "type": "object",
23611           "properties": {
23612             "offer-name": {
23613               "type": "string"
23614             },
23615             "status": {
23616               "$ref": "#/definitions/EntityStatus"
23617             }
23618           },
23619           "additionalProperties": false,
23620           "required": [
23621             "offer-name",
23622             "status"
23623           ]
23624         },
23625         "OfferStatusWatchResult": {
23626           "type": "object",
23627           "properties": {
23628             "changes": {
23629               "type": "array",
23630               "items": {
23631                 "$ref": "#/definitions/OfferStatusChange"
23632               }
23633             },
23634             "error": {
23635               "$ref": "#/definitions/Error"
23636             },
23637             "watcher-id": {
23638               "type": "string"
23639             }
23640           },
23641           "additionalProperties": false,
23642           "required": [
23643             "watcher-id",
23644             "changes"
23645           ]
23646         }
23647       }
23648     }
23649   },
23650   {
23651     "Name": "Payloads",
23652     "Version": 1,
23653     "Schema": {
23654       "type": "object",
23655       "properties": {
23656         "List": {
23657           "type": "object",
23658           "properties": {
23659             "Params": {
23660               "$ref": "#/definitions/PayloadListArgs"
23661             },
23662             "Result": {
23663               "$ref": "#/definitions/PayloadListResults"
23664             }
23665           }
23666         }
23667       },
23668       "definitions": {
23669         "Payload": {
23670           "type": "object",
23671           "properties": {
23672             "class": {
23673               "type": "string"
23674             },
23675             "id": {
23676               "type": "string"
23677             },
23678             "labels": {
23679               "type": "array",
23680               "items": {
23681                 "type": "string"
23682               }
23683             },
23684             "machine": {
23685               "type": "string"
23686             },
23687             "status": {
23688               "type": "string"
23689             },
23690             "type": {
23691               "type": "string"
23692             },
23693             "unit": {
23694               "type": "string"
23695             }
23696           },
23697           "additionalProperties": false,
23698           "required": [
23699             "class",
23700             "type",
23701             "id",
23702             "status",
23703             "labels",
23704             "unit",
23705             "machine"
23706           ]
23707         },
23708         "PayloadListArgs": {
23709           "type": "object",
23710           "properties": {
23711             "patterns": {
23712               "type": "array",
23713               "items": {
23714                 "type": "string"
23715               }
23716             }
23717           },
23718           "additionalProperties": false,
23719           "required": [
23720             "patterns"
23721           ]
23722         },
23723         "PayloadListResults": {
23724           "type": "object",
23725           "properties": {
23726             "results": {
23727               "type": "array",
23728               "items": {
23729                 "$ref": "#/definitions/Payload"
23730               }
23731             }
23732           },
23733           "additionalProperties": false,
23734           "required": [
23735             "results"
23736           ]
23737         }
23738       }
23739     }
23740   },
23741   {
23742     "Name": "PayloadsHookContext",
23743     "Version": 1,
23744     "Schema": {
23745       "type": "object",
23746       "properties": {
23747         "List": {
23748           "type": "object",
23749           "properties": {
23750             "Params": {
23751               "$ref": "#/definitions/Entities"
23752             },
23753             "Result": {
23754               "$ref": "#/definitions/PayloadResults"
23755             }
23756           }
23757         },
23758         "LookUp": {
23759           "type": "object",
23760           "properties": {
23761             "Params": {
23762               "$ref": "#/definitions/LookUpPayloadArgs"
23763             },
23764             "Result": {
23765               "$ref": "#/definitions/PayloadResults"
23766             }
23767           }
23768         },
23769         "SetStatus": {
23770           "type": "object",
23771           "properties": {
23772             "Params": {
23773               "$ref": "#/definitions/SetPayloadStatusArgs"
23774             },
23775             "Result": {
23776               "$ref": "#/definitions/PayloadResults"
23777             }
23778           }
23779         },
23780         "Track": {
23781           "type": "object",
23782           "properties": {
23783             "Params": {
23784               "$ref": "#/definitions/TrackPayloadArgs"
23785             },
23786             "Result": {
23787               "$ref": "#/definitions/PayloadResults"
23788             }
23789           }
23790         },
23791         "Untrack": {
23792           "type": "object",
23793           "properties": {
23794             "Params": {
23795               "$ref": "#/definitions/Entities"
23796             },
23797             "Result": {
23798               "$ref": "#/definitions/PayloadResults"
23799             }
23800           }
23801         }
23802       },
23803       "definitions": {
23804         "Entities": {
23805           "type": "object",
23806           "properties": {
23807             "entities": {
23808               "type": "array",
23809               "items": {
23810                 "$ref": "#/definitions/Entity"
23811               }
23812             }
23813           },
23814           "additionalProperties": false,
23815           "required": [
23816             "entities"
23817           ]
23818         },
23819         "Entity": {
23820           "type": "object",
23821           "properties": {
23822             "tag": {
23823               "type": "string"
23824             }
23825           },
23826           "additionalProperties": false,
23827           "required": [
23828             "tag"
23829           ]
23830         },
23831         "Error": {
23832           "type": "object",
23833           "properties": {
23834             "code": {
23835               "type": "string"
23836             },
23837             "info": {
23838               "$ref": "#/definitions/ErrorInfo"
23839             },
23840             "message": {
23841               "type": "string"
23842             }
23843           },
23844           "additionalProperties": false,
23845           "required": [
23846             "message",
23847             "code"
23848           ]
23849         },
23850         "ErrorInfo": {
23851           "type": "object",
23852           "properties": {
23853             "macaroon": {
23854               "$ref": "#/definitions/Macaroon"
23855             },
23856             "macaroon-path": {
23857               "type": "string"
23858             }
23859           },
23860           "additionalProperties": false
23861         },
23862         "LookUpPayloadArg": {
23863           "type": "object",
23864           "properties": {
23865             "id": {
23866               "type": "string"
23867             },
23868             "name": {
23869               "type": "string"
23870             }
23871           },
23872           "additionalProperties": false,
23873           "required": [
23874             "name",
23875             "id"
23876           ]
23877         },
23878         "LookUpPayloadArgs": {
23879           "type": "object",
23880           "properties": {
23881             "args": {
23882               "type": "array",
23883               "items": {
23884                 "$ref": "#/definitions/LookUpPayloadArg"
23885               }
23886             }
23887           },
23888           "additionalProperties": false,
23889           "required": [
23890             "args"
23891           ]
23892         },
23893         "Macaroon": {
23894           "type": "object",
23895           "additionalProperties": false
23896         },
23897         "Payload": {
23898           "type": "object",
23899           "properties": {
23900             "class": {
23901               "type": "string"
23902             },
23903             "id": {
23904               "type": "string"
23905             },
23906             "labels": {
23907               "type": "array",
23908               "items": {
23909                 "type": "string"
23910               }
23911             },
23912             "machine": {
23913               "type": "string"
23914             },
23915             "status": {
23916               "type": "string"
23917             },
23918             "type": {
23919               "type": "string"
23920             },
23921             "unit": {
23922               "type": "string"
23923             }
23924           },
23925           "additionalProperties": false,
23926           "required": [
23927             "class",
23928             "type",
23929             "id",
23930             "status",
23931             "labels",
23932             "unit",
23933             "machine"
23934           ]
23935         },
23936         "PayloadResult": {
23937           "type": "object",
23938           "properties": {
23939             "Entity": {
23940               "$ref": "#/definitions/Entity"
23941             },
23942             "error": {
23943               "$ref": "#/definitions/Error"
23944             },
23945             "not-found": {
23946               "type": "boolean"
23947             },
23948             "payload": {
23949               "$ref": "#/definitions/Payload"
23950             }
23951           },
23952           "additionalProperties": false,
23953           "required": [
23954             "Entity",
23955             "payload",
23956             "not-found"
23957           ]
23958         },
23959         "PayloadResults": {
23960           "type": "object",
23961           "properties": {
23962             "results": {
23963               "type": "array",
23964               "items": {
23965                 "$ref": "#/definitions/PayloadResult"
23966               }
23967             }
23968           },
23969           "additionalProperties": false,
23970           "required": [
23971             "results"
23972           ]
23973         },
23974         "SetPayloadStatusArg": {
23975           "type": "object",
23976           "properties": {
23977             "Entity": {
23978               "$ref": "#/definitions/Entity"
23979             },
23980             "status": {
23981               "type": "string"
23982             }
23983           },
23984           "additionalProperties": false,
23985           "required": [
23986             "Entity",
23987             "status"
23988           ]
23989         },
23990         "SetPayloadStatusArgs": {
23991           "type": "object",
23992           "properties": {
23993             "args": {
23994               "type": "array",
23995               "items": {
23996                 "$ref": "#/definitions/SetPayloadStatusArg"
23997               }
23998             }
23999           },
24000           "additionalProperties": false,
24001           "required": [
24002             "args"
24003           ]
24004         },
24005         "TrackPayloadArgs": {
24006           "type": "object",
24007           "properties": {
24008             "payloads": {
24009               "type": "array",
24010               "items": {
24011                 "$ref": "#/definitions/Payload"
24012               }
24013             }
24014           },
24015           "additionalProperties": false,
24016           "required": [
24017             "payloads"
24018           ]
24019         }
24020       }
24021     }
24022   },
24023   {
24024     "Name": "Pinger",
24025     "Version": 1,
24026     "Schema": {
24027       "type": "object",
24028       "properties": {
24029         "Ping": {
24030           "type": "object"
24031         },
24032         "Stop": {
24033           "type": "object"
24034         }
24035       }
24036     }
24037   },
24038   {
24039     "Name": "Provisioner",
24040     "Version": 7,
24041     "Schema": {
24042       "type": "object",
24043       "properties": {
24044         "APIAddresses": {
24045           "type": "object",
24046           "properties": {
24047             "Result": {
24048               "$ref": "#/definitions/StringsResult"
24049             }
24050           }
24051         },
24052         "APIHostPorts": {
24053           "type": "object",
24054           "properties": {
24055             "Result": {
24056               "$ref": "#/definitions/APIHostPortsResult"
24057             }
24058           }
24059         },
24060         "AvailabilityZone": {
24061           "type": "object",
24062           "properties": {
24063             "Params": {
24064               "$ref": "#/definitions/Entities"
24065             },
24066             "Result": {
24067               "$ref": "#/definitions/StringResults"
24068             }
24069           }
24070         },
24071         "CACert": {
24072           "type": "object",
24073           "properties": {
24074             "Result": {
24075               "$ref": "#/definitions/BytesResult"
24076             }
24077           }
24078         },
24079         "CharmProfileChangeInfo": {
24080           "type": "object",
24081           "properties": {
24082             "Params": {
24083               "$ref": "#/definitions/Entities"
24084             },
24085             "Result": {
24086               "$ref": "#/definitions/ProfileChangeResults"
24087             }
24088           }
24089         },
24090         "Constraints": {
24091           "type": "object",
24092           "properties": {
24093             "Params": {
24094               "$ref": "#/definitions/Entities"
24095             },
24096             "Result": {
24097               "$ref": "#/definitions/ConstraintsResults"
24098             }
24099           }
24100         },
24101         "ContainerConfig": {
24102           "type": "object",
24103           "properties": {
24104             "Result": {
24105               "$ref": "#/definitions/ContainerConfig"
24106             }
24107           }
24108         },
24109         "ContainerManagerConfig": {
24110           "type": "object",
24111           "properties": {
24112             "Params": {
24113               "$ref": "#/definitions/ContainerManagerConfigParams"
24114             },
24115             "Result": {
24116               "$ref": "#/definitions/ContainerManagerConfig"
24117             }
24118           }
24119         },
24120         "ControllerAPIInfoForModels": {
24121           "type": "object",
24122           "properties": {
24123             "Params": {
24124               "$ref": "#/definitions/Entities"
24125             },
24126             "Result": {
24127               "$ref": "#/definitions/ControllerAPIInfoResults"
24128             }
24129           }
24130         },
24131         "ControllerConfig": {
24132           "type": "object",
24133           "properties": {
24134             "Result": {
24135               "$ref": "#/definitions/ControllerConfigResult"
24136             }
24137           }
24138         },
24139         "DistributionGroup": {
24140           "type": "object",
24141           "properties": {
24142             "Params": {
24143               "$ref": "#/definitions/Entities"
24144             },
24145             "Result": {
24146               "$ref": "#/definitions/DistributionGroupResults"
24147             }
24148           }
24149         },
24150         "DistributionGroupByMachineId": {
24151           "type": "object",
24152           "properties": {
24153             "Params": {
24154               "$ref": "#/definitions/Entities"
24155             },
24156             "Result": {
24157               "$ref": "#/definitions/StringsResults"
24158             }
24159           }
24160         },
24161         "EnsureDead": {
24162           "type": "object",
24163           "properties": {
24164             "Params": {
24165               "$ref": "#/definitions/Entities"
24166             },
24167             "Result": {
24168               "$ref": "#/definitions/ErrorResults"
24169             }
24170           }
24171         },
24172         "FindTools": {
24173           "type": "object",
24174           "properties": {
24175             "Params": {
24176               "$ref": "#/definitions/FindToolsParams"
24177             },
24178             "Result": {
24179               "$ref": "#/definitions/FindToolsResult"
24180             }
24181           }
24182         },
24183         "GetContainerInterfaceInfo": {
24184           "type": "object",
24185           "properties": {
24186             "Params": {
24187               "$ref": "#/definitions/Entities"
24188             },
24189             "Result": {
24190               "$ref": "#/definitions/MachineNetworkConfigResults"
24191             }
24192           }
24193         },
24194         "GetContainerProfileInfo": {
24195           "type": "object",
24196           "properties": {
24197             "Params": {
24198               "$ref": "#/definitions/Entities"
24199             },
24200             "Result": {
24201               "$ref": "#/definitions/ContainerProfileResults"
24202             }
24203           }
24204         },
24205         "HostChangesForContainers": {
24206           "type": "object",
24207           "properties": {
24208             "Params": {
24209               "$ref": "#/definitions/Entities"
24210             },
24211             "Result": {
24212               "$ref": "#/definitions/HostNetworkChangeResults"
24213             }
24214           }
24215         },
24216         "InstanceId": {
24217           "type": "object",
24218           "properties": {
24219             "Params": {
24220               "$ref": "#/definitions/Entities"
24221             },
24222             "Result": {
24223               "$ref": "#/definitions/StringResults"
24224             }
24225           }
24226         },
24227         "InstanceStatus": {
24228           "type": "object",
24229           "properties": {
24230             "Params": {
24231               "$ref": "#/definitions/Entities"
24232             },
24233             "Result": {
24234               "$ref": "#/definitions/StatusResults"
24235             }
24236           }
24237         },
24238         "KeepInstance": {
24239           "type": "object",
24240           "properties": {
24241             "Params": {
24242               "$ref": "#/definitions/Entities"
24243             },
24244             "Result": {
24245               "$ref": "#/definitions/BoolResults"
24246             }
24247           }
24248         },
24249         "Life": {
24250           "type": "object",
24251           "properties": {
24252             "Params": {
24253               "$ref": "#/definitions/Entities"
24254             },
24255             "Result": {
24256               "$ref": "#/definitions/LifeResults"
24257             }
24258           }
24259         },
24260         "MachinesWithTransientErrors": {
24261           "type": "object",
24262           "properties": {
24263             "Result": {
24264               "$ref": "#/definitions/StatusResults"
24265             }
24266           }
24267         },
24268         "MarkMachinesForRemoval": {
24269           "type": "object",
24270           "properties": {
24271             "Params": {
24272               "$ref": "#/definitions/Entities"
24273             },
24274             "Result": {
24275               "$ref": "#/definitions/ErrorResults"
24276             }
24277           }
24278         },
24279         "ModelConfig": {
24280           "type": "object",
24281           "properties": {
24282             "Result": {
24283               "$ref": "#/definitions/ModelConfigResult"
24284             }
24285           }
24286         },
24287         "ModelUUID": {
24288           "type": "object",
24289           "properties": {
24290             "Result": {
24291               "$ref": "#/definitions/StringResult"
24292             }
24293           }
24294         },
24295         "PrepareContainerInterfaceInfo": {
24296           "type": "object",
24297           "properties": {
24298             "Params": {
24299               "$ref": "#/definitions/Entities"
24300             },
24301             "Result": {
24302               "$ref": "#/definitions/MachineNetworkConfigResults"
24303             }
24304           }
24305         },
24306         "ProvisioningInfo": {
24307           "type": "object",
24308           "properties": {
24309             "Params": {
24310               "$ref": "#/definitions/Entities"
24311             },
24312             "Result": {
24313               "$ref": "#/definitions/ProvisioningInfoResults"
24314             }
24315           }
24316         },
24317         "ReleaseContainerAddresses": {
24318           "type": "object",
24319           "properties": {
24320             "Params": {
24321               "$ref": "#/definitions/Entities"
24322             },
24323             "Result": {
24324               "$ref": "#/definitions/ErrorResults"
24325             }
24326           }
24327         },
24328         "Remove": {
24329           "type": "object",
24330           "properties": {
24331             "Params": {
24332               "$ref": "#/definitions/Entities"
24333             },
24334             "Result": {
24335               "$ref": "#/definitions/ErrorResults"
24336             }
24337           }
24338         },
24339         "RemoveUpgradeCharmProfileData": {
24340           "type": "object",
24341           "properties": {
24342             "Params": {
24343               "$ref": "#/definitions/Entities"
24344             },
24345             "Result": {
24346               "$ref": "#/definitions/ErrorResults"
24347             }
24348           }
24349         },
24350         "Series": {
24351           "type": "object",
24352           "properties": {
24353             "Params": {
24354               "$ref": "#/definitions/Entities"
24355             },
24356             "Result": {
24357               "$ref": "#/definitions/StringResults"
24358             }
24359           }
24360         },
24361         "SetCharmProfiles": {
24362           "type": "object",
24363           "properties": {
24364             "Params": {
24365               "$ref": "#/definitions/SetProfileArgs"
24366             },
24367             "Result": {
24368               "$ref": "#/definitions/ErrorResults"
24369             }
24370           }
24371         },
24372         "SetHostMachineNetworkConfig": {
24373           "type": "object",
24374           "properties": {
24375             "Params": {
24376               "$ref": "#/definitions/SetMachineNetworkConfig"
24377             }
24378           }
24379         },
24380         "SetInstanceInfo": {
24381           "type": "object",
24382           "properties": {
24383             "Params": {
24384               "$ref": "#/definitions/InstancesInfo"
24385             },
24386             "Result": {
24387               "$ref": "#/definitions/ErrorResults"
24388             }
24389           }
24390         },
24391         "SetInstanceStatus": {
24392           "type": "object",
24393           "properties": {
24394             "Params": {
24395               "$ref": "#/definitions/SetStatus"
24396             },
24397             "Result": {
24398               "$ref": "#/definitions/ErrorResults"
24399             }
24400           }
24401         },
24402         "SetObservedNetworkConfig": {
24403           "type": "object",
24404           "properties": {
24405             "Params": {
24406               "$ref": "#/definitions/SetMachineNetworkConfig"
24407             }
24408           }
24409         },
24410         "SetPasswords": {
24411           "type": "object",
24412           "properties": {
24413             "Params": {
24414               "$ref": "#/definitions/EntityPasswords"
24415             },
24416             "Result": {
24417               "$ref": "#/definitions/ErrorResults"
24418             }
24419           }
24420         },
24421         "SetProviderNetworkConfig": {
24422           "type": "object",
24423           "properties": {
24424             "Params": {
24425               "$ref": "#/definitions/Entities"
24426             },
24427             "Result": {
24428               "$ref": "#/definitions/ErrorResults"
24429             }
24430           }
24431         },
24432         "SetStatus": {
24433           "type": "object",
24434           "properties": {
24435             "Params": {
24436               "$ref": "#/definitions/SetStatus"
24437             },
24438             "Result": {
24439               "$ref": "#/definitions/ErrorResults"
24440             }
24441           }
24442         },
24443         "SetSupportedContainers": {
24444           "type": "object",
24445           "properties": {
24446             "Params": {
24447               "$ref": "#/definitions/MachineContainersParams"
24448             },
24449             "Result": {
24450               "$ref": "#/definitions/ErrorResults"
24451             }
24452           }
24453         },
24454         "SetUpgradeCharmProfileComplete": {
24455           "type": "object",
24456           "properties": {
24457             "Params": {
24458               "$ref": "#/definitions/SetProfileUpgradeCompleteArgs"
24459             },
24460             "Result": {
24461               "$ref": "#/definitions/ErrorResults"
24462             }
24463           }
24464         },
24465         "StateAddresses": {
24466           "type": "object",
24467           "properties": {
24468             "Result": {
24469               "$ref": "#/definitions/StringsResult"
24470             }
24471           }
24472         },
24473         "Status": {
24474           "type": "object",
24475           "properties": {
24476             "Params": {
24477               "$ref": "#/definitions/Entities"
24478             },
24479             "Result": {
24480               "$ref": "#/definitions/StatusResults"
24481             }
24482           }
24483         },
24484         "Tools": {
24485           "type": "object",
24486           "properties": {
24487             "Params": {
24488               "$ref": "#/definitions/Entities"
24489             },
24490             "Result": {
24491               "$ref": "#/definitions/ToolsResults"
24492             }
24493           }
24494         },
24495         "UpdateStatus": {
24496           "type": "object",
24497           "properties": {
24498             "Params": {
24499               "$ref": "#/definitions/SetStatus"
24500             },
24501             "Result": {
24502               "$ref": "#/definitions/ErrorResults"
24503             }
24504           }
24505         },
24506         "WatchAPIHostPorts": {
24507           "type": "object",
24508           "properties": {
24509             "Result": {
24510               "$ref": "#/definitions/NotifyWatchResult"
24511             }
24512           }
24513         },
24514         "WatchAllContainers": {
24515           "type": "object",
24516           "properties": {
24517             "Params": {
24518               "$ref": "#/definitions/WatchContainers"
24519             },
24520             "Result": {
24521               "$ref": "#/definitions/StringsWatchResults"
24522             }
24523           }
24524         },
24525         "WatchContainers": {
24526           "type": "object",
24527           "properties": {
24528             "Params": {
24529               "$ref": "#/definitions/WatchContainers"
24530             },
24531             "Result": {
24532               "$ref": "#/definitions/StringsWatchResults"
24533             }
24534           }
24535         },
24536         "WatchContainersCharmProfiles": {
24537           "type": "object",
24538           "properties": {
24539             "Params": {
24540               "$ref": "#/definitions/WatchContainers"
24541             },
24542             "Result": {
24543               "$ref": "#/definitions/StringsWatchResults"
24544             }
24545           }
24546         },
24547         "WatchForModelConfigChanges": {
24548           "type": "object",
24549           "properties": {
24550             "Result": {
24551               "$ref": "#/definitions/NotifyWatchResult"
24552             }
24553           }
24554         },
24555         "WatchMachineErrorRetry": {
24556           "type": "object",
24557           "properties": {
24558             "Result": {
24559               "$ref": "#/definitions/NotifyWatchResult"
24560             }
24561           }
24562         },
24563         "WatchModelMachines": {
24564           "type": "object",
24565           "properties": {
24566             "Result": {
24567               "$ref": "#/definitions/StringsWatchResult"
24568             }
24569           }
24570         },
24571         "WatchModelMachinesCharmProfiles": {
24572           "type": "object",
24573           "properties": {
24574             "Result": {
24575               "$ref": "#/definitions/StringsWatchResult"
24576             }
24577           }
24578         }
24579       },
24580       "definitions": {
24581         "APIHostPortsResult": {
24582           "type": "object",
24583           "properties": {
24584             "servers": {
24585               "type": "array",
24586               "items": {
24587                 "type": "array",
24588                 "items": {
24589                   "$ref": "#/definitions/HostPort"
24590                 }
24591               }
24592             }
24593           },
24594           "additionalProperties": false,
24595           "required": [
24596             "servers"
24597           ]
24598         },
24599         "Address": {
24600           "type": "object",
24601           "properties": {
24602             "scope": {
24603               "type": "string"
24604             },
24605             "space-name": {
24606               "type": "string"
24607             },
24608             "type": {
24609               "type": "string"
24610             },
24611             "value": {
24612               "type": "string"
24613             }
24614           },
24615           "additionalProperties": false,
24616           "required": [
24617             "value",
24618             "type",
24619             "scope"
24620           ]
24621         },
24622         "Binary": {
24623           "type": "object",
24624           "properties": {
24625             "Arch": {
24626               "type": "string"
24627             },
24628             "Number": {
24629               "$ref": "#/definitions/Number"
24630             },
24631             "Series": {
24632               "type": "string"
24633             }
24634           },
24635           "additionalProperties": false,
24636           "required": [
24637             "Number",
24638             "Series",
24639             "Arch"
24640           ]
24641         },
24642         "BoolResult": {
24643           "type": "object",
24644           "properties": {
24645             "error": {
24646               "$ref": "#/definitions/Error"
24647             },
24648             "result": {
24649               "type": "boolean"
24650             }
24651           },
24652           "additionalProperties": false,
24653           "required": [
24654             "result"
24655           ]
24656         },
24657         "BoolResults": {
24658           "type": "object",
24659           "properties": {
24660             "results": {
24661               "type": "array",
24662               "items": {
24663                 "$ref": "#/definitions/BoolResult"
24664               }
24665             }
24666           },
24667           "additionalProperties": false,
24668           "required": [
24669             "results"
24670           ]
24671         },
24672         "BytesResult": {
24673           "type": "object",
24674           "properties": {
24675             "result": {
24676               "type": "array",
24677               "items": {
24678                 "type": "integer"
24679               }
24680             }
24681           },
24682           "additionalProperties": false,
24683           "required": [
24684             "result"
24685           ]
24686         },
24687         "CharmLXDProfile": {
24688           "type": "object",
24689           "properties": {
24690             "config": {
24691               "type": "object",
24692               "patternProperties": {
24693                 ".*": {
24694                   "type": "string"
24695                 }
24696               }
24697             },
24698             "description": {
24699               "type": "string"
24700             },
24701             "devices": {
24702               "type": "object",
24703               "patternProperties": {
24704                 ".*": {
24705                   "type": "object",
24706                   "patternProperties": {
24707                     ".*": {
24708                       "type": "string"
24709                     }
24710                   }
24711                 }
24712               }
24713             }
24714           },
24715           "additionalProperties": false,
24716           "required": [
24717             "config",
24718             "description",
24719             "devices"
24720           ]
24721         },
24722         "CloudImageMetadata": {
24723           "type": "object",
24724           "properties": {
24725             "arch": {
24726               "type": "string"
24727             },
24728             "image-id": {
24729               "type": "string"
24730             },
24731             "priority": {
24732               "type": "integer"
24733             },
24734             "region": {
24735               "type": "string"
24736             },
24737             "root-storage-size": {
24738               "type": "integer"
24739             },
24740             "root-storage-type": {
24741               "type": "string"
24742             },
24743             "series": {
24744               "type": "string"
24745             },
24746             "source": {
24747               "type": "string"
24748             },
24749             "stream": {
24750               "type": "string"
24751             },
24752             "version": {
24753               "type": "string"
24754             },
24755             "virt-type": {
24756               "type": "string"
24757             }
24758           },
24759           "additionalProperties": false,
24760           "required": [
24761             "image-id",
24762             "region",
24763             "version",
24764             "series",
24765             "arch",
24766             "source",
24767             "priority"
24768           ]
24769         },
24770         "ConstraintsResult": {
24771           "type": "object",
24772           "properties": {
24773             "constraints": {
24774               "$ref": "#/definitions/Value"
24775             },
24776             "error": {
24777               "$ref": "#/definitions/Error"
24778             }
24779           },
24780           "additionalProperties": false,
24781           "required": [
24782             "constraints"
24783           ]
24784         },
24785         "ConstraintsResults": {
24786           "type": "object",
24787           "properties": {
24788             "results": {
24789               "type": "array",
24790               "items": {
24791                 "$ref": "#/definitions/ConstraintsResult"
24792               }
24793             }
24794           },
24795           "additionalProperties": false,
24796           "required": [
24797             "results"
24798           ]
24799         },
24800         "ContainerConfig": {
24801           "type": "object",
24802           "properties": {
24803             "UpdateBehavior": {
24804               "$ref": "#/definitions/UpdateBehavior"
24805             },
24806             "apt-mirror": {
24807               "type": "string"
24808             },
24809             "apt-proxy": {
24810               "$ref": "#/definitions/Settings"
24811             },
24812             "authorized-keys": {
24813               "type": "string"
24814             },
24815             "cloudinit-userdata": {
24816               "type": "object",
24817               "patternProperties": {
24818                 ".*": {
24819                   "type": "object",
24820                   "additionalProperties": true
24821                 }
24822               }
24823             },
24824             "container-inherit-properties": {
24825               "type": "string"
24826             },
24827             "juju-proxy": {
24828               "$ref": "#/definitions/Settings"
24829             },
24830             "legacy-proxy": {
24831               "$ref": "#/definitions/Settings"
24832             },
24833             "provider-type": {
24834               "type": "string"
24835             },
24836             "snap-proxy": {
24837               "$ref": "#/definitions/Settings"
24838             },
24839             "ssl-hostname-verification": {
24840               "type": "boolean"
24841             }
24842           },
24843           "additionalProperties": false,
24844           "required": [
24845             "provider-type",
24846             "authorized-keys",
24847             "ssl-hostname-verification",
24848             "legacy-proxy",
24849             "juju-proxy",
24850             "apt-proxy",
24851             "snap-proxy",
24852             "apt-mirror",
24853             "UpdateBehavior"
24854           ]
24855         },
24856         "ContainerLXDProfile": {
24857           "type": "object",
24858           "properties": {
24859             "name": {
24860               "type": "string"
24861             },
24862             "profile": {
24863               "$ref": "#/definitions/CharmLXDProfile"
24864             }
24865           },
24866           "additionalProperties": false,
24867           "required": [
24868             "profile",
24869             "name"
24870           ]
24871         },
24872         "ContainerManagerConfig": {
24873           "type": "object",
24874           "properties": {
24875             "config": {
24876               "type": "object",
24877               "patternProperties": {
24878                 ".*": {
24879                   "type": "string"
24880                 }
24881               }
24882             }
24883           },
24884           "additionalProperties": false,
24885           "required": [
24886             "config"
24887           ]
24888         },
24889         "ContainerManagerConfigParams": {
24890           "type": "object",
24891           "properties": {
24892             "type": {
24893               "type": "string"
24894             }
24895           },
24896           "additionalProperties": false,
24897           "required": [
24898             "type"
24899           ]
24900         },
24901         "ContainerProfileResult": {
24902           "type": "object",
24903           "properties": {
24904             "error": {
24905               "$ref": "#/definitions/Error"
24906             },
24907             "lxd-profiles": {
24908               "type": "array",
24909               "items": {
24910                 "$ref": "#/definitions/ContainerLXDProfile"
24911               }
24912             }
24913           },
24914           "additionalProperties": false
24915         },
24916         "ContainerProfileResults": {
24917           "type": "object",
24918           "properties": {
24919             "results": {
24920               "type": "array",
24921               "items": {
24922                 "$ref": "#/definitions/ContainerProfileResult"
24923               }
24924             }
24925           },
24926           "additionalProperties": false,
24927           "required": [
24928             "results"
24929           ]
24930         },
24931         "ControllerAPIInfoResult": {
24932           "type": "object",
24933           "properties": {
24934             "addresses": {
24935               "type": "array",
24936               "items": {
24937                 "type": "string"
24938               }
24939             },
24940             "cacert": {
24941               "type": "string"
24942             },
24943             "error": {
24944               "$ref": "#/definitions/Error"
24945             }
24946           },
24947           "additionalProperties": false,
24948           "required": [
24949             "addresses",
24950             "cacert"
24951           ]
24952         },
24953         "ControllerAPIInfoResults": {
24954           "type": "object",
24955           "properties": {
24956             "results": {
24957               "type": "array",
24958               "items": {
24959                 "$ref": "#/definitions/ControllerAPIInfoResult"
24960               }
24961             }
24962           },
24963           "additionalProperties": false,
24964           "required": [
24965             "results"
24966           ]
24967         },
24968         "ControllerConfigResult": {
24969           "type": "object",
24970           "properties": {
24971             "config": {
24972               "type": "object",
24973               "patternProperties": {
24974                 ".*": {
24975                   "type": "object",
24976                   "additionalProperties": true
24977                 }
24978               }
24979             }
24980           },
24981           "additionalProperties": false,
24982           "required": [
24983             "config"
24984           ]
24985         },
24986         "DeviceBridgeInfo": {
24987           "type": "object",
24988           "properties": {
24989             "bridge-name": {
24990               "type": "string"
24991             },
24992             "host-device-name": {
24993               "type": "string"
24994             },
24995             "mac-address": {
24996               "type": "string"
24997             }
24998           },
24999           "additionalProperties": false,
25000           "required": [
25001             "host-device-name",
25002             "bridge-name",
25003             "mac-address"
25004           ]
25005         },
25006         "DistributionGroupResult": {
25007           "type": "object",
25008           "properties": {
25009             "error": {
25010               "$ref": "#/definitions/Error"
25011             },
25012             "result": {
25013               "type": "array",
25014               "items": {
25015                 "type": "string"
25016               }
25017             }
25018           },
25019           "additionalProperties": false,
25020           "required": [
25021             "result"
25022           ]
25023         },
25024         "DistributionGroupResults": {
25025           "type": "object",
25026           "properties": {
25027             "results": {
25028               "type": "array",
25029               "items": {
25030                 "$ref": "#/definitions/DistributionGroupResult"
25031               }
25032             }
25033           },
25034           "additionalProperties": false,
25035           "required": [
25036             "results"
25037           ]
25038         },
25039         "Entities": {
25040           "type": "object",
25041           "properties": {
25042             "entities": {
25043               "type": "array",
25044               "items": {
25045                 "$ref": "#/definitions/Entity"
25046               }
25047             }
25048           },
25049           "additionalProperties": false,
25050           "required": [
25051             "entities"
25052           ]
25053         },
25054         "Entity": {
25055           "type": "object",
25056           "properties": {
25057             "tag": {
25058               "type": "string"
25059             }
25060           },
25061           "additionalProperties": false,
25062           "required": [
25063             "tag"
25064           ]
25065         },
25066         "EntityPassword": {
25067           "type": "object",
25068           "properties": {
25069             "password": {
25070               "type": "string"
25071             },
25072             "tag": {
25073               "type": "string"
25074             }
25075           },
25076           "additionalProperties": false,
25077           "required": [
25078             "tag",
25079             "password"
25080           ]
25081         },
25082         "EntityPasswords": {
25083           "type": "object",
25084           "properties": {
25085             "changes": {
25086               "type": "array",
25087               "items": {
25088                 "$ref": "#/definitions/EntityPassword"
25089               }
25090             }
25091           },
25092           "additionalProperties": false,
25093           "required": [
25094             "changes"
25095           ]
25096         },
25097         "EntityStatusArgs": {
25098           "type": "object",
25099           "properties": {
25100             "data": {
25101               "type": "object",
25102               "patternProperties": {
25103                 ".*": {
25104                   "type": "object",
25105                   "additionalProperties": true
25106                 }
25107               }
25108             },
25109             "info": {
25110               "type": "string"
25111             },
25112             "status": {
25113               "type": "string"
25114             },
25115             "tag": {
25116               "type": "string"
25117             }
25118           },
25119           "additionalProperties": false,
25120           "required": [
25121             "tag",
25122             "status",
25123             "info",
25124             "data"
25125           ]
25126         },
25127         "Error": {
25128           "type": "object",
25129           "properties": {
25130             "code": {
25131               "type": "string"
25132             },
25133             "info": {
25134               "$ref": "#/definitions/ErrorInfo"
25135             },
25136             "message": {
25137               "type": "string"
25138             }
25139           },
25140           "additionalProperties": false,
25141           "required": [
25142             "message",
25143             "code"
25144           ]
25145         },
25146         "ErrorInfo": {
25147           "type": "object",
25148           "properties": {
25149             "macaroon": {
25150               "$ref": "#/definitions/Macaroon"
25151             },
25152             "macaroon-path": {
25153               "type": "string"
25154             }
25155           },
25156           "additionalProperties": false
25157         },
25158         "ErrorResult": {
25159           "type": "object",
25160           "properties": {
25161             "error": {
25162               "$ref": "#/definitions/Error"
25163             }
25164           },
25165           "additionalProperties": false
25166         },
25167         "ErrorResults": {
25168           "type": "object",
25169           "properties": {
25170             "results": {
25171               "type": "array",
25172               "items": {
25173                 "$ref": "#/definitions/ErrorResult"
25174               }
25175             }
25176           },
25177           "additionalProperties": false,
25178           "required": [
25179             "results"
25180           ]
25181         },
25182         "FindToolsParams": {
25183           "type": "object",
25184           "properties": {
25185             "agentstream": {
25186               "type": "string"
25187             },
25188             "arch": {
25189               "type": "string"
25190             },
25191             "major": {
25192               "type": "integer"
25193             },
25194             "minor": {
25195               "type": "integer"
25196             },
25197             "number": {
25198               "$ref": "#/definitions/Number"
25199             },
25200             "series": {
25201               "type": "string"
25202             }
25203           },
25204           "additionalProperties": false,
25205           "required": [
25206             "number",
25207             "major",
25208             "minor",
25209             "arch",
25210             "series",
25211             "agentstream"
25212           ]
25213         },
25214         "FindToolsResult": {
25215           "type": "object",
25216           "properties": {
25217             "error": {
25218               "$ref": "#/definitions/Error"
25219             },
25220             "list": {
25221               "type": "array",
25222               "items": {
25223                 "$ref": "#/definitions/Tools"
25224               }
25225             }
25226           },
25227           "additionalProperties": false,
25228           "required": [
25229             "list"
25230           ]
25231         },
25232         "HardwareCharacteristics": {
25233           "type": "object",
25234           "properties": {
25235             "arch": {
25236               "type": "string"
25237             },
25238             "availability-zone": {
25239               "type": "string"
25240             },
25241             "cpu-cores": {
25242               "type": "integer"
25243             },
25244             "cpu-power": {
25245               "type": "integer"
25246             },
25247             "mem": {
25248               "type": "integer"
25249             },
25250             "root-disk": {
25251               "type": "integer"
25252             },
25253             "tags": {
25254               "type": "array",
25255               "items": {
25256                 "type": "string"
25257               }
25258             }
25259           },
25260           "additionalProperties": false
25261         },
25262         "HostNetworkChange": {
25263           "type": "object",
25264           "properties": {
25265             "error": {
25266               "$ref": "#/definitions/Error"
25267             },
25268             "new-bridges": {
25269               "type": "array",
25270               "items": {
25271                 "$ref": "#/definitions/DeviceBridgeInfo"
25272               }
25273             },
25274             "reconfigure-delay": {
25275               "type": "integer"
25276             }
25277           },
25278           "additionalProperties": false,
25279           "required": [
25280             "new-bridges",
25281             "reconfigure-delay"
25282           ]
25283         },
25284         "HostNetworkChangeResults": {
25285           "type": "object",
25286           "properties": {
25287             "results": {
25288               "type": "array",
25289               "items": {
25290                 "$ref": "#/definitions/HostNetworkChange"
25291               }
25292             }
25293           },
25294           "additionalProperties": false,
25295           "required": [
25296             "results"
25297           ]
25298         },
25299         "HostPort": {
25300           "type": "object",
25301           "properties": {
25302             "Address": {
25303               "$ref": "#/definitions/Address"
25304             },
25305             "port": {
25306               "type": "integer"
25307             }
25308           },
25309           "additionalProperties": false,
25310           "required": [
25311             "Address",
25312             "port"
25313           ]
25314         },
25315         "InstanceInfo": {
25316           "type": "object",
25317           "properties": {
25318             "characteristics": {
25319               "$ref": "#/definitions/HardwareCharacteristics"
25320             },
25321             "charm-profiles": {
25322               "type": "array",
25323               "items": {
25324                 "type": "string"
25325               }
25326             },
25327             "instance-id": {
25328               "type": "string"
25329             },
25330             "network-config": {
25331               "type": "array",
25332               "items": {
25333                 "$ref": "#/definitions/NetworkConfig"
25334               }
25335             },
25336             "nonce": {
25337               "type": "string"
25338             },
25339             "tag": {
25340               "type": "string"
25341             },
25342             "volume-attachments": {
25343               "type": "object",
25344               "patternProperties": {
25345                 ".*": {
25346                   "$ref": "#/definitions/VolumeAttachmentInfo"
25347                 }
25348               }
25349             },
25350             "volumes": {
25351               "type": "array",
25352               "items": {
25353                 "$ref": "#/definitions/Volume"
25354               }
25355             }
25356           },
25357           "additionalProperties": false,
25358           "required": [
25359             "tag",
25360             "instance-id",
25361             "nonce",
25362             "characteristics",
25363             "volumes",
25364             "volume-attachments",
25365             "network-config",
25366             "charm-profiles"
25367           ]
25368         },
25369         "InstancesInfo": {
25370           "type": "object",
25371           "properties": {
25372             "machines": {
25373               "type": "array",
25374               "items": {
25375                 "$ref": "#/definitions/InstanceInfo"
25376               }
25377             }
25378           },
25379           "additionalProperties": false,
25380           "required": [
25381             "machines"
25382           ]
25383         },
25384         "LifeResult": {
25385           "type": "object",
25386           "properties": {
25387             "error": {
25388               "$ref": "#/definitions/Error"
25389             },
25390             "life": {
25391               "type": "string"
25392             }
25393           },
25394           "additionalProperties": false,
25395           "required": [
25396             "life"
25397           ]
25398         },
25399         "LifeResults": {
25400           "type": "object",
25401           "properties": {
25402             "results": {
25403               "type": "array",
25404               "items": {
25405                 "$ref": "#/definitions/LifeResult"
25406               }
25407             }
25408           },
25409           "additionalProperties": false,
25410           "required": [
25411             "results"
25412           ]
25413         },
25414         "Macaroon": {
25415           "type": "object",
25416           "additionalProperties": false
25417         },
25418         "MachineContainers": {
25419           "type": "object",
25420           "properties": {
25421             "container-types": {
25422               "type": "array",
25423               "items": {
25424                 "type": "string"
25425               }
25426             },
25427             "machine-tag": {
25428               "type": "string"
25429             }
25430           },
25431           "additionalProperties": false,
25432           "required": [
25433             "machine-tag",
25434             "container-types"
25435           ]
25436         },
25437         "MachineContainersParams": {
25438           "type": "object",
25439           "properties": {
25440             "params": {
25441               "type": "array",
25442               "items": {
25443                 "$ref": "#/definitions/MachineContainers"
25444               }
25445             }
25446           },
25447           "additionalProperties": false,
25448           "required": [
25449             "params"
25450           ]
25451         },
25452         "MachineNetworkConfigResult": {
25453           "type": "object",
25454           "properties": {
25455             "error": {
25456               "$ref": "#/definitions/Error"
25457             },
25458             "info": {
25459               "type": "array",
25460               "items": {
25461                 "$ref": "#/definitions/NetworkConfig"
25462               }
25463             }
25464           },
25465           "additionalProperties": false,
25466           "required": [
25467             "info"
25468           ]
25469         },
25470         "MachineNetworkConfigResults": {
25471           "type": "object",
25472           "properties": {
25473             "results": {
25474               "type": "array",
25475               "items": {
25476                 "$ref": "#/definitions/MachineNetworkConfigResult"
25477               }
25478             }
25479           },
25480           "additionalProperties": false,
25481           "required": [
25482             "results"
25483           ]
25484         },
25485         "ModelConfigResult": {
25486           "type": "object",
25487           "properties": {
25488             "config": {
25489               "type": "object",
25490               "patternProperties": {
25491                 ".*": {
25492                   "type": "object",
25493                   "additionalProperties": true
25494                 }
25495               }
25496             }
25497           },
25498           "additionalProperties": false,
25499           "required": [
25500             "config"
25501           ]
25502         },
25503         "NetworkConfig": {
25504           "type": "object",
25505           "properties": {
25506             "address": {
25507               "type": "string"
25508             },
25509             "cidr": {
25510               "type": "string"
25511             },
25512             "config-type": {
25513               "type": "string"
25514             },
25515             "device-index": {
25516               "type": "integer"
25517             },
25518             "disabled": {
25519               "type": "boolean"
25520             },
25521             "dns-search-domains": {
25522               "type": "array",
25523               "items": {
25524                 "type": "string"
25525               }
25526             },
25527             "dns-servers": {
25528               "type": "array",
25529               "items": {
25530                 "type": "string"
25531               }
25532             },
25533             "gateway-address": {
25534               "type": "string"
25535             },
25536             "interface-name": {
25537               "type": "string"
25538             },
25539             "interface-type": {
25540               "type": "string"
25541             },
25542             "is-default-gateway": {
25543               "type": "boolean"
25544             },
25545             "mac-address": {
25546               "type": "string"
25547             },
25548             "mtu": {
25549               "type": "integer"
25550             },
25551             "no-auto-start": {
25552               "type": "boolean"
25553             },
25554             "parent-interface-name": {
25555               "type": "string"
25556             },
25557             "provider-address-id": {
25558               "type": "string"
25559             },
25560             "provider-id": {
25561               "type": "string"
25562             },
25563             "provider-space-id": {
25564               "type": "string"
25565             },
25566             "provider-subnet-id": {
25567               "type": "string"
25568             },
25569             "provider-vlan-id": {
25570               "type": "string"
25571             },
25572             "routes": {
25573               "type": "array",
25574               "items": {
25575                 "$ref": "#/definitions/NetworkRoute"
25576               }
25577             },
25578             "vlan-tag": {
25579               "type": "integer"
25580             }
25581           },
25582           "additionalProperties": false,
25583           "required": [
25584             "device-index",
25585             "mac-address",
25586             "cidr",
25587             "mtu",
25588             "provider-id",
25589             "provider-subnet-id",
25590             "provider-space-id",
25591             "provider-address-id",
25592             "provider-vlan-id",
25593             "vlan-tag",
25594             "interface-name",
25595             "parent-interface-name",
25596             "interface-type",
25597             "disabled"
25598           ]
25599         },
25600         "NetworkRoute": {
25601           "type": "object",
25602           "properties": {
25603             "destination-cidr": {
25604               "type": "string"
25605             },
25606             "gateway-ip": {
25607               "type": "string"
25608             },
25609             "metric": {
25610               "type": "integer"
25611             }
25612           },
25613           "additionalProperties": false,
25614           "required": [
25615             "destination-cidr",
25616             "gateway-ip",
25617             "metric"
25618           ]
25619         },
25620         "NotifyWatchResult": {
25621           "type": "object",
25622           "properties": {
25623             "NotifyWatcherId": {
25624               "type": "string"
25625             },
25626             "error": {
25627               "$ref": "#/definitions/Error"
25628             }
25629           },
25630           "additionalProperties": false,
25631           "required": [
25632             "NotifyWatcherId"
25633           ]
25634         },
25635         "Number": {
25636           "type": "object",
25637           "properties": {
25638             "Build": {
25639               "type": "integer"
25640             },
25641             "Major": {
25642               "type": "integer"
25643             },
25644             "Minor": {
25645               "type": "integer"
25646             },
25647             "Patch": {
25648               "type": "integer"
25649             },
25650             "Tag": {
25651               "type": "string"
25652             }
25653           },
25654           "additionalProperties": false,
25655           "required": [
25656             "Major",
25657             "Minor",
25658             "Tag",
25659             "Patch",
25660             "Build"
25661           ]
25662         },
25663         "ProfileChangeResult": {
25664           "type": "object",
25665           "properties": {
25666             "error": {
25667               "$ref": "#/definitions/Error"
25668             },
25669             "new-profile-name": {
25670               "type": "string"
25671             },
25672             "old-profile-name": {
25673               "type": "string"
25674             },
25675             "profile": {
25676               "$ref": "#/definitions/CharmLXDProfile"
25677             },
25678             "subordinate": {
25679               "type": "boolean"
25680             }
25681           },
25682           "additionalProperties": false
25683         },
25684         "ProfileChangeResults": {
25685           "type": "object",
25686           "properties": {
25687             "results": {
25688               "type": "array",
25689               "items": {
25690                 "$ref": "#/definitions/ProfileChangeResult"
25691               }
25692             }
25693           },
25694           "additionalProperties": false,
25695           "required": [
25696             "results"
25697           ]
25698         },
25699         "ProvisioningInfo": {
25700           "type": "object",
25701           "properties": {
25702             "charm-lxd-profiles": {
25703               "type": "array",
25704               "items": {
25705                 "type": "string"
25706               }
25707             },
25708             "cloudinit-userdata": {
25709               "type": "object",
25710               "patternProperties": {
25711                 ".*": {
25712                   "type": "object",
25713                   "additionalProperties": true
25714                 }
25715               }
25716             },
25717             "constraints": {
25718               "$ref": "#/definitions/Value"
25719             },
25720             "controller-config": {
25721               "type": "object",
25722               "patternProperties": {
25723                 ".*": {
25724                   "type": "object",
25725                   "additionalProperties": true
25726                 }
25727               }
25728             },
25729             "endpoint-bindings": {
25730               "type": "object",
25731               "patternProperties": {
25732                 ".*": {
25733                   "type": "string"
25734                 }
25735               }
25736             },
25737             "image-metadata": {
25738               "type": "array",
25739               "items": {
25740                 "$ref": "#/definitions/CloudImageMetadata"
25741               }
25742             },
25743             "jobs": {
25744               "type": "array",
25745               "items": {
25746                 "type": "string"
25747               }
25748             },
25749             "placement": {
25750               "type": "string"
25751             },
25752             "series": {
25753               "type": "string"
25754             },
25755             "subnets-to-zones": {
25756               "type": "object",
25757               "patternProperties": {
25758                 ".*": {
25759                   "type": "array",
25760                   "items": {
25761                     "type": "string"
25762                   }
25763                 }
25764               }
25765             },
25766             "tags": {
25767               "type": "object",
25768               "patternProperties": {
25769                 ".*": {
25770                   "type": "string"
25771                 }
25772               }
25773             },
25774             "volume-attachments": {
25775               "type": "array",
25776               "items": {
25777                 "$ref": "#/definitions/VolumeAttachmentParams"
25778               }
25779             },
25780             "volumes": {
25781               "type": "array",
25782               "items": {
25783                 "$ref": "#/definitions/VolumeParams"
25784               }
25785             }
25786           },
25787           "additionalProperties": false,
25788           "required": [
25789             "constraints",
25790             "series",
25791             "placement",
25792             "jobs"
25793           ]
25794         },
25795         "ProvisioningInfoResult": {
25796           "type": "object",
25797           "properties": {
25798             "error": {
25799               "$ref": "#/definitions/Error"
25800             },
25801             "result": {
25802               "$ref": "#/definitions/ProvisioningInfo"
25803             }
25804           },
25805           "additionalProperties": false,
25806           "required": [
25807             "result"
25808           ]
25809         },
25810         "ProvisioningInfoResults": {
25811           "type": "object",
25812           "properties": {
25813             "results": {
25814               "type": "array",
25815               "items": {
25816                 "$ref": "#/definitions/ProvisioningInfoResult"
25817               }
25818             }
25819           },
25820           "additionalProperties": false,
25821           "required": [
25822             "results"
25823           ]
25824         },
25825         "SetMachineNetworkConfig": {
25826           "type": "object",
25827           "properties": {
25828             "config": {
25829               "type": "array",
25830               "items": {
25831                 "$ref": "#/definitions/NetworkConfig"
25832               }
25833             },
25834             "tag": {
25835               "type": "string"
25836             }
25837           },
25838           "additionalProperties": false,
25839           "required": [
25840             "tag",
25841             "config"
25842           ]
25843         },
25844         "SetProfileArg": {
25845           "type": "object",
25846           "properties": {
25847             "entity": {
25848               "$ref": "#/definitions/Entity"
25849             },
25850             "profiles": {
25851               "type": "array",
25852               "items": {
25853                 "type": "string"
25854               }
25855             }
25856           },
25857           "additionalProperties": false,
25858           "required": [
25859             "entity",
25860             "profiles"
25861           ]
25862         },
25863         "SetProfileArgs": {
25864           "type": "object",
25865           "properties": {
25866             "args": {
25867               "type": "array",
25868               "items": {
25869                 "$ref": "#/definitions/SetProfileArg"
25870               }
25871             }
25872           },
25873           "additionalProperties": false,
25874           "required": [
25875             "args"
25876           ]
25877         },
25878         "SetProfileUpgradeCompleteArg": {
25879           "type": "object",
25880           "properties": {
25881             "entity": {
25882               "$ref": "#/definitions/Entity"
25883             },
25884             "message": {
25885               "type": "string"
25886             }
25887           },
25888           "additionalProperties": false,
25889           "required": [
25890             "entity",
25891             "message"
25892           ]
25893         },
25894         "SetProfileUpgradeCompleteArgs": {
25895           "type": "object",
25896           "properties": {
25897             "args": {
25898               "type": "array",
25899               "items": {
25900                 "$ref": "#/definitions/SetProfileUpgradeCompleteArg"
25901               }
25902             }
25903           },
25904           "additionalProperties": false,
25905           "required": [
25906             "args"
25907           ]
25908         },
25909         "SetStatus": {
25910           "type": "object",
25911           "properties": {
25912             "entities": {
25913               "type": "array",
25914               "items": {
25915                 "$ref": "#/definitions/EntityStatusArgs"
25916               }
25917             }
25918           },
25919           "additionalProperties": false,
25920           "required": [
25921             "entities"
25922           ]
25923         },
25924         "Settings": {
25925           "type": "object",
25926           "properties": {
25927             "AutoNoProxy": {
25928               "type": "string"
25929             },
25930             "Ftp": {
25931               "type": "string"
25932             },
25933             "Http": {
25934               "type": "string"
25935             },
25936             "Https": {
25937               "type": "string"
25938             },
25939             "NoProxy": {
25940               "type": "string"
25941             }
25942           },
25943           "additionalProperties": false,
25944           "required": [
25945             "Http",
25946             "Https",
25947             "Ftp",
25948             "NoProxy",
25949             "AutoNoProxy"
25950           ]
25951         },
25952         "StatusResult": {
25953           "type": "object",
25954           "properties": {
25955             "data": {
25956               "type": "object",
25957               "patternProperties": {
25958                 ".*": {
25959                   "type": "object",
25960                   "additionalProperties": true
25961                 }
25962               }
25963             },
25964             "error": {
25965               "$ref": "#/definitions/Error"
25966             },
25967             "id": {
25968               "type": "string"
25969             },
25970             "info": {
25971               "type": "string"
25972             },
25973             "life": {
25974               "type": "string"
25975             },
25976             "since": {
25977               "type": "string",
25978               "format": "date-time"
25979             },
25980             "status": {
25981               "type": "string"
25982             }
25983           },
25984           "additionalProperties": false,
25985           "required": [
25986             "id",
25987             "life",
25988             "status",
25989             "info",
25990             "data",
25991             "since"
25992           ]
25993         },
25994         "StatusResults": {
25995           "type": "object",
25996           "properties": {
25997             "results": {
25998               "type": "array",
25999               "items": {
26000                 "$ref": "#/definitions/StatusResult"
26001               }
26002             }
26003           },
26004           "additionalProperties": false,
26005           "required": [
26006             "results"
26007           ]
26008         },
26009         "StringResult": {
26010           "type": "object",
26011           "properties": {
26012             "error": {
26013               "$ref": "#/definitions/Error"
26014             },
26015             "result": {
26016               "type": "string"
26017             }
26018           },
26019           "additionalProperties": false,
26020           "required": [
26021             "result"
26022           ]
26023         },
26024         "StringResults": {
26025           "type": "object",
26026           "properties": {
26027             "results": {
26028               "type": "array",
26029               "items": {
26030                 "$ref": "#/definitions/StringResult"
26031               }
26032             }
26033           },
26034           "additionalProperties": false,
26035           "required": [
26036             "results"
26037           ]
26038         },
26039         "StringsResult": {
26040           "type": "object",
26041           "properties": {
26042             "error": {
26043               "$ref": "#/definitions/Error"
26044             },
26045             "result": {
26046               "type": "array",
26047               "items": {
26048                 "type": "string"
26049               }
26050             }
26051           },
26052           "additionalProperties": false
26053         },
26054         "StringsResults": {
26055           "type": "object",
26056           "properties": {
26057             "results": {
26058               "type": "array",
26059               "items": {
26060                 "$ref": "#/definitions/StringsResult"
26061               }
26062             }
26063           },
26064           "additionalProperties": false,
26065           "required": [
26066             "results"
26067           ]
26068         },
26069         "StringsWatchResult": {
26070           "type": "object",
26071           "properties": {
26072             "changes": {
26073               "type": "array",
26074               "items": {
26075                 "type": "string"
26076               }
26077             },
26078             "error": {
26079               "$ref": "#/definitions/Error"
26080             },
26081             "watcher-id": {
26082               "type": "string"
26083             }
26084           },
26085           "additionalProperties": false,
26086           "required": [
26087             "watcher-id"
26088           ]
26089         },
26090         "StringsWatchResults": {
26091           "type": "object",
26092           "properties": {
26093             "results": {
26094               "type": "array",
26095               "items": {
26096                 "$ref": "#/definitions/StringsWatchResult"
26097               }
26098             }
26099           },
26100           "additionalProperties": false,
26101           "required": [
26102             "results"
26103           ]
26104         },
26105         "Tools": {
26106           "type": "object",
26107           "properties": {
26108             "sha256": {
26109               "type": "string"
26110             },
26111             "size": {
26112               "type": "integer"
26113             },
26114             "url": {
26115               "type": "string"
26116             },
26117             "version": {
26118               "$ref": "#/definitions/Binary"
26119             }
26120           },
26121           "additionalProperties": false,
26122           "required": [
26123             "version",
26124             "url",
26125             "size"
26126           ]
26127         },
26128         "ToolsResult": {
26129           "type": "object",
26130           "properties": {
26131             "disable-ssl-hostname-verification": {
26132               "type": "boolean"
26133             },
26134             "error": {
26135               "$ref": "#/definitions/Error"
26136             },
26137             "tools": {
26138               "type": "array",
26139               "items": {
26140                 "$ref": "#/definitions/Tools"
26141               }
26142             }
26143           },
26144           "additionalProperties": false,
26145           "required": [
26146             "tools",
26147             "disable-ssl-hostname-verification"
26148           ]
26149         },
26150         "ToolsResults": {
26151           "type": "object",
26152           "properties": {
26153             "results": {
26154               "type": "array",
26155               "items": {
26156                 "$ref": "#/definitions/ToolsResult"
26157               }
26158             }
26159           },
26160           "additionalProperties": false,
26161           "required": [
26162             "results"
26163           ]
26164         },
26165         "UpdateBehavior": {
26166           "type": "object",
26167           "properties": {
26168             "enable-os-refresh-update": {
26169               "type": "boolean"
26170             },
26171             "enable-os-upgrade": {
26172               "type": "boolean"
26173             }
26174           },
26175           "additionalProperties": false,
26176           "required": [
26177             "enable-os-refresh-update",
26178             "enable-os-upgrade"
26179           ]
26180         },
26181         "Value": {
26182           "type": "object",
26183           "properties": {
26184             "arch": {
26185               "type": "string"
26186             },
26187             "container": {
26188               "type": "string"
26189             },
26190             "cores": {
26191               "type": "integer"
26192             },
26193             "cpu-power": {
26194               "type": "integer"
26195             },
26196             "instance-type": {
26197               "type": "string"
26198             },
26199             "mem": {
26200               "type": "integer"
26201             },
26202             "root-disk": {
26203               "type": "integer"
26204             },
26205             "spaces": {
26206               "type": "array",
26207               "items": {
26208                 "type": "string"
26209               }
26210             },
26211             "tags": {
26212               "type": "array",
26213               "items": {
26214                 "type": "string"
26215               }
26216             },
26217             "virt-type": {
26218               "type": "string"
26219             },
26220             "zones": {
26221               "type": "array",
26222               "items": {
26223                 "type": "string"
26224               }
26225             }
26226           },
26227           "additionalProperties": false
26228         },
26229         "Volume": {
26230           "type": "object",
26231           "properties": {
26232             "info": {
26233               "$ref": "#/definitions/VolumeInfo"
26234             },
26235             "volume-tag": {
26236               "type": "string"
26237             }
26238           },
26239           "additionalProperties": false,
26240           "required": [
26241             "volume-tag",
26242             "info"
26243           ]
26244         },
26245         "VolumeAttachmentInfo": {
26246           "type": "object",
26247           "properties": {
26248             "bus-address": {
26249               "type": "string"
26250             },
26251             "device-link": {
26252               "type": "string"
26253             },
26254             "device-name": {
26255               "type": "string"
26256             },
26257             "plan-info": {
26258               "$ref": "#/definitions/VolumeAttachmentPlanInfo"
26259             },
26260             "read-only": {
26261               "type": "boolean"
26262             }
26263           },
26264           "additionalProperties": false
26265         },
26266         "VolumeAttachmentParams": {
26267           "type": "object",
26268           "properties": {
26269             "instance-id": {
26270               "type": "string"
26271             },
26272             "machine-tag": {
26273               "type": "string"
26274             },
26275             "provider": {
26276               "type": "string"
26277             },
26278             "read-only": {
26279               "type": "boolean"
26280             },
26281             "volume-id": {
26282               "type": "string"
26283             },
26284             "volume-tag": {
26285               "type": "string"
26286             }
26287           },
26288           "additionalProperties": false,
26289           "required": [
26290             "volume-tag",
26291             "machine-tag",
26292             "provider"
26293           ]
26294         },
26295         "VolumeAttachmentPlanInfo": {
26296           "type": "object",
26297           "properties": {
26298             "device-attributes": {
26299               "type": "object",
26300               "patternProperties": {
26301                 ".*": {
26302                   "type": "string"
26303                 }
26304               }
26305             },
26306             "device-type": {
26307               "type": "string"
26308             }
26309           },
26310           "additionalProperties": false
26311         },
26312         "VolumeInfo": {
26313           "type": "object",
26314           "properties": {
26315             "hardware-id": {
26316               "type": "string"
26317             },
26318             "persistent": {
26319               "type": "boolean"
26320             },
26321             "pool": {
26322               "type": "string"
26323             },
26324             "size": {
26325               "type": "integer"
26326             },
26327             "volume-id": {
26328               "type": "string"
26329             },
26330             "wwn": {
26331               "type": "string"
26332             }
26333           },
26334           "additionalProperties": false,
26335           "required": [
26336             "volume-id",
26337             "size",
26338             "persistent"
26339           ]
26340         },
26341         "VolumeParams": {
26342           "type": "object",
26343           "properties": {
26344             "attachment": {
26345               "$ref": "#/definitions/VolumeAttachmentParams"
26346             },
26347             "attributes": {
26348               "type": "object",
26349               "patternProperties": {
26350                 ".*": {
26351                   "type": "object",
26352                   "additionalProperties": true
26353                 }
26354               }
26355             },
26356             "provider": {
26357               "type": "string"
26358             },
26359             "size": {
26360               "type": "integer"
26361             },
26362             "tags": {
26363               "type": "object",
26364               "patternProperties": {
26365                 ".*": {
26366                   "type": "string"
26367                 }
26368               }
26369             },
26370             "volume-tag": {
26371               "type": "string"
26372             }
26373           },
26374           "additionalProperties": false,
26375           "required": [
26376             "volume-tag",
26377             "size",
26378             "provider"
26379           ]
26380         },
26381         "WatchContainer": {
26382           "type": "object",
26383           "properties": {
26384             "container-type": {
26385               "type": "string"
26386             },
26387             "machine-tag": {
26388               "type": "string"
26389             }
26390           },
26391           "additionalProperties": false,
26392           "required": [
26393             "machine-tag",
26394             "container-type"
26395           ]
26396         },
26397         "WatchContainers": {
26398           "type": "object",
26399           "properties": {
26400             "params": {
26401               "type": "array",
26402               "items": {
26403                 "$ref": "#/definitions/WatchContainer"
26404               }
26405             }
26406           },
26407           "additionalProperties": false,
26408           "required": [
26409             "params"
26410           ]
26411         }
26412       }
26413     }
26414   },
26415   {
26416     "Name": "ProxyUpdater",
26417     "Version": 2,
26418     "Schema": {
26419       "type": "object",
26420       "properties": {
26421         "ProxyConfig": {
26422           "type": "object",
26423           "properties": {
26424             "Params": {
26425               "$ref": "#/definitions/Entities"
26426             },
26427             "Result": {
26428               "$ref": "#/definitions/ProxyConfigResults"
26429             }
26430           }
26431         },
26432         "WatchForProxyConfigAndAPIHostPortChanges": {
26433           "type": "object",
26434           "properties": {
26435             "Params": {
26436               "$ref": "#/definitions/Entities"
26437             },
26438             "Result": {
26439               "$ref": "#/definitions/NotifyWatchResults"
26440             }
26441           }
26442         }
26443       },
26444       "definitions": {
26445         "Entities": {
26446           "type": "object",
26447           "properties": {
26448             "entities": {
26449               "type": "array",
26450               "items": {
26451                 "$ref": "#/definitions/Entity"
26452               }
26453             }
26454           },
26455           "additionalProperties": false,
26456           "required": [
26457             "entities"
26458           ]
26459         },
26460         "Entity": {
26461           "type": "object",
26462           "properties": {
26463             "tag": {
26464               "type": "string"
26465             }
26466           },
26467           "additionalProperties": false,
26468           "required": [
26469             "tag"
26470           ]
26471         },
26472         "Error": {
26473           "type": "object",
26474           "properties": {
26475             "code": {
26476               "type": "string"
26477             },
26478             "info": {
26479               "$ref": "#/definitions/ErrorInfo"
26480             },
26481             "message": {
26482               "type": "string"
26483             }
26484           },
26485           "additionalProperties": false,
26486           "required": [
26487             "message",
26488             "code"
26489           ]
26490         },
26491         "ErrorInfo": {
26492           "type": "object",
26493           "properties": {
26494             "macaroon": {
26495               "$ref": "#/definitions/Macaroon"
26496             },
26497             "macaroon-path": {
26498               "type": "string"
26499             }
26500           },
26501           "additionalProperties": false
26502         },
26503         "Macaroon": {
26504           "type": "object",
26505           "additionalProperties": false
26506         },
26507         "NotifyWatchResult": {
26508           "type": "object",
26509           "properties": {
26510             "NotifyWatcherId": {
26511               "type": "string"
26512             },
26513             "error": {
26514               "$ref": "#/definitions/Error"
26515             }
26516           },
26517           "additionalProperties": false,
26518           "required": [
26519             "NotifyWatcherId"
26520           ]
26521         },
26522         "NotifyWatchResults": {
26523           "type": "object",
26524           "properties": {
26525             "results": {
26526               "type": "array",
26527               "items": {
26528                 "$ref": "#/definitions/NotifyWatchResult"
26529               }
26530             }
26531           },
26532           "additionalProperties": false,
26533           "required": [
26534             "results"
26535           ]
26536         },
26537         "ProxyConfig": {
26538           "type": "object",
26539           "properties": {
26540             "ftp": {
26541               "type": "string"
26542             },
26543             "http": {
26544               "type": "string"
26545             },
26546             "https": {
26547               "type": "string"
26548             },
26549             "no-proxy": {
26550               "type": "string"
26551             }
26552           },
26553           "additionalProperties": false,
26554           "required": [
26555             "http",
26556             "https",
26557             "ftp",
26558             "no-proxy"
26559           ]
26560         },
26561         "ProxyConfigResult": {
26562           "type": "object",
26563           "properties": {
26564             "apt-proxy-settings": {
26565               "$ref": "#/definitions/ProxyConfig"
26566             },
26567             "error": {
26568               "$ref": "#/definitions/Error"
26569             },
26570             "juju-proxy-settings": {
26571               "$ref": "#/definitions/ProxyConfig"
26572             },
26573             "legacy-proxy-settings": {
26574               "$ref": "#/definitions/ProxyConfig"
26575             },
26576             "snap-proxy-settings": {
26577               "$ref": "#/definitions/ProxyConfig"
26578             },
26579             "snap-store-assertions": {
26580               "type": "string"
26581             },
26582             "snap-store-id": {
26583               "type": "string"
26584             }
26585           },
26586           "additionalProperties": false,
26587           "required": [
26588             "legacy-proxy-settings",
26589             "juju-proxy-settings"
26590           ]
26591         },
26592         "ProxyConfigResults": {
26593           "type": "object",
26594           "properties": {
26595             "results": {
26596               "type": "array",
26597               "items": {
26598                 "$ref": "#/definitions/ProxyConfigResult"
26599               }
26600             }
26601           },
26602           "additionalProperties": false,
26603           "required": [
26604             "results"
26605           ]
26606         }
26607       }
26608     }
26609   },
26610   {
26611     "Name": "Reboot",
26612     "Version": 2,
26613     "Schema": {
26614       "type": "object",
26615       "properties": {
26616         "ClearReboot": {
26617           "type": "object",
26618           "properties": {
26619             "Params": {
26620               "$ref": "#/definitions/Entities"
26621             },
26622             "Result": {
26623               "$ref": "#/definitions/ErrorResults"
26624             }
26625           }
26626         },
26627         "GetRebootAction": {
26628           "type": "object",
26629           "properties": {
26630             "Params": {
26631               "$ref": "#/definitions/Entities"
26632             },
26633             "Result": {
26634               "$ref": "#/definitions/RebootActionResults"
26635             }
26636           }
26637         },
26638         "RequestReboot": {
26639           "type": "object",
26640           "properties": {
26641             "Params": {
26642               "$ref": "#/definitions/Entities"
26643             },
26644             "Result": {
26645               "$ref": "#/definitions/ErrorResults"
26646             }
26647           }
26648         },
26649         "WatchForRebootEvent": {
26650           "type": "object",
26651           "properties": {
26652             "Result": {
26653               "$ref": "#/definitions/NotifyWatchResult"
26654             }
26655           }
26656         }
26657       },
26658       "definitions": {
26659         "Entities": {
26660           "type": "object",
26661           "properties": {
26662             "entities": {
26663               "type": "array",
26664               "items": {
26665                 "$ref": "#/definitions/Entity"
26666               }
26667             }
26668           },
26669           "additionalProperties": false,
26670           "required": [
26671             "entities"
26672           ]
26673         },
26674         "Entity": {
26675           "type": "object",
26676           "properties": {
26677             "tag": {
26678               "type": "string"
26679             }
26680           },
26681           "additionalProperties": false,
26682           "required": [
26683             "tag"
26684           ]
26685         },
26686         "Error": {
26687           "type": "object",
26688           "properties": {
26689             "code": {
26690               "type": "string"
26691             },
26692             "info": {
26693               "$ref": "#/definitions/ErrorInfo"
26694             },
26695             "message": {
26696               "type": "string"
26697             }
26698           },
26699           "additionalProperties": false,
26700           "required": [
26701             "message",
26702             "code"
26703           ]
26704         },
26705         "ErrorInfo": {
26706           "type": "object",
26707           "properties": {
26708             "macaroon": {
26709               "$ref": "#/definitions/Macaroon"
26710             },
26711             "macaroon-path": {
26712               "type": "string"
26713             }
26714           },
26715           "additionalProperties": false
26716         },
26717         "ErrorResult": {
26718           "type": "object",
26719           "properties": {
26720             "error": {
26721               "$ref": "#/definitions/Error"
26722             }
26723           },
26724           "additionalProperties": false
26725         },
26726         "ErrorResults": {
26727           "type": "object",
26728           "properties": {
26729             "results": {
26730               "type": "array",
26731               "items": {
26732                 "$ref": "#/definitions/ErrorResult"
26733               }
26734             }
26735           },
26736           "additionalProperties": false,
26737           "required": [
26738             "results"
26739           ]
26740         },
26741         "Macaroon": {
26742           "type": "object",
26743           "additionalProperties": false
26744         },
26745         "NotifyWatchResult": {
26746           "type": "object",
26747           "properties": {
26748             "NotifyWatcherId": {
26749               "type": "string"
26750             },
26751             "error": {
26752               "$ref": "#/definitions/Error"
26753             }
26754           },
26755           "additionalProperties": false,
26756           "required": [
26757             "NotifyWatcherId"
26758           ]
26759         },
26760         "RebootActionResult": {
26761           "type": "object",
26762           "properties": {
26763             "error": {
26764               "$ref": "#/definitions/Error"
26765             },
26766             "result": {
26767               "type": "string"
26768             }
26769           },
26770           "additionalProperties": false
26771         },
26772         "RebootActionResults": {
26773           "type": "object",
26774           "properties": {
26775             "results": {
26776               "type": "array",
26777               "items": {
26778                 "$ref": "#/definitions/RebootActionResult"
26779               }
26780             }
26781           },
26782           "additionalProperties": false
26783         }
26784       }
26785     }
26786   },
26787   {
26788     "Name": "RelationStatusWatcher",
26789     "Version": 1,
26790     "Schema": {
26791       "type": "object",
26792       "properties": {
26793         "Next": {
26794           "type": "object",
26795           "properties": {
26796             "Result": {
26797               "$ref": "#/definitions/RelationLifeSuspendedStatusWatchResult"
26798             }
26799           }
26800         },
26801         "Stop": {
26802           "type": "object"
26803         }
26804       },
26805       "definitions": {
26806         "Error": {
26807           "type": "object",
26808           "properties": {
26809             "code": {
26810               "type": "string"
26811             },
26812             "info": {
26813               "$ref": "#/definitions/ErrorInfo"
26814             },
26815             "message": {
26816               "type": "string"
26817             }
26818           },
26819           "additionalProperties": false,
26820           "required": [
26821             "message",
26822             "code"
26823           ]
26824         },
26825         "ErrorInfo": {
26826           "type": "object",
26827           "properties": {
26828             "macaroon": {
26829               "$ref": "#/definitions/Macaroon"
26830             },
26831             "macaroon-path": {
26832               "type": "string"
26833             }
26834           },
26835           "additionalProperties": false
26836         },
26837         "Macaroon": {
26838           "type": "object",
26839           "additionalProperties": false
26840         },
26841         "RelationLifeSuspendedStatusChange": {
26842           "type": "object",
26843           "properties": {
26844             "key": {
26845               "type": "string"
26846             },
26847             "life": {
26848               "type": "string"
26849             },
26850             "suspended": {
26851               "type": "boolean"
26852             },
26853             "suspended-reason": {
26854               "type": "string"
26855             }
26856           },
26857           "additionalProperties": false,
26858           "required": [
26859             "key",
26860             "life",
26861             "suspended",
26862             "suspended-reason"
26863           ]
26864         },
26865         "RelationLifeSuspendedStatusWatchResult": {
26866           "type": "object",
26867           "properties": {
26868             "changes": {
26869               "type": "array",
26870               "items": {
26871                 "$ref": "#/definitions/RelationLifeSuspendedStatusChange"
26872               }
26873             },
26874             "error": {
26875               "$ref": "#/definitions/Error"
26876             },
26877             "watcher-id": {
26878               "type": "string"
26879             }
26880           },
26881           "additionalProperties": false,
26882           "required": [
26883             "watcher-id",
26884             "changes"
26885           ]
26886         }
26887       }
26888     }
26889   },
26890   {
26891     "Name": "RelationUnitsWatcher",
26892     "Version": 1,
26893     "Schema": {
26894       "type": "object",
26895       "properties": {
26896         "Next": {
26897           "type": "object",
26898           "properties": {
26899             "Result": {
26900               "$ref": "#/definitions/RelationUnitsWatchResult"
26901             }
26902           }
26903         },
26904         "Stop": {
26905           "type": "object"
26906         }
26907       },
26908       "definitions": {
26909         "Error": {
26910           "type": "object",
26911           "properties": {
26912             "code": {
26913               "type": "string"
26914             },
26915             "info": {
26916               "$ref": "#/definitions/ErrorInfo"
26917             },
26918             "message": {
26919               "type": "string"
26920             }
26921           },
26922           "additionalProperties": false,
26923           "required": [
26924             "message",
26925             "code"
26926           ]
26927         },
26928         "ErrorInfo": {
26929           "type": "object",
26930           "properties": {
26931             "macaroon": {
26932               "$ref": "#/definitions/Macaroon"
26933             },
26934             "macaroon-path": {
26935               "type": "string"
26936             }
26937           },
26938           "additionalProperties": false
26939         },
26940         "Macaroon": {
26941           "type": "object",
26942           "additionalProperties": false
26943         },
26944         "RelationUnitsChange": {
26945           "type": "object",
26946           "properties": {
26947             "changed": {
26948               "type": "object",
26949               "patternProperties": {
26950                 ".*": {
26951                   "$ref": "#/definitions/UnitSettings"
26952                 }
26953               }
26954             },
26955             "departed": {
26956               "type": "array",
26957               "items": {
26958                 "type": "string"
26959               }
26960             }
26961           },
26962           "additionalProperties": false,
26963           "required": [
26964             "changed"
26965           ]
26966         },
26967         "RelationUnitsWatchResult": {
26968           "type": "object",
26969           "properties": {
26970             "changes": {
26971               "$ref": "#/definitions/RelationUnitsChange"
26972             },
26973             "error": {
26974               "$ref": "#/definitions/Error"
26975             },
26976             "watcher-id": {
26977               "type": "string"
26978             }
26979           },
26980           "additionalProperties": false,
26981           "required": [
26982             "watcher-id",
26983             "changes"
26984           ]
26985         },
26986         "UnitSettings": {
26987           "type": "object",
26988           "properties": {
26989             "version": {
26990               "type": "integer"
26991             }
26992           },
26993           "additionalProperties": false,
26994           "required": [
26995             "version"
26996           ]
26997         }
26998       }
26999     }
27000   },
27001   {
27002     "Name": "RemoteRelations",
27003     "Version": 1,
27004     "Schema": {
27005       "type": "object",
27006       "properties": {
27007         "ConsumeRemoteRelationChanges": {
27008           "type": "object",
27009           "properties": {
27010             "Params": {
27011               "$ref": "#/definitions/RemoteRelationsChanges"
27012             },
27013             "Result": {
27014               "$ref": "#/definitions/ErrorResults"
27015             }
27016           }
27017         },
27018         "ControllerAPIInfoForModels": {
27019           "type": "object",
27020           "properties": {
27021             "Params": {
27022               "$ref": "#/definitions/Entities"
27023             },
27024             "Result": {
27025               "$ref": "#/definitions/ControllerAPIInfoResults"
27026             }
27027           }
27028         },
27029         "ControllerConfig": {
27030           "type": "object",
27031           "properties": {
27032             "Result": {
27033               "$ref": "#/definitions/ControllerConfigResult"
27034             }
27035           }
27036         },
27037         "ExportEntities": {
27038           "type": "object",
27039           "properties": {
27040             "Params": {
27041               "$ref": "#/definitions/Entities"
27042             },
27043             "Result": {
27044               "$ref": "#/definitions/TokenResults"
27045             }
27046           }
27047         },
27048         "GetTokens": {
27049           "type": "object",
27050           "properties": {
27051             "Params": {
27052               "$ref": "#/definitions/GetTokenArgs"
27053             },
27054             "Result": {
27055               "$ref": "#/definitions/StringResults"
27056             }
27057           }
27058         },
27059         "ImportRemoteEntities": {
27060           "type": "object",
27061           "properties": {
27062             "Params": {
27063               "$ref": "#/definitions/RemoteEntityTokenArgs"
27064             },
27065             "Result": {
27066               "$ref": "#/definitions/ErrorResults"
27067             }
27068           }
27069         },
27070         "RelationUnitSettings": {
27071           "type": "object",
27072           "properties": {
27073             "Params": {
27074               "$ref": "#/definitions/RelationUnits"
27075             },
27076             "Result": {
27077               "$ref": "#/definitions/SettingsResults"
27078             }
27079           }
27080         },
27081         "Relations": {
27082           "type": "object",
27083           "properties": {
27084             "Params": {
27085               "$ref": "#/definitions/Entities"
27086             },
27087             "Result": {
27088               "$ref": "#/definitions/RemoteRelationResults"
27089             }
27090           }
27091         },
27092         "RemoteApplications": {
27093           "type": "object",
27094           "properties": {
27095             "Params": {
27096               "$ref": "#/definitions/Entities"
27097             },
27098             "Result": {
27099               "$ref": "#/definitions/RemoteApplicationResults"
27100             }
27101           }
27102         },
27103         "SaveMacaroons": {
27104           "type": "object",
27105           "properties": {
27106             "Params": {
27107               "$ref": "#/definitions/EntityMacaroonArgs"
27108             },
27109             "Result": {
27110               "$ref": "#/definitions/ErrorResults"
27111             }
27112           }
27113         },
27114         "SetRemoteApplicationsStatus": {
27115           "type": "object",
27116           "properties": {
27117             "Params": {
27118               "$ref": "#/definitions/SetStatus"
27119             },
27120             "Result": {
27121               "$ref": "#/definitions/ErrorResults"
27122             }
27123           }
27124         },
27125         "WatchLocalRelationUnits": {
27126           "type": "object",
27127           "properties": {
27128             "Params": {
27129               "$ref": "#/definitions/Entities"
27130             },
27131             "Result": {
27132               "$ref": "#/definitions/RelationUnitsWatchResults"
27133             }
27134           }
27135         },
27136         "WatchRemoteApplicationRelations": {
27137           "type": "object",
27138           "properties": {
27139             "Params": {
27140               "$ref": "#/definitions/Entities"
27141             },
27142             "Result": {
27143               "$ref": "#/definitions/StringsWatchResults"
27144             }
27145           }
27146         },
27147         "WatchRemoteApplications": {
27148           "type": "object",
27149           "properties": {
27150             "Result": {
27151               "$ref": "#/definitions/StringsWatchResult"
27152             }
27153           }
27154         },
27155         "WatchRemoteRelations": {
27156           "type": "object",
27157           "properties": {
27158             "Result": {
27159               "$ref": "#/definitions/StringsWatchResult"
27160             }
27161           }
27162         }
27163       },
27164       "definitions": {
27165         "ControllerAPIInfoResult": {
27166           "type": "object",
27167           "properties": {
27168             "addresses": {
27169               "type": "array",
27170               "items": {
27171                 "type": "string"
27172               }
27173             },
27174             "cacert": {
27175               "type": "string"
27176             },
27177             "error": {
27178               "$ref": "#/definitions/Error"
27179             }
27180           },
27181           "additionalProperties": false,
27182           "required": [
27183             "addresses",
27184             "cacert"
27185           ]
27186         },
27187         "ControllerAPIInfoResults": {
27188           "type": "object",
27189           "properties": {
27190             "results": {
27191               "type": "array",
27192               "items": {
27193                 "$ref": "#/definitions/ControllerAPIInfoResult"
27194               }
27195             }
27196           },
27197           "additionalProperties": false,
27198           "required": [
27199             "results"
27200           ]
27201         },
27202         "ControllerConfigResult": {
27203           "type": "object",
27204           "properties": {
27205             "config": {
27206               "type": "object",
27207               "patternProperties": {
27208                 ".*": {
27209                   "type": "object",
27210                   "additionalProperties": true
27211                 }
27212               }
27213             }
27214           },
27215           "additionalProperties": false,
27216           "required": [
27217             "config"
27218           ]
27219         },
27220         "Entities": {
27221           "type": "object",
27222           "properties": {
27223             "entities": {
27224               "type": "array",
27225               "items": {
27226                 "$ref": "#/definitions/Entity"
27227               }
27228             }
27229           },
27230           "additionalProperties": false,
27231           "required": [
27232             "entities"
27233           ]
27234         },
27235         "Entity": {
27236           "type": "object",
27237           "properties": {
27238             "tag": {
27239               "type": "string"
27240             }
27241           },
27242           "additionalProperties": false,
27243           "required": [
27244             "tag"
27245           ]
27246         },
27247         "EntityMacaroonArg": {
27248           "type": "object",
27249           "properties": {
27250             "macaroon": {
27251               "$ref": "#/definitions/Macaroon"
27252             },
27253             "tag": {
27254               "type": "string"
27255             }
27256           },
27257           "additionalProperties": false,
27258           "required": [
27259             "macaroon",
27260             "tag"
27261           ]
27262         },
27263         "EntityMacaroonArgs": {
27264           "type": "object",
27265           "properties": {
27266             "Args": {
27267               "type": "array",
27268               "items": {
27269                 "$ref": "#/definitions/EntityMacaroonArg"
27270               }
27271             }
27272           },
27273           "additionalProperties": false,
27274           "required": [
27275             "Args"
27276           ]
27277         },
27278         "EntityStatusArgs": {
27279           "type": "object",
27280           "properties": {
27281             "data": {
27282               "type": "object",
27283               "patternProperties": {
27284                 ".*": {
27285                   "type": "object",
27286                   "additionalProperties": true
27287                 }
27288               }
27289             },
27290             "info": {
27291               "type": "string"
27292             },
27293             "status": {
27294               "type": "string"
27295             },
27296             "tag": {
27297               "type": "string"
27298             }
27299           },
27300           "additionalProperties": false,
27301           "required": [
27302             "tag",
27303             "status",
27304             "info",
27305             "data"
27306           ]
27307         },
27308         "Error": {
27309           "type": "object",
27310           "properties": {
27311             "code": {
27312               "type": "string"
27313             },
27314             "info": {
27315               "$ref": "#/definitions/ErrorInfo"
27316             },
27317             "message": {
27318               "type": "string"
27319             }
27320           },
27321           "additionalProperties": false,
27322           "required": [
27323             "message",
27324             "code"
27325           ]
27326         },
27327         "ErrorInfo": {
27328           "type": "object",
27329           "properties": {
27330             "macaroon": {
27331               "$ref": "#/definitions/Macaroon"
27332             },
27333             "macaroon-path": {
27334               "type": "string"
27335             }
27336           },
27337           "additionalProperties": false
27338         },
27339         "ErrorResult": {
27340           "type": "object",
27341           "properties": {
27342             "error": {
27343               "$ref": "#/definitions/Error"
27344             }
27345           },
27346           "additionalProperties": false
27347         },
27348         "ErrorResults": {
27349           "type": "object",
27350           "properties": {
27351             "results": {
27352               "type": "array",
27353               "items": {
27354                 "$ref": "#/definitions/ErrorResult"
27355               }
27356             }
27357           },
27358           "additionalProperties": false,
27359           "required": [
27360             "results"
27361           ]
27362         },
27363         "GetTokenArg": {
27364           "type": "object",
27365           "properties": {
27366             "tag": {
27367               "type": "string"
27368             }
27369           },
27370           "additionalProperties": false,
27371           "required": [
27372             "tag"
27373           ]
27374         },
27375         "GetTokenArgs": {
27376           "type": "object",
27377           "properties": {
27378             "Args": {
27379               "type": "array",
27380               "items": {
27381                 "$ref": "#/definitions/GetTokenArg"
27382               }
27383             }
27384           },
27385           "additionalProperties": false,
27386           "required": [
27387             "Args"
27388           ]
27389         },
27390         "Macaroon": {
27391           "type": "object",
27392           "additionalProperties": false
27393         },
27394         "RelationUnit": {
27395           "type": "object",
27396           "properties": {
27397             "relation": {
27398               "type": "string"
27399             },
27400             "unit": {
27401               "type": "string"
27402             }
27403           },
27404           "additionalProperties": false,
27405           "required": [
27406             "relation",
27407             "unit"
27408           ]
27409         },
27410         "RelationUnits": {
27411           "type": "object",
27412           "properties": {
27413             "relation-units": {
27414               "type": "array",
27415               "items": {
27416                 "$ref": "#/definitions/RelationUnit"
27417               }
27418             }
27419           },
27420           "additionalProperties": false,
27421           "required": [
27422             "relation-units"
27423           ]
27424         },
27425         "RelationUnitsChange": {
27426           "type": "object",
27427           "properties": {
27428             "changed": {
27429               "type": "object",
27430               "patternProperties": {
27431                 ".*": {
27432                   "$ref": "#/definitions/UnitSettings"
27433                 }
27434               }
27435             },
27436             "departed": {
27437               "type": "array",
27438               "items": {
27439                 "type": "string"
27440               }
27441             }
27442           },
27443           "additionalProperties": false,
27444           "required": [
27445             "changed"
27446           ]
27447         },
27448         "RelationUnitsWatchResult": {
27449           "type": "object",
27450           "properties": {
27451             "changes": {
27452               "$ref": "#/definitions/RelationUnitsChange"
27453             },
27454             "error": {
27455               "$ref": "#/definitions/Error"
27456             },
27457             "watcher-id": {
27458               "type": "string"
27459             }
27460           },
27461           "additionalProperties": false,
27462           "required": [
27463             "watcher-id",
27464             "changes"
27465           ]
27466         },
27467         "RelationUnitsWatchResults": {
27468           "type": "object",
27469           "properties": {
27470             "results": {
27471               "type": "array",
27472               "items": {
27473                 "$ref": "#/definitions/RelationUnitsWatchResult"
27474               }
27475             }
27476           },
27477           "additionalProperties": false,
27478           "required": [
27479             "results"
27480           ]
27481         },
27482         "RemoteApplication": {
27483           "type": "object",
27484           "properties": {
27485             "is-consumer-proxy": {
27486               "type": "boolean"
27487             },
27488             "life": {
27489               "type": "string"
27490             },
27491             "macaroon": {
27492               "$ref": "#/definitions/Macaroon"
27493             },
27494             "model-uuid": {
27495               "type": "string"
27496             },
27497             "name": {
27498               "type": "string"
27499             },
27500             "offer-uuid": {
27501               "type": "string"
27502             },
27503             "status": {
27504               "type": "string"
27505             }
27506           },
27507           "additionalProperties": false,
27508           "required": [
27509             "name",
27510             "offer-uuid",
27511             "model-uuid",
27512             "is-consumer-proxy"
27513           ]
27514         },
27515         "RemoteApplicationResult": {
27516           "type": "object",
27517           "properties": {
27518             "error": {
27519               "$ref": "#/definitions/Error"
27520             },
27521             "result": {
27522               "$ref": "#/definitions/RemoteApplication"
27523             }
27524           },
27525           "additionalProperties": false
27526         },
27527         "RemoteApplicationResults": {
27528           "type": "object",
27529           "properties": {
27530             "results": {
27531               "type": "array",
27532               "items": {
27533                 "$ref": "#/definitions/RemoteApplicationResult"
27534               }
27535             }
27536           },
27537           "additionalProperties": false
27538         },
27539         "RemoteEndpoint": {
27540           "type": "object",
27541           "properties": {
27542             "interface": {
27543               "type": "string"
27544             },
27545             "limit": {
27546               "type": "integer"
27547             },
27548             "name": {
27549               "type": "string"
27550             },
27551             "role": {
27552               "type": "string"
27553             }
27554           },
27555           "additionalProperties": false,
27556           "required": [
27557             "name",
27558             "role",
27559             "interface",
27560             "limit"
27561           ]
27562         },
27563         "RemoteEntityTokenArg": {
27564           "type": "object",
27565           "properties": {
27566             "tag": {
27567               "type": "string"
27568             },
27569             "token": {
27570               "type": "string"
27571             }
27572           },
27573           "additionalProperties": false,
27574           "required": [
27575             "tag"
27576           ]
27577         },
27578         "RemoteEntityTokenArgs": {
27579           "type": "object",
27580           "properties": {
27581             "Args": {
27582               "type": "array",
27583               "items": {
27584                 "$ref": "#/definitions/RemoteEntityTokenArg"
27585               }
27586             }
27587           },
27588           "additionalProperties": false,
27589           "required": [
27590             "Args"
27591           ]
27592         },
27593         "RemoteRelation": {
27594           "type": "object",
27595           "properties": {
27596             "application-name": {
27597               "type": "string"
27598             },
27599             "endpoint": {
27600               "$ref": "#/definitions/RemoteEndpoint"
27601             },
27602             "id": {
27603               "type": "integer"
27604             },
27605             "key": {
27606               "type": "string"
27607             },
27608             "life": {
27609               "type": "string"
27610             },
27611             "remote-application-name": {
27612               "type": "string"
27613             },
27614             "remote-endpoint-name": {
27615               "type": "string"
27616             },
27617             "source-model-uuid": {
27618               "type": "string"
27619             },
27620             "suspended": {
27621               "type": "boolean"
27622             }
27623           },
27624           "additionalProperties": false,
27625           "required": [
27626             "life",
27627             "suspended",
27628             "id",
27629             "key",
27630             "application-name",
27631             "endpoint",
27632             "remote-application-name",
27633             "remote-endpoint-name",
27634             "source-model-uuid"
27635           ]
27636         },
27637         "RemoteRelationChangeEvent": {
27638           "type": "object",
27639           "properties": {
27640             "application-token": {
27641               "type": "string"
27642             },
27643             "changed-units": {
27644               "type": "array",
27645               "items": {
27646                 "$ref": "#/definitions/RemoteRelationUnitChange"
27647               }
27648             },
27649             "departed-units": {
27650               "type": "array",
27651               "items": {
27652                 "type": "integer"
27653               }
27654             },
27655             "force-cleanup": {
27656               "type": "boolean"
27657             },
27658             "life": {
27659               "type": "string"
27660             },
27661             "macaroons": {
27662               "type": "array",
27663               "items": {
27664                 "$ref": "#/definitions/Macaroon"
27665               }
27666             },
27667             "relation-token": {
27668               "type": "string"
27669             },
27670             "suspended": {
27671               "type": "boolean"
27672             },
27673             "suspended-reason": {
27674               "type": "string"
27675             }
27676           },
27677           "additionalProperties": false,
27678           "required": [
27679             "relation-token",
27680             "application-token",
27681             "life"
27682           ]
27683         },
27684         "RemoteRelationResult": {
27685           "type": "object",
27686           "properties": {
27687             "error": {
27688               "$ref": "#/definitions/Error"
27689             },
27690             "result": {
27691               "$ref": "#/definitions/RemoteRelation"
27692             }
27693           },
27694           "additionalProperties": false
27695         },
27696         "RemoteRelationResults": {
27697           "type": "object",
27698           "properties": {
27699             "results": {
27700               "type": "array",
27701               "items": {
27702                 "$ref": "#/definitions/RemoteRelationResult"
27703               }
27704             }
27705           },
27706           "additionalProperties": false,
27707           "required": [
27708             "results"
27709           ]
27710         },
27711         "RemoteRelationUnitChange": {
27712           "type": "object",
27713           "properties": {
27714             "settings": {
27715               "type": "object",
27716               "patternProperties": {
27717                 ".*": {
27718                   "type": "object",
27719                   "additionalProperties": true
27720                 }
27721               }
27722             },
27723             "unit-id": {
27724               "type": "integer"
27725             }
27726           },
27727           "additionalProperties": false,
27728           "required": [
27729             "unit-id"
27730           ]
27731         },
27732         "RemoteRelationsChanges": {
27733           "type": "object",
27734           "properties": {
27735             "changes": {
27736               "type": "array",
27737               "items": {
27738                 "$ref": "#/definitions/RemoteRelationChangeEvent"
27739               }
27740             }
27741           },
27742           "additionalProperties": false
27743         },
27744         "SetStatus": {
27745           "type": "object",
27746           "properties": {
27747             "entities": {
27748               "type": "array",
27749               "items": {
27750                 "$ref": "#/definitions/EntityStatusArgs"
27751               }
27752             }
27753           },
27754           "additionalProperties": false,
27755           "required": [
27756             "entities"
27757           ]
27758         },
27759         "SettingsResult": {
27760           "type": "object",
27761           "properties": {
27762             "error": {
27763               "$ref": "#/definitions/Error"
27764             },
27765             "settings": {
27766               "type": "object",
27767               "patternProperties": {
27768                 ".*": {
27769                   "type": "string"
27770                 }
27771               }
27772             }
27773           },
27774           "additionalProperties": false,
27775           "required": [
27776             "settings"
27777           ]
27778         },
27779         "SettingsResults": {
27780           "type": "object",
27781           "properties": {
27782             "results": {
27783               "type": "array",
27784               "items": {
27785                 "$ref": "#/definitions/SettingsResult"
27786               }
27787             }
27788           },
27789           "additionalProperties": false,
27790           "required": [
27791             "results"
27792           ]
27793         },
27794         "StringResult": {
27795           "type": "object",
27796           "properties": {
27797             "error": {
27798               "$ref": "#/definitions/Error"
27799             },
27800             "result": {
27801               "type": "string"
27802             }
27803           },
27804           "additionalProperties": false,
27805           "required": [
27806             "result"
27807           ]
27808         },
27809         "StringResults": {
27810           "type": "object",
27811           "properties": {
27812             "results": {
27813               "type": "array",
27814               "items": {
27815                 "$ref": "#/definitions/StringResult"
27816               }
27817             }
27818           },
27819           "additionalProperties": false,
27820           "required": [
27821             "results"
27822           ]
27823         },
27824         "StringsWatchResult": {
27825           "type": "object",
27826           "properties": {
27827             "changes": {
27828               "type": "array",
27829               "items": {
27830                 "type": "string"
27831               }
27832             },
27833             "error": {
27834               "$ref": "#/definitions/Error"
27835             },
27836             "watcher-id": {
27837               "type": "string"
27838             }
27839           },
27840           "additionalProperties": false,
27841           "required": [
27842             "watcher-id"
27843           ]
27844         },
27845         "StringsWatchResults": {
27846           "type": "object",
27847           "properties": {
27848             "results": {
27849               "type": "array",
27850               "items": {
27851                 "$ref": "#/definitions/StringsWatchResult"
27852               }
27853             }
27854           },
27855           "additionalProperties": false,
27856           "required": [
27857             "results"
27858           ]
27859         },
27860         "TokenResult": {
27861           "type": "object",
27862           "properties": {
27863             "error": {
27864               "$ref": "#/definitions/Error"
27865             },
27866             "token": {
27867               "type": "string"
27868             }
27869           },
27870           "additionalProperties": false
27871         },
27872         "TokenResults": {
27873           "type": "object",
27874           "properties": {
27875             "results": {
27876               "type": "array",
27877               "items": {
27878                 "$ref": "#/definitions/TokenResult"
27879               }
27880             }
27881           },
27882           "additionalProperties": false
27883         },
27884         "UnitSettings": {
27885           "type": "object",
27886           "properties": {
27887             "version": {
27888               "type": "integer"
27889             }
27890           },
27891           "additionalProperties": false,
27892           "required": [
27893             "version"
27894           ]
27895         }
27896       }
27897     }
27898   },
27899   {
27900     "Name": "Resources",
27901     "Version": 1,
27902     "Schema": {
27903       "type": "object",
27904       "properties": {
27905         "AddPendingResources": {
27906           "type": "object",
27907           "properties": {
27908             "Params": {
27909               "$ref": "#/definitions/AddPendingResourcesArgs"
27910             },
27911             "Result": {
27912               "$ref": "#/definitions/AddPendingResourcesResult"
27913             }
27914           }
27915         },
27916         "ListResources": {
27917           "type": "object",
27918           "properties": {
27919             "Params": {
27920               "$ref": "#/definitions/ListResourcesArgs"
27921             },
27922             "Result": {
27923               "$ref": "#/definitions/ResourcesResults"
27924             }
27925           }
27926         }
27927       },
27928       "definitions": {
27929         "AddCharmWithAuthorization": {
27930           "type": "object",
27931           "properties": {
27932             "channel": {
27933               "type": "string"
27934             },
27935             "force": {
27936               "type": "boolean"
27937             },
27938             "macaroon": {
27939               "$ref": "#/definitions/Macaroon"
27940             },
27941             "url": {
27942               "type": "string"
27943             }
27944           },
27945           "additionalProperties": false,
27946           "required": [
27947             "url",
27948             "channel",
27949             "macaroon",
27950             "force"
27951           ]
27952         },
27953         "AddPendingResourcesArgs": {
27954           "type": "object",
27955           "properties": {
27956             "AddCharmWithAuthorization": {
27957               "$ref": "#/definitions/AddCharmWithAuthorization"
27958             },
27959             "Entity": {
27960               "$ref": "#/definitions/Entity"
27961             },
27962             "resources": {
27963               "type": "array",
27964               "items": {
27965                 "$ref": "#/definitions/CharmResource"
27966               }
27967             }
27968           },
27969           "additionalProperties": false,
27970           "required": [
27971             "Entity",
27972             "AddCharmWithAuthorization",
27973             "resources"
27974           ]
27975         },
27976         "AddPendingResourcesResult": {
27977           "type": "object",
27978           "properties": {
27979             "ErrorResult": {
27980               "$ref": "#/definitions/ErrorResult"
27981             },
27982             "pending-ids": {
27983               "type": "array",
27984               "items": {
27985                 "type": "string"
27986               }
27987             }
27988           },
27989           "additionalProperties": false,
27990           "required": [
27991             "ErrorResult",
27992             "pending-ids"
27993           ]
27994         },
27995         "CharmResource": {
27996           "type": "object",
27997           "properties": {
27998             "description": {
27999               "type": "string"
28000             },
28001             "fingerprint": {
28002               "type": "array",
28003               "items": {
28004                 "type": "integer"
28005               }
28006             },
28007             "name": {
28008               "type": "string"
28009             },
28010             "origin": {
28011               "type": "string"
28012             },
28013             "path": {
28014               "type": "string"
28015             },
28016             "revision": {
28017               "type": "integer"
28018             },
28019             "size": {
28020               "type": "integer"
28021             },
28022             "type": {
28023               "type": "string"
28024             }
28025           },
28026           "additionalProperties": false,
28027           "required": [
28028             "name",
28029             "type",
28030             "path",
28031             "origin",
28032             "revision",
28033             "fingerprint",
28034             "size"
28035           ]
28036         },
28037         "Entity": {
28038           "type": "object",
28039           "properties": {
28040             "tag": {
28041               "type": "string"
28042             }
28043           },
28044           "additionalProperties": false,
28045           "required": [
28046             "tag"
28047           ]
28048         },
28049         "Error": {
28050           "type": "object",
28051           "properties": {
28052             "code": {
28053               "type": "string"
28054             },
28055             "info": {
28056               "$ref": "#/definitions/ErrorInfo"
28057             },
28058             "message": {
28059               "type": "string"
28060             }
28061           },
28062           "additionalProperties": false,
28063           "required": [
28064             "message",
28065             "code"
28066           ]
28067         },
28068         "ErrorInfo": {
28069           "type": "object",
28070           "properties": {
28071             "macaroon": {
28072               "$ref": "#/definitions/Macaroon"
28073             },
28074             "macaroon-path": {
28075               "type": "string"
28076             }
28077           },
28078           "additionalProperties": false
28079         },
28080         "ErrorResult": {
28081           "type": "object",
28082           "properties": {
28083             "error": {
28084               "$ref": "#/definitions/Error"
28085             }
28086           },
28087           "additionalProperties": false
28088         },
28089         "ListResourcesArgs": {
28090           "type": "object",
28091           "properties": {
28092             "entities": {
28093               "type": "array",
28094               "items": {
28095                 "$ref": "#/definitions/Entity"
28096               }
28097             }
28098           },
28099           "additionalProperties": false,
28100           "required": [
28101             "entities"
28102           ]
28103         },
28104         "Macaroon": {
28105           "type": "object",
28106           "additionalProperties": false
28107         },
28108         "Resource": {
28109           "type": "object",
28110           "properties": {
28111             "CharmResource": {
28112               "$ref": "#/definitions/CharmResource"
28113             },
28114             "application": {
28115               "type": "string"
28116             },
28117             "id": {
28118               "type": "string"
28119             },
28120             "pending-id": {
28121               "type": "string"
28122             },
28123             "timestamp": {
28124               "type": "string",
28125               "format": "date-time"
28126             },
28127             "username": {
28128               "type": "string"
28129             }
28130           },
28131           "additionalProperties": false,
28132           "required": [
28133             "CharmResource",
28134             "id",
28135             "pending-id",
28136             "application",
28137             "username",
28138             "timestamp"
28139           ]
28140         },
28141         "ResourcesResult": {
28142           "type": "object",
28143           "properties": {
28144             "ErrorResult": {
28145               "$ref": "#/definitions/ErrorResult"
28146             },
28147             "charm-store-resources": {
28148               "type": "array",
28149               "items": {
28150                 "$ref": "#/definitions/CharmResource"
28151               }
28152             },
28153             "resources": {
28154               "type": "array",
28155               "items": {
28156                 "$ref": "#/definitions/Resource"
28157               }
28158             },
28159             "unit-resources": {
28160               "type": "array",
28161               "items": {
28162                 "$ref": "#/definitions/UnitResources"
28163               }
28164             }
28165           },
28166           "additionalProperties": false,
28167           "required": [
28168             "ErrorResult",
28169             "resources",
28170             "charm-store-resources",
28171             "unit-resources"
28172           ]
28173         },
28174         "ResourcesResults": {
28175           "type": "object",
28176           "properties": {
28177             "results": {
28178               "type": "array",
28179               "items": {
28180                 "$ref": "#/definitions/ResourcesResult"
28181               }
28182             }
28183           },
28184           "additionalProperties": false,
28185           "required": [
28186             "results"
28187           ]
28188         },
28189         "UnitResources": {
28190           "type": "object",
28191           "properties": {
28192             "Entity": {
28193               "$ref": "#/definitions/Entity"
28194             },
28195             "download-progress": {
28196               "type": "object",
28197               "patternProperties": {
28198                 ".*": {
28199                   "type": "integer"
28200                 }
28201               }
28202             },
28203             "resources": {
28204               "type": "array",
28205               "items": {
28206                 "$ref": "#/definitions/Resource"
28207               }
28208             }
28209           },
28210           "additionalProperties": false,
28211           "required": [
28212             "Entity",
28213             "resources",
28214             "download-progress"
28215           ]
28216         }
28217       }
28218     }
28219   },
28220   {
28221     "Name": "ResourcesHookContext",
28222     "Version": 1,
28223     "Schema": {
28224       "type": "object",
28225       "properties": {
28226         "GetResourceInfo": {
28227           "type": "object",
28228           "properties": {
28229             "Params": {
28230               "$ref": "#/definitions/ListUnitResourcesArgs"
28231             },
28232             "Result": {
28233               "$ref": "#/definitions/UnitResourcesResult"
28234             }
28235           }
28236         }
28237       },
28238       "definitions": {
28239         "CharmResource": {
28240           "type": "object",
28241           "properties": {
28242             "description": {
28243               "type": "string"
28244             },
28245             "fingerprint": {
28246               "type": "array",
28247               "items": {
28248                 "type": "integer"
28249               }
28250             },
28251             "name": {
28252               "type": "string"
28253             },
28254             "origin": {
28255               "type": "string"
28256             },
28257             "path": {
28258               "type": "string"
28259             },
28260             "revision": {
28261               "type": "integer"
28262             },
28263             "size": {
28264               "type": "integer"
28265             },
28266             "type": {
28267               "type": "string"
28268             }
28269           },
28270           "additionalProperties": false,
28271           "required": [
28272             "name",
28273             "type",
28274             "path",
28275             "origin",
28276             "revision",
28277             "fingerprint",
28278             "size"
28279           ]
28280         },
28281         "Error": {
28282           "type": "object",
28283           "properties": {
28284             "code": {
28285               "type": "string"
28286             },
28287             "info": {
28288               "$ref": "#/definitions/ErrorInfo"
28289             },
28290             "message": {
28291               "type": "string"
28292             }
28293           },
28294           "additionalProperties": false,
28295           "required": [
28296             "message",
28297             "code"
28298           ]
28299         },
28300         "ErrorInfo": {
28301           "type": "object",
28302           "properties": {
28303             "macaroon": {
28304               "$ref": "#/definitions/Macaroon"
28305             },
28306             "macaroon-path": {
28307               "type": "string"
28308             }
28309           },
28310           "additionalProperties": false
28311         },
28312         "ErrorResult": {
28313           "type": "object",
28314           "properties": {
28315             "error": {
28316               "$ref": "#/definitions/Error"
28317             }
28318           },
28319           "additionalProperties": false
28320         },
28321         "ListUnitResourcesArgs": {
28322           "type": "object",
28323           "properties": {
28324             "resource-names": {
28325               "type": "array",
28326               "items": {
28327                 "type": "string"
28328               }
28329             }
28330           },
28331           "additionalProperties": false,
28332           "required": [
28333             "resource-names"
28334           ]
28335         },
28336         "Macaroon": {
28337           "type": "object",
28338           "additionalProperties": false
28339         },
28340         "Resource": {
28341           "type": "object",
28342           "properties": {
28343             "CharmResource": {
28344               "$ref": "#/definitions/CharmResource"
28345             },
28346             "application": {
28347               "type": "string"
28348             },
28349             "id": {
28350               "type": "string"
28351             },
28352             "pending-id": {
28353               "type": "string"
28354             },
28355             "timestamp": {
28356               "type": "string",
28357               "format": "date-time"
28358             },
28359             "username": {
28360               "type": "string"
28361             }
28362           },
28363           "additionalProperties": false,
28364           "required": [
28365             "CharmResource",
28366             "id",
28367             "pending-id",
28368             "application",
28369             "username",
28370             "timestamp"
28371           ]
28372         },
28373         "UnitResourceResult": {
28374           "type": "object",
28375           "properties": {
28376             "ErrorResult": {
28377               "$ref": "#/definitions/ErrorResult"
28378             },
28379             "resource": {
28380               "$ref": "#/definitions/Resource"
28381             }
28382           },
28383           "additionalProperties": false,
28384           "required": [
28385             "ErrorResult",
28386             "resource"
28387           ]
28388         },
28389         "UnitResourcesResult": {
28390           "type": "object",
28391           "properties": {
28392             "ErrorResult": {
28393               "$ref": "#/definitions/ErrorResult"
28394             },
28395             "resources": {
28396               "type": "array",
28397               "items": {
28398                 "$ref": "#/definitions/UnitResourceResult"
28399               }
28400             }
28401           },
28402           "additionalProperties": false,
28403           "required": [
28404             "ErrorResult",
28405             "resources"
28406           ]
28407         }
28408       }
28409     }
28410   },
28411   {
28412     "Name": "Resumer",
28413     "Version": 2,
28414     "Schema": {
28415       "type": "object",
28416       "properties": {
28417         "ResumeTransactions": {
28418           "type": "object"
28419         }
28420       }
28421     }
28422   },
28423   {
28424     "Name": "RetryStrategy",
28425     "Version": 1,
28426     "Schema": {
28427       "type": "object",
28428       "properties": {
28429         "RetryStrategy": {
28430           "type": "object",
28431           "properties": {
28432             "Params": {
28433               "$ref": "#/definitions/Entities"
28434             },
28435             "Result": {
28436               "$ref": "#/definitions/RetryStrategyResults"
28437             }
28438           }
28439         },
28440         "WatchRetryStrategy": {
28441           "type": "object",
28442           "properties": {
28443             "Params": {
28444               "$ref": "#/definitions/Entities"
28445             },
28446             "Result": {
28447               "$ref": "#/definitions/NotifyWatchResults"
28448             }
28449           }
28450         }
28451       },
28452       "definitions": {
28453         "Entities": {
28454           "type": "object",
28455           "properties": {
28456             "entities": {
28457               "type": "array",
28458               "items": {
28459                 "$ref": "#/definitions/Entity"
28460               }
28461             }
28462           },
28463           "additionalProperties": false,
28464           "required": [
28465             "entities"
28466           ]
28467         },
28468         "Entity": {
28469           "type": "object",
28470           "properties": {
28471             "tag": {
28472               "type": "string"
28473             }
28474           },
28475           "additionalProperties": false,
28476           "required": [
28477             "tag"
28478           ]
28479         },
28480         "Error": {
28481           "type": "object",
28482           "properties": {
28483             "code": {
28484               "type": "string"
28485             },
28486             "info": {
28487               "$ref": "#/definitions/ErrorInfo"
28488             },
28489             "message": {
28490               "type": "string"
28491             }
28492           },
28493           "additionalProperties": false,
28494           "required": [
28495             "message",
28496             "code"
28497           ]
28498         },
28499         "ErrorInfo": {
28500           "type": "object",
28501           "properties": {
28502             "macaroon": {
28503               "$ref": "#/definitions/Macaroon"
28504             },
28505             "macaroon-path": {
28506               "type": "string"
28507             }
28508           },
28509           "additionalProperties": false
28510         },
28511         "Macaroon": {
28512           "type": "object",
28513           "additionalProperties": false
28514         },
28515         "NotifyWatchResult": {
28516           "type": "object",
28517           "properties": {
28518             "NotifyWatcherId": {
28519               "type": "string"
28520             },
28521             "error": {
28522               "$ref": "#/definitions/Error"
28523             }
28524           },
28525           "additionalProperties": false,
28526           "required": [
28527             "NotifyWatcherId"
28528           ]
28529         },
28530         "NotifyWatchResults": {
28531           "type": "object",
28532           "properties": {
28533             "results": {
28534               "type": "array",
28535               "items": {
28536                 "$ref": "#/definitions/NotifyWatchResult"
28537               }
28538             }
28539           },
28540           "additionalProperties": false,
28541           "required": [
28542             "results"
28543           ]
28544         },
28545         "RetryStrategy": {
28546           "type": "object",
28547           "properties": {
28548             "jitter-retry-time": {
28549               "type": "boolean"
28550             },
28551             "max-retry-time": {
28552               "type": "integer"
28553             },
28554             "min-retry-time": {
28555               "type": "integer"
28556             },
28557             "retry-time-factor": {
28558               "type": "integer"
28559             },
28560             "should-retry": {
28561               "type": "boolean"
28562             }
28563           },
28564           "additionalProperties": false,
28565           "required": [
28566             "should-retry",
28567             "min-retry-time",
28568             "max-retry-time",
28569             "jitter-retry-time",
28570             "retry-time-factor"
28571           ]
28572         },
28573         "RetryStrategyResult": {
28574           "type": "object",
28575           "properties": {
28576             "error": {
28577               "$ref": "#/definitions/Error"
28578             },
28579             "result": {
28580               "$ref": "#/definitions/RetryStrategy"
28581             }
28582           },
28583           "additionalProperties": false
28584         },
28585         "RetryStrategyResults": {
28586           "type": "object",
28587           "properties": {
28588             "results": {
28589               "type": "array",
28590               "items": {
28591                 "$ref": "#/definitions/RetryStrategyResult"
28592               }
28593             }
28594           },
28595           "additionalProperties": false,
28596           "required": [
28597             "results"
28598           ]
28599         }
28600       }
28601     }
28602   },
28603   {
28604     "Name": "SSHClient",
28605     "Version": 2,
28606     "Schema": {
28607       "type": "object",
28608       "properties": {
28609         "AllAddresses": {
28610           "type": "object",
28611           "properties": {
28612             "Params": {
28613               "$ref": "#/definitions/Entities"
28614             },
28615             "Result": {
28616               "$ref": "#/definitions/SSHAddressesResults"
28617             }
28618           }
28619         },
28620         "PrivateAddress": {
28621           "type": "object",
28622           "properties": {
28623             "Params": {
28624               "$ref": "#/definitions/Entities"
28625             },
28626             "Result": {
28627               "$ref": "#/definitions/SSHAddressResults"
28628             }
28629           }
28630         },
28631         "Proxy": {
28632           "type": "object",
28633           "properties": {
28634             "Result": {
28635               "$ref": "#/definitions/SSHProxyResult"
28636             }
28637           }
28638         },
28639         "PublicAddress": {
28640           "type": "object",
28641           "properties": {
28642             "Params": {
28643               "$ref": "#/definitions/Entities"
28644             },
28645             "Result": {
28646               "$ref": "#/definitions/SSHAddressResults"
28647             }
28648           }
28649         },
28650         "PublicKeys": {
28651           "type": "object",
28652           "properties": {
28653             "Params": {
28654               "$ref": "#/definitions/Entities"
28655             },
28656             "Result": {
28657               "$ref": "#/definitions/SSHPublicKeysResults"
28658             }
28659           }
28660         }
28661       },
28662       "definitions": {
28663         "Entities": {
28664           "type": "object",
28665           "properties": {
28666             "entities": {
28667               "type": "array",
28668               "items": {
28669                 "$ref": "#/definitions/Entity"
28670               }
28671             }
28672           },
28673           "additionalProperties": false,
28674           "required": [
28675             "entities"
28676           ]
28677         },
28678         "Entity": {
28679           "type": "object",
28680           "properties": {
28681             "tag": {
28682               "type": "string"
28683             }
28684           },
28685           "additionalProperties": false,
28686           "required": [
28687             "tag"
28688           ]
28689         },
28690         "Error": {
28691           "type": "object",
28692           "properties": {
28693             "code": {
28694               "type": "string"
28695             },
28696             "info": {
28697               "$ref": "#/definitions/ErrorInfo"
28698             },
28699             "message": {
28700               "type": "string"
28701             }
28702           },
28703           "additionalProperties": false,
28704           "required": [
28705             "message",
28706             "code"
28707           ]
28708         },
28709         "ErrorInfo": {
28710           "type": "object",
28711           "properties": {
28712             "macaroon": {
28713               "$ref": "#/definitions/Macaroon"
28714             },
28715             "macaroon-path": {
28716               "type": "string"
28717             }
28718           },
28719           "additionalProperties": false
28720         },
28721         "Macaroon": {
28722           "type": "object",
28723           "additionalProperties": false
28724         },
28725         "SSHAddressResult": {
28726           "type": "object",
28727           "properties": {
28728             "address": {
28729               "type": "string"
28730             },
28731             "error": {
28732               "$ref": "#/definitions/Error"
28733             }
28734           },
28735           "additionalProperties": false
28736         },
28737         "SSHAddressResults": {
28738           "type": "object",
28739           "properties": {
28740             "results": {
28741               "type": "array",
28742               "items": {
28743                 "$ref": "#/definitions/SSHAddressResult"
28744               }
28745             }
28746           },
28747           "additionalProperties": false,
28748           "required": [
28749             "results"
28750           ]
28751         },
28752         "SSHAddressesResult": {
28753           "type": "object",
28754           "properties": {
28755             "addresses": {
28756               "type": "array",
28757               "items": {
28758                 "type": "string"
28759               }
28760             },
28761             "error": {
28762               "$ref": "#/definitions/Error"
28763             }
28764           },
28765           "additionalProperties": false,
28766           "required": [
28767             "addresses"
28768           ]
28769         },
28770         "SSHAddressesResults": {
28771           "type": "object",
28772           "properties": {
28773             "results": {
28774               "type": "array",
28775               "items": {
28776                 "$ref": "#/definitions/SSHAddressesResult"
28777               }
28778             }
28779           },
28780           "additionalProperties": false,
28781           "required": [
28782             "results"
28783           ]
28784         },
28785         "SSHProxyResult": {
28786           "type": "object",
28787           "properties": {
28788             "use-proxy": {
28789               "type": "boolean"
28790             }
28791           },
28792           "additionalProperties": false,
28793           "required": [
28794             "use-proxy"
28795           ]
28796         },
28797         "SSHPublicKeysResult": {
28798           "type": "object",
28799           "properties": {
28800             "error": {
28801               "$ref": "#/definitions/Error"
28802             },
28803             "public-keys": {
28804               "type": "array",
28805               "items": {
28806                 "type": "string"
28807               }
28808             }
28809           },
28810           "additionalProperties": false
28811         },
28812         "SSHPublicKeysResults": {
28813           "type": "object",
28814           "properties": {
28815             "results": {
28816               "type": "array",
28817               "items": {
28818                 "$ref": "#/definitions/SSHPublicKeysResult"
28819               }
28820             }
28821           },
28822           "additionalProperties": false,
28823           "required": [
28824             "results"
28825           ]
28826         }
28827       }
28828     }
28829   },
28830   {
28831     "Name": "Singular",
28832     "Version": 2,
28833     "Schema": {
28834       "type": "object",
28835       "properties": {
28836         "Claim": {
28837           "type": "object",
28838           "properties": {
28839             "Params": {
28840               "$ref": "#/definitions/SingularClaims"
28841             },
28842             "Result": {
28843               "$ref": "#/definitions/ErrorResults"
28844             }
28845           }
28846         },
28847         "Wait": {
28848           "type": "object",
28849           "properties": {
28850             "Params": {
28851               "$ref": "#/definitions/Entities"
28852             },
28853             "Result": {
28854               "$ref": "#/definitions/ErrorResults"
28855             }
28856           }
28857         }
28858       },
28859       "definitions": {
28860         "Entities": {
28861           "type": "object",
28862           "properties": {
28863             "entities": {
28864               "type": "array",
28865               "items": {
28866                 "$ref": "#/definitions/Entity"
28867               }
28868             }
28869           },
28870           "additionalProperties": false,
28871           "required": [
28872             "entities"
28873           ]
28874         },
28875         "Entity": {
28876           "type": "object",
28877           "properties": {
28878             "tag": {
28879               "type": "string"
28880             }
28881           },
28882           "additionalProperties": false,
28883           "required": [
28884             "tag"
28885           ]
28886         },
28887         "Error": {
28888           "type": "object",
28889           "properties": {
28890             "code": {
28891               "type": "string"
28892             },
28893             "info": {
28894               "$ref": "#/definitions/ErrorInfo"
28895             },
28896             "message": {
28897               "type": "string"
28898             }
28899           },
28900           "additionalProperties": false,
28901           "required": [
28902             "message",
28903             "code"
28904           ]
28905         },
28906         "ErrorInfo": {
28907           "type": "object",
28908           "properties": {
28909             "macaroon": {
28910               "$ref": "#/definitions/Macaroon"
28911             },
28912             "macaroon-path": {
28913               "type": "string"
28914             }
28915           },
28916           "additionalProperties": false
28917         },
28918         "ErrorResult": {
28919           "type": "object",
28920           "properties": {
28921             "error": {
28922               "$ref": "#/definitions/Error"
28923             }
28924           },
28925           "additionalProperties": false
28926         },
28927         "ErrorResults": {
28928           "type": "object",
28929           "properties": {
28930             "results": {
28931               "type": "array",
28932               "items": {
28933                 "$ref": "#/definitions/ErrorResult"
28934               }
28935             }
28936           },
28937           "additionalProperties": false,
28938           "required": [
28939             "results"
28940           ]
28941         },
28942         "Macaroon": {
28943           "type": "object",
28944           "additionalProperties": false
28945         },
28946         "SingularClaim": {
28947           "type": "object",
28948           "properties": {
28949             "claimant-tag": {
28950               "type": "string"
28951             },
28952             "duration": {
28953               "type": "integer"
28954             },
28955             "entity-tag": {
28956               "type": "string"
28957             }
28958           },
28959           "additionalProperties": false,
28960           "required": [
28961             "entity-tag",
28962             "claimant-tag",
28963             "duration"
28964           ]
28965         },
28966         "SingularClaims": {
28967           "type": "object",
28968           "properties": {
28969             "claims": {
28970               "type": "array",
28971               "items": {
28972                 "$ref": "#/definitions/SingularClaim"
28973               }
28974             }
28975           },
28976           "additionalProperties": false,
28977           "required": [
28978             "claims"
28979           ]
28980         }
28981       }
28982     }
28983   },
28984   {
28985     "Name": "Spaces",
28986     "Version": 3,
28987     "Schema": {
28988       "type": "object",
28989       "properties": {
28990         "CreateSpaces": {
28991           "type": "object",
28992           "properties": {
28993             "Params": {
28994               "$ref": "#/definitions/CreateSpacesParams"
28995             },
28996             "Result": {
28997               "$ref": "#/definitions/ErrorResults"
28998             }
28999           }
29000         },
29001         "ListSpaces": {
29002           "type": "object",
29003           "properties": {
29004             "Result": {
29005               "$ref": "#/definitions/ListSpacesResults"
29006             }
29007           }
29008         },
29009         "ReloadSpaces": {
29010           "type": "object"
29011         }
29012       },
29013       "definitions": {
29014         "CreateSpaceParams": {
29015           "type": "object",
29016           "properties": {
29017             "provider-id": {
29018               "type": "string"
29019             },
29020             "public": {
29021               "type": "boolean"
29022             },
29023             "space-tag": {
29024               "type": "string"
29025             },
29026             "subnet-tags": {
29027               "type": "array",
29028               "items": {
29029                 "type": "string"
29030               }
29031             }
29032           },
29033           "additionalProperties": false,
29034           "required": [
29035             "subnet-tags",
29036             "space-tag",
29037             "public"
29038           ]
29039         },
29040         "CreateSpacesParams": {
29041           "type": "object",
29042           "properties": {
29043             "spaces": {
29044               "type": "array",
29045               "items": {
29046                 "$ref": "#/definitions/CreateSpaceParams"
29047               }
29048             }
29049           },
29050           "additionalProperties": false,
29051           "required": [
29052             "spaces"
29053           ]
29054         },
29055         "Error": {
29056           "type": "object",
29057           "properties": {
29058             "code": {
29059               "type": "string"
29060             },
29061             "info": {
29062               "$ref": "#/definitions/ErrorInfo"
29063             },
29064             "message": {
29065               "type": "string"
29066             }
29067           },
29068           "additionalProperties": false,
29069           "required": [
29070             "message",
29071             "code"
29072           ]
29073         },
29074         "ErrorInfo": {
29075           "type": "object",
29076           "properties": {
29077             "macaroon": {
29078               "$ref": "#/definitions/Macaroon"
29079             },
29080             "macaroon-path": {
29081               "type": "string"
29082             }
29083           },
29084           "additionalProperties": false
29085         },
29086         "ErrorResult": {
29087           "type": "object",
29088           "properties": {
29089             "error": {
29090               "$ref": "#/definitions/Error"
29091             }
29092           },
29093           "additionalProperties": false
29094         },
29095         "ErrorResults": {
29096           "type": "object",
29097           "properties": {
29098             "results": {
29099               "type": "array",
29100               "items": {
29101                 "$ref": "#/definitions/ErrorResult"
29102               }
29103             }
29104           },
29105           "additionalProperties": false,
29106           "required": [
29107             "results"
29108           ]
29109         },
29110         "ListSpacesResults": {
29111           "type": "object",
29112           "properties": {
29113             "results": {
29114               "type": "array",
29115               "items": {
29116                 "$ref": "#/definitions/Space"
29117               }
29118             }
29119           },
29120           "additionalProperties": false,
29121           "required": [
29122             "results"
29123           ]
29124         },
29125         "Macaroon": {
29126           "type": "object",
29127           "additionalProperties": false
29128         },
29129         "Space": {
29130           "type": "object",
29131           "properties": {
29132             "error": {
29133               "$ref": "#/definitions/Error"
29134             },
29135             "name": {
29136               "type": "string"
29137             },
29138             "subnets": {
29139               "type": "array",
29140               "items": {
29141                 "$ref": "#/definitions/Subnet"
29142               }
29143             }
29144           },
29145           "additionalProperties": false,
29146           "required": [
29147             "name",
29148             "subnets"
29149           ]
29150         },
29151         "Subnet": {
29152           "type": "object",
29153           "properties": {
29154             "cidr": {
29155               "type": "string"
29156             },
29157             "life": {
29158               "type": "string"
29159             },
29160             "provider-id": {
29161               "type": "string"
29162             },
29163             "provider-network-id": {
29164               "type": "string"
29165             },
29166             "provider-space-id": {
29167               "type": "string"
29168             },
29169             "space-tag": {
29170               "type": "string"
29171             },
29172             "status": {
29173               "type": "string"
29174             },
29175             "vlan-tag": {
29176               "type": "integer"
29177             },
29178             "zones": {
29179               "type": "array",
29180               "items": {
29181                 "type": "string"
29182               }
29183             }
29184           },
29185           "additionalProperties": false,
29186           "required": [
29187             "cidr",
29188             "vlan-tag",
29189             "life",
29190             "space-tag",
29191             "zones"
29192           ]
29193         }
29194       }
29195     }
29196   },
29197   {
29198     "Name": "StatusHistory",
29199     "Version": 2,
29200     "Schema": {
29201       "type": "object",
29202       "properties": {
29203         "ModelConfig": {
29204           "type": "object",
29205           "properties": {
29206             "Result": {
29207               "$ref": "#/definitions/ModelConfigResult"
29208             }
29209           }
29210         },
29211         "Prune": {
29212           "type": "object",
29213           "properties": {
29214             "Params": {
29215               "$ref": "#/definitions/StatusHistoryPruneArgs"
29216             }
29217           }
29218         },
29219         "WatchForModelConfigChanges": {
29220           "type": "object",
29221           "properties": {
29222             "Result": {
29223               "$ref": "#/definitions/NotifyWatchResult"
29224             }
29225           }
29226         }
29227       },
29228       "definitions": {
29229         "Error": {
29230           "type": "object",
29231           "properties": {
29232             "code": {
29233               "type": "string"
29234             },
29235             "info": {
29236               "$ref": "#/definitions/ErrorInfo"
29237             },
29238             "message": {
29239               "type": "string"
29240             }
29241           },
29242           "additionalProperties": false,
29243           "required": [
29244             "message",
29245             "code"
29246           ]
29247         },
29248         "ErrorInfo": {
29249           "type": "object",
29250           "properties": {
29251             "macaroon": {
29252               "$ref": "#/definitions/Macaroon"
29253             },
29254             "macaroon-path": {
29255               "type": "string"
29256             }
29257           },
29258           "additionalProperties": false
29259         },
29260         "Macaroon": {
29261           "type": "object",
29262           "additionalProperties": false
29263         },
29264         "ModelConfigResult": {
29265           "type": "object",
29266           "properties": {
29267             "config": {
29268               "type": "object",
29269               "patternProperties": {
29270                 ".*": {
29271                   "type": "object",
29272                   "additionalProperties": true
29273                 }
29274               }
29275             }
29276           },
29277           "additionalProperties": false,
29278           "required": [
29279             "config"
29280           ]
29281         },
29282         "NotifyWatchResult": {
29283           "type": "object",
29284           "properties": {
29285             "NotifyWatcherId": {
29286               "type": "string"
29287             },
29288             "error": {
29289               "$ref": "#/definitions/Error"
29290             }
29291           },
29292           "additionalProperties": false,
29293           "required": [
29294             "NotifyWatcherId"
29295           ]
29296         },
29297         "StatusHistoryPruneArgs": {
29298           "type": "object",
29299           "properties": {
29300             "max-history-mb": {
29301               "type": "integer"
29302             },
29303             "max-history-time": {
29304               "type": "integer"
29305             }
29306           },
29307           "additionalProperties": false,
29308           "required": [
29309             "max-history-time",
29310             "max-history-mb"
29311           ]
29312         }
29313       }
29314     }
29315   },
29316   {
29317     "Name": "Storage",
29318     "Version": 4,
29319     "Schema": {
29320       "type": "object",
29321       "properties": {
29322         "AddToUnit": {
29323           "type": "object",
29324           "properties": {
29325             "Params": {
29326               "$ref": "#/definitions/StoragesAddParams"
29327             },
29328             "Result": {
29329               "$ref": "#/definitions/AddStorageResults"
29330             }
29331           }
29332         },
29333         "Attach": {
29334           "type": "object",
29335           "properties": {
29336             "Params": {
29337               "$ref": "#/definitions/StorageAttachmentIds"
29338             },
29339             "Result": {
29340               "$ref": "#/definitions/ErrorResults"
29341             }
29342           }
29343         },
29344         "CreatePool": {
29345           "type": "object",
29346           "properties": {
29347             "Params": {
29348               "$ref": "#/definitions/StoragePool"
29349             }
29350           }
29351         },
29352         "Detach": {
29353           "type": "object",
29354           "properties": {
29355             "Params": {
29356               "$ref": "#/definitions/StorageAttachmentIds"
29357             },
29358             "Result": {
29359               "$ref": "#/definitions/ErrorResults"
29360             }
29361           }
29362         },
29363         "Import": {
29364           "type": "object",
29365           "properties": {
29366             "Params": {
29367               "$ref": "#/definitions/BulkImportStorageParams"
29368             },
29369             "Result": {
29370               "$ref": "#/definitions/ImportStorageResults"
29371             }
29372           }
29373         },
29374         "ListFilesystems": {
29375           "type": "object",
29376           "properties": {
29377             "Params": {
29378               "$ref": "#/definitions/FilesystemFilters"
29379             },
29380             "Result": {
29381               "$ref": "#/definitions/FilesystemDetailsListResults"
29382             }
29383           }
29384         },
29385         "ListPools": {
29386           "type": "object",
29387           "properties": {
29388             "Params": {
29389               "$ref": "#/definitions/StoragePoolFilters"
29390             },
29391             "Result": {
29392               "$ref": "#/definitions/StoragePoolsResults"
29393             }
29394           }
29395         },
29396         "ListStorageDetails": {
29397           "type": "object",
29398           "properties": {
29399             "Params": {
29400               "$ref": "#/definitions/StorageFilters"
29401             },
29402             "Result": {
29403               "$ref": "#/definitions/StorageDetailsListResults"
29404             }
29405           }
29406         },
29407         "ListVolumes": {
29408           "type": "object",
29409           "properties": {
29410             "Params": {
29411               "$ref": "#/definitions/VolumeFilters"
29412             },
29413             "Result": {
29414               "$ref": "#/definitions/VolumeDetailsListResults"
29415             }
29416           }
29417         },
29418         "Remove": {
29419           "type": "object",
29420           "properties": {
29421             "Params": {
29422               "$ref": "#/definitions/RemoveStorage"
29423             },
29424             "Result": {
29425               "$ref": "#/definitions/ErrorResults"
29426             }
29427           }
29428         },
29429         "StorageDetails": {
29430           "type": "object",
29431           "properties": {
29432             "Params": {
29433               "$ref": "#/definitions/Entities"
29434             },
29435             "Result": {
29436               "$ref": "#/definitions/StorageDetailsResults"
29437             }
29438           }
29439         }
29440       },
29441       "definitions": {
29442         "AddStorageDetails": {
29443           "type": "object",
29444           "properties": {
29445             "storage-tags": {
29446               "type": "array",
29447               "items": {
29448                 "type": "string"
29449               }
29450             }
29451           },
29452           "additionalProperties": false,
29453           "required": [
29454             "storage-tags"
29455           ]
29456         },
29457         "AddStorageResult": {
29458           "type": "object",
29459           "properties": {
29460             "error": {
29461               "$ref": "#/definitions/Error"
29462             },
29463             "result": {
29464               "$ref": "#/definitions/AddStorageDetails"
29465             }
29466           },
29467           "additionalProperties": false
29468         },
29469         "AddStorageResults": {
29470           "type": "object",
29471           "properties": {
29472             "results": {
29473               "type": "array",
29474               "items": {
29475                 "$ref": "#/definitions/AddStorageResult"
29476               }
29477             }
29478           },
29479           "additionalProperties": false,
29480           "required": [
29481             "results"
29482           ]
29483         },
29484         "BulkImportStorageParams": {
29485           "type": "object",
29486           "properties": {
29487             "storage": {
29488               "type": "array",
29489               "items": {
29490                 "$ref": "#/definitions/ImportStorageParams"
29491               }
29492             }
29493           },
29494           "additionalProperties": false,
29495           "required": [
29496             "storage"
29497           ]
29498         },
29499         "Entities": {
29500           "type": "object",
29501           "properties": {
29502             "entities": {
29503               "type": "array",
29504               "items": {
29505                 "$ref": "#/definitions/Entity"
29506               }
29507             }
29508           },
29509           "additionalProperties": false,
29510           "required": [
29511             "entities"
29512           ]
29513         },
29514         "Entity": {
29515           "type": "object",
29516           "properties": {
29517             "tag": {
29518               "type": "string"
29519             }
29520           },
29521           "additionalProperties": false,
29522           "required": [
29523             "tag"
29524           ]
29525         },
29526         "EntityStatus": {
29527           "type": "object",
29528           "properties": {
29529             "data": {
29530               "type": "object",
29531               "patternProperties": {
29532                 ".*": {
29533                   "type": "object",
29534                   "additionalProperties": true
29535                 }
29536               }
29537             },
29538             "info": {
29539               "type": "string"
29540             },
29541             "since": {
29542               "type": "string",
29543               "format": "date-time"
29544             },
29545             "status": {
29546               "type": "string"
29547             }
29548           },
29549           "additionalProperties": false,
29550           "required": [
29551             "status",
29552             "info",
29553             "since"
29554           ]
29555         },
29556         "Error": {
29557           "type": "object",
29558           "properties": {
29559             "code": {
29560               "type": "string"
29561             },
29562             "info": {
29563               "$ref": "#/definitions/ErrorInfo"
29564             },
29565             "message": {
29566               "type": "string"
29567             }
29568           },
29569           "additionalProperties": false,
29570           "required": [
29571             "message",
29572             "code"
29573           ]
29574         },
29575         "ErrorInfo": {
29576           "type": "object",
29577           "properties": {
29578             "macaroon": {
29579               "$ref": "#/definitions/Macaroon"
29580             },
29581             "macaroon-path": {
29582               "type": "string"
29583             }
29584           },
29585           "additionalProperties": false
29586         },
29587         "ErrorResult": {
29588           "type": "object",
29589           "properties": {
29590             "error": {
29591               "$ref": "#/definitions/Error"
29592             }
29593           },
29594           "additionalProperties": false
29595         },
29596         "ErrorResults": {
29597           "type": "object",
29598           "properties": {
29599             "results": {
29600               "type": "array",
29601               "items": {
29602                 "$ref": "#/definitions/ErrorResult"
29603               }
29604             }
29605           },
29606           "additionalProperties": false,
29607           "required": [
29608             "results"
29609           ]
29610         },
29611         "FilesystemAttachmentDetails": {
29612           "type": "object",
29613           "properties": {
29614             "FilesystemAttachmentInfo": {
29615               "$ref": "#/definitions/FilesystemAttachmentInfo"
29616             },
29617             "life": {
29618               "type": "string"
29619             }
29620           },
29621           "additionalProperties": false,
29622           "required": [
29623             "FilesystemAttachmentInfo"
29624           ]
29625         },
29626         "FilesystemAttachmentInfo": {
29627           "type": "object",
29628           "properties": {
29629             "mount-point": {
29630               "type": "string"
29631             },
29632             "read-only": {
29633               "type": "boolean"
29634             }
29635           },
29636           "additionalProperties": false
29637         },
29638         "FilesystemDetails": {
29639           "type": "object",
29640           "properties": {
29641             "filesystem-tag": {
29642               "type": "string"
29643             },
29644             "info": {
29645               "$ref": "#/definitions/FilesystemInfo"
29646             },
29647             "life": {
29648               "type": "string"
29649             },
29650             "machine-attachments": {
29651               "type": "object",
29652               "patternProperties": {
29653                 ".*": {
29654                   "$ref": "#/definitions/FilesystemAttachmentDetails"
29655                 }
29656               }
29657             },
29658             "status": {
29659               "$ref": "#/definitions/EntityStatus"
29660             },
29661             "storage": {
29662               "$ref": "#/definitions/StorageDetails"
29663             },
29664             "unit-attachments": {
29665               "type": "object",
29666               "patternProperties": {
29667                 ".*": {
29668                   "$ref": "#/definitions/FilesystemAttachmentDetails"
29669                 }
29670               }
29671             },
29672             "volume-tag": {
29673               "type": "string"
29674             }
29675           },
29676           "additionalProperties": false,
29677           "required": [
29678             "filesystem-tag",
29679             "info",
29680             "status"
29681           ]
29682         },
29683         "FilesystemDetailsListResult": {
29684           "type": "object",
29685           "properties": {
29686             "error": {
29687               "$ref": "#/definitions/Error"
29688             },
29689             "result": {
29690               "type": "array",
29691               "items": {
29692                 "$ref": "#/definitions/FilesystemDetails"
29693               }
29694             }
29695           },
29696           "additionalProperties": false
29697         },
29698         "FilesystemDetailsListResults": {
29699           "type": "object",
29700           "properties": {
29701             "results": {
29702               "type": "array",
29703               "items": {
29704                 "$ref": "#/definitions/FilesystemDetailsListResult"
29705               }
29706             }
29707           },
29708           "additionalProperties": false
29709         },
29710         "FilesystemFilter": {
29711           "type": "object",
29712           "properties": {
29713             "machines": {
29714               "type": "array",
29715               "items": {
29716                 "type": "string"
29717               }
29718             }
29719           },
29720           "additionalProperties": false
29721         },
29722         "FilesystemFilters": {
29723           "type": "object",
29724           "properties": {
29725             "filters": {
29726               "type": "array",
29727               "items": {
29728                 "$ref": "#/definitions/FilesystemFilter"
29729               }
29730             }
29731           },
29732           "additionalProperties": false
29733         },
29734         "FilesystemInfo": {
29735           "type": "object",
29736           "properties": {
29737             "filesystem-id": {
29738               "type": "string"
29739             },
29740             "pool": {
29741               "type": "string"
29742             },
29743             "size": {
29744               "type": "integer"
29745             }
29746           },
29747           "additionalProperties": false,
29748           "required": [
29749             "filesystem-id",
29750             "pool",
29751             "size"
29752           ]
29753         },
29754         "ImportStorageDetails": {
29755           "type": "object",
29756           "properties": {
29757             "storage-tag": {
29758               "type": "string"
29759             }
29760           },
29761           "additionalProperties": false,
29762           "required": [
29763             "storage-tag"
29764           ]
29765         },
29766         "ImportStorageParams": {
29767           "type": "object",
29768           "properties": {
29769             "kind": {
29770               "type": "integer"
29771             },
29772             "pool": {
29773               "type": "string"
29774             },
29775             "provider-id": {
29776               "type": "string"
29777             },
29778             "storage-name": {
29779               "type": "string"
29780             }
29781           },
29782           "additionalProperties": false,
29783           "required": [
29784             "kind",
29785             "pool",
29786             "provider-id",
29787             "storage-name"
29788           ]
29789         },
29790         "ImportStorageResult": {
29791           "type": "object",
29792           "properties": {
29793             "error": {
29794               "$ref": "#/definitions/Error"
29795             },
29796             "result": {
29797               "$ref": "#/definitions/ImportStorageDetails"
29798             }
29799           },
29800           "additionalProperties": false
29801         },
29802         "ImportStorageResults": {
29803           "type": "object",
29804           "properties": {
29805             "results": {
29806               "type": "array",
29807               "items": {
29808                 "$ref": "#/definitions/ImportStorageResult"
29809               }
29810             }
29811           },
29812           "additionalProperties": false,
29813           "required": [
29814             "results"
29815           ]
29816         },
29817         "Macaroon": {
29818           "type": "object",
29819           "additionalProperties": false
29820         },
29821         "RemoveStorage": {
29822           "type": "object",
29823           "properties": {
29824             "storage": {
29825               "type": "array",
29826               "items": {
29827                 "$ref": "#/definitions/RemoveStorageInstance"
29828               }
29829             }
29830           },
29831           "additionalProperties": false,
29832           "required": [
29833             "storage"
29834           ]
29835         },
29836         "RemoveStorageInstance": {
29837           "type": "object",
29838           "properties": {
29839             "destroy-attachments": {
29840               "type": "boolean"
29841             },
29842             "destroy-storage": {
29843               "type": "boolean"
29844             },
29845             "tag": {
29846               "type": "string"
29847             }
29848           },
29849           "additionalProperties": false,
29850           "required": [
29851             "tag"
29852           ]
29853         },
29854         "StorageAddParams": {
29855           "type": "object",
29856           "properties": {
29857             "name": {
29858               "type": "string"
29859             },
29860             "storage": {
29861               "$ref": "#/definitions/StorageConstraints"
29862             },
29863             "unit": {
29864               "type": "string"
29865             }
29866           },
29867           "additionalProperties": false,
29868           "required": [
29869             "unit",
29870             "name",
29871             "storage"
29872           ]
29873         },
29874         "StorageAttachmentDetails": {
29875           "type": "object",
29876           "properties": {
29877             "life": {
29878               "type": "string"
29879             },
29880             "location": {
29881               "type": "string"
29882             },
29883             "machine-tag": {
29884               "type": "string"
29885             },
29886             "storage-tag": {
29887               "type": "string"
29888             },
29889             "unit-tag": {
29890               "type": "string"
29891             }
29892           },
29893           "additionalProperties": false,
29894           "required": [
29895             "storage-tag",
29896             "unit-tag",
29897             "machine-tag"
29898           ]
29899         },
29900         "StorageAttachmentId": {
29901           "type": "object",
29902           "properties": {
29903             "storage-tag": {
29904               "type": "string"
29905             },
29906             "unit-tag": {
29907               "type": "string"
29908             }
29909           },
29910           "additionalProperties": false,
29911           "required": [
29912             "storage-tag",
29913             "unit-tag"
29914           ]
29915         },
29916         "StorageAttachmentIds": {
29917           "type": "object",
29918           "properties": {
29919             "ids": {
29920               "type": "array",
29921               "items": {
29922                 "$ref": "#/definitions/StorageAttachmentId"
29923               }
29924             }
29925           },
29926           "additionalProperties": false,
29927           "required": [
29928             "ids"
29929           ]
29930         },
29931         "StorageConstraints": {
29932           "type": "object",
29933           "properties": {
29934             "count": {
29935               "type": "integer"
29936             },
29937             "pool": {
29938               "type": "string"
29939             },
29940             "size": {
29941               "type": "integer"
29942             }
29943           },
29944           "additionalProperties": false
29945         },
29946         "StorageDetails": {
29947           "type": "object",
29948           "properties": {
29949             "attachments": {
29950               "type": "object",
29951               "patternProperties": {
29952                 ".*": {
29953                   "$ref": "#/definitions/StorageAttachmentDetails"
29954                 }
29955               }
29956             },
29957             "kind": {
29958               "type": "integer"
29959             },
29960             "life": {
29961               "type": "string"
29962             },
29963             "owner-tag": {
29964               "type": "string"
29965             },
29966             "persistent": {
29967               "type": "boolean"
29968             },
29969             "status": {
29970               "$ref": "#/definitions/EntityStatus"
29971             },
29972             "storage-tag": {
29973               "type": "string"
29974             }
29975           },
29976           "additionalProperties": false,
29977           "required": [
29978             "storage-tag",
29979             "owner-tag",
29980             "kind",
29981             "status",
29982             "persistent"
29983           ]
29984         },
29985         "StorageDetailsListResult": {
29986           "type": "object",
29987           "properties": {
29988             "error": {
29989               "$ref": "#/definitions/Error"
29990             },
29991             "result": {
29992               "type": "array",
29993               "items": {
29994                 "$ref": "#/definitions/StorageDetails"
29995               }
29996             }
29997           },
29998           "additionalProperties": false
29999         },
30000         "StorageDetailsListResults": {
30001           "type": "object",
30002           "properties": {
30003             "results": {
30004               "type": "array",
30005               "items": {
30006                 "$ref": "#/definitions/StorageDetailsListResult"
30007               }
30008             }
30009           },
30010           "additionalProperties": false
30011         },
30012         "StorageDetailsResult": {
30013           "type": "object",
30014           "properties": {
30015             "error": {
30016               "$ref": "#/definitions/Error"
30017             },
30018             "result": {
30019               "$ref": "#/definitions/StorageDetails"
30020             }
30021           },
30022           "additionalProperties": false
30023         },
30024         "StorageDetailsResults": {
30025           "type": "object",
30026           "properties": {
30027             "results": {
30028               "type": "array",
30029               "items": {
30030                 "$ref": "#/definitions/StorageDetailsResult"
30031               }
30032             }
30033           },
30034           "additionalProperties": false
30035         },
30036         "StorageFilter": {
30037           "type": "object",
30038           "additionalProperties": false
30039         },
30040         "StorageFilters": {
30041           "type": "object",
30042           "properties": {
30043             "filters": {
30044               "type": "array",
30045               "items": {
30046                 "$ref": "#/definitions/StorageFilter"
30047               }
30048             }
30049           },
30050           "additionalProperties": false
30051         },
30052         "StoragePool": {
30053           "type": "object",
30054           "properties": {
30055             "attrs": {
30056               "type": "object",
30057               "patternProperties": {
30058                 ".*": {
30059                   "type": "object",
30060                   "additionalProperties": true
30061                 }
30062               }
30063             },
30064             "name": {
30065               "type": "string"
30066             },
30067             "provider": {
30068               "type": "string"
30069             }
30070           },
30071           "additionalProperties": false,
30072           "required": [
30073             "name",
30074             "provider",
30075             "attrs"
30076           ]
30077         },
30078         "StoragePoolFilter": {
30079           "type": "object",
30080           "properties": {
30081             "names": {
30082               "type": "array",
30083               "items": {
30084                 "type": "string"
30085               }
30086             },
30087             "providers": {
30088               "type": "array",
30089               "items": {
30090                 "type": "string"
30091               }
30092             }
30093           },
30094           "additionalProperties": false
30095         },
30096         "StoragePoolFilters": {
30097           "type": "object",
30098           "properties": {
30099             "filters": {
30100               "type": "array",
30101               "items": {
30102                 "$ref": "#/definitions/StoragePoolFilter"
30103               }
30104             }
30105           },
30106           "additionalProperties": false
30107         },
30108         "StoragePoolsResult": {
30109           "type": "object",
30110           "properties": {
30111             "error": {
30112               "$ref": "#/definitions/Error"
30113             },
30114             "storage-pools": {
30115               "type": "array",
30116               "items": {
30117                 "$ref": "#/definitions/StoragePool"
30118               }
30119             }
30120           },
30121           "additionalProperties": false
30122         },
30123         "StoragePoolsResults": {
30124           "type": "object",
30125           "properties": {
30126             "results": {
30127               "type": "array",
30128               "items": {
30129                 "$ref": "#/definitions/StoragePoolsResult"
30130               }
30131             }
30132           },
30133           "additionalProperties": false
30134         },
30135         "StoragesAddParams": {
30136           "type": "object",
30137           "properties": {
30138             "storages": {
30139               "type": "array",
30140               "items": {
30141                 "$ref": "#/definitions/StorageAddParams"
30142               }
30143             }
30144           },
30145           "additionalProperties": false,
30146           "required": [
30147             "storages"
30148           ]
30149         },
30150         "VolumeAttachmentDetails": {
30151           "type": "object",
30152           "properties": {
30153             "VolumeAttachmentInfo": {
30154               "$ref": "#/definitions/VolumeAttachmentInfo"
30155             },
30156             "life": {
30157               "type": "string"
30158             }
30159           },
30160           "additionalProperties": false,
30161           "required": [
30162             "VolumeAttachmentInfo"
30163           ]
30164         },
30165         "VolumeAttachmentInfo": {
30166           "type": "object",
30167           "properties": {
30168             "bus-address": {
30169               "type": "string"
30170             },
30171             "device-link": {
30172               "type": "string"
30173             },
30174             "device-name": {
30175               "type": "string"
30176             },
30177             "plan-info": {
30178               "$ref": "#/definitions/VolumeAttachmentPlanInfo"
30179             },
30180             "read-only": {
30181               "type": "boolean"
30182             }
30183           },
30184           "additionalProperties": false
30185         },
30186         "VolumeAttachmentPlanInfo": {
30187           "type": "object",
30188           "properties": {
30189             "device-attributes": {
30190               "type": "object",
30191               "patternProperties": {
30192                 ".*": {
30193                   "type": "string"
30194                 }
30195               }
30196             },
30197             "device-type": {
30198               "type": "string"
30199             }
30200           },
30201           "additionalProperties": false
30202         },
30203         "VolumeDetails": {
30204           "type": "object",
30205           "properties": {
30206             "info": {
30207               "$ref": "#/definitions/VolumeInfo"
30208             },
30209             "life": {
30210               "type": "string"
30211             },
30212             "machine-attachments": {
30213               "type": "object",
30214               "patternProperties": {
30215                 ".*": {
30216                   "$ref": "#/definitions/VolumeAttachmentDetails"
30217                 }
30218               }
30219             },
30220             "status": {
30221               "$ref": "#/definitions/EntityStatus"
30222             },
30223             "storage": {
30224               "$ref": "#/definitions/StorageDetails"
30225             },
30226             "unit-attachments": {
30227               "type": "object",
30228               "patternProperties": {
30229                 ".*": {
30230                   "$ref": "#/definitions/VolumeAttachmentDetails"
30231                 }
30232               }
30233             },
30234             "volume-tag": {
30235               "type": "string"
30236             }
30237           },
30238           "additionalProperties": false,
30239           "required": [
30240             "volume-tag",
30241             "info",
30242             "status"
30243           ]
30244         },
30245         "VolumeDetailsListResult": {
30246           "type": "object",
30247           "properties": {
30248             "error": {
30249               "$ref": "#/definitions/Error"
30250             },
30251             "result": {
30252               "type": "array",
30253               "items": {
30254                 "$ref": "#/definitions/VolumeDetails"
30255               }
30256             }
30257           },
30258           "additionalProperties": false
30259         },
30260         "VolumeDetailsListResults": {
30261           "type": "object",
30262           "properties": {
30263             "results": {
30264               "type": "array",
30265               "items": {
30266                 "$ref": "#/definitions/VolumeDetailsListResult"
30267               }
30268             }
30269           },
30270           "additionalProperties": false
30271         },
30272         "VolumeFilter": {
30273           "type": "object",
30274           "properties": {
30275             "machines": {
30276               "type": "array",
30277               "items": {
30278                 "type": "string"
30279               }
30280             }
30281           },
30282           "additionalProperties": false
30283         },
30284         "VolumeFilters": {
30285           "type": "object",
30286           "properties": {
30287             "filters": {
30288               "type": "array",
30289               "items": {
30290                 "$ref": "#/definitions/VolumeFilter"
30291               }
30292             }
30293           },
30294           "additionalProperties": false
30295         },
30296         "VolumeInfo": {
30297           "type": "object",
30298           "properties": {
30299             "hardware-id": {
30300               "type": "string"
30301             },
30302             "persistent": {
30303               "type": "boolean"
30304             },
30305             "pool": {
30306               "type": "string"
30307             },
30308             "size": {
30309               "type": "integer"
30310             },
30311             "volume-id": {
30312               "type": "string"
30313             },
30314             "wwn": {
30315               "type": "string"
30316             }
30317           },
30318           "additionalProperties": false,
30319           "required": [
30320             "volume-id",
30321             "size",
30322             "persistent"
30323           ]
30324         }
30325       }
30326     }
30327   },
30328   {
30329     "Name": "StorageProvisioner",
30330     "Version": 4,
30331     "Schema": {
30332       "type": "object",
30333       "properties": {
30334         "AttachmentLife": {
30335           "type": "object",
30336           "properties": {
30337             "Params": {
30338               "$ref": "#/definitions/MachineStorageIds"
30339             },
30340             "Result": {
30341               "$ref": "#/definitions/LifeResults"
30342             }
30343           }
30344         },
30345         "CreateVolumeAttachmentPlans": {
30346           "type": "object",
30347           "properties": {
30348             "Params": {
30349               "$ref": "#/definitions/VolumeAttachmentPlans"
30350             },
30351             "Result": {
30352               "$ref": "#/definitions/ErrorResults"
30353             }
30354           }
30355         },
30356         "EnsureDead": {
30357           "type": "object",
30358           "properties": {
30359             "Params": {
30360               "$ref": "#/definitions/Entities"
30361             },
30362             "Result": {
30363               "$ref": "#/definitions/ErrorResults"
30364             }
30365           }
30366         },
30367         "FilesystemAttachmentParams": {
30368           "type": "object",
30369           "properties": {
30370             "Params": {
30371               "$ref": "#/definitions/MachineStorageIds"
30372             },
30373             "Result": {
30374               "$ref": "#/definitions/FilesystemAttachmentParamsResults"
30375             }
30376           }
30377         },
30378         "FilesystemAttachments": {
30379           "type": "object",
30380           "properties": {
30381             "Params": {
30382               "$ref": "#/definitions/MachineStorageIds"
30383             },
30384             "Result": {
30385               "$ref": "#/definitions/FilesystemAttachmentResults"
30386             }
30387           }
30388         },
30389         "FilesystemParams": {
30390           "type": "object",
30391           "properties": {
30392             "Params": {
30393               "$ref": "#/definitions/Entities"
30394             },
30395             "Result": {
30396               "$ref": "#/definitions/FilesystemParamsResults"
30397             }
30398           }
30399         },
30400         "Filesystems": {
30401           "type": "object",
30402           "properties": {
30403             "Params": {
30404               "$ref": "#/definitions/Entities"
30405             },
30406             "Result": {
30407               "$ref": "#/definitions/FilesystemResults"
30408             }
30409           }
30410         },
30411         "InstanceId": {
30412           "type": "object",
30413           "properties": {
30414             "Params": {
30415               "$ref": "#/definitions/Entities"
30416             },
30417             "Result": {
30418               "$ref": "#/definitions/StringResults"
30419             }
30420           }
30421         },
30422         "Life": {
30423           "type": "object",
30424           "properties": {
30425             "Params": {
30426               "$ref": "#/definitions/Entities"
30427             },
30428             "Result": {
30429               "$ref": "#/definitions/LifeResults"
30430             }
30431           }
30432         },
30433         "Remove": {
30434           "type": "object",
30435           "properties": {
30436             "Params": {
30437               "$ref": "#/definitions/Entities"
30438             },
30439             "Result": {
30440               "$ref": "#/definitions/ErrorResults"
30441             }
30442           }
30443         },
30444         "RemoveAttachment": {
30445           "type": "object",
30446           "properties": {
30447             "Params": {
30448               "$ref": "#/definitions/MachineStorageIds"
30449             },
30450             "Result": {
30451               "$ref": "#/definitions/ErrorResults"
30452             }
30453           }
30454         },
30455         "RemoveFilesystemParams": {
30456           "type": "object",
30457           "properties": {
30458             "Params": {
30459               "$ref": "#/definitions/Entities"
30460             },
30461             "Result": {
30462               "$ref": "#/definitions/RemoveFilesystemParamsResults"
30463             }
30464           }
30465         },
30466         "RemoveVolumeAttachmentPlan": {
30467           "type": "object",
30468           "properties": {
30469             "Params": {
30470               "$ref": "#/definitions/MachineStorageIds"
30471             },
30472             "Result": {
30473               "$ref": "#/definitions/ErrorResults"
30474             }
30475           }
30476         },
30477         "RemoveVolumeParams": {
30478           "type": "object",
30479           "properties": {
30480             "Params": {
30481               "$ref": "#/definitions/Entities"
30482             },
30483             "Result": {
30484               "$ref": "#/definitions/RemoveVolumeParamsResults"
30485             }
30486           }
30487         },
30488         "SetFilesystemAttachmentInfo": {
30489           "type": "object",
30490           "properties": {
30491             "Params": {
30492               "$ref": "#/definitions/FilesystemAttachments"
30493             },
30494             "Result": {
30495               "$ref": "#/definitions/ErrorResults"
30496             }
30497           }
30498         },
30499         "SetFilesystemInfo": {
30500           "type": "object",
30501           "properties": {
30502             "Params": {
30503               "$ref": "#/definitions/Filesystems"
30504             },
30505             "Result": {
30506               "$ref": "#/definitions/ErrorResults"
30507             }
30508           }
30509         },
30510         "SetStatus": {
30511           "type": "object",
30512           "properties": {
30513             "Params": {
30514               "$ref": "#/definitions/SetStatus"
30515             },
30516             "Result": {
30517               "$ref": "#/definitions/ErrorResults"
30518             }
30519           }
30520         },
30521         "SetVolumeAttachmentInfo": {
30522           "type": "object",
30523           "properties": {
30524             "Params": {
30525               "$ref": "#/definitions/VolumeAttachments"
30526             },
30527             "Result": {
30528               "$ref": "#/definitions/ErrorResults"
30529             }
30530           }
30531         },
30532         "SetVolumeAttachmentPlanBlockInfo": {
30533           "type": "object",
30534           "properties": {
30535             "Params": {
30536               "$ref": "#/definitions/VolumeAttachmentPlans"
30537             },
30538             "Result": {
30539               "$ref": "#/definitions/ErrorResults"
30540             }
30541           }
30542         },
30543         "SetVolumeInfo": {
30544           "type": "object",
30545           "properties": {
30546             "Params": {
30547               "$ref": "#/definitions/Volumes"
30548             },
30549             "Result": {
30550               "$ref": "#/definitions/ErrorResults"
30551             }
30552           }
30553         },
30554         "UpdateStatus": {
30555           "type": "object",
30556           "properties": {
30557             "Params": {
30558               "$ref": "#/definitions/SetStatus"
30559             },
30560             "Result": {
30561               "$ref": "#/definitions/ErrorResults"
30562             }
30563           }
30564         },
30565         "VolumeAttachmentParams": {
30566           "type": "object",
30567           "properties": {
30568             "Params": {
30569               "$ref": "#/definitions/MachineStorageIds"
30570             },
30571             "Result": {
30572               "$ref": "#/definitions/VolumeAttachmentParamsResults"
30573             }
30574           }
30575         },
30576         "VolumeAttachmentPlans": {
30577           "type": "object",
30578           "properties": {
30579             "Params": {
30580               "$ref": "#/definitions/MachineStorageIds"
30581             },
30582             "Result": {
30583               "$ref": "#/definitions/VolumeAttachmentPlanResults"
30584             }
30585           }
30586         },
30587         "VolumeAttachments": {
30588           "type": "object",
30589           "properties": {
30590             "Params": {
30591               "$ref": "#/definitions/MachineStorageIds"
30592             },
30593             "Result": {
30594               "$ref": "#/definitions/VolumeAttachmentResults"
30595             }
30596           }
30597         },
30598         "VolumeBlockDevices": {
30599           "type": "object",
30600           "properties": {
30601             "Params": {
30602               "$ref": "#/definitions/MachineStorageIds"
30603             },
30604             "Result": {
30605               "$ref": "#/definitions/BlockDeviceResults"
30606             }
30607           }
30608         },
30609         "VolumeParams": {
30610           "type": "object",
30611           "properties": {
30612             "Params": {
30613               "$ref": "#/definitions/Entities"
30614             },
30615             "Result": {
30616               "$ref": "#/definitions/VolumeParamsResults"
30617             }
30618           }
30619         },
30620         "Volumes": {
30621           "type": "object",
30622           "properties": {
30623             "Params": {
30624               "$ref": "#/definitions/Entities"
30625             },
30626             "Result": {
30627               "$ref": "#/definitions/VolumeResults"
30628             }
30629           }
30630         },
30631         "WatchApplications": {
30632           "type": "object",
30633           "properties": {
30634             "Result": {
30635               "$ref": "#/definitions/StringsWatchResult"
30636             }
30637           }
30638         },
30639         "WatchBlockDevices": {
30640           "type": "object",
30641           "properties": {
30642             "Params": {
30643               "$ref": "#/definitions/Entities"
30644             },
30645             "Result": {
30646               "$ref": "#/definitions/NotifyWatchResults"
30647             }
30648           }
30649         },
30650         "WatchFilesystemAttachments": {
30651           "type": "object",
30652           "properties": {
30653             "Params": {
30654               "$ref": "#/definitions/Entities"
30655             },
30656             "Result": {
30657               "$ref": "#/definitions/MachineStorageIdsWatchResults"
30658             }
30659           }
30660         },
30661         "WatchFilesystems": {
30662           "type": "object",
30663           "properties": {
30664             "Params": {
30665               "$ref": "#/definitions/Entities"
30666             },
30667             "Result": {
30668               "$ref": "#/definitions/StringsWatchResults"
30669             }
30670           }
30671         },
30672         "WatchMachines": {
30673           "type": "object",
30674           "properties": {
30675             "Params": {
30676               "$ref": "#/definitions/Entities"
30677             },
30678             "Result": {
30679               "$ref": "#/definitions/NotifyWatchResults"
30680             }
30681           }
30682         },
30683         "WatchVolumeAttachmentPlans": {
30684           "type": "object",
30685           "properties": {
30686             "Params": {
30687               "$ref": "#/definitions/Entities"
30688             },
30689             "Result": {
30690               "$ref": "#/definitions/MachineStorageIdsWatchResults"
30691             }
30692           }
30693         },
30694         "WatchVolumeAttachments": {
30695           "type": "object",
30696           "properties": {
30697             "Params": {
30698               "$ref": "#/definitions/Entities"
30699             },
30700             "Result": {
30701               "$ref": "#/definitions/MachineStorageIdsWatchResults"
30702             }
30703           }
30704         },
30705         "WatchVolumes": {
30706           "type": "object",
30707           "properties": {
30708             "Params": {
30709               "$ref": "#/definitions/Entities"
30710             },
30711             "Result": {
30712               "$ref": "#/definitions/StringsWatchResults"
30713             }
30714           }
30715         }
30716       },
30717       "definitions": {
30718         "BlockDevice": {
30719           "type": "object",
30720           "properties": {
30721             "BusAddress": {
30722               "type": "string"
30723             },
30724             "DeviceLinks": {
30725               "type": "array",
30726               "items": {
30727                 "type": "string"
30728               }
30729             },
30730             "DeviceName": {
30731               "type": "string"
30732             },
30733             "FilesystemType": {
30734               "type": "string"
30735             },
30736             "HardwareId": {
30737               "type": "string"
30738             },
30739             "InUse": {
30740               "type": "boolean"
30741             },
30742             "Label": {
30743               "type": "string"
30744             },
30745             "MountPoint": {
30746               "type": "string"
30747             },
30748             "Size": {
30749               "type": "integer"
30750             },
30751             "UUID": {
30752               "type": "string"
30753             },
30754             "WWN": {
30755               "type": "string"
30756             }
30757           },
30758           "additionalProperties": false,
30759           "required": [
30760             "DeviceName",
30761             "DeviceLinks",
30762             "Label",
30763             "UUID",
30764             "HardwareId",
30765             "WWN",
30766             "BusAddress",
30767             "Size",
30768             "FilesystemType",
30769             "InUse",
30770             "MountPoint"
30771           ]
30772         },
30773         "BlockDeviceResult": {
30774           "type": "object",
30775           "properties": {
30776             "error": {
30777               "$ref": "#/definitions/Error"
30778             },
30779             "result": {
30780               "$ref": "#/definitions/BlockDevice"
30781             }
30782           },
30783           "additionalProperties": false,
30784           "required": [
30785             "result"
30786           ]
30787         },
30788         "BlockDeviceResults": {
30789           "type": "object",
30790           "properties": {
30791             "results": {
30792               "type": "array",
30793               "items": {
30794                 "$ref": "#/definitions/BlockDeviceResult"
30795               }
30796             }
30797           },
30798           "additionalProperties": false
30799         },
30800         "Entities": {
30801           "type": "object",
30802           "properties": {
30803             "entities": {
30804               "type": "array",
30805               "items": {
30806                 "$ref": "#/definitions/Entity"
30807               }
30808             }
30809           },
30810           "additionalProperties": false,
30811           "required": [
30812             "entities"
30813           ]
30814         },
30815         "Entity": {
30816           "type": "object",
30817           "properties": {
30818             "tag": {
30819               "type": "string"
30820             }
30821           },
30822           "additionalProperties": false,
30823           "required": [
30824             "tag"
30825           ]
30826         },
30827         "EntityStatusArgs": {
30828           "type": "object",
30829           "properties": {
30830             "data": {
30831               "type": "object",
30832               "patternProperties": {
30833                 ".*": {
30834                   "type": "object",
30835                   "additionalProperties": true
30836                 }
30837               }
30838             },
30839             "info": {
30840               "type": "string"
30841             },
30842             "status": {
30843               "type": "string"
30844             },
30845             "tag": {
30846               "type": "string"
30847             }
30848           },
30849           "additionalProperties": false,
30850           "required": [
30851             "tag",
30852             "status",
30853             "info",
30854             "data"
30855           ]
30856         },
30857         "Error": {
30858           "type": "object",
30859           "properties": {
30860             "code": {
30861               "type": "string"
30862             },
30863             "info": {
30864               "$ref": "#/definitions/ErrorInfo"
30865             },
30866             "message": {
30867               "type": "string"
30868             }
30869           },
30870           "additionalProperties": false,
30871           "required": [
30872             "message",
30873             "code"
30874           ]
30875         },
30876         "ErrorInfo": {
30877           "type": "object",
30878           "properties": {
30879             "macaroon": {
30880               "$ref": "#/definitions/Macaroon"
30881             },
30882             "macaroon-path": {
30883               "type": "string"
30884             }
30885           },
30886           "additionalProperties": false
30887         },
30888         "ErrorResult": {
30889           "type": "object",
30890           "properties": {
30891             "error": {
30892               "$ref": "#/definitions/Error"
30893             }
30894           },
30895           "additionalProperties": false
30896         },
30897         "ErrorResults": {
30898           "type": "object",
30899           "properties": {
30900             "results": {
30901               "type": "array",
30902               "items": {
30903                 "$ref": "#/definitions/ErrorResult"
30904               }
30905             }
30906           },
30907           "additionalProperties": false,
30908           "required": [
30909             "results"
30910           ]
30911         },
30912         "Filesystem": {
30913           "type": "object",
30914           "properties": {
30915             "filesystem-tag": {
30916               "type": "string"
30917             },
30918             "info": {
30919               "$ref": "#/definitions/FilesystemInfo"
30920             },
30921             "volume-tag": {
30922               "type": "string"
30923             }
30924           },
30925           "additionalProperties": false,
30926           "required": [
30927             "filesystem-tag",
30928             "info"
30929           ]
30930         },
30931         "FilesystemAttachment": {
30932           "type": "object",
30933           "properties": {
30934             "filesystem-tag": {
30935               "type": "string"
30936             },
30937             "info": {
30938               "$ref": "#/definitions/FilesystemAttachmentInfo"
30939             },
30940             "machine-tag": {
30941               "type": "string"
30942             }
30943           },
30944           "additionalProperties": false,
30945           "required": [
30946             "filesystem-tag",
30947             "machine-tag",
30948             "info"
30949           ]
30950         },
30951         "FilesystemAttachmentInfo": {
30952           "type": "object",
30953           "properties": {
30954             "mount-point": {
30955               "type": "string"
30956             },
30957             "read-only": {
30958               "type": "boolean"
30959             }
30960           },
30961           "additionalProperties": false
30962         },
30963         "FilesystemAttachmentParams": {
30964           "type": "object",
30965           "properties": {
30966             "filesystem-id": {
30967               "type": "string"
30968             },
30969             "filesystem-tag": {
30970               "type": "string"
30971             },
30972             "instance-id": {
30973               "type": "string"
30974             },
30975             "machine-tag": {
30976               "type": "string"
30977             },
30978             "mount-point": {
30979               "type": "string"
30980             },
30981             "provider": {
30982               "type": "string"
30983             },
30984             "read-only": {
30985               "type": "boolean"
30986             }
30987           },
30988           "additionalProperties": false,
30989           "required": [
30990             "filesystem-tag",
30991             "machine-tag",
30992             "provider"
30993           ]
30994         },
30995         "FilesystemAttachmentParamsResult": {
30996           "type": "object",
30997           "properties": {
30998             "error": {
30999               "$ref": "#/definitions/Error"
31000             },
31001             "result": {
31002               "$ref": "#/definitions/FilesystemAttachmentParams"
31003             }
31004           },
31005           "additionalProperties": false,
31006           "required": [
31007             "result"
31008           ]
31009         },
31010         "FilesystemAttachmentParamsResults": {
31011           "type": "object",
31012           "properties": {
31013             "results": {
31014               "type": "array",
31015               "items": {
31016                 "$ref": "#/definitions/FilesystemAttachmentParamsResult"
31017               }
31018             }
31019           },
31020           "additionalProperties": false
31021         },
31022         "FilesystemAttachmentResult": {
31023           "type": "object",
31024           "properties": {
31025             "error": {
31026               "$ref": "#/definitions/Error"
31027             },
31028             "result": {
31029               "$ref": "#/definitions/FilesystemAttachment"
31030             }
31031           },
31032           "additionalProperties": false,
31033           "required": [
31034             "result"
31035           ]
31036         },
31037         "FilesystemAttachmentResults": {
31038           "type": "object",
31039           "properties": {
31040             "results": {
31041               "type": "array",
31042               "items": {
31043                 "$ref": "#/definitions/FilesystemAttachmentResult"
31044               }
31045             }
31046           },
31047           "additionalProperties": false
31048         },
31049         "FilesystemAttachments": {
31050           "type": "object",
31051           "properties": {
31052             "filesystem-attachments": {
31053               "type": "array",
31054               "items": {
31055                 "$ref": "#/definitions/FilesystemAttachment"
31056               }
31057             }
31058           },
31059           "additionalProperties": false,
31060           "required": [
31061             "filesystem-attachments"
31062           ]
31063         },
31064         "FilesystemInfo": {
31065           "type": "object",
31066           "properties": {
31067             "filesystem-id": {
31068               "type": "string"
31069             },
31070             "pool": {
31071               "type": "string"
31072             },
31073             "size": {
31074               "type": "integer"
31075             }
31076           },
31077           "additionalProperties": false,
31078           "required": [
31079             "filesystem-id",
31080             "pool",
31081             "size"
31082           ]
31083         },
31084         "FilesystemParams": {
31085           "type": "object",
31086           "properties": {
31087             "attachment": {
31088               "$ref": "#/definitions/FilesystemAttachmentParams"
31089             },
31090             "attributes": {
31091               "type": "object",
31092               "patternProperties": {
31093                 ".*": {
31094                   "type": "object",
31095                   "additionalProperties": true
31096                 }
31097               }
31098             },
31099             "filesystem-tag": {
31100               "type": "string"
31101             },
31102             "provider": {
31103               "type": "string"
31104             },
31105             "size": {
31106               "type": "integer"
31107             },
31108             "tags": {
31109               "type": "object",
31110               "patternProperties": {
31111                 ".*": {
31112                   "type": "string"
31113                 }
31114               }
31115             },
31116             "volume-tag": {
31117               "type": "string"
31118             }
31119           },
31120           "additionalProperties": false,
31121           "required": [
31122             "filesystem-tag",
31123             "size",
31124             "provider"
31125           ]
31126         },
31127         "FilesystemParamsResult": {
31128           "type": "object",
31129           "properties": {
31130             "error": {
31131               "$ref": "#/definitions/Error"
31132             },
31133             "result": {
31134               "$ref": "#/definitions/FilesystemParams"
31135             }
31136           },
31137           "additionalProperties": false,
31138           "required": [
31139             "result"
31140           ]
31141         },
31142         "FilesystemParamsResults": {
31143           "type": "object",
31144           "properties": {
31145             "results": {
31146               "type": "array",
31147               "items": {
31148                 "$ref": "#/definitions/FilesystemParamsResult"
31149               }
31150             }
31151           },
31152           "additionalProperties": false
31153         },
31154         "FilesystemResult": {
31155           "type": "object",
31156           "properties": {
31157             "error": {
31158               "$ref": "#/definitions/Error"
31159             },
31160             "result": {
31161               "$ref": "#/definitions/Filesystem"
31162             }
31163           },
31164           "additionalProperties": false,
31165           "required": [
31166             "result"
31167           ]
31168         },
31169         "FilesystemResults": {
31170           "type": "object",
31171           "properties": {
31172             "results": {
31173               "type": "array",
31174               "items": {
31175                 "$ref": "#/definitions/FilesystemResult"
31176               }
31177             }
31178           },
31179           "additionalProperties": false
31180         },
31181         "Filesystems": {
31182           "type": "object",
31183           "properties": {
31184             "filesystems": {
31185               "type": "array",
31186               "items": {
31187                 "$ref": "#/definitions/Filesystem"
31188               }
31189             }
31190           },
31191           "additionalProperties": false,
31192           "required": [
31193             "filesystems"
31194           ]
31195         },
31196         "LifeResult": {
31197           "type": "object",
31198           "properties": {
31199             "error": {
31200               "$ref": "#/definitions/Error"
31201             },
31202             "life": {
31203               "type": "string"
31204             }
31205           },
31206           "additionalProperties": false,
31207           "required": [
31208             "life"
31209           ]
31210         },
31211         "LifeResults": {
31212           "type": "object",
31213           "properties": {
31214             "results": {
31215               "type": "array",
31216               "items": {
31217                 "$ref": "#/definitions/LifeResult"
31218               }
31219             }
31220           },
31221           "additionalProperties": false,
31222           "required": [
31223             "results"
31224           ]
31225         },
31226         "Macaroon": {
31227           "type": "object",
31228           "additionalProperties": false
31229         },
31230         "MachineStorageId": {
31231           "type": "object",
31232           "properties": {
31233             "attachment-tag": {
31234               "type": "string"
31235             },
31236             "machine-tag": {
31237               "type": "string"
31238             }
31239           },
31240           "additionalProperties": false,
31241           "required": [
31242             "machine-tag",
31243             "attachment-tag"
31244           ]
31245         },
31246         "MachineStorageIds": {
31247           "type": "object",
31248           "properties": {
31249             "ids": {
31250               "type": "array",
31251               "items": {
31252                 "$ref": "#/definitions/MachineStorageId"
31253               }
31254             }
31255           },
31256           "additionalProperties": false,
31257           "required": [
31258             "ids"
31259           ]
31260         },
31261         "MachineStorageIdsWatchResult": {
31262           "type": "object",
31263           "properties": {
31264             "changes": {
31265               "type": "array",
31266               "items": {
31267                 "$ref": "#/definitions/MachineStorageId"
31268               }
31269             },
31270             "error": {
31271               "$ref": "#/definitions/Error"
31272             },
31273             "watcher-id": {
31274               "type": "string"
31275             }
31276           },
31277           "additionalProperties": false,
31278           "required": [
31279             "watcher-id",
31280             "changes"
31281           ]
31282         },
31283         "MachineStorageIdsWatchResults": {
31284           "type": "object",
31285           "properties": {
31286             "results": {
31287               "type": "array",
31288               "items": {
31289                 "$ref": "#/definitions/MachineStorageIdsWatchResult"
31290               }
31291             }
31292           },
31293           "additionalProperties": false,
31294           "required": [
31295             "results"
31296           ]
31297         },
31298         "NotifyWatchResult": {
31299           "type": "object",
31300           "properties": {
31301             "NotifyWatcherId": {
31302               "type": "string"
31303             },
31304             "error": {
31305               "$ref": "#/definitions/Error"
31306             }
31307           },
31308           "additionalProperties": false,
31309           "required": [
31310             "NotifyWatcherId"
31311           ]
31312         },
31313         "NotifyWatchResults": {
31314           "type": "object",
31315           "properties": {
31316             "results": {
31317               "type": "array",
31318               "items": {
31319                 "$ref": "#/definitions/NotifyWatchResult"
31320               }
31321             }
31322           },
31323           "additionalProperties": false,
31324           "required": [
31325             "results"
31326           ]
31327         },
31328         "RemoveFilesystemParams": {
31329           "type": "object",
31330           "properties": {
31331             "destroy": {
31332               "type": "boolean"
31333             },
31334             "filesystem-id": {
31335               "type": "string"
31336             },
31337             "provider": {
31338               "type": "string"
31339             }
31340           },
31341           "additionalProperties": false,
31342           "required": [
31343             "provider",
31344             "filesystem-id"
31345           ]
31346         },
31347         "RemoveFilesystemParamsResult": {
31348           "type": "object",
31349           "properties": {
31350             "error": {
31351               "$ref": "#/definitions/Error"
31352             },
31353             "result": {
31354               "$ref": "#/definitions/RemoveFilesystemParams"
31355             }
31356           },
31357           "additionalProperties": false,
31358           "required": [
31359             "result"
31360           ]
31361         },
31362         "RemoveFilesystemParamsResults": {
31363           "type": "object",
31364           "properties": {
31365             "results": {
31366               "type": "array",
31367               "items": {
31368                 "$ref": "#/definitions/RemoveFilesystemParamsResult"
31369               }
31370             }
31371           },
31372           "additionalProperties": false
31373         },
31374         "RemoveVolumeParams": {
31375           "type": "object",
31376           "properties": {
31377             "destroy": {
31378               "type": "boolean"
31379             },
31380             "provider": {
31381               "type": "string"
31382             },
31383             "volume-id": {
31384               "type": "string"
31385             }
31386           },
31387           "additionalProperties": false,
31388           "required": [
31389             "provider",
31390             "volume-id"
31391           ]
31392         },
31393         "RemoveVolumeParamsResult": {
31394           "type": "object",
31395           "properties": {
31396             "error": {
31397               "$ref": "#/definitions/Error"
31398             },
31399             "result": {
31400               "$ref": "#/definitions/RemoveVolumeParams"
31401             }
31402           },
31403           "additionalProperties": false,
31404           "required": [
31405             "result"
31406           ]
31407         },
31408         "RemoveVolumeParamsResults": {
31409           "type": "object",
31410           "properties": {
31411             "results": {
31412               "type": "array",
31413               "items": {
31414                 "$ref": "#/definitions/RemoveVolumeParamsResult"
31415               }
31416             }
31417           },
31418           "additionalProperties": false
31419         },
31420         "SetStatus": {
31421           "type": "object",
31422           "properties": {
31423             "entities": {
31424               "type": "array",
31425               "items": {
31426                 "$ref": "#/definitions/EntityStatusArgs"
31427               }
31428             }
31429           },
31430           "additionalProperties": false,
31431           "required": [
31432             "entities"
31433           ]
31434         },
31435         "StringResult": {
31436           "type": "object",
31437           "properties": {
31438             "error": {
31439               "$ref": "#/definitions/Error"
31440             },
31441             "result": {
31442               "type": "string"
31443             }
31444           },
31445           "additionalProperties": false,
31446           "required": [
31447             "result"
31448           ]
31449         },
31450         "StringResults": {
31451           "type": "object",
31452           "properties": {
31453             "results": {
31454               "type": "array",
31455               "items": {
31456                 "$ref": "#/definitions/StringResult"
31457               }
31458             }
31459           },
31460           "additionalProperties": false,
31461           "required": [
31462             "results"
31463           ]
31464         },
31465         "StringsWatchResult": {
31466           "type": "object",
31467           "properties": {
31468             "changes": {
31469               "type": "array",
31470               "items": {
31471                 "type": "string"
31472               }
31473             },
31474             "error": {
31475               "$ref": "#/definitions/Error"
31476             },
31477             "watcher-id": {
31478               "type": "string"
31479             }
31480           },
31481           "additionalProperties": false,
31482           "required": [
31483             "watcher-id"
31484           ]
31485         },
31486         "StringsWatchResults": {
31487           "type": "object",
31488           "properties": {
31489             "results": {
31490               "type": "array",
31491               "items": {
31492                 "$ref": "#/definitions/StringsWatchResult"
31493               }
31494             }
31495           },
31496           "additionalProperties": false,
31497           "required": [
31498             "results"
31499           ]
31500         },
31501         "Volume": {
31502           "type": "object",
31503           "properties": {
31504             "info": {
31505               "$ref": "#/definitions/VolumeInfo"
31506             },
31507             "volume-tag": {
31508               "type": "string"
31509             }
31510           },
31511           "additionalProperties": false,
31512           "required": [
31513             "volume-tag",
31514             "info"
31515           ]
31516         },
31517         "VolumeAttachment": {
31518           "type": "object",
31519           "properties": {
31520             "info": {
31521               "$ref": "#/definitions/VolumeAttachmentInfo"
31522             },
31523             "machine-tag": {
31524               "type": "string"
31525             },
31526             "volume-tag": {
31527               "type": "string"
31528             }
31529           },
31530           "additionalProperties": false,
31531           "required": [
31532             "volume-tag",
31533             "machine-tag",
31534             "info"
31535           ]
31536         },
31537         "VolumeAttachmentInfo": {
31538           "type": "object",
31539           "properties": {
31540             "bus-address": {
31541               "type": "string"
31542             },
31543             "device-link": {
31544               "type": "string"
31545             },
31546             "device-name": {
31547               "type": "string"
31548             },
31549             "plan-info": {
31550               "$ref": "#/definitions/VolumeAttachmentPlanInfo"
31551             },
31552             "read-only": {
31553               "type": "boolean"
31554             }
31555           },
31556           "additionalProperties": false
31557         },
31558         "VolumeAttachmentParams": {
31559           "type": "object",
31560           "properties": {
31561             "instance-id": {
31562               "type": "string"
31563             },
31564             "machine-tag": {
31565               "type": "string"
31566             },
31567             "provider": {
31568               "type": "string"
31569             },
31570             "read-only": {
31571               "type": "boolean"
31572             },
31573             "volume-id": {
31574               "type": "string"
31575             },
31576             "volume-tag": {
31577               "type": "string"
31578             }
31579           },
31580           "additionalProperties": false,
31581           "required": [
31582             "volume-tag",
31583             "machine-tag",
31584             "provider"
31585           ]
31586         },
31587         "VolumeAttachmentParamsResult": {
31588           "type": "object",
31589           "properties": {
31590             "error": {
31591               "$ref": "#/definitions/Error"
31592             },
31593             "result": {
31594               "$ref": "#/definitions/VolumeAttachmentParams"
31595             }
31596           },
31597           "additionalProperties": false,
31598           "required": [
31599             "result"
31600           ]
31601         },
31602         "VolumeAttachmentParamsResults": {
31603           "type": "object",
31604           "properties": {
31605             "results": {
31606               "type": "array",
31607               "items": {
31608                 "$ref": "#/definitions/VolumeAttachmentParamsResult"
31609               }
31610             }
31611           },
31612           "additionalProperties": false
31613         },
31614         "VolumeAttachmentPlan": {
31615           "type": "object",
31616           "properties": {
31617             "block-device": {
31618               "$ref": "#/definitions/BlockDevice"
31619             },
31620             "life": {
31621               "type": "string"
31622             },
31623             "machine-tag": {
31624               "type": "string"
31625             },
31626             "plan-info": {
31627               "$ref": "#/definitions/VolumeAttachmentPlanInfo"
31628             },
31629             "volume-tag": {
31630               "type": "string"
31631             }
31632           },
31633           "additionalProperties": false,
31634           "required": [
31635             "volume-tag",
31636             "machine-tag",
31637             "plan-info"
31638           ]
31639         },
31640         "VolumeAttachmentPlanInfo": {
31641           "type": "object",
31642           "properties": {
31643             "device-attributes": {
31644               "type": "object",
31645               "patternProperties": {
31646                 ".*": {
31647                   "type": "string"
31648                 }
31649               }
31650             },
31651             "device-type": {
31652               "type": "string"
31653             }
31654           },
31655           "additionalProperties": false
31656         },
31657         "VolumeAttachmentPlanResult": {
31658           "type": "object",
31659           "properties": {
31660             "error": {
31661               "$ref": "#/definitions/Error"
31662             },
31663             "result": {
31664               "$ref": "#/definitions/VolumeAttachmentPlan"
31665             }
31666           },
31667           "additionalProperties": false,
31668           "required": [
31669             "result"
31670           ]
31671         },
31672         "VolumeAttachmentPlanResults": {
31673           "type": "object",
31674           "properties": {
31675             "results": {
31676               "type": "array",
31677               "items": {
31678                 "$ref": "#/definitions/VolumeAttachmentPlanResult"
31679               }
31680             }
31681           },
31682           "additionalProperties": false
31683         },
31684         "VolumeAttachmentPlans": {
31685           "type": "object",
31686           "properties": {
31687             "volume-plans": {
31688               "type": "array",
31689               "items": {
31690                 "$ref": "#/definitions/VolumeAttachmentPlan"
31691               }
31692             }
31693           },
31694           "additionalProperties": false,
31695           "required": [
31696             "volume-plans"
31697           ]
31698         },
31699         "VolumeAttachmentResult": {
31700           "type": "object",
31701           "properties": {
31702             "error": {
31703               "$ref": "#/definitions/Error"
31704             },
31705             "result": {
31706               "$ref": "#/definitions/VolumeAttachment"
31707             }
31708           },
31709           "additionalProperties": false,
31710           "required": [
31711             "result"
31712           ]
31713         },
31714         "VolumeAttachmentResults": {
31715           "type": "object",
31716           "properties": {
31717             "results": {
31718               "type": "array",
31719               "items": {
31720                 "$ref": "#/definitions/VolumeAttachmentResult"
31721               }
31722             }
31723           },
31724           "additionalProperties": false
31725         },
31726         "VolumeAttachments": {
31727           "type": "object",
31728           "properties": {
31729             "volume-attachments": {
31730               "type": "array",
31731               "items": {
31732                 "$ref": "#/definitions/VolumeAttachment"
31733               }
31734             }
31735           },
31736           "additionalProperties": false,
31737           "required": [
31738             "volume-attachments"
31739           ]
31740         },
31741         "VolumeInfo": {
31742           "type": "object",
31743           "properties": {
31744             "hardware-id": {
31745               "type": "string"
31746             },
31747             "persistent": {
31748               "type": "boolean"
31749             },
31750             "pool": {
31751               "type": "string"
31752             },
31753             "size": {
31754               "type": "integer"
31755             },
31756             "volume-id": {
31757               "type": "string"
31758             },
31759             "wwn": {
31760               "type": "string"
31761             }
31762           },
31763           "additionalProperties": false,
31764           "required": [
31765             "volume-id",
31766             "size",
31767             "persistent"
31768           ]
31769         },
31770         "VolumeParams": {
31771           "type": "object",
31772           "properties": {
31773             "attachment": {
31774               "$ref": "#/definitions/VolumeAttachmentParams"
31775             },
31776             "attributes": {
31777               "type": "object",
31778               "patternProperties": {
31779                 ".*": {
31780                   "type": "object",
31781                   "additionalProperties": true
31782                 }
31783               }
31784             },
31785             "provider": {
31786               "type": "string"
31787             },
31788             "size": {
31789               "type": "integer"
31790             },
31791             "tags": {
31792               "type": "object",
31793               "patternProperties": {
31794                 ".*": {
31795                   "type": "string"
31796                 }
31797               }
31798             },
31799             "volume-tag": {
31800               "type": "string"
31801             }
31802           },
31803           "additionalProperties": false,
31804           "required": [
31805             "volume-tag",
31806             "size",
31807             "provider"
31808           ]
31809         },
31810         "VolumeParamsResult": {
31811           "type": "object",
31812           "properties": {
31813             "error": {
31814               "$ref": "#/definitions/Error"
31815             },
31816             "result": {
31817               "$ref": "#/definitions/VolumeParams"
31818             }
31819           },
31820           "additionalProperties": false,
31821           "required": [
31822             "result"
31823           ]
31824         },
31825         "VolumeParamsResults": {
31826           "type": "object",
31827           "properties": {
31828             "results": {
31829               "type": "array",
31830               "items": {
31831                 "$ref": "#/definitions/VolumeParamsResult"
31832               }
31833             }
31834           },
31835           "additionalProperties": false
31836         },
31837         "VolumeResult": {
31838           "type": "object",
31839           "properties": {
31840             "error": {
31841               "$ref": "#/definitions/Error"
31842             },
31843             "result": {
31844               "$ref": "#/definitions/Volume"
31845             }
31846           },
31847           "additionalProperties": false,
31848           "required": [
31849             "result"
31850           ]
31851         },
31852         "VolumeResults": {
31853           "type": "object",
31854           "properties": {
31855             "results": {
31856               "type": "array",
31857               "items": {
31858                 "$ref": "#/definitions/VolumeResult"
31859               }
31860             }
31861           },
31862           "additionalProperties": false
31863         },
31864         "Volumes": {
31865           "type": "object",
31866           "properties": {
31867             "volumes": {
31868               "type": "array",
31869               "items": {
31870                 "$ref": "#/definitions/Volume"
31871               }
31872             }
31873           },
31874           "additionalProperties": false,
31875           "required": [
31876             "volumes"
31877           ]
31878         }
31879       }
31880     }
31881   },
31882   {
31883     "Name": "StringsWatcher",
31884     "Version": 1,
31885     "Schema": {
31886       "type": "object",
31887       "properties": {
31888         "Next": {
31889           "type": "object",
31890           "properties": {
31891             "Result": {
31892               "$ref": "#/definitions/StringsWatchResult"
31893             }
31894           }
31895         },
31896         "Stop": {
31897           "type": "object"
31898         }
31899       },
31900       "definitions": {
31901         "Error": {
31902           "type": "object",
31903           "properties": {
31904             "code": {
31905               "type": "string"
31906             },
31907             "info": {
31908               "$ref": "#/definitions/ErrorInfo"
31909             },
31910             "message": {
31911               "type": "string"
31912             }
31913           },
31914           "additionalProperties": false,
31915           "required": [
31916             "message",
31917             "code"
31918           ]
31919         },
31920         "ErrorInfo": {
31921           "type": "object",
31922           "properties": {
31923             "macaroon": {
31924               "$ref": "#/definitions/Macaroon"
31925             },
31926             "macaroon-path": {
31927               "type": "string"
31928             }
31929           },
31930           "additionalProperties": false
31931         },
31932         "Macaroon": {
31933           "type": "object",
31934           "additionalProperties": false
31935         },
31936         "StringsWatchResult": {
31937           "type": "object",
31938           "properties": {
31939             "changes": {
31940               "type": "array",
31941               "items": {
31942                 "type": "string"
31943               }
31944             },
31945             "error": {
31946               "$ref": "#/definitions/Error"
31947             },
31948             "watcher-id": {
31949               "type": "string"
31950             }
31951           },
31952           "additionalProperties": false,
31953           "required": [
31954             "watcher-id"
31955           ]
31956         }
31957       }
31958     }
31959   },
31960   {
31961     "Name": "Subnets",
31962     "Version": 2,
31963     "Schema": {
31964       "type": "object",
31965       "properties": {
31966         "AddSubnets": {
31967           "type": "object",
31968           "properties": {
31969             "Params": {
31970               "$ref": "#/definitions/AddSubnetsParams"
31971             },
31972             "Result": {
31973               "$ref": "#/definitions/ErrorResults"
31974             }
31975           }
31976         },
31977         "AllSpaces": {
31978           "type": "object",
31979           "properties": {
31980             "Result": {
31981               "$ref": "#/definitions/SpaceResults"
31982             }
31983           }
31984         },
31985         "AllZones": {
31986           "type": "object",
31987           "properties": {
31988             "Result": {
31989               "$ref": "#/definitions/ZoneResults"
31990             }
31991           }
31992         },
31993         "ListSubnets": {
31994           "type": "object",
31995           "properties": {
31996             "Params": {
31997               "$ref": "#/definitions/SubnetsFilters"
31998             },
31999             "Result": {
32000               "$ref": "#/definitions/ListSubnetsResults"
32001             }
32002           }
32003         }
32004       },
32005       "definitions": {
32006         "AddSubnetParams": {
32007           "type": "object",
32008           "properties": {
32009             "provider-network-id": {
32010               "type": "string"
32011             },
32012             "space-tag": {
32013               "type": "string"
32014             },
32015             "subnet-provider-id": {
32016               "type": "string"
32017             },
32018             "subnet-tag": {
32019               "type": "string"
32020             },
32021             "vlan-tag": {
32022               "type": "integer"
32023             },
32024             "zones": {
32025               "type": "array",
32026               "items": {
32027                 "type": "string"
32028               }
32029             }
32030           },
32031           "additionalProperties": false,
32032           "required": [
32033             "space-tag"
32034           ]
32035         },
32036         "AddSubnetsParams": {
32037           "type": "object",
32038           "properties": {
32039             "subnets": {
32040               "type": "array",
32041               "items": {
32042                 "$ref": "#/definitions/AddSubnetParams"
32043               }
32044             }
32045           },
32046           "additionalProperties": false,
32047           "required": [
32048             "subnets"
32049           ]
32050         },
32051         "Error": {
32052           "type": "object",
32053           "properties": {
32054             "code": {
32055               "type": "string"
32056             },
32057             "info": {
32058               "$ref": "#/definitions/ErrorInfo"
32059             },
32060             "message": {
32061               "type": "string"
32062             }
32063           },
32064           "additionalProperties": false,
32065           "required": [
32066             "message",
32067             "code"
32068           ]
32069         },
32070         "ErrorInfo": {
32071           "type": "object",
32072           "properties": {
32073             "macaroon": {
32074               "$ref": "#/definitions/Macaroon"
32075             },
32076             "macaroon-path": {
32077               "type": "string"
32078             }
32079           },
32080           "additionalProperties": false
32081         },
32082         "ErrorResult": {
32083           "type": "object",
32084           "properties": {
32085             "error": {
32086               "$ref": "#/definitions/Error"
32087             }
32088           },
32089           "additionalProperties": false
32090         },
32091         "ErrorResults": {
32092           "type": "object",
32093           "properties": {
32094             "results": {
32095               "type": "array",
32096               "items": {
32097                 "$ref": "#/definitions/ErrorResult"
32098               }
32099             }
32100           },
32101           "additionalProperties": false,
32102           "required": [
32103             "results"
32104           ]
32105         },
32106         "ListSubnetsResults": {
32107           "type": "object",
32108           "properties": {
32109             "results": {
32110               "type": "array",
32111               "items": {
32112                 "$ref": "#/definitions/Subnet"
32113               }
32114             }
32115           },
32116           "additionalProperties": false,
32117           "required": [
32118             "results"
32119           ]
32120         },
32121         "Macaroon": {
32122           "type": "object",
32123           "additionalProperties": false
32124         },
32125         "SpaceResult": {
32126           "type": "object",
32127           "properties": {
32128             "error": {
32129               "$ref": "#/definitions/Error"
32130             },
32131             "tag": {
32132               "type": "string"
32133             }
32134           },
32135           "additionalProperties": false,
32136           "required": [
32137             "tag"
32138           ]
32139         },
32140         "SpaceResults": {
32141           "type": "object",
32142           "properties": {
32143             "results": {
32144               "type": "array",
32145               "items": {
32146                 "$ref": "#/definitions/SpaceResult"
32147               }
32148             }
32149           },
32150           "additionalProperties": false,
32151           "required": [
32152             "results"
32153           ]
32154         },
32155         "Subnet": {
32156           "type": "object",
32157           "properties": {
32158             "cidr": {
32159               "type": "string"
32160             },
32161             "life": {
32162               "type": "string"
32163             },
32164             "provider-id": {
32165               "type": "string"
32166             },
32167             "provider-network-id": {
32168               "type": "string"
32169             },
32170             "provider-space-id": {
32171               "type": "string"
32172             },
32173             "space-tag": {
32174               "type": "string"
32175             },
32176             "status": {
32177               "type": "string"
32178             },
32179             "vlan-tag": {
32180               "type": "integer"
32181             },
32182             "zones": {
32183               "type": "array",
32184               "items": {
32185                 "type": "string"
32186               }
32187             }
32188           },
32189           "additionalProperties": false,
32190           "required": [
32191             "cidr",
32192             "vlan-tag",
32193             "life",
32194             "space-tag",
32195             "zones"
32196           ]
32197         },
32198         "SubnetsFilters": {
32199           "type": "object",
32200           "properties": {
32201             "space-tag": {
32202               "type": "string"
32203             },
32204             "zone": {
32205               "type": "string"
32206             }
32207           },
32208           "additionalProperties": false
32209         },
32210         "ZoneResult": {
32211           "type": "object",
32212           "properties": {
32213             "available": {
32214               "type": "boolean"
32215             },
32216             "error": {
32217               "$ref": "#/definitions/Error"
32218             },
32219             "name": {
32220               "type": "string"
32221             }
32222           },
32223           "additionalProperties": false,
32224           "required": [
32225             "name",
32226             "available"
32227           ]
32228         },
32229         "ZoneResults": {
32230           "type": "object",
32231           "properties": {
32232             "results": {
32233               "type": "array",
32234               "items": {
32235                 "$ref": "#/definitions/ZoneResult"
32236               }
32237             }
32238           },
32239           "additionalProperties": false,
32240           "required": [
32241             "results"
32242           ]
32243         }
32244       }
32245     }
32246   },
32247   {
32248     "Name": "Undertaker",
32249     "Version": 1,
32250     "Schema": {
32251       "type": "object",
32252       "properties": {
32253         "ModelConfig": {
32254           "type": "object",
32255           "properties": {
32256             "Result": {
32257               "$ref": "#/definitions/ModelConfigResult"
32258             }
32259           }
32260         },
32261         "ModelInfo": {
32262           "type": "object",
32263           "properties": {
32264             "Result": {
32265               "$ref": "#/definitions/UndertakerModelInfoResult"
32266             }
32267           }
32268         },
32269         "ProcessDyingModel": {
32270           "type": "object"
32271         },
32272         "RemoveModel": {
32273           "type": "object"
32274         },
32275         "SetStatus": {
32276           "type": "object",
32277           "properties": {
32278             "Params": {
32279               "$ref": "#/definitions/SetStatus"
32280             },
32281             "Result": {
32282               "$ref": "#/definitions/ErrorResults"
32283             }
32284           }
32285         },
32286         "UpdateStatus": {
32287           "type": "object",
32288           "properties": {
32289             "Params": {
32290               "$ref": "#/definitions/SetStatus"
32291             },
32292             "Result": {
32293               "$ref": "#/definitions/ErrorResults"
32294             }
32295           }
32296         },
32297         "WatchModelResources": {
32298           "type": "object",
32299           "properties": {
32300             "Result": {
32301               "$ref": "#/definitions/NotifyWatchResults"
32302             }
32303           }
32304         }
32305       },
32306       "definitions": {
32307         "EntityStatusArgs": {
32308           "type": "object",
32309           "properties": {
32310             "data": {
32311               "type": "object",
32312               "patternProperties": {
32313                 ".*": {
32314                   "type": "object",
32315                   "additionalProperties": true
32316                 }
32317               }
32318             },
32319             "info": {
32320               "type": "string"
32321             },
32322             "status": {
32323               "type": "string"
32324             },
32325             "tag": {
32326               "type": "string"
32327             }
32328           },
32329           "additionalProperties": false,
32330           "required": [
32331             "tag",
32332             "status",
32333             "info",
32334             "data"
32335           ]
32336         },
32337         "Error": {
32338           "type": "object",
32339           "properties": {
32340             "code": {
32341               "type": "string"
32342             },
32343             "info": {
32344               "$ref": "#/definitions/ErrorInfo"
32345             },
32346             "message": {
32347               "type": "string"
32348             }
32349           },
32350           "additionalProperties": false,
32351           "required": [
32352             "message",
32353             "code"
32354           ]
32355         },
32356         "ErrorInfo": {
32357           "type": "object",
32358           "properties": {
32359             "macaroon": {
32360               "$ref": "#/definitions/Macaroon"
32361             },
32362             "macaroon-path": {
32363               "type": "string"
32364             }
32365           },
32366           "additionalProperties": false
32367         },
32368         "ErrorResult": {
32369           "type": "object",
32370           "properties": {
32371             "error": {
32372               "$ref": "#/definitions/Error"
32373             }
32374           },
32375           "additionalProperties": false
32376         },
32377         "ErrorResults": {
32378           "type": "object",
32379           "properties": {
32380             "results": {
32381               "type": "array",
32382               "items": {
32383                 "$ref": "#/definitions/ErrorResult"
32384               }
32385             }
32386           },
32387           "additionalProperties": false,
32388           "required": [
32389             "results"
32390           ]
32391         },
32392         "Macaroon": {
32393           "type": "object",
32394           "additionalProperties": false
32395         },
32396         "ModelConfigResult": {
32397           "type": "object",
32398           "properties": {
32399             "config": {
32400               "type": "object",
32401               "patternProperties": {
32402                 ".*": {
32403                   "type": "object",
32404                   "additionalProperties": true
32405                 }
32406               }
32407             }
32408           },
32409           "additionalProperties": false,
32410           "required": [
32411             "config"
32412           ]
32413         },
32414         "NotifyWatchResult": {
32415           "type": "object",
32416           "properties": {
32417             "NotifyWatcherId": {
32418               "type": "string"
32419             },
32420             "error": {
32421               "$ref": "#/definitions/Error"
32422             }
32423           },
32424           "additionalProperties": false,
32425           "required": [
32426             "NotifyWatcherId"
32427           ]
32428         },
32429         "NotifyWatchResults": {
32430           "type": "object",
32431           "properties": {
32432             "results": {
32433               "type": "array",
32434               "items": {
32435                 "$ref": "#/definitions/NotifyWatchResult"
32436               }
32437             }
32438           },
32439           "additionalProperties": false,
32440           "required": [
32441             "results"
32442           ]
32443         },
32444         "SetStatus": {
32445           "type": "object",
32446           "properties": {
32447             "entities": {
32448               "type": "array",
32449               "items": {
32450                 "$ref": "#/definitions/EntityStatusArgs"
32451               }
32452             }
32453           },
32454           "additionalProperties": false,
32455           "required": [
32456             "entities"
32457           ]
32458         },
32459         "UndertakerModelInfo": {
32460           "type": "object",
32461           "properties": {
32462             "global-name": {
32463               "type": "string"
32464             },
32465             "is-system": {
32466               "type": "boolean"
32467             },
32468             "life": {
32469               "type": "string"
32470             },
32471             "name": {
32472               "type": "string"
32473             },
32474             "uuid": {
32475               "type": "string"
32476             }
32477           },
32478           "additionalProperties": false,
32479           "required": [
32480             "uuid",
32481             "name",
32482             "global-name",
32483             "is-system",
32484             "life"
32485           ]
32486         },
32487         "UndertakerModelInfoResult": {
32488           "type": "object",
32489           "properties": {
32490             "error": {
32491               "$ref": "#/definitions/Error"
32492             },
32493             "result": {
32494               "$ref": "#/definitions/UndertakerModelInfo"
32495             }
32496           },
32497           "additionalProperties": false,
32498           "required": [
32499             "result"
32500           ]
32501         }
32502       }
32503     }
32504   },
32505   {
32506     "Name": "UnitAssigner",
32507     "Version": 1,
32508     "Schema": {
32509       "type": "object",
32510       "properties": {
32511         "AssignUnits": {
32512           "type": "object",
32513           "properties": {
32514             "Params": {
32515               "$ref": "#/definitions/Entities"
32516             },
32517             "Result": {
32518               "$ref": "#/definitions/ErrorResults"
32519             }
32520           }
32521         },
32522         "SetAgentStatus": {
32523           "type": "object",
32524           "properties": {
32525             "Params": {
32526               "$ref": "#/definitions/SetStatus"
32527             },
32528             "Result": {
32529               "$ref": "#/definitions/ErrorResults"
32530             }
32531           }
32532         },
32533         "WatchUnitAssignments": {
32534           "type": "object",
32535           "properties": {
32536             "Result": {
32537               "$ref": "#/definitions/StringsWatchResult"
32538             }
32539           }
32540         }
32541       },
32542       "definitions": {
32543         "Entities": {
32544           "type": "object",
32545           "properties": {
32546             "entities": {
32547               "type": "array",
32548               "items": {
32549                 "$ref": "#/definitions/Entity"
32550               }
32551             }
32552           },
32553           "additionalProperties": false,
32554           "required": [
32555             "entities"
32556           ]
32557         },
32558         "Entity": {
32559           "type": "object",
32560           "properties": {
32561             "tag": {
32562               "type": "string"
32563             }
32564           },
32565           "additionalProperties": false,
32566           "required": [
32567             "tag"
32568           ]
32569         },
32570         "EntityStatusArgs": {
32571           "type": "object",
32572           "properties": {
32573             "data": {
32574               "type": "object",
32575               "patternProperties": {
32576                 ".*": {
32577                   "type": "object",
32578                   "additionalProperties": true
32579                 }
32580               }
32581             },
32582             "info": {
32583               "type": "string"
32584             },
32585             "status": {
32586               "type": "string"
32587             },
32588             "tag": {
32589               "type": "string"
32590             }
32591           },
32592           "additionalProperties": false,
32593           "required": [
32594             "tag",
32595             "status",
32596             "info",
32597             "data"
32598           ]
32599         },
32600         "Error": {
32601           "type": "object",
32602           "properties": {
32603             "code": {
32604               "type": "string"
32605             },
32606             "info": {
32607               "$ref": "#/definitions/ErrorInfo"
32608             },
32609             "message": {
32610               "type": "string"
32611             }
32612           },
32613           "additionalProperties": false,
32614           "required": [
32615             "message",
32616             "code"
32617           ]
32618         },
32619         "ErrorInfo": {
32620           "type": "object",
32621           "properties": {
32622             "macaroon": {
32623               "$ref": "#/definitions/Macaroon"
32624             },
32625             "macaroon-path": {
32626               "type": "string"
32627             }
32628           },
32629           "additionalProperties": false
32630         },
32631         "ErrorResult": {
32632           "type": "object",
32633           "properties": {
32634             "error": {
32635               "$ref": "#/definitions/Error"
32636             }
32637           },
32638           "additionalProperties": false
32639         },
32640         "ErrorResults": {
32641           "type": "object",
32642           "properties": {
32643             "results": {
32644               "type": "array",
32645               "items": {
32646                 "$ref": "#/definitions/ErrorResult"
32647               }
32648             }
32649           },
32650           "additionalProperties": false,
32651           "required": [
32652             "results"
32653           ]
32654         },
32655         "Macaroon": {
32656           "type": "object",
32657           "additionalProperties": false
32658         },
32659         "SetStatus": {
32660           "type": "object",
32661           "properties": {
32662             "entities": {
32663               "type": "array",
32664               "items": {
32665                 "$ref": "#/definitions/EntityStatusArgs"
32666               }
32667             }
32668           },
32669           "additionalProperties": false,
32670           "required": [
32671             "entities"
32672           ]
32673         },
32674         "StringsWatchResult": {
32675           "type": "object",
32676           "properties": {
32677             "changes": {
32678               "type": "array",
32679               "items": {
32680                 "type": "string"
32681               }
32682             },
32683             "error": {
32684               "$ref": "#/definitions/Error"
32685             },
32686             "watcher-id": {
32687               "type": "string"
32688             }
32689           },
32690           "additionalProperties": false,
32691           "required": [
32692             "watcher-id"
32693           ]
32694         }
32695       }
32696     }
32697   },
32698   {
32699     "Name": "Uniter",
32700     "Version": 9,
32701     "Schema": {
32702       "type": "object",
32703       "properties": {
32704         "APIAddresses": {
32705           "type": "object",
32706           "properties": {
32707             "Result": {
32708               "$ref": "#/definitions/StringsResult"
32709             }
32710           }
32711         },
32712         "APIHostPorts": {
32713           "type": "object",
32714           "properties": {
32715             "Result": {
32716               "$ref": "#/definitions/APIHostPortsResult"
32717             }
32718           }
32719         },
32720         "Actions": {
32721           "type": "object",
32722           "properties": {
32723             "Params": {
32724               "$ref": "#/definitions/Entities"
32725             },
32726             "Result": {
32727               "$ref": "#/definitions/ActionResults"
32728             }
32729           }
32730         },
32731         "AddMetricBatches": {
32732           "type": "object",
32733           "properties": {
32734             "Params": {
32735               "$ref": "#/definitions/MetricBatchParams"
32736             },
32737             "Result": {
32738               "$ref": "#/definitions/ErrorResults"
32739             }
32740           }
32741         },
32742         "AddUnitStorage": {
32743           "type": "object",
32744           "properties": {
32745             "Params": {
32746               "$ref": "#/definitions/StoragesAddParams"
32747             },
32748             "Result": {
32749               "$ref": "#/definitions/ErrorResults"
32750             }
32751           }
32752         },
32753         "AllMachinePorts": {
32754           "type": "object",
32755           "properties": {
32756             "Params": {
32757               "$ref": "#/definitions/Entities"
32758             },
32759             "Result": {
32760               "$ref": "#/definitions/MachinePortsResults"
32761             }
32762           }
32763         },
32764         "ApplicationStatus": {
32765           "type": "object",
32766           "properties": {
32767             "Params": {
32768               "$ref": "#/definitions/Entities"
32769             },
32770             "Result": {
32771               "$ref": "#/definitions/ApplicationStatusResults"
32772             }
32773           }
32774         },
32775         "AssignedMachine": {
32776           "type": "object",
32777           "properties": {
32778             "Params": {
32779               "$ref": "#/definitions/Entities"
32780             },
32781             "Result": {
32782               "$ref": "#/definitions/StringResults"
32783             }
32784           }
32785         },
32786         "AvailabilityZone": {
32787           "type": "object",
32788           "properties": {
32789             "Params": {
32790               "$ref": "#/definitions/Entities"
32791             },
32792             "Result": {
32793               "$ref": "#/definitions/StringResults"
32794             }
32795           }
32796         },
32797         "BeginActions": {
32798           "type": "object",
32799           "properties": {
32800             "Params": {
32801               "$ref": "#/definitions/Entities"
32802             },
32803             "Result": {
32804               "$ref": "#/definitions/ErrorResults"
32805             }
32806           }
32807         },
32808         "CharmArchiveSha256": {
32809           "type": "object",
32810           "properties": {
32811             "Params": {
32812               "$ref": "#/definitions/CharmURLs"
32813             },
32814             "Result": {
32815               "$ref": "#/definitions/StringResults"
32816             }
32817           }
32818         },
32819         "CharmModifiedVersion": {
32820           "type": "object",
32821           "properties": {
32822             "Params": {
32823               "$ref": "#/definitions/Entities"
32824             },
32825             "Result": {
32826               "$ref": "#/definitions/IntResults"
32827             }
32828           }
32829         },
32830         "CharmURL": {
32831           "type": "object",
32832           "properties": {
32833             "Params": {
32834               "$ref": "#/definitions/Entities"
32835             },
32836             "Result": {
32837               "$ref": "#/definitions/StringBoolResults"
32838             }
32839           }
32840         },
32841         "ClearResolved": {
32842           "type": "object",
32843           "properties": {
32844             "Params": {
32845               "$ref": "#/definitions/Entities"
32846             },
32847             "Result": {
32848               "$ref": "#/definitions/ErrorResults"
32849             }
32850           }
32851         },
32852         "ClosePorts": {
32853           "type": "object",
32854           "properties": {
32855             "Params": {
32856               "$ref": "#/definitions/EntitiesPortRanges"
32857             },
32858             "Result": {
32859               "$ref": "#/definitions/ErrorResults"
32860             }
32861           }
32862         },
32863         "CloudSpec": {
32864           "type": "object",
32865           "properties": {
32866             "Result": {
32867               "$ref": "#/definitions/CloudSpecResult"
32868             }
32869           }
32870         },
32871         "ConfigSettings": {
32872           "type": "object",
32873           "properties": {
32874             "Params": {
32875               "$ref": "#/definitions/Entities"
32876             },
32877             "Result": {
32878               "$ref": "#/definitions/ConfigSettingsResults"
32879             }
32880           }
32881         },
32882         "CurrentModel": {
32883           "type": "object",
32884           "properties": {
32885             "Result": {
32886               "$ref": "#/definitions/ModelResult"
32887             }
32888           }
32889         },
32890         "Destroy": {
32891           "type": "object",
32892           "properties": {
32893             "Params": {
32894               "$ref": "#/definitions/Entities"
32895             },
32896             "Result": {
32897               "$ref": "#/definitions/ErrorResults"
32898             }
32899           }
32900         },
32901         "DestroyAllSubordinates": {
32902           "type": "object",
32903           "properties": {
32904             "Params": {
32905               "$ref": "#/definitions/Entities"
32906             },
32907             "Result": {
32908               "$ref": "#/definitions/ErrorResults"
32909             }
32910           }
32911         },
32912         "DestroyUnitStorageAttachments": {
32913           "type": "object",
32914           "properties": {
32915             "Params": {
32916               "$ref": "#/definitions/Entities"
32917             },
32918             "Result": {
32919               "$ref": "#/definitions/ErrorResults"
32920             }
32921           }
32922         },
32923         "EnsureDead": {
32924           "type": "object",
32925           "properties": {
32926             "Params": {
32927               "$ref": "#/definitions/Entities"
32928             },
32929             "Result": {
32930               "$ref": "#/definitions/ErrorResults"
32931             }
32932           }
32933         },
32934         "EnterScope": {
32935           "type": "object",
32936           "properties": {
32937             "Params": {
32938               "$ref": "#/definitions/RelationUnits"
32939             },
32940             "Result": {
32941               "$ref": "#/definitions/ErrorResults"
32942             }
32943           }
32944         },
32945         "FinishActions": {
32946           "type": "object",
32947           "properties": {
32948             "Params": {
32949               "$ref": "#/definitions/ActionExecutionResults"
32950             },
32951             "Result": {
32952               "$ref": "#/definitions/ErrorResults"
32953             }
32954           }
32955         },
32956         "GetMeterStatus": {
32957           "type": "object",
32958           "properties": {
32959             "Params": {
32960               "$ref": "#/definitions/Entities"
32961             },
32962             "Result": {
32963               "$ref": "#/definitions/MeterStatusResults"
32964             }
32965           }
32966         },
32967         "GetPrincipal": {
32968           "type": "object",
32969           "properties": {
32970             "Params": {
32971               "$ref": "#/definitions/Entities"
32972             },
32973             "Result": {
32974               "$ref": "#/definitions/StringBoolResults"
32975             }
32976           }
32977         },
32978         "GoalStates": {
32979           "type": "object",
32980           "properties": {
32981             "Params": {
32982               "$ref": "#/definitions/Entities"
32983             },
32984             "Result": {
32985               "$ref": "#/definitions/GoalStateResults"
32986             }
32987           }
32988         },
32989         "HasSubordinates": {
32990           "type": "object",
32991           "properties": {
32992             "Params": {
32993               "$ref": "#/definitions/Entities"
32994             },
32995             "Result": {
32996               "$ref": "#/definitions/BoolResults"
32997             }
32998           }
32999         },
33000         "LeaveScope": {
33001           "type": "object",
33002           "properties": {
33003             "Params": {
33004               "$ref": "#/definitions/RelationUnits"
33005             },
33006             "Result": {
33007               "$ref": "#/definitions/ErrorResults"
33008             }
33009           }
33010         },
33011         "Life": {
33012           "type": "object",
33013           "properties": {
33014             "Params": {
33015               "$ref": "#/definitions/Entities"
33016             },
33017             "Result": {
33018               "$ref": "#/definitions/LifeResults"
33019             }
33020           }
33021         },
33022         "Merge": {
33023           "type": "object",
33024           "properties": {
33025             "Params": {
33026               "$ref": "#/definitions/MergeLeadershipSettingsBulkParams"
33027             },
33028             "Result": {
33029               "$ref": "#/definitions/ErrorResults"
33030             }
33031           }
33032         },
33033         "ModelConfig": {
33034           "type": "object",
33035           "properties": {
33036             "Result": {
33037               "$ref": "#/definitions/ModelConfigResult"
33038             }
33039           }
33040         },
33041         "ModelUUID": {
33042           "type": "object",
33043           "properties": {
33044             "Result": {
33045               "$ref": "#/definitions/StringResult"
33046             }
33047           }
33048         },
33049         "NetworkInfo": {
33050           "type": "object",
33051           "properties": {
33052             "Params": {
33053               "$ref": "#/definitions/NetworkInfoParams"
33054             },
33055             "Result": {
33056               "$ref": "#/definitions/NetworkInfoResults"
33057             }
33058           }
33059         },
33060         "OpenPorts": {
33061           "type": "object",
33062           "properties": {
33063             "Params": {
33064               "$ref": "#/definitions/EntitiesPortRanges"
33065             },
33066             "Result": {
33067               "$ref": "#/definitions/ErrorResults"
33068             }
33069           }
33070         },
33071         "PrivateAddress": {
33072           "type": "object",
33073           "properties": {
33074             "Params": {
33075               "$ref": "#/definitions/Entities"
33076             },
33077             "Result": {
33078               "$ref": "#/definitions/StringResults"
33079             }
33080           }
33081         },
33082         "ProviderType": {
33083           "type": "object",
33084           "properties": {
33085             "Result": {
33086               "$ref": "#/definitions/StringResult"
33087             }
33088           }
33089         },
33090         "PublicAddress": {
33091           "type": "object",
33092           "properties": {
33093             "Params": {
33094               "$ref": "#/definitions/Entities"
33095             },
33096             "Result": {
33097               "$ref": "#/definitions/StringResults"
33098             }
33099           }
33100         },
33101         "Read": {
33102           "type": "object",
33103           "properties": {
33104             "Params": {
33105               "$ref": "#/definitions/Entities"
33106             },
33107             "Result": {
33108               "$ref": "#/definitions/GetLeadershipSettingsBulkResults"
33109             }
33110           }
33111         },
33112         "ReadRemoteSettings": {
33113           "type": "object",
33114           "properties": {
33115             "Params": {
33116               "$ref": "#/definitions/RelationUnitPairs"
33117             },
33118             "Result": {
33119               "$ref": "#/definitions/SettingsResults"
33120             }
33121           }
33122         },
33123         "ReadSettings": {
33124           "type": "object",
33125           "properties": {
33126             "Params": {
33127               "$ref": "#/definitions/RelationUnits"
33128             },
33129             "Result": {
33130               "$ref": "#/definitions/SettingsResults"
33131             }
33132           }
33133         },
33134         "Refresh": {
33135           "type": "object",
33136           "properties": {
33137             "Params": {
33138               "$ref": "#/definitions/Entities"
33139             },
33140             "Result": {
33141               "$ref": "#/definitions/UnitRefreshResults"
33142             }
33143           }
33144         },
33145         "Relation": {
33146           "type": "object",
33147           "properties": {
33148             "Params": {
33149               "$ref": "#/definitions/RelationUnits"
33150             },
33151             "Result": {
33152               "$ref": "#/definitions/RelationResults"
33153             }
33154           }
33155         },
33156         "RelationById": {
33157           "type": "object",
33158           "properties": {
33159             "Params": {
33160               "$ref": "#/definitions/RelationIds"
33161             },
33162             "Result": {
33163               "$ref": "#/definitions/RelationResults"
33164             }
33165           }
33166         },
33167         "RelationsStatus": {
33168           "type": "object",
33169           "properties": {
33170             "Params": {
33171               "$ref": "#/definitions/Entities"
33172             },
33173             "Result": {
33174               "$ref": "#/definitions/RelationUnitStatusResults"
33175             }
33176           }
33177         },
33178         "RemoveStorageAttachments": {
33179           "type": "object",
33180           "properties": {
33181             "Params": {
33182               "$ref": "#/definitions/StorageAttachmentIds"
33183             },
33184             "Result": {
33185               "$ref": "#/definitions/ErrorResults"
33186             }
33187           }
33188         },
33189         "RequestReboot": {
33190           "type": "object",
33191           "properties": {
33192             "Params": {
33193               "$ref": "#/definitions/Entities"
33194             },
33195             "Result": {
33196               "$ref": "#/definitions/ErrorResults"
33197             }
33198           }
33199         },
33200         "Resolved": {
33201           "type": "object",
33202           "properties": {
33203             "Params": {
33204               "$ref": "#/definitions/Entities"
33205             },
33206             "Result": {
33207               "$ref": "#/definitions/ResolvedModeResults"
33208             }
33209           }
33210         },
33211         "SLALevel": {
33212           "type": "object",
33213           "properties": {
33214             "Result": {
33215               "$ref": "#/definitions/StringResult"
33216             }
33217           }
33218         },
33219         "SetAgentStatus": {
33220           "type": "object",
33221           "properties": {
33222             "Params": {
33223               "$ref": "#/definitions/SetStatus"
33224             },
33225             "Result": {
33226               "$ref": "#/definitions/ErrorResults"
33227             }
33228           }
33229         },
33230         "SetApplicationStatus": {
33231           "type": "object",
33232           "properties": {
33233             "Params": {
33234               "$ref": "#/definitions/SetStatus"
33235             },
33236             "Result": {
33237               "$ref": "#/definitions/ErrorResults"
33238             }
33239           }
33240         },
33241         "SetCharmURL": {
33242           "type": "object",
33243           "properties": {
33244             "Params": {
33245               "$ref": "#/definitions/EntitiesCharmURL"
33246             },
33247             "Result": {
33248               "$ref": "#/definitions/ErrorResults"
33249             }
33250           }
33251         },
33252         "SetPodSpec": {
33253           "type": "object",
33254           "properties": {
33255             "Params": {
33256               "$ref": "#/definitions/SetPodSpecParams"
33257             },
33258             "Result": {
33259               "$ref": "#/definitions/ErrorResults"
33260             }
33261           }
33262         },
33263         "SetRelationStatus": {
33264           "type": "object",
33265           "properties": {
33266             "Params": {
33267               "$ref": "#/definitions/RelationStatusArgs"
33268             },
33269             "Result": {
33270               "$ref": "#/definitions/ErrorResults"
33271             }
33272           }
33273         },
33274         "SetStatus": {
33275           "type": "object",
33276           "properties": {
33277             "Params": {
33278               "$ref": "#/definitions/SetStatus"
33279             },
33280             "Result": {
33281               "$ref": "#/definitions/ErrorResults"
33282             }
33283           }
33284         },
33285         "SetUnitStatus": {
33286           "type": "object",
33287           "properties": {
33288             "Params": {
33289               "$ref": "#/definitions/SetStatus"
33290             },
33291             "Result": {
33292               "$ref": "#/definitions/ErrorResults"
33293             }
33294           }
33295         },
33296         "SetUpgradeSeriesUnitStatus": {
33297           "type": "object",
33298           "properties": {
33299             "Params": {
33300               "$ref": "#/definitions/UpgradeSeriesStatusParams"
33301             },
33302             "Result": {
33303               "$ref": "#/definitions/ErrorResults"
33304             }
33305           }
33306         },
33307         "SetWorkloadVersion": {
33308           "type": "object",
33309           "properties": {
33310             "Params": {
33311               "$ref": "#/definitions/EntityWorkloadVersions"
33312             },
33313             "Result": {
33314               "$ref": "#/definitions/ErrorResults"
33315             }
33316           }
33317         },
33318         "StorageAttachmentLife": {
33319           "type": "object",
33320           "properties": {
33321             "Params": {
33322               "$ref": "#/definitions/StorageAttachmentIds"
33323             },
33324             "Result": {
33325               "$ref": "#/definitions/LifeResults"
33326             }
33327           }
33328         },
33329         "StorageAttachments": {
33330           "type": "object",
33331           "properties": {
33332             "Params": {
33333               "$ref": "#/definitions/StorageAttachmentIds"
33334             },
33335             "Result": {
33336               "$ref": "#/definitions/StorageAttachmentResults"
33337             }
33338           }
33339         },
33340         "UnitStatus": {
33341           "type": "object",
33342           "properties": {
33343             "Params": {
33344               "$ref": "#/definitions/Entities"
33345             },
33346             "Result": {
33347               "$ref": "#/definitions/StatusResults"
33348             }
33349           }
33350         },
33351         "UnitStorageAttachments": {
33352           "type": "object",
33353           "properties": {
33354             "Params": {
33355               "$ref": "#/definitions/Entities"
33356             },
33357             "Result": {
33358               "$ref": "#/definitions/StorageAttachmentIdsResults"
33359             }
33360           }
33361         },
33362         "UpdateSettings": {
33363           "type": "object",
33364           "properties": {
33365             "Params": {
33366               "$ref": "#/definitions/RelationUnitsSettings"
33367             },
33368             "Result": {
33369               "$ref": "#/definitions/ErrorResults"
33370             }
33371           }
33372         },
33373         "UpgradeSeriesUnitStatus": {
33374           "type": "object",
33375           "properties": {
33376             "Params": {
33377               "$ref": "#/definitions/Entities"
33378             },
33379             "Result": {
33380               "$ref": "#/definitions/UpgradeSeriesStatusResults"
33381             }
33382           }
33383         },
33384         "Watch": {
33385           "type": "object",
33386           "properties": {
33387             "Params": {
33388               "$ref": "#/definitions/Entities"
33389             },
33390             "Result": {
33391               "$ref": "#/definitions/NotifyWatchResults"
33392             }
33393           }
33394         },
33395         "WatchAPIHostPorts": {
33396           "type": "object",
33397           "properties": {
33398             "Result": {
33399               "$ref": "#/definitions/NotifyWatchResult"
33400             }
33401           }
33402         },
33403         "WatchActionNotifications": {
33404           "type": "object",
33405           "properties": {
33406             "Params": {
33407               "$ref": "#/definitions/Entities"
33408             },
33409             "Result": {
33410               "$ref": "#/definitions/StringsWatchResults"
33411             }
33412           }
33413         },
33414         "WatchConfigSettingsHash": {
33415           "type": "object",
33416           "properties": {
33417             "Params": {
33418               "$ref": "#/definitions/Entities"
33419             },
33420             "Result": {
33421               "$ref": "#/definitions/StringsWatchResults"
33422             }
33423           }
33424         },
33425         "WatchForModelConfigChanges": {
33426           "type": "object",
33427           "properties": {
33428             "Result": {
33429               "$ref": "#/definitions/NotifyWatchResult"
33430             }
33431           }
33432         },
33433         "WatchLeadershipSettings": {
33434           "type": "object",
33435           "properties": {
33436             "Params": {
33437               "$ref": "#/definitions/Entities"
33438             },
33439             "Result": {
33440               "$ref": "#/definitions/NotifyWatchResults"
33441             }
33442           }
33443         },
33444         "WatchMeterStatus": {
33445           "type": "object",
33446           "properties": {
33447             "Params": {
33448               "$ref": "#/definitions/Entities"
33449             },
33450             "Result": {
33451               "$ref": "#/definitions/NotifyWatchResults"
33452             }
33453           }
33454         },
33455         "WatchRelationUnits": {
33456           "type": "object",
33457           "properties": {
33458             "Params": {
33459               "$ref": "#/definitions/RelationUnits"
33460             },
33461             "Result": {
33462               "$ref": "#/definitions/RelationUnitsWatchResults"
33463             }
33464           }
33465         },
33466         "WatchStorageAttachments": {
33467           "type": "object",
33468           "properties": {
33469             "Params": {
33470               "$ref": "#/definitions/StorageAttachmentIds"
33471             },
33472             "Result": {
33473               "$ref": "#/definitions/NotifyWatchResults"
33474             }
33475           }
33476         },
33477         "WatchTrustConfigSettingsHash": {
33478           "type": "object",
33479           "properties": {
33480             "Params": {
33481               "$ref": "#/definitions/Entities"
33482             },
33483             "Result": {
33484               "$ref": "#/definitions/StringsWatchResults"
33485             }
33486           }
33487         },
33488         "WatchUnitAddressesHash": {
33489           "type": "object",
33490           "properties": {
33491             "Params": {
33492               "$ref": "#/definitions/Entities"
33493             },
33494             "Result": {
33495               "$ref": "#/definitions/StringsWatchResults"
33496             }
33497           }
33498         },
33499         "WatchUnitRelations": {
33500           "type": "object",
33501           "properties": {
33502             "Params": {
33503               "$ref": "#/definitions/Entities"
33504             },
33505             "Result": {
33506               "$ref": "#/definitions/StringsWatchResults"
33507             }
33508           }
33509         },
33510         "WatchUnitStorageAttachments": {
33511           "type": "object",
33512           "properties": {
33513             "Params": {
33514               "$ref": "#/definitions/Entities"
33515             },
33516             "Result": {
33517               "$ref": "#/definitions/StringsWatchResults"
33518             }
33519           }
33520         },
33521         "WatchUpgradeSeriesNotifications": {
33522           "type": "object",
33523           "properties": {
33524             "Params": {
33525               "$ref": "#/definitions/Entities"
33526             },
33527             "Result": {
33528               "$ref": "#/definitions/NotifyWatchResults"
33529             }
33530           }
33531         },
33532         "WorkloadVersion": {
33533           "type": "object",
33534           "properties": {
33535             "Params": {
33536               "$ref": "#/definitions/Entities"
33537             },
33538             "Result": {
33539               "$ref": "#/definitions/StringResults"
33540             }
33541           }
33542         }
33543       },
33544       "definitions": {
33545         "APIHostPortsResult": {
33546           "type": "object",
33547           "properties": {
33548             "servers": {
33549               "type": "array",
33550               "items": {
33551                 "type": "array",
33552                 "items": {
33553                   "$ref": "#/definitions/HostPort"
33554                 }
33555               }
33556             }
33557           },
33558           "additionalProperties": false,
33559           "required": [
33560             "servers"
33561           ]
33562         },
33563         "Action": {
33564           "type": "object",
33565           "properties": {
33566             "name": {
33567               "type": "string"
33568             },
33569             "parameters": {
33570               "type": "object",
33571               "patternProperties": {
33572                 ".*": {
33573                   "type": "object",
33574                   "additionalProperties": true
33575                 }
33576               }
33577             },
33578             "receiver": {
33579               "type": "string"
33580             },
33581             "tag": {
33582               "type": "string"
33583             }
33584           },
33585           "additionalProperties": false,
33586           "required": [
33587             "tag",
33588             "receiver",
33589             "name"
33590           ]
33591         },
33592         "ActionExecutionResult": {
33593           "type": "object",
33594           "properties": {
33595             "action-tag": {
33596               "type": "string"
33597             },
33598             "message": {
33599               "type": "string"
33600             },
33601             "results": {
33602               "type": "object",
33603               "patternProperties": {
33604                 ".*": {
33605                   "type": "object",
33606                   "additionalProperties": true
33607                 }
33608               }
33609             },
33610             "status": {
33611               "type": "string"
33612             }
33613           },
33614           "additionalProperties": false,
33615           "required": [
33616             "action-tag",
33617             "status"
33618           ]
33619         },
33620         "ActionExecutionResults": {
33621           "type": "object",
33622           "properties": {
33623             "results": {
33624               "type": "array",
33625               "items": {
33626                 "$ref": "#/definitions/ActionExecutionResult"
33627               }
33628             }
33629           },
33630           "additionalProperties": false
33631         },
33632         "ActionResult": {
33633           "type": "object",
33634           "properties": {
33635             "action": {
33636               "$ref": "#/definitions/Action"
33637             },
33638             "completed": {
33639               "type": "string",
33640               "format": "date-time"
33641             },
33642             "enqueued": {
33643               "type": "string",
33644               "format": "date-time"
33645             },
33646             "error": {
33647               "$ref": "#/definitions/Error"
33648             },
33649             "message": {
33650               "type": "string"
33651             },
33652             "output": {
33653               "type": "object",
33654               "patternProperties": {
33655                 ".*": {
33656                   "type": "object",
33657                   "additionalProperties": true
33658                 }
33659               }
33660             },
33661             "started": {
33662               "type": "string",
33663               "format": "date-time"
33664             },
33665             "status": {
33666               "type": "string"
33667             }
33668           },
33669           "additionalProperties": false
33670         },
33671         "ActionResults": {
33672           "type": "object",
33673           "properties": {
33674             "results": {
33675               "type": "array",
33676               "items": {
33677                 "$ref": "#/definitions/ActionResult"
33678               }
33679             }
33680           },
33681           "additionalProperties": false
33682         },
33683         "Address": {
33684           "type": "object",
33685           "properties": {
33686             "scope": {
33687               "type": "string"
33688             },
33689             "space-name": {
33690               "type": "string"
33691             },
33692             "type": {
33693               "type": "string"
33694             },
33695             "value": {
33696               "type": "string"
33697             }
33698           },
33699           "additionalProperties": false,
33700           "required": [
33701             "value",
33702             "type",
33703             "scope"
33704           ]
33705         },
33706         "ApplicationStatusResult": {
33707           "type": "object",
33708           "properties": {
33709             "application": {
33710               "$ref": "#/definitions/StatusResult"
33711             },
33712             "error": {
33713               "$ref": "#/definitions/Error"
33714             },
33715             "units": {
33716               "type": "object",
33717               "patternProperties": {
33718                 ".*": {
33719                   "$ref": "#/definitions/StatusResult"
33720                 }
33721               }
33722             }
33723           },
33724           "additionalProperties": false,
33725           "required": [
33726             "application",
33727             "units"
33728           ]
33729         },
33730         "ApplicationStatusResults": {
33731           "type": "object",
33732           "properties": {
33733             "results": {
33734               "type": "array",
33735               "items": {
33736                 "$ref": "#/definitions/ApplicationStatusResult"
33737               }
33738             }
33739           },
33740           "additionalProperties": false,
33741           "required": [
33742             "results"
33743           ]
33744         },
33745         "BoolResult": {
33746           "type": "object",
33747           "properties": {
33748             "error": {
33749               "$ref": "#/definitions/Error"
33750             },
33751             "result": {
33752               "type": "boolean"
33753             }
33754           },
33755           "additionalProperties": false,
33756           "required": [
33757             "result"
33758           ]
33759         },
33760         "BoolResults": {
33761           "type": "object",
33762           "properties": {
33763             "results": {
33764               "type": "array",
33765               "items": {
33766                 "$ref": "#/definitions/BoolResult"
33767               }
33768             }
33769           },
33770           "additionalProperties": false,
33771           "required": [
33772             "results"
33773           ]
33774         },
33775         "CharmRelation": {
33776           "type": "object",
33777           "properties": {
33778             "interface": {
33779               "type": "string"
33780             },
33781             "limit": {
33782               "type": "integer"
33783             },
33784             "name": {
33785               "type": "string"
33786             },
33787             "optional": {
33788               "type": "boolean"
33789             },
33790             "role": {
33791               "type": "string"
33792             },
33793             "scope": {
33794               "type": "string"
33795             }
33796           },
33797           "additionalProperties": false,
33798           "required": [
33799             "name",
33800             "role",
33801             "interface",
33802             "optional",
33803             "limit",
33804             "scope"
33805           ]
33806         },
33807         "CharmURL": {
33808           "type": "object",
33809           "properties": {
33810             "url": {
33811               "type": "string"
33812             }
33813           },
33814           "additionalProperties": false,
33815           "required": [
33816             "url"
33817           ]
33818         },
33819         "CharmURLs": {
33820           "type": "object",
33821           "properties": {
33822             "urls": {
33823               "type": "array",
33824               "items": {
33825                 "$ref": "#/definitions/CharmURL"
33826               }
33827             }
33828           },
33829           "additionalProperties": false,
33830           "required": [
33831             "urls"
33832           ]
33833         },
33834         "CloudCredential": {
33835           "type": "object",
33836           "properties": {
33837             "attrs": {
33838               "type": "object",
33839               "patternProperties": {
33840                 ".*": {
33841                   "type": "string"
33842                 }
33843               }
33844             },
33845             "auth-type": {
33846               "type": "string"
33847             },
33848             "redacted": {
33849               "type": "array",
33850               "items": {
33851                 "type": "string"
33852               }
33853             }
33854           },
33855           "additionalProperties": false,
33856           "required": [
33857             "auth-type"
33858           ]
33859         },
33860         "CloudSpec": {
33861           "type": "object",
33862           "properties": {
33863             "cacertificates": {
33864               "type": "array",
33865               "items": {
33866                 "type": "string"
33867               }
33868             },
33869             "credential": {
33870               "$ref": "#/definitions/CloudCredential"
33871             },
33872             "endpoint": {
33873               "type": "string"
33874             },
33875             "identity-endpoint": {
33876               "type": "string"
33877             },
33878             "name": {
33879               "type": "string"
33880             },
33881             "region": {
33882               "type": "string"
33883             },
33884             "storage-endpoint": {
33885               "type": "string"
33886             },
33887             "type": {
33888               "type": "string"
33889             }
33890           },
33891           "additionalProperties": false,
33892           "required": [
33893             "type",
33894             "name"
33895           ]
33896         },
33897         "CloudSpecResult": {
33898           "type": "object",
33899           "properties": {
33900             "error": {
33901               "$ref": "#/definitions/Error"
33902             },
33903             "result": {
33904               "$ref": "#/definitions/CloudSpec"
33905             }
33906           },
33907           "additionalProperties": false
33908         },
33909         "ConfigSettingsResult": {
33910           "type": "object",
33911           "properties": {
33912             "error": {
33913               "$ref": "#/definitions/Error"
33914             },
33915             "settings": {
33916               "type": "object",
33917               "patternProperties": {
33918                 ".*": {
33919                   "type": "object",
33920                   "additionalProperties": true
33921                 }
33922               }
33923             }
33924           },
33925           "additionalProperties": false,
33926           "required": [
33927             "settings"
33928           ]
33929         },
33930         "ConfigSettingsResults": {
33931           "type": "object",
33932           "properties": {
33933             "results": {
33934               "type": "array",
33935               "items": {
33936                 "$ref": "#/definitions/ConfigSettingsResult"
33937               }
33938             }
33939           },
33940           "additionalProperties": false,
33941           "required": [
33942             "results"
33943           ]
33944         },
33945         "Endpoint": {
33946           "type": "object",
33947           "properties": {
33948             "application-name": {
33949               "type": "string"
33950             },
33951             "relation": {
33952               "$ref": "#/definitions/CharmRelation"
33953             }
33954           },
33955           "additionalProperties": false,
33956           "required": [
33957             "application-name",
33958             "relation"
33959           ]
33960         },
33961         "Entities": {
33962           "type": "object",
33963           "properties": {
33964             "entities": {
33965               "type": "array",
33966               "items": {
33967                 "$ref": "#/definitions/Entity"
33968               }
33969             }
33970           },
33971           "additionalProperties": false,
33972           "required": [
33973             "entities"
33974           ]
33975         },
33976         "EntitiesCharmURL": {
33977           "type": "object",
33978           "properties": {
33979             "entities": {
33980               "type": "array",
33981               "items": {
33982                 "$ref": "#/definitions/EntityCharmURL"
33983               }
33984             }
33985           },
33986           "additionalProperties": false,
33987           "required": [
33988             "entities"
33989           ]
33990         },
33991         "EntitiesPortRanges": {
33992           "type": "object",
33993           "properties": {
33994             "entities": {
33995               "type": "array",
33996               "items": {
33997                 "$ref": "#/definitions/EntityPortRange"
33998               }
33999             }
34000           },
34001           "additionalProperties": false,
34002           "required": [
34003             "entities"
34004           ]
34005         },
34006         "Entity": {
34007           "type": "object",
34008           "properties": {
34009             "tag": {
34010               "type": "string"
34011             }
34012           },
34013           "additionalProperties": false,
34014           "required": [
34015             "tag"
34016           ]
34017         },
34018         "EntityCharmURL": {
34019           "type": "object",
34020           "properties": {
34021             "charm-url": {
34022               "type": "string"
34023             },
34024             "tag": {
34025               "type": "string"
34026             }
34027           },
34028           "additionalProperties": false,
34029           "required": [
34030             "tag",
34031             "charm-url"
34032           ]
34033         },
34034         "EntityPortRange": {
34035           "type": "object",
34036           "properties": {
34037             "from-port": {
34038               "type": "integer"
34039             },
34040             "protocol": {
34041               "type": "string"
34042             },
34043             "tag": {
34044               "type": "string"
34045             },
34046             "to-port": {
34047               "type": "integer"
34048             }
34049           },
34050           "additionalProperties": false,
34051           "required": [
34052             "tag",
34053             "protocol",
34054             "from-port",
34055             "to-port"
34056           ]
34057         },
34058         "EntityStatusArgs": {
34059           "type": "object",
34060           "properties": {
34061             "data": {
34062               "type": "object",
34063               "patternProperties": {
34064                 ".*": {
34065                   "type": "object",
34066                   "additionalProperties": true
34067                 }
34068               }
34069             },
34070             "info": {
34071               "type": "string"
34072             },
34073             "status": {
34074               "type": "string"
34075             },
34076             "tag": {
34077               "type": "string"
34078             }
34079           },
34080           "additionalProperties": false,
34081           "required": [
34082             "tag",
34083             "status",
34084             "info",
34085             "data"
34086           ]
34087         },
34088         "EntityString": {
34089           "type": "object",
34090           "properties": {
34091             "tag": {
34092               "type": "string"
34093             },
34094             "value": {
34095               "type": "string"
34096             }
34097           },
34098           "additionalProperties": false,
34099           "required": [
34100             "tag",
34101             "value"
34102           ]
34103         },
34104         "EntityWorkloadVersion": {
34105           "type": "object",
34106           "properties": {
34107             "tag": {
34108               "type": "string"
34109             },
34110             "workload-version": {
34111               "type": "string"
34112             }
34113           },
34114           "additionalProperties": false,
34115           "required": [
34116             "tag",
34117             "workload-version"
34118           ]
34119         },
34120         "EntityWorkloadVersions": {
34121           "type": "object",
34122           "properties": {
34123             "entities": {
34124               "type": "array",
34125               "items": {
34126                 "$ref": "#/definitions/EntityWorkloadVersion"
34127               }
34128             }
34129           },
34130           "additionalProperties": false,
34131           "required": [
34132             "entities"
34133           ]
34134         },
34135         "Error": {
34136           "type": "object",
34137           "properties": {
34138             "code": {
34139               "type": "string"
34140             },
34141             "info": {
34142               "$ref": "#/definitions/ErrorInfo"
34143             },
34144             "message": {
34145               "type": "string"
34146             }
34147           },
34148           "additionalProperties": false,
34149           "required": [
34150             "message",
34151             "code"
34152           ]
34153         },
34154         "ErrorInfo": {
34155           "type": "object",
34156           "properties": {
34157             "macaroon": {
34158               "$ref": "#/definitions/Macaroon"
34159             },
34160             "macaroon-path": {
34161               "type": "string"
34162             }
34163           },
34164           "additionalProperties": false
34165         },
34166         "ErrorResult": {
34167           "type": "object",
34168           "properties": {
34169             "error": {
34170               "$ref": "#/definitions/Error"
34171             }
34172           },
34173           "additionalProperties": false
34174         },
34175         "ErrorResults": {
34176           "type": "object",
34177           "properties": {
34178             "results": {
34179               "type": "array",
34180               "items": {
34181                 "$ref": "#/definitions/ErrorResult"
34182               }
34183             }
34184           },
34185           "additionalProperties": false,
34186           "required": [
34187             "results"
34188           ]
34189         },
34190         "GetLeadershipSettingsBulkResults": {
34191           "type": "object",
34192           "properties": {
34193             "results": {
34194               "type": "array",
34195               "items": {
34196                 "$ref": "#/definitions/GetLeadershipSettingsResult"
34197               }
34198             }
34199           },
34200           "additionalProperties": false,
34201           "required": [
34202             "results"
34203           ]
34204         },
34205         "GetLeadershipSettingsResult": {
34206           "type": "object",
34207           "properties": {
34208             "error": {
34209               "$ref": "#/definitions/Error"
34210             },
34211             "settings": {
34212               "type": "object",
34213               "patternProperties": {
34214                 ".*": {
34215                   "type": "string"
34216                 }
34217               }
34218             }
34219           },
34220           "additionalProperties": false,
34221           "required": [
34222             "settings"
34223           ]
34224         },
34225         "GoalState": {
34226           "type": "object",
34227           "properties": {
34228             "relations": {
34229               "type": "object",
34230               "patternProperties": {
34231                 ".*": {
34232                   "type": "object",
34233                   "patternProperties": {
34234                     ".*": {
34235                       "$ref": "#/definitions/GoalStateStatus"
34236                     }
34237                   }
34238                 }
34239               }
34240             },
34241             "units": {
34242               "type": "object",
34243               "patternProperties": {
34244                 ".*": {
34245                   "$ref": "#/definitions/GoalStateStatus"
34246                 }
34247               }
34248             }
34249           },
34250           "additionalProperties": false,
34251           "required": [
34252             "units",
34253             "relations"
34254           ]
34255         },
34256         "GoalStateResult": {
34257           "type": "object",
34258           "properties": {
34259             "error": {
34260               "$ref": "#/definitions/Error"
34261             },
34262             "result": {
34263               "$ref": "#/definitions/GoalState"
34264             }
34265           },
34266           "additionalProperties": false,
34267           "required": [
34268             "result",
34269             "error"
34270           ]
34271         },
34272         "GoalStateResults": {
34273           "type": "object",
34274           "properties": {
34275             "results": {
34276               "type": "array",
34277               "items": {
34278                 "$ref": "#/definitions/GoalStateResult"
34279               }
34280             }
34281           },
34282           "additionalProperties": false,
34283           "required": [
34284             "results"
34285           ]
34286         },
34287         "GoalStateStatus": {
34288           "type": "object",
34289           "properties": {
34290             "since": {
34291               "type": "string",
34292               "format": "date-time"
34293             },
34294             "status": {
34295               "type": "string"
34296             }
34297           },
34298           "additionalProperties": false,
34299           "required": [
34300             "status",
34301             "since"
34302           ]
34303         },
34304         "HostPort": {
34305           "type": "object",
34306           "properties": {
34307             "Address": {
34308               "$ref": "#/definitions/Address"
34309             },
34310             "port": {
34311               "type": "integer"
34312             }
34313           },
34314           "additionalProperties": false,
34315           "required": [
34316             "Address",
34317             "port"
34318           ]
34319         },
34320         "IntResult": {
34321           "type": "object",
34322           "properties": {
34323             "error": {
34324               "$ref": "#/definitions/Error"
34325             },
34326             "result": {
34327               "type": "integer"
34328             }
34329           },
34330           "additionalProperties": false,
34331           "required": [
34332             "result"
34333           ]
34334         },
34335         "IntResults": {
34336           "type": "object",
34337           "properties": {
34338             "results": {
34339               "type": "array",
34340               "items": {
34341                 "$ref": "#/definitions/IntResult"
34342               }
34343             }
34344           },
34345           "additionalProperties": false,
34346           "required": [
34347             "results"
34348           ]
34349         },
34350         "InterfaceAddress": {
34351           "type": "object",
34352           "properties": {
34353             "cidr": {
34354               "type": "string"
34355             },
34356             "hostname": {
34357               "type": "string"
34358             },
34359             "value": {
34360               "type": "string"
34361             }
34362           },
34363           "additionalProperties": false,
34364           "required": [
34365             "hostname",
34366             "value",
34367             "cidr"
34368           ]
34369         },
34370         "LifeResult": {
34371           "type": "object",
34372           "properties": {
34373             "error": {
34374               "$ref": "#/definitions/Error"
34375             },
34376             "life": {
34377               "type": "string"
34378             }
34379           },
34380           "additionalProperties": false,
34381           "required": [
34382             "life"
34383           ]
34384         },
34385         "LifeResults": {
34386           "type": "object",
34387           "properties": {
34388             "results": {
34389               "type": "array",
34390               "items": {
34391                 "$ref": "#/definitions/LifeResult"
34392               }
34393             }
34394           },
34395           "additionalProperties": false,
34396           "required": [
34397             "results"
34398           ]
34399         },
34400         "Macaroon": {
34401           "type": "object",
34402           "additionalProperties": false
34403         },
34404         "MachinePortRange": {
34405           "type": "object",
34406           "properties": {
34407             "port-range": {
34408               "$ref": "#/definitions/PortRange"
34409             },
34410             "relation-tag": {
34411               "type": "string"
34412             },
34413             "unit-tag": {
34414               "type": "string"
34415             }
34416           },
34417           "additionalProperties": false,
34418           "required": [
34419             "unit-tag",
34420             "relation-tag",
34421             "port-range"
34422           ]
34423         },
34424         "MachinePortsResult": {
34425           "type": "object",
34426           "properties": {
34427             "error": {
34428               "$ref": "#/definitions/Error"
34429             },
34430             "ports": {
34431               "type": "array",
34432               "items": {
34433                 "$ref": "#/definitions/MachinePortRange"
34434               }
34435             }
34436           },
34437           "additionalProperties": false,
34438           "required": [
34439             "ports"
34440           ]
34441         },
34442         "MachinePortsResults": {
34443           "type": "object",
34444           "properties": {
34445             "results": {
34446               "type": "array",
34447               "items": {
34448                 "$ref": "#/definitions/MachinePortsResult"
34449               }
34450             }
34451           },
34452           "additionalProperties": false,
34453           "required": [
34454             "results"
34455           ]
34456         },
34457         "MergeLeadershipSettingsBulkParams": {
34458           "type": "object",
34459           "properties": {
34460             "params": {
34461               "type": "array",
34462               "items": {
34463                 "$ref": "#/definitions/MergeLeadershipSettingsParam"
34464               }
34465             }
34466           },
34467           "additionalProperties": false,
34468           "required": [
34469             "params"
34470           ]
34471         },
34472         "MergeLeadershipSettingsParam": {
34473           "type": "object",
34474           "properties": {
34475             "application-tag": {
34476               "type": "string"
34477             },
34478             "settings": {
34479               "type": "object",
34480               "patternProperties": {
34481                 ".*": {
34482                   "type": "string"
34483                 }
34484               }
34485             },
34486             "unit-tag": {
34487               "type": "string"
34488             }
34489           },
34490           "additionalProperties": false,
34491           "required": [
34492             "settings"
34493           ]
34494         },
34495         "MeterStatusResult": {
34496           "type": "object",
34497           "properties": {
34498             "code": {
34499               "type": "string"
34500             },
34501             "error": {
34502               "$ref": "#/definitions/Error"
34503             },
34504             "info": {
34505               "type": "string"
34506             }
34507           },
34508           "additionalProperties": false,
34509           "required": [
34510             "code",
34511             "info"
34512           ]
34513         },
34514         "MeterStatusResults": {
34515           "type": "object",
34516           "properties": {
34517             "results": {
34518               "type": "array",
34519               "items": {
34520                 "$ref": "#/definitions/MeterStatusResult"
34521               }
34522             }
34523           },
34524           "additionalProperties": false,
34525           "required": [
34526             "results"
34527           ]
34528         },
34529         "Metric": {
34530           "type": "object",
34531           "properties": {
34532             "key": {
34533               "type": "string"
34534             },
34535             "labels": {
34536               "type": "object",
34537               "patternProperties": {
34538                 ".*": {
34539                   "type": "string"
34540                 }
34541               }
34542             },
34543             "time": {
34544               "type": "string",
34545               "format": "date-time"
34546             },
34547             "value": {
34548               "type": "string"
34549             }
34550           },
34551           "additionalProperties": false,
34552           "required": [
34553             "key",
34554             "value",
34555             "time"
34556           ]
34557         },
34558         "MetricBatch": {
34559           "type": "object",
34560           "properties": {
34561             "charm-url": {
34562               "type": "string"
34563             },
34564             "created": {
34565               "type": "string",
34566               "format": "date-time"
34567             },
34568             "metrics": {
34569               "type": "array",
34570               "items": {
34571                 "$ref": "#/definitions/Metric"
34572               }
34573             },
34574             "uuid": {
34575               "type": "string"
34576             }
34577           },
34578           "additionalProperties": false,
34579           "required": [
34580             "uuid",
34581             "charm-url",
34582             "created",
34583             "metrics"
34584           ]
34585         },
34586         "MetricBatchParam": {
34587           "type": "object",
34588           "properties": {
34589             "batch": {
34590               "$ref": "#/definitions/MetricBatch"
34591             },
34592             "tag": {
34593               "type": "string"
34594             }
34595           },
34596           "additionalProperties": false,
34597           "required": [
34598             "tag",
34599             "batch"
34600           ]
34601         },
34602         "MetricBatchParams": {
34603           "type": "object",
34604           "properties": {
34605             "batches": {
34606               "type": "array",
34607               "items": {
34608                 "$ref": "#/definitions/MetricBatchParam"
34609               }
34610             }
34611           },
34612           "additionalProperties": false,
34613           "required": [
34614             "batches"
34615           ]
34616         },
34617         "ModelConfigResult": {
34618           "type": "object",
34619           "properties": {
34620             "config": {
34621               "type": "object",
34622               "patternProperties": {
34623                 ".*": {
34624                   "type": "object",
34625                   "additionalProperties": true
34626                 }
34627               }
34628             }
34629           },
34630           "additionalProperties": false,
34631           "required": [
34632             "config"
34633           ]
34634         },
34635         "ModelResult": {
34636           "type": "object",
34637           "properties": {
34638             "error": {
34639               "$ref": "#/definitions/Error"
34640             },
34641             "name": {
34642               "type": "string"
34643             },
34644             "type": {
34645               "type": "string"
34646             },
34647             "uuid": {
34648               "type": "string"
34649             }
34650           },
34651           "additionalProperties": false,
34652           "required": [
34653             "name",
34654             "uuid",
34655             "type"
34656           ]
34657         },
34658         "NetworkInfo": {
34659           "type": "object",
34660           "properties": {
34661             "addresses": {
34662               "type": "array",
34663               "items": {
34664                 "$ref": "#/definitions/InterfaceAddress"
34665               }
34666             },
34667             "interface-name": {
34668               "type": "string"
34669             },
34670             "mac-address": {
34671               "type": "string"
34672             }
34673           },
34674           "additionalProperties": false,
34675           "required": [
34676             "mac-address",
34677             "interface-name",
34678             "addresses"
34679           ]
34680         },
34681         "NetworkInfoParams": {
34682           "type": "object",
34683           "properties": {
34684             "bindings": {
34685               "type": "array",
34686               "items": {
34687                 "type": "string"
34688               }
34689             },
34690             "relation-id": {
34691               "type": "integer"
34692             },
34693             "unit": {
34694               "type": "string"
34695             }
34696           },
34697           "additionalProperties": false,
34698           "required": [
34699             "unit",
34700             "bindings"
34701           ]
34702         },
34703         "NetworkInfoResult": {
34704           "type": "object",
34705           "properties": {
34706             "bind-addresses": {
34707               "type": "array",
34708               "items": {
34709                 "$ref": "#/definitions/NetworkInfo"
34710               }
34711             },
34712             "egress-subnets": {
34713               "type": "array",
34714               "items": {
34715                 "type": "string"
34716               }
34717             },
34718             "error": {
34719               "$ref": "#/definitions/Error"
34720             },
34721             "ingress-addresses": {
34722               "type": "array",
34723               "items": {
34724                 "type": "string"
34725               }
34726             }
34727           },
34728           "additionalProperties": false
34729         },
34730         "NetworkInfoResults": {
34731           "type": "object",
34732           "properties": {
34733             "results": {
34734               "type": "object",
34735               "patternProperties": {
34736                 ".*": {
34737                   "$ref": "#/definitions/NetworkInfoResult"
34738                 }
34739               }
34740             }
34741           },
34742           "additionalProperties": false,
34743           "required": [
34744             "results"
34745           ]
34746         },
34747         "NotifyWatchResult": {
34748           "type": "object",
34749           "properties": {
34750             "NotifyWatcherId": {
34751               "type": "string"
34752             },
34753             "error": {
34754               "$ref": "#/definitions/Error"
34755             }
34756           },
34757           "additionalProperties": false,
34758           "required": [
34759             "NotifyWatcherId"
34760           ]
34761         },
34762         "NotifyWatchResults": {
34763           "type": "object",
34764           "properties": {
34765             "results": {
34766               "type": "array",
34767               "items": {
34768                 "$ref": "#/definitions/NotifyWatchResult"
34769               }
34770             }
34771           },
34772           "additionalProperties": false,
34773           "required": [
34774             "results"
34775           ]
34776         },
34777         "PortRange": {
34778           "type": "object",
34779           "properties": {
34780             "from-port": {
34781               "type": "integer"
34782             },
34783             "protocol": {
34784               "type": "string"
34785             },
34786             "to-port": {
34787               "type": "integer"
34788             }
34789           },
34790           "additionalProperties": false,
34791           "required": [
34792             "from-port",
34793             "to-port",
34794             "protocol"
34795           ]
34796         },
34797         "RelationIds": {
34798           "type": "object",
34799           "properties": {
34800             "relation-ids": {
34801               "type": "array",
34802               "items": {
34803                 "type": "integer"
34804               }
34805             }
34806           },
34807           "additionalProperties": false,
34808           "required": [
34809             "relation-ids"
34810           ]
34811         },
34812         "RelationResult": {
34813           "type": "object",
34814           "properties": {
34815             "bool": {
34816               "type": "boolean"
34817             },
34818             "endpoint": {
34819               "$ref": "#/definitions/Endpoint"
34820             },
34821             "error": {
34822               "$ref": "#/definitions/Error"
34823             },
34824             "id": {
34825               "type": "integer"
34826             },
34827             "key": {
34828               "type": "string"
34829             },
34830             "life": {
34831               "type": "string"
34832             },
34833             "other-application": {
34834               "type": "string"
34835             }
34836           },
34837           "additionalProperties": false,
34838           "required": [
34839             "life",
34840             "id",
34841             "key",
34842             "endpoint"
34843           ]
34844         },
34845         "RelationResults": {
34846           "type": "object",
34847           "properties": {
34848             "results": {
34849               "type": "array",
34850               "items": {
34851                 "$ref": "#/definitions/RelationResult"
34852               }
34853             }
34854           },
34855           "additionalProperties": false,
34856           "required": [
34857             "results"
34858           ]
34859         },
34860         "RelationStatusArg": {
34861           "type": "object",
34862           "properties": {
34863             "message": {
34864               "type": "string"
34865             },
34866             "relation-id": {
34867               "type": "integer"
34868             },
34869             "status": {
34870               "type": "string"
34871             },
34872             "unit-tag": {
34873               "type": "string"
34874             }
34875           },
34876           "additionalProperties": false,
34877           "required": [
34878             "unit-tag",
34879             "relation-id",
34880             "status",
34881             "message"
34882           ]
34883         },
34884         "RelationStatusArgs": {
34885           "type": "object",
34886           "properties": {
34887             "args": {
34888               "type": "array",
34889               "items": {
34890                 "$ref": "#/definitions/RelationStatusArg"
34891               }
34892             }
34893           },
34894           "additionalProperties": false,
34895           "required": [
34896             "args"
34897           ]
34898         },
34899         "RelationUnit": {
34900           "type": "object",
34901           "properties": {
34902             "relation": {
34903               "type": "string"
34904             },
34905             "unit": {
34906               "type": "string"
34907             }
34908           },
34909           "additionalProperties": false,
34910           "required": [
34911             "relation",
34912             "unit"
34913           ]
34914         },
34915         "RelationUnitPair": {
34916           "type": "object",
34917           "properties": {
34918             "local-unit": {
34919               "type": "string"
34920             },
34921             "relation": {
34922               "type": "string"
34923             },
34924             "remote-unit": {
34925               "type": "string"
34926             }
34927           },
34928           "additionalProperties": false,
34929           "required": [
34930             "relation",
34931             "local-unit",
34932             "remote-unit"
34933           ]
34934         },
34935         "RelationUnitPairs": {
34936           "type": "object",
34937           "properties": {
34938             "relation-unit-pairs": {
34939               "type": "array",
34940               "items": {
34941                 "$ref": "#/definitions/RelationUnitPair"
34942               }
34943             }
34944           },
34945           "additionalProperties": false,
34946           "required": [
34947             "relation-unit-pairs"
34948           ]
34949         },
34950         "RelationUnitSettings": {
34951           "type": "object",
34952           "properties": {
34953             "relation": {
34954               "type": "string"
34955             },
34956             "settings": {
34957               "type": "object",
34958               "patternProperties": {
34959                 ".*": {
34960                   "type": "string"
34961                 }
34962               }
34963             },
34964             "unit": {
34965               "type": "string"
34966             }
34967           },
34968           "additionalProperties": false,
34969           "required": [
34970             "relation",
34971             "unit",
34972             "settings"
34973           ]
34974         },
34975         "RelationUnitStatus": {
34976           "type": "object",
34977           "properties": {
34978             "in-scope": {
34979               "type": "boolean"
34980             },
34981             "relation-tag": {
34982               "type": "string"
34983             },
34984             "suspended": {
34985               "type": "boolean"
34986             }
34987           },
34988           "additionalProperties": false,
34989           "required": [
34990             "relation-tag",
34991             "in-scope",
34992             "suspended"
34993           ]
34994         },
34995         "RelationUnitStatusResult": {
34996           "type": "object",
34997           "properties": {
34998             "error": {
34999               "$ref": "#/definitions/Error"
35000             },
35001             "results": {
35002               "type": "array",
35003               "items": {
35004                 "$ref": "#/definitions/RelationUnitStatus"
35005               }
35006             }
35007           },
35008           "additionalProperties": false,
35009           "required": [
35010             "results"
35011           ]
35012         },
35013         "RelationUnitStatusResults": {
35014           "type": "object",
35015           "properties": {
35016             "results": {
35017               "type": "array",
35018               "items": {
35019                 "$ref": "#/definitions/RelationUnitStatusResult"
35020               }
35021             }
35022           },
35023           "additionalProperties": false,
35024           "required": [
35025             "results"
35026           ]
35027         },
35028         "RelationUnits": {
35029           "type": "object",
35030           "properties": {
35031             "relation-units": {
35032               "type": "array",
35033               "items": {
35034                 "$ref": "#/definitions/RelationUnit"
35035               }
35036             }
35037           },
35038           "additionalProperties": false,
35039           "required": [
35040             "relation-units"
35041           ]
35042         },
35043         "RelationUnitsChange": {
35044           "type": "object",
35045           "properties": {
35046             "changed": {
35047               "type": "object",
35048               "patternProperties": {
35049                 ".*": {
35050                   "$ref": "#/definitions/UnitSettings"
35051                 }
35052               }
35053             },
35054             "departed": {
35055               "type": "array",
35056               "items": {
35057                 "type": "string"
35058               }
35059             }
35060           },
35061           "additionalProperties": false,
35062           "required": [
35063             "changed"
35064           ]
35065         },
35066         "RelationUnitsSettings": {
35067           "type": "object",
35068           "properties": {
35069             "relation-units": {
35070               "type": "array",
35071               "items": {
35072                 "$ref": "#/definitions/RelationUnitSettings"
35073               }
35074             }
35075           },
35076           "additionalProperties": false,
35077           "required": [
35078             "relation-units"
35079           ]
35080         },
35081         "RelationUnitsWatchResult": {
35082           "type": "object",
35083           "properties": {
35084             "changes": {
35085               "$ref": "#/definitions/RelationUnitsChange"
35086             },
35087             "error": {
35088               "$ref": "#/definitions/Error"
35089             },
35090             "watcher-id": {
35091               "type": "string"
35092             }
35093           },
35094           "additionalProperties": false,
35095           "required": [
35096             "watcher-id",
35097             "changes"
35098           ]
35099         },
35100         "RelationUnitsWatchResults": {
35101           "type": "object",
35102           "properties": {
35103             "results": {
35104               "type": "array",
35105               "items": {
35106                 "$ref": "#/definitions/RelationUnitsWatchResult"
35107               }
35108             }
35109           },
35110           "additionalProperties": false,
35111           "required": [
35112             "results"
35113           ]
35114         },
35115         "ResolvedModeResult": {
35116           "type": "object",
35117           "properties": {
35118             "error": {
35119               "$ref": "#/definitions/Error"
35120             },
35121             "mode": {
35122               "type": "string"
35123             }
35124           },
35125           "additionalProperties": false,
35126           "required": [
35127             "mode"
35128           ]
35129         },
35130         "ResolvedModeResults": {
35131           "type": "object",
35132           "properties": {
35133             "results": {
35134               "type": "array",
35135               "items": {
35136                 "$ref": "#/definitions/ResolvedModeResult"
35137               }
35138             }
35139           },
35140           "additionalProperties": false,
35141           "required": [
35142             "results"
35143           ]
35144         },
35145         "SetPodSpecParams": {
35146           "type": "object",
35147           "properties": {
35148             "specs": {
35149               "type": "array",
35150               "items": {
35151                 "$ref": "#/definitions/EntityString"
35152               }
35153             }
35154           },
35155           "additionalProperties": false,
35156           "required": [
35157             "specs"
35158           ]
35159         },
35160         "SetStatus": {
35161           "type": "object",
35162           "properties": {
35163             "entities": {
35164               "type": "array",
35165               "items": {
35166                 "$ref": "#/definitions/EntityStatusArgs"
35167               }
35168             }
35169           },
35170           "additionalProperties": false,
35171           "required": [
35172             "entities"
35173           ]
35174         },
35175         "SettingsResult": {
35176           "type": "object",
35177           "properties": {
35178             "error": {
35179               "$ref": "#/definitions/Error"
35180             },
35181             "settings": {
35182               "type": "object",
35183               "patternProperties": {
35184                 ".*": {
35185                   "type": "string"
35186                 }
35187               }
35188             }
35189           },
35190           "additionalProperties": false,
35191           "required": [
35192             "settings"
35193           ]
35194         },
35195         "SettingsResults": {
35196           "type": "object",
35197           "properties": {
35198             "results": {
35199               "type": "array",
35200               "items": {
35201                 "$ref": "#/definitions/SettingsResult"
35202               }
35203             }
35204           },
35205           "additionalProperties": false,
35206           "required": [
35207             "results"
35208           ]
35209         },
35210         "StatusResult": {
35211           "type": "object",
35212           "properties": {
35213             "data": {
35214               "type": "object",
35215               "patternProperties": {
35216                 ".*": {
35217                   "type": "object",
35218                   "additionalProperties": true
35219                 }
35220               }
35221             },
35222             "error": {
35223               "$ref": "#/definitions/Error"
35224             },
35225             "id": {
35226               "type": "string"
35227             },
35228             "info": {
35229               "type": "string"
35230             },
35231             "life": {
35232               "type": "string"
35233             },
35234             "since": {
35235               "type": "string",
35236               "format": "date-time"
35237             },
35238             "status": {
35239               "type": "string"
35240             }
35241           },
35242           "additionalProperties": false,
35243           "required": [
35244             "id",
35245             "life",
35246             "status",
35247             "info",
35248             "data",
35249             "since"
35250           ]
35251         },
35252         "StatusResults": {
35253           "type": "object",
35254           "properties": {
35255             "results": {
35256               "type": "array",
35257               "items": {
35258                 "$ref": "#/definitions/StatusResult"
35259               }
35260             }
35261           },
35262           "additionalProperties": false,
35263           "required": [
35264             "results"
35265           ]
35266         },
35267         "StorageAddParams": {
35268           "type": "object",
35269           "properties": {
35270             "name": {
35271               "type": "string"
35272             },
35273             "storage": {
35274               "$ref": "#/definitions/StorageConstraints"
35275             },
35276             "unit": {
35277               "type": "string"
35278             }
35279           },
35280           "additionalProperties": false,
35281           "required": [
35282             "unit",
35283             "name",
35284             "storage"
35285           ]
35286         },
35287         "StorageAttachment": {
35288           "type": "object",
35289           "properties": {
35290             "kind": {
35291               "type": "integer"
35292             },
35293             "life": {
35294               "type": "string"
35295             },
35296             "location": {
35297               "type": "string"
35298             },
35299             "owner-tag": {
35300               "type": "string"
35301             },
35302             "storage-tag": {
35303               "type": "string"
35304             },
35305             "unit-tag": {
35306               "type": "string"
35307             }
35308           },
35309           "additionalProperties": false,
35310           "required": [
35311             "storage-tag",
35312             "owner-tag",
35313             "unit-tag",
35314             "kind",
35315             "location",
35316             "life"
35317           ]
35318         },
35319         "StorageAttachmentId": {
35320           "type": "object",
35321           "properties": {
35322             "storage-tag": {
35323               "type": "string"
35324             },
35325             "unit-tag": {
35326               "type": "string"
35327             }
35328           },
35329           "additionalProperties": false,
35330           "required": [
35331             "storage-tag",
35332             "unit-tag"
35333           ]
35334         },
35335         "StorageAttachmentIds": {
35336           "type": "object",
35337           "properties": {
35338             "ids": {
35339               "type": "array",
35340               "items": {
35341                 "$ref": "#/definitions/StorageAttachmentId"
35342               }
35343             }
35344           },
35345           "additionalProperties": false,
35346           "required": [
35347             "ids"
35348           ]
35349         },
35350         "StorageAttachmentIdsResult": {
35351           "type": "object",
35352           "properties": {
35353             "error": {
35354               "$ref": "#/definitions/Error"
35355             },
35356             "result": {
35357               "$ref": "#/definitions/StorageAttachmentIds"
35358             }
35359           },
35360           "additionalProperties": false,
35361           "required": [
35362             "result"
35363           ]
35364         },
35365         "StorageAttachmentIdsResults": {
35366           "type": "object",
35367           "properties": {
35368             "results": {
35369               "type": "array",
35370               "items": {
35371                 "$ref": "#/definitions/StorageAttachmentIdsResult"
35372               }
35373             }
35374           },
35375           "additionalProperties": false
35376         },
35377         "StorageAttachmentResult": {
35378           "type": "object",
35379           "properties": {
35380             "error": {
35381               "$ref": "#/definitions/Error"
35382             },
35383             "result": {
35384               "$ref": "#/definitions/StorageAttachment"
35385             }
35386           },
35387           "additionalProperties": false,
35388           "required": [
35389             "result"
35390           ]
35391         },
35392         "StorageAttachmentResults": {
35393           "type": "object",
35394           "properties": {
35395             "results": {
35396               "type": "array",
35397               "items": {
35398                 "$ref": "#/definitions/StorageAttachmentResult"
35399               }
35400             }
35401           },
35402           "additionalProperties": false
35403         },
35404         "StorageConstraints": {
35405           "type": "object",
35406           "properties": {
35407             "count": {
35408               "type": "integer"
35409             },
35410             "pool": {
35411               "type": "string"
35412             },
35413             "size": {
35414               "type": "integer"
35415             }
35416           },
35417           "additionalProperties": false
35418         },
35419         "StoragesAddParams": {
35420           "type": "object",
35421           "properties": {
35422             "storages": {
35423               "type": "array",
35424               "items": {
35425                 "$ref": "#/definitions/StorageAddParams"
35426               }
35427             }
35428           },
35429           "additionalProperties": false,
35430           "required": [
35431             "storages"
35432           ]
35433         },
35434         "StringBoolResult": {
35435           "type": "object",
35436           "properties": {
35437             "error": {
35438               "$ref": "#/definitions/Error"
35439             },
35440             "ok": {
35441               "type": "boolean"
35442             },
35443             "result": {
35444               "type": "string"
35445             }
35446           },
35447           "additionalProperties": false,
35448           "required": [
35449             "result",
35450             "ok"
35451           ]
35452         },
35453         "StringBoolResults": {
35454           "type": "object",
35455           "properties": {
35456             "results": {
35457               "type": "array",
35458               "items": {
35459                 "$ref": "#/definitions/StringBoolResult"
35460               }
35461             }
35462           },
35463           "additionalProperties": false,
35464           "required": [
35465             "results"
35466           ]
35467         },
35468         "StringResult": {
35469           "type": "object",
35470           "properties": {
35471             "error": {
35472               "$ref": "#/definitions/Error"
35473             },
35474             "result": {
35475               "type": "string"
35476             }
35477           },
35478           "additionalProperties": false,
35479           "required": [
35480             "result"
35481           ]
35482         },
35483         "StringResults": {
35484           "type": "object",
35485           "properties": {
35486             "results": {
35487               "type": "array",
35488               "items": {
35489                 "$ref": "#/definitions/StringResult"
35490               }
35491             }
35492           },
35493           "additionalProperties": false,
35494           "required": [
35495             "results"
35496           ]
35497         },
35498         "StringsResult": {
35499           "type": "object",
35500           "properties": {
35501             "error": {
35502               "$ref": "#/definitions/Error"
35503             },
35504             "result": {
35505               "type": "array",
35506               "items": {
35507                 "type": "string"
35508               }
35509             }
35510           },
35511           "additionalProperties": false
35512         },
35513         "StringsWatchResult": {
35514           "type": "object",
35515           "properties": {
35516             "changes": {
35517               "type": "array",
35518               "items": {
35519                 "type": "string"
35520               }
35521             },
35522             "error": {
35523               "$ref": "#/definitions/Error"
35524             },
35525             "watcher-id": {
35526               "type": "string"
35527             }
35528           },
35529           "additionalProperties": false,
35530           "required": [
35531             "watcher-id"
35532           ]
35533         },
35534         "StringsWatchResults": {
35535           "type": "object",
35536           "properties": {
35537             "results": {
35538               "type": "array",
35539               "items": {
35540                 "$ref": "#/definitions/StringsWatchResult"
35541               }
35542             }
35543           },
35544           "additionalProperties": false,
35545           "required": [
35546             "results"
35547           ]
35548         },
35549         "UnitRefreshResult": {
35550           "type": "object",
35551           "properties": {
35552             "Error": {
35553               "$ref": "#/definitions/Error"
35554             },
35555             "Life": {
35556               "type": "string"
35557             },
35558             "Resolved": {
35559               "type": "string"
35560             }
35561           },
35562           "additionalProperties": false,
35563           "required": [
35564             "Life",
35565             "Resolved",
35566             "Error"
35567           ]
35568         },
35569         "UnitRefreshResults": {
35570           "type": "object",
35571           "properties": {
35572             "Results": {
35573               "type": "array",
35574               "items": {
35575                 "$ref": "#/definitions/UnitRefreshResult"
35576               }
35577             }
35578           },
35579           "additionalProperties": false,
35580           "required": [
35581             "Results"
35582           ]
35583         },
35584         "UnitSettings": {
35585           "type": "object",
35586           "properties": {
35587             "version": {
35588               "type": "integer"
35589             }
35590           },
35591           "additionalProperties": false,
35592           "required": [
35593             "version"
35594           ]
35595         },
35596         "UpgradeSeriesStatusParam": {
35597           "type": "object",
35598           "properties": {
35599             "entity": {
35600               "$ref": "#/definitions/Entity"
35601             },
35602             "message": {
35603               "type": "string"
35604             },
35605             "status": {
35606               "type": "string"
35607             }
35608           },
35609           "additionalProperties": false,
35610           "required": [
35611             "entity",
35612             "status",
35613             "message"
35614           ]
35615         },
35616         "UpgradeSeriesStatusParams": {
35617           "type": "object",
35618           "properties": {
35619             "params": {
35620               "type": "array",
35621               "items": {
35622                 "$ref": "#/definitions/UpgradeSeriesStatusParam"
35623               }
35624             }
35625           },
35626           "additionalProperties": false,
35627           "required": [
35628             "params"
35629           ]
35630         },
35631         "UpgradeSeriesStatusResult": {
35632           "type": "object",
35633           "properties": {
35634             "error": {
35635               "$ref": "#/definitions/Error"
35636             },
35637             "status": {
35638               "type": "string"
35639             }
35640           },
35641           "additionalProperties": false
35642         },
35643         "UpgradeSeriesStatusResults": {
35644           "type": "object",
35645           "properties": {
35646             "results": {
35647               "type": "array",
35648               "items": {
35649                 "$ref": "#/definitions/UpgradeSeriesStatusResult"
35650               }
35651             }
35652           },
35653           "additionalProperties": false
35654         }
35655       }
35656     }
35657   },
35658   {
35659     "Name": "UpgradeSeries",
35660     "Version": 1,
35661     "Schema": {
35662       "type": "object",
35663       "properties": {
35664         "FinishUpgradeSeries": {
35665           "type": "object",
35666           "properties": {
35667             "Params": {
35668               "$ref": "#/definitions/UpdateSeriesArgs"
35669             },
35670             "Result": {
35671               "$ref": "#/definitions/ErrorResults"
35672             }
35673           }
35674         },
35675         "MachineStatus": {
35676           "type": "object",
35677           "properties": {
35678             "Params": {
35679               "$ref": "#/definitions/Entities"
35680             },
35681             "Result": {
35682               "$ref": "#/definitions/UpgradeSeriesStatusResults"
35683             }
35684           }
35685         },
35686         "PinMachineApplications": {
35687           "type": "object",
35688           "properties": {
35689             "Result": {
35690               "$ref": "#/definitions/PinApplicationsResults"
35691             }
35692           }
35693         },
35694         "PinnedLeadership": {
35695           "type": "object",
35696           "properties": {
35697             "Result": {
35698               "$ref": "#/definitions/PinnedLeadershipResult"
35699             }
35700           }
35701         },
35702         "SetMachineStatus": {
35703           "type": "object",
35704           "properties": {
35705             "Params": {
35706               "$ref": "#/definitions/UpgradeSeriesStatusParams"
35707             },
35708             "Result": {
35709               "$ref": "#/definitions/ErrorResults"
35710             }
35711           }
35712         },
35713         "SetUpgradeSeriesUnitStatus": {
35714           "type": "object",
35715           "properties": {
35716             "Params": {
35717               "$ref": "#/definitions/UpgradeSeriesStatusParams"
35718             },
35719             "Result": {
35720               "$ref": "#/definitions/ErrorResults"
35721             }
35722           }
35723         },
35724         "StartUnitCompletion": {
35725           "type": "object",
35726           "properties": {
35727             "Params": {
35728               "$ref": "#/definitions/UpgradeSeriesStartUnitCompletionParam"
35729             },
35730             "Result": {
35731               "$ref": "#/definitions/ErrorResults"
35732             }
35733           }
35734         },
35735         "TargetSeries": {
35736           "type": "object",
35737           "properties": {
35738             "Params": {
35739               "$ref": "#/definitions/Entities"
35740             },
35741             "Result": {
35742               "$ref": "#/definitions/StringResults"
35743             }
35744           }
35745         },
35746         "UnitsCompleted": {
35747           "type": "object",
35748           "properties": {
35749             "Params": {
35750               "$ref": "#/definitions/Entities"
35751             },
35752             "Result": {
35753               "$ref": "#/definitions/EntitiesResults"
35754             }
35755           }
35756         },
35757         "UnitsPrepared": {
35758           "type": "object",
35759           "properties": {
35760             "Params": {
35761               "$ref": "#/definitions/Entities"
35762             },
35763             "Result": {
35764               "$ref": "#/definitions/EntitiesResults"
35765             }
35766           }
35767         },
35768         "UnpinMachineApplications": {
35769           "type": "object",
35770           "properties": {
35771             "Result": {
35772               "$ref": "#/definitions/PinApplicationsResults"
35773             }
35774           }
35775         },
35776         "UpgradeSeriesUnitStatus": {
35777           "type": "object",
35778           "properties": {
35779             "Params": {
35780               "$ref": "#/definitions/Entities"
35781             },
35782             "Result": {
35783               "$ref": "#/definitions/UpgradeSeriesStatusResults"
35784             }
35785           }
35786         },
35787         "WatchUpgradeSeriesNotifications": {
35788           "type": "object",
35789           "properties": {
35790             "Params": {
35791               "$ref": "#/definitions/Entities"
35792             },
35793             "Result": {
35794               "$ref": "#/definitions/NotifyWatchResults"
35795             }
35796           }
35797         }
35798       },
35799       "definitions": {
35800         "Entities": {
35801           "type": "object",
35802           "properties": {
35803             "entities": {
35804               "type": "array",
35805               "items": {
35806                 "$ref": "#/definitions/Entity"
35807               }
35808             }
35809           },
35810           "additionalProperties": false,
35811           "required": [
35812             "entities"
35813           ]
35814         },
35815         "EntitiesResult": {
35816           "type": "object",
35817           "properties": {
35818             "entities": {
35819               "type": "array",
35820               "items": {
35821                 "$ref": "#/definitions/Entity"
35822               }
35823             },
35824             "error": {
35825               "$ref": "#/definitions/Error"
35826             }
35827           },
35828           "additionalProperties": false,
35829           "required": [
35830             "entities"
35831           ]
35832         },
35833         "EntitiesResults": {
35834           "type": "object",
35835           "properties": {
35836             "results": {
35837               "type": "array",
35838               "items": {
35839                 "$ref": "#/definitions/EntitiesResult"
35840               }
35841             }
35842           },
35843           "additionalProperties": false,
35844           "required": [
35845             "results"
35846           ]
35847         },
35848         "Entity": {
35849           "type": "object",
35850           "properties": {
35851             "tag": {
35852               "type": "string"
35853             }
35854           },
35855           "additionalProperties": false,
35856           "required": [
35857             "tag"
35858           ]
35859         },
35860         "Error": {
35861           "type": "object",
35862           "properties": {
35863             "code": {
35864               "type": "string"
35865             },
35866             "info": {
35867               "$ref": "#/definitions/ErrorInfo"
35868             },
35869             "message": {
35870               "type": "string"
35871             }
35872           },
35873           "additionalProperties": false,
35874           "required": [
35875             "message",
35876             "code"
35877           ]
35878         },
35879         "ErrorInfo": {
35880           "type": "object",
35881           "properties": {
35882             "macaroon": {
35883               "$ref": "#/definitions/Macaroon"
35884             },
35885             "macaroon-path": {
35886               "type": "string"
35887             }
35888           },
35889           "additionalProperties": false
35890         },
35891         "ErrorResult": {
35892           "type": "object",
35893           "properties": {
35894             "error": {
35895               "$ref": "#/definitions/Error"
35896             }
35897           },
35898           "additionalProperties": false
35899         },
35900         "ErrorResults": {
35901           "type": "object",
35902           "properties": {
35903             "results": {
35904               "type": "array",
35905               "items": {
35906                 "$ref": "#/definitions/ErrorResult"
35907               }
35908             }
35909           },
35910           "additionalProperties": false,
35911           "required": [
35912             "results"
35913           ]
35914         },
35915         "Macaroon": {
35916           "type": "object",
35917           "additionalProperties": false
35918         },
35919         "NotifyWatchResult": {
35920           "type": "object",
35921           "properties": {
35922             "NotifyWatcherId": {
35923               "type": "string"
35924             },
35925             "error": {
35926               "$ref": "#/definitions/Error"
35927             }
35928           },
35929           "additionalProperties": false,
35930           "required": [
35931             "NotifyWatcherId"
35932           ]
35933         },
35934         "NotifyWatchResults": {
35935           "type": "object",
35936           "properties": {
35937             "results": {
35938               "type": "array",
35939               "items": {
35940                 "$ref": "#/definitions/NotifyWatchResult"
35941               }
35942             }
35943           },
35944           "additionalProperties": false,
35945           "required": [
35946             "results"
35947           ]
35948         },
35949         "PinApplicationResult": {
35950           "type": "object",
35951           "properties": {
35952             "application-name": {
35953               "type": "string"
35954             },
35955             "error": {
35956               "$ref": "#/definitions/Error"
35957             }
35958           },
35959           "additionalProperties": false,
35960           "required": [
35961             "application-name"
35962           ]
35963         },
35964         "PinApplicationsResults": {
35965           "type": "object",
35966           "properties": {
35967             "results": {
35968               "type": "array",
35969               "items": {
35970                 "$ref": "#/definitions/PinApplicationResult"
35971               }
35972             }
35973           },
35974           "additionalProperties": false,
35975           "required": [
35976             "results"
35977           ]
35978         },
35979         "PinnedLeadershipResult": {
35980           "type": "object",
35981           "properties": {
35982             "result": {
35983               "type": "object",
35984               "patternProperties": {
35985                 ".*": {
35986                   "type": "array",
35987                   "items": {
35988                     "type": "string"
35989                   }
35990                 }
35991               }
35992             }
35993           },
35994           "additionalProperties": false
35995         },
35996         "StringResult": {
35997           "type": "object",
35998           "properties": {
35999             "error": {
36000               "$ref": "#/definitions/Error"
36001             },
36002             "result": {
36003               "type": "string"
36004             }
36005           },
36006           "additionalProperties": false,
36007           "required": [
36008             "result"
36009           ]
36010         },
36011         "StringResults": {
36012           "type": "object",
36013           "properties": {
36014             "results": {
36015               "type": "array",
36016               "items": {
36017                 "$ref": "#/definitions/StringResult"
36018               }
36019             }
36020           },
36021           "additionalProperties": false,
36022           "required": [
36023             "results"
36024           ]
36025         },
36026         "UpdateSeriesArg": {
36027           "type": "object",
36028           "properties": {
36029             "force": {
36030               "type": "boolean"
36031             },
36032             "series": {
36033               "type": "string"
36034             },
36035             "tag": {
36036               "$ref": "#/definitions/Entity"
36037             }
36038           },
36039           "additionalProperties": false,
36040           "required": [
36041             "tag",
36042             "force",
36043             "series"
36044           ]
36045         },
36046         "UpdateSeriesArgs": {
36047           "type": "object",
36048           "properties": {
36049             "args": {
36050               "type": "array",
36051               "items": {
36052                 "$ref": "#/definitions/UpdateSeriesArg"
36053               }
36054             }
36055           },
36056           "additionalProperties": false,
36057           "required": [
36058             "args"
36059           ]
36060         },
36061         "UpgradeSeriesStartUnitCompletionParam": {
36062           "type": "object",
36063           "properties": {
36064             "entities": {
36065               "type": "array",
36066               "items": {
36067                 "$ref": "#/definitions/Entity"
36068               }
36069             },
36070             "message": {
36071               "type": "string"
36072             }
36073           },
36074           "additionalProperties": false,
36075           "required": [
36076             "entities",
36077             "message"
36078           ]
36079         },
36080         "UpgradeSeriesStatusParam": {
36081           "type": "object",
36082           "properties": {
36083             "entity": {
36084               "$ref": "#/definitions/Entity"
36085             },
36086             "message": {
36087               "type": "string"
36088             },
36089             "status": {
36090               "type": "string"
36091             }
36092           },
36093           "additionalProperties": false,
36094           "required": [
36095             "entity",
36096             "status",
36097             "message"
36098           ]
36099         },
36100         "UpgradeSeriesStatusParams": {
36101           "type": "object",
36102           "properties": {
36103             "params": {
36104               "type": "array",
36105               "items": {
36106                 "$ref": "#/definitions/UpgradeSeriesStatusParam"
36107               }
36108             }
36109           },
36110           "additionalProperties": false,
36111           "required": [
36112             "params"
36113           ]
36114         },
36115         "UpgradeSeriesStatusResult": {
36116           "type": "object",
36117           "properties": {
36118             "error": {
36119               "$ref": "#/definitions/Error"
36120             },
36121             "status": {
36122               "type": "string"
36123             }
36124           },
36125           "additionalProperties": false
36126         },
36127         "UpgradeSeriesStatusResults": {
36128           "type": "object",
36129           "properties": {
36130             "results": {
36131               "type": "array",
36132               "items": {
36133                 "$ref": "#/definitions/UpgradeSeriesStatusResult"
36134               }
36135             }
36136           },
36137           "additionalProperties": false
36138         }
36139       }
36140     }
36141   },
36142   {
36143     "Name": "Upgrader",
36144     "Version": 1,
36145     "Schema": {
36146       "type": "object",
36147       "properties": {
36148         "DesiredVersion": {
36149           "type": "object",
36150           "properties": {
36151             "Params": {
36152               "$ref": "#/definitions/Entities"
36153             },
36154             "Result": {
36155               "$ref": "#/definitions/VersionResults"
36156             }
36157           }
36158         },
36159         "SetTools": {
36160           "type": "object",
36161           "properties": {
36162             "Params": {
36163               "$ref": "#/definitions/EntitiesVersion"
36164             },
36165             "Result": {
36166               "$ref": "#/definitions/ErrorResults"
36167             }
36168           }
36169         },
36170         "Tools": {
36171           "type": "object",
36172           "properties": {
36173             "Params": {
36174               "$ref": "#/definitions/Entities"
36175             },
36176             "Result": {
36177               "$ref": "#/definitions/ToolsResults"
36178             }
36179           }
36180         },
36181         "WatchAPIVersion": {
36182           "type": "object",
36183           "properties": {
36184             "Params": {
36185               "$ref": "#/definitions/Entities"
36186             },
36187             "Result": {
36188               "$ref": "#/definitions/NotifyWatchResults"
36189             }
36190           }
36191         }
36192       },
36193       "definitions": {
36194         "Binary": {
36195           "type": "object",
36196           "properties": {
36197             "Arch": {
36198               "type": "string"
36199             },
36200             "Number": {
36201               "$ref": "#/definitions/Number"
36202             },
36203             "Series": {
36204               "type": "string"
36205             }
36206           },
36207           "additionalProperties": false,
36208           "required": [
36209             "Number",
36210             "Series",
36211             "Arch"
36212           ]
36213         },
36214         "Entities": {
36215           "type": "object",
36216           "properties": {
36217             "entities": {
36218               "type": "array",
36219               "items": {
36220                 "$ref": "#/definitions/Entity"
36221               }
36222             }
36223           },
36224           "additionalProperties": false,
36225           "required": [
36226             "entities"
36227           ]
36228         },
36229         "EntitiesVersion": {
36230           "type": "object",
36231           "properties": {
36232             "agent-tools": {
36233               "type": "array",
36234               "items": {
36235                 "$ref": "#/definitions/EntityVersion"
36236               }
36237             }
36238           },
36239           "additionalProperties": false,
36240           "required": [
36241             "agent-tools"
36242           ]
36243         },
36244         "Entity": {
36245           "type": "object",
36246           "properties": {
36247             "tag": {
36248               "type": "string"
36249             }
36250           },
36251           "additionalProperties": false,
36252           "required": [
36253             "tag"
36254           ]
36255         },
36256         "EntityVersion": {
36257           "type": "object",
36258           "properties": {
36259             "tag": {
36260               "type": "string"
36261             },
36262             "tools": {
36263               "$ref": "#/definitions/Version"
36264             }
36265           },
36266           "additionalProperties": false,
36267           "required": [
36268             "tag",
36269             "tools"
36270           ]
36271         },
36272         "Error": {
36273           "type": "object",
36274           "properties": {
36275             "code": {
36276               "type": "string"
36277             },
36278             "info": {
36279               "$ref": "#/definitions/ErrorInfo"
36280             },
36281             "message": {
36282               "type": "string"
36283             }
36284           },
36285           "additionalProperties": false,
36286           "required": [
36287             "message",
36288             "code"
36289           ]
36290         },
36291         "ErrorInfo": {
36292           "type": "object",
36293           "properties": {
36294             "macaroon": {
36295               "$ref": "#/definitions/Macaroon"
36296             },
36297             "macaroon-path": {
36298               "type": "string"
36299             }
36300           },
36301           "additionalProperties": false
36302         },
36303         "ErrorResult": {
36304           "type": "object",
36305           "properties": {
36306             "error": {
36307               "$ref": "#/definitions/Error"
36308             }
36309           },
36310           "additionalProperties": false
36311         },
36312         "ErrorResults": {
36313           "type": "object",
36314           "properties": {
36315             "results": {
36316               "type": "array",
36317               "items": {
36318                 "$ref": "#/definitions/ErrorResult"
36319               }
36320             }
36321           },
36322           "additionalProperties": false,
36323           "required": [
36324             "results"
36325           ]
36326         },
36327         "Macaroon": {
36328           "type": "object",
36329           "additionalProperties": false
36330         },
36331         "NotifyWatchResult": {
36332           "type": "object",
36333           "properties": {
36334             "NotifyWatcherId": {
36335               "type": "string"
36336             },
36337             "error": {
36338               "$ref": "#/definitions/Error"
36339             }
36340           },
36341           "additionalProperties": false,
36342           "required": [
36343             "NotifyWatcherId"
36344           ]
36345         },
36346         "NotifyWatchResults": {
36347           "type": "object",
36348           "properties": {
36349             "results": {
36350               "type": "array",
36351               "items": {
36352                 "$ref": "#/definitions/NotifyWatchResult"
36353               }
36354             }
36355           },
36356           "additionalProperties": false,
36357           "required": [
36358             "results"
36359           ]
36360         },
36361         "Number": {
36362           "type": "object",
36363           "properties": {
36364             "Build": {
36365               "type": "integer"
36366             },
36367             "Major": {
36368               "type": "integer"
36369             },
36370             "Minor": {
36371               "type": "integer"
36372             },
36373             "Patch": {
36374               "type": "integer"
36375             },
36376             "Tag": {
36377               "type": "string"
36378             }
36379           },
36380           "additionalProperties": false,
36381           "required": [
36382             "Major",
36383             "Minor",
36384             "Tag",
36385             "Patch",
36386             "Build"
36387           ]
36388         },
36389         "Tools": {
36390           "type": "object",
36391           "properties": {
36392             "sha256": {
36393               "type": "string"
36394             },
36395             "size": {
36396               "type": "integer"
36397             },
36398             "url": {
36399               "type": "string"
36400             },
36401             "version": {
36402               "$ref": "#/definitions/Binary"
36403             }
36404           },
36405           "additionalProperties": false,
36406           "required": [
36407             "version",
36408             "url",
36409             "size"
36410           ]
36411         },
36412         "ToolsResult": {
36413           "type": "object",
36414           "properties": {
36415             "disable-ssl-hostname-verification": {
36416               "type": "boolean"
36417             },
36418             "error": {
36419               "$ref": "#/definitions/Error"
36420             },
36421             "tools": {
36422               "type": "array",
36423               "items": {
36424                 "$ref": "#/definitions/Tools"
36425               }
36426             }
36427           },
36428           "additionalProperties": false,
36429           "required": [
36430             "tools",
36431             "disable-ssl-hostname-verification"
36432           ]
36433         },
36434         "ToolsResults": {
36435           "type": "object",
36436           "properties": {
36437             "results": {
36438               "type": "array",
36439               "items": {
36440                 "$ref": "#/definitions/ToolsResult"
36441               }
36442             }
36443           },
36444           "additionalProperties": false,
36445           "required": [
36446             "results"
36447           ]
36448         },
36449         "Version": {
36450           "type": "object",
36451           "properties": {
36452             "version": {
36453               "$ref": "#/definitions/Binary"
36454             }
36455           },
36456           "additionalProperties": false,
36457           "required": [
36458             "version"
36459           ]
36460         },
36461         "VersionResult": {
36462           "type": "object",
36463           "properties": {
36464             "error": {
36465               "$ref": "#/definitions/Error"
36466             },
36467             "version": {
36468               "$ref": "#/definitions/Number"
36469             }
36470           },
36471           "additionalProperties": false
36472         },
36473         "VersionResults": {
36474           "type": "object",
36475           "properties": {
36476             "results": {
36477               "type": "array",
36478               "items": {
36479                 "$ref": "#/definitions/VersionResult"
36480               }
36481             }
36482           },
36483           "additionalProperties": false,
36484           "required": [
36485             "results"
36486           ]
36487         }
36488       }
36489     }
36490   },
36491   {
36492     "Name": "UserManager",
36493     "Version": 2,
36494     "Schema": {
36495       "type": "object",
36496       "properties": {
36497         "AddUser": {
36498           "type": "object",
36499           "properties": {
36500             "Params": {
36501               "$ref": "#/definitions/AddUsers"
36502             },
36503             "Result": {
36504               "$ref": "#/definitions/AddUserResults"
36505             }
36506           }
36507         },
36508         "DisableUser": {
36509           "type": "object",
36510           "properties": {
36511             "Params": {
36512               "$ref": "#/definitions/Entities"
36513             },
36514             "Result": {
36515               "$ref": "#/definitions/ErrorResults"
36516             }
36517           }
36518         },
36519         "EnableUser": {
36520           "type": "object",
36521           "properties": {
36522             "Params": {
36523               "$ref": "#/definitions/Entities"
36524             },
36525             "Result": {
36526               "$ref": "#/definitions/ErrorResults"
36527             }
36528           }
36529         },
36530         "RemoveUser": {
36531           "type": "object",
36532           "properties": {
36533             "Params": {
36534               "$ref": "#/definitions/Entities"
36535             },
36536             "Result": {
36537               "$ref": "#/definitions/ErrorResults"
36538             }
36539           }
36540         },
36541         "ResetPassword": {
36542           "type": "object",
36543           "properties": {
36544             "Params": {
36545               "$ref": "#/definitions/Entities"
36546             },
36547             "Result": {
36548               "$ref": "#/definitions/AddUserResults"
36549             }
36550           }
36551         },
36552         "SetPassword": {
36553           "type": "object",
36554           "properties": {
36555             "Params": {
36556               "$ref": "#/definitions/EntityPasswords"
36557             },
36558             "Result": {
36559               "$ref": "#/definitions/ErrorResults"
36560             }
36561           }
36562         },
36563         "UserInfo": {
36564           "type": "object",
36565           "properties": {
36566             "Params": {
36567               "$ref": "#/definitions/UserInfoRequest"
36568             },
36569             "Result": {
36570               "$ref": "#/definitions/UserInfoResults"
36571             }
36572           }
36573         }
36574       },
36575       "definitions": {
36576         "AddUser": {
36577           "type": "object",
36578           "properties": {
36579             "display-name": {
36580               "type": "string"
36581             },
36582             "password": {
36583               "type": "string"
36584             },
36585             "username": {
36586               "type": "string"
36587             }
36588           },
36589           "additionalProperties": false,
36590           "required": [
36591             "username",
36592             "display-name"
36593           ]
36594         },
36595         "AddUserResult": {
36596           "type": "object",
36597           "properties": {
36598             "error": {
36599               "$ref": "#/definitions/Error"
36600             },
36601             "secret-key": {
36602               "type": "array",
36603               "items": {
36604                 "type": "integer"
36605               }
36606             },
36607             "tag": {
36608               "type": "string"
36609             }
36610           },
36611           "additionalProperties": false
36612         },
36613         "AddUserResults": {
36614           "type": "object",
36615           "properties": {
36616             "results": {
36617               "type": "array",
36618               "items": {
36619                 "$ref": "#/definitions/AddUserResult"
36620               }
36621             }
36622           },
36623           "additionalProperties": false,
36624           "required": [
36625             "results"
36626           ]
36627         },
36628         "AddUsers": {
36629           "type": "object",
36630           "properties": {
36631             "users": {
36632               "type": "array",
36633               "items": {
36634                 "$ref": "#/definitions/AddUser"
36635               }
36636             }
36637           },
36638           "additionalProperties": false,
36639           "required": [
36640             "users"
36641           ]
36642         },
36643         "Entities": {
36644           "type": "object",
36645           "properties": {
36646             "entities": {
36647               "type": "array",
36648               "items": {
36649                 "$ref": "#/definitions/Entity"
36650               }
36651             }
36652           },
36653           "additionalProperties": false,
36654           "required": [
36655             "entities"
36656           ]
36657         },
36658         "Entity": {
36659           "type": "object",
36660           "properties": {
36661             "tag": {
36662               "type": "string"
36663             }
36664           },
36665           "additionalProperties": false,
36666           "required": [
36667             "tag"
36668           ]
36669         },
36670         "EntityPassword": {
36671           "type": "object",
36672           "properties": {
36673             "password": {
36674               "type": "string"
36675             },
36676             "tag": {
36677               "type": "string"
36678             }
36679           },
36680           "additionalProperties": false,
36681           "required": [
36682             "tag",
36683             "password"
36684           ]
36685         },
36686         "EntityPasswords": {
36687           "type": "object",
36688           "properties": {
36689             "changes": {
36690               "type": "array",
36691               "items": {
36692                 "$ref": "#/definitions/EntityPassword"
36693               }
36694             }
36695           },
36696           "additionalProperties": false,
36697           "required": [
36698             "changes"
36699           ]
36700         },
36701         "Error": {
36702           "type": "object",
36703           "properties": {
36704             "code": {
36705               "type": "string"
36706             },
36707             "info": {
36708               "$ref": "#/definitions/ErrorInfo"
36709             },
36710             "message": {
36711               "type": "string"
36712             }
36713           },
36714           "additionalProperties": false,
36715           "required": [
36716             "message",
36717             "code"
36718           ]
36719         },
36720         "ErrorInfo": {
36721           "type": "object",
36722           "properties": {
36723             "macaroon": {
36724               "$ref": "#/definitions/Macaroon"
36725             },
36726             "macaroon-path": {
36727               "type": "string"
36728             }
36729           },
36730           "additionalProperties": false
36731         },
36732         "ErrorResult": {
36733           "type": "object",
36734           "properties": {
36735             "error": {
36736               "$ref": "#/definitions/Error"
36737             }
36738           },
36739           "additionalProperties": false
36740         },
36741         "ErrorResults": {
36742           "type": "object",
36743           "properties": {
36744             "results": {
36745               "type": "array",
36746               "items": {
36747                 "$ref": "#/definitions/ErrorResult"
36748               }
36749             }
36750           },
36751           "additionalProperties": false,
36752           "required": [
36753             "results"
36754           ]
36755         },
36756         "Macaroon": {
36757           "type": "object",
36758           "additionalProperties": false
36759         },
36760         "UserInfo": {
36761           "type": "object",
36762           "properties": {
36763             "access": {
36764               "type": "string"
36765             },
36766             "created-by": {
36767               "type": "string"
36768             },
36769             "date-created": {
36770               "type": "string",
36771               "format": "date-time"
36772             },
36773             "disabled": {
36774               "type": "boolean"
36775             },
36776             "display-name": {
36777               "type": "string"
36778             },
36779             "last-connection": {
36780               "type": "string",
36781               "format": "date-time"
36782             },
36783             "username": {
36784               "type": "string"
36785             }
36786           },
36787           "additionalProperties": false,
36788           "required": [
36789             "username",
36790             "display-name",
36791             "access",
36792             "created-by",
36793             "date-created",
36794             "disabled"
36795           ]
36796         },
36797         "UserInfoRequest": {
36798           "type": "object",
36799           "properties": {
36800             "entities": {
36801               "type": "array",
36802               "items": {
36803                 "$ref": "#/definitions/Entity"
36804               }
36805             },
36806             "include-disabled": {
36807               "type": "boolean"
36808             }
36809           },
36810           "additionalProperties": false,
36811           "required": [
36812             "entities",
36813             "include-disabled"
36814           ]
36815         },
36816         "UserInfoResult": {
36817           "type": "object",
36818           "properties": {
36819             "error": {
36820               "$ref": "#/definitions/Error"
36821             },
36822             "result": {
36823               "$ref": "#/definitions/UserInfo"
36824             }
36825           },
36826           "additionalProperties": false
36827         },
36828         "UserInfoResults": {
36829           "type": "object",
36830           "properties": {
36831             "results": {
36832               "type": "array",
36833               "items": {
36834                 "$ref": "#/definitions/UserInfoResult"
36835               }
36836             }
36837           },
36838           "additionalProperties": false,
36839           "required": [
36840             "results"
36841           ]
36842         }
36843       }
36844     }
36845   },
36846   {
36847     "Name": "VolumeAttachmentPlansWatcher",
36848     "Version": 1,
36849     "Schema": {
36850       "type": "object",
36851       "properties": {
36852         "Next": {
36853           "type": "object",
36854           "properties": {
36855             "Result": {
36856               "$ref": "#/definitions/MachineStorageIdsWatchResult"
36857             }
36858           }
36859         },
36860         "Stop": {
36861           "type": "object"
36862         }
36863       },
36864       "definitions": {
36865         "Error": {
36866           "type": "object",
36867           "properties": {
36868             "code": {
36869               "type": "string"
36870             },
36871             "info": {
36872               "$ref": "#/definitions/ErrorInfo"
36873             },
36874             "message": {
36875               "type": "string"
36876             }
36877           },
36878           "additionalProperties": false,
36879           "required": [
36880             "message",
36881             "code"
36882           ]
36883         },
36884         "ErrorInfo": {
36885           "type": "object",
36886           "properties": {
36887             "macaroon": {
36888               "$ref": "#/definitions/Macaroon"
36889             },
36890             "macaroon-path": {
36891               "type": "string"
36892             }
36893           },
36894           "additionalProperties": false
36895         },
36896         "Macaroon": {
36897           "type": "object",
36898           "additionalProperties": false
36899         },
36900         "MachineStorageId": {
36901           "type": "object",
36902           "properties": {
36903             "attachment-tag": {
36904               "type": "string"
36905             },
36906             "machine-tag": {
36907               "type": "string"
36908             }
36909           },
36910           "additionalProperties": false,
36911           "required": [
36912             "machine-tag",
36913             "attachment-tag"
36914           ]
36915         },
36916         "MachineStorageIdsWatchResult": {
36917           "type": "object",
36918           "properties": {
36919             "changes": {
36920               "type": "array",
36921               "items": {
36922                 "$ref": "#/definitions/MachineStorageId"
36923               }
36924             },
36925             "error": {
36926               "$ref": "#/definitions/Error"
36927             },
36928             "watcher-id": {
36929               "type": "string"
36930             }
36931           },
36932           "additionalProperties": false,
36933           "required": [
36934             "watcher-id",
36935             "changes"
36936           ]
36937         }
36938       }
36939     }
36940   },
36941   {
36942     "Name": "VolumeAttachmentsWatcher",
36943     "Version": 2,
36944     "Schema": {
36945       "type": "object",
36946       "properties": {
36947         "Next": {
36948           "type": "object",
36949           "properties": {
36950             "Result": {
36951               "$ref": "#/definitions/MachineStorageIdsWatchResult"
36952             }
36953           }
36954         },
36955         "Stop": {
36956           "type": "object"
36957         }
36958       },
36959       "definitions": {
36960         "Error": {
36961           "type": "object",
36962           "properties": {
36963             "code": {
36964               "type": "string"
36965             },
36966             "info": {
36967               "$ref": "#/definitions/ErrorInfo"
36968             },
36969             "message": {
36970               "type": "string"
36971             }
36972           },
36973           "additionalProperties": false,
36974           "required": [
36975             "message",
36976             "code"
36977           ]
36978         },
36979         "ErrorInfo": {
36980           "type": "object",
36981           "properties": {
36982             "macaroon": {
36983               "$ref": "#/definitions/Macaroon"
36984             },
36985             "macaroon-path": {
36986               "type": "string"
36987             }
36988           },
36989           "additionalProperties": false
36990         },
36991         "Macaroon": {
36992           "type": "object",
36993           "additionalProperties": false
36994         },
36995         "MachineStorageId": {
36996           "type": "object",
36997           "properties": {
36998             "attachment-tag": {
36999               "type": "string"
37000             },
37001             "machine-tag": {
37002               "type": "string"
37003             }
37004           },
37005           "additionalProperties": false,
37006           "required": [
37007             "machine-tag",
37008             "attachment-tag"
37009           ]
37010         },
37011         "MachineStorageIdsWatchResult": {
37012           "type": "object",
37013           "properties": {
37014             "changes": {
37015               "type": "array",
37016               "items": {
37017                 "$ref": "#/definitions/MachineStorageId"
37018               }
37019             },
37020             "error": {
37021               "$ref": "#/definitions/Error"
37022             },
37023             "watcher-id": {
37024               "type": "string"
37025             }
37026           },
37027           "additionalProperties": false,
37028           "required": [
37029             "watcher-id",
37030             "changes"
37031           ]
37032         }
37033       }
37034     }
37035   }
37036 ]