Bug 733 fixed
[osm/N2VC.git] / modules / libjuju / juju / client / schemas-juju-2.0.3.json
1 [
2   {
3     "Name": "Action",
4     "Version": 2,
5     "Schema": {
6       "type": "object",
7       "properties": {
8         "Actions": {
9           "type": "object",
10           "properties": {
11             "Params": {
12               "$ref": "#/definitions/Entities"
13             },
14             "Result": {
15               "$ref": "#/definitions/ActionResults"
16             }
17           }
18         },
19         "ApplicationsCharmsActions": {
20           "type": "object",
21           "properties": {
22             "Params": {
23               "$ref": "#/definitions/Entities"
24             },
25             "Result": {
26               "$ref": "#/definitions/ApplicationsCharmActionsResults"
27             }
28           }
29         },
30         "Cancel": {
31           "type": "object",
32           "properties": {
33             "Params": {
34               "$ref": "#/definitions/Entities"
35             },
36             "Result": {
37               "$ref": "#/definitions/ActionResults"
38             }
39           }
40         },
41         "Enqueue": {
42           "type": "object",
43           "properties": {
44             "Params": {
45               "$ref": "#/definitions/Actions"
46             },
47             "Result": {
48               "$ref": "#/definitions/ActionResults"
49             }
50           }
51         },
52         "FindActionTagsByPrefix": {
53           "type": "object",
54           "properties": {
55             "Params": {
56               "$ref": "#/definitions/FindTags"
57             },
58             "Result": {
59               "$ref": "#/definitions/FindTagsResults"
60             }
61           }
62         },
63         "FindActionsByNames": {
64           "type": "object",
65           "properties": {
66             "Params": {
67               "$ref": "#/definitions/FindActionsByNames"
68             },
69             "Result": {
70               "$ref": "#/definitions/ActionsByNames"
71             }
72           }
73         },
74         "ListAll": {
75           "type": "object",
76           "properties": {
77             "Params": {
78               "$ref": "#/definitions/Entities"
79             },
80             "Result": {
81               "$ref": "#/definitions/ActionsByReceivers"
82             }
83           }
84         },
85         "ListCompleted": {
86           "type": "object",
87           "properties": {
88             "Params": {
89               "$ref": "#/definitions/Entities"
90             },
91             "Result": {
92               "$ref": "#/definitions/ActionsByReceivers"
93             }
94           }
95         },
96         "ListPending": {
97           "type": "object",
98           "properties": {
99             "Params": {
100               "$ref": "#/definitions/Entities"
101             },
102             "Result": {
103               "$ref": "#/definitions/ActionsByReceivers"
104             }
105           }
106         },
107         "ListRunning": {
108           "type": "object",
109           "properties": {
110             "Params": {
111               "$ref": "#/definitions/Entities"
112             },
113             "Result": {
114               "$ref": "#/definitions/ActionsByReceivers"
115             }
116           }
117         },
118         "Run": {
119           "type": "object",
120           "properties": {
121             "Params": {
122               "$ref": "#/definitions/RunParams"
123             },
124             "Result": {
125               "$ref": "#/definitions/ActionResults"
126             }
127           }
128         },
129         "RunOnAllMachines": {
130           "type": "object",
131           "properties": {
132             "Params": {
133               "$ref": "#/definitions/RunParams"
134             },
135             "Result": {
136               "$ref": "#/definitions/ActionResults"
137             }
138           }
139         }
140       },
141       "definitions": {
142         "Action": {
143           "type": "object",
144           "properties": {
145             "name": {
146               "type": "string"
147             },
148             "parameters": {
149               "type": "object",
150               "patternProperties": {
151                 ".*": {
152                   "type": "object",
153                   "additionalProperties": true
154                 }
155               }
156             },
157             "receiver": {
158               "type": "string"
159             },
160             "tag": {
161               "type": "string"
162             }
163           },
164           "additionalProperties": false,
165           "required": [
166             "tag",
167             "receiver",
168             "name"
169           ]
170         },
171         "ActionResult": {
172           "type": "object",
173           "properties": {
174             "action": {
175               "$ref": "#/definitions/Action"
176             },
177             "completed": {
178               "type": "string",
179               "format": "date-time"
180             },
181             "enqueued": {
182               "type": "string",
183               "format": "date-time"
184             },
185             "error": {
186               "$ref": "#/definitions/Error"
187             },
188             "message": {
189               "type": "string"
190             },
191             "output": {
192               "type": "object",
193               "patternProperties": {
194                 ".*": {
195                   "type": "object",
196                   "additionalProperties": true
197                 }
198               }
199             },
200             "started": {
201               "type": "string",
202               "format": "date-time"
203             },
204             "status": {
205               "type": "string"
206             }
207           },
208           "additionalProperties": false
209         },
210         "ActionResults": {
211           "type": "object",
212           "properties": {
213             "results": {
214               "type": "array",
215               "items": {
216                 "$ref": "#/definitions/ActionResult"
217               }
218             }
219           },
220           "additionalProperties": false
221         },
222         "ActionSpec": {
223           "type": "object",
224           "properties": {
225             "description": {
226               "type": "string"
227             },
228             "params": {
229               "type": "object",
230               "patternProperties": {
231                 ".*": {
232                   "type": "object",
233                   "additionalProperties": true
234                 }
235               }
236             }
237           },
238           "additionalProperties": false,
239           "required": [
240             "description",
241             "params"
242           ]
243         },
244         "Actions": {
245           "type": "object",
246           "properties": {
247             "actions": {
248               "type": "array",
249               "items": {
250                 "$ref": "#/definitions/Action"
251               }
252             }
253           },
254           "additionalProperties": false
255         },
256         "ActionsByName": {
257           "type": "object",
258           "properties": {
259             "actions": {
260               "type": "array",
261               "items": {
262                 "$ref": "#/definitions/ActionResult"
263               }
264             },
265             "error": {
266               "$ref": "#/definitions/Error"
267             },
268             "name": {
269               "type": "string"
270             }
271           },
272           "additionalProperties": false
273         },
274         "ActionsByNames": {
275           "type": "object",
276           "properties": {
277             "actions": {
278               "type": "array",
279               "items": {
280                 "$ref": "#/definitions/ActionsByName"
281               }
282             }
283           },
284           "additionalProperties": false
285         },
286         "ActionsByReceiver": {
287           "type": "object",
288           "properties": {
289             "actions": {
290               "type": "array",
291               "items": {
292                 "$ref": "#/definitions/ActionResult"
293               }
294             },
295             "error": {
296               "$ref": "#/definitions/Error"
297             },
298             "receiver": {
299               "type": "string"
300             }
301           },
302           "additionalProperties": false
303         },
304         "ActionsByReceivers": {
305           "type": "object",
306           "properties": {
307             "actions": {
308               "type": "array",
309               "items": {
310                 "$ref": "#/definitions/ActionsByReceiver"
311               }
312             }
313           },
314           "additionalProperties": false
315         },
316         "ApplicationCharmActionsResult": {
317           "type": "object",
318           "properties": {
319             "actions": {
320               "type": "object",
321               "patternProperties": {
322                 ".*": {
323                   "$ref": "#/definitions/ActionSpec"
324                 }
325               }
326             },
327             "application-tag": {
328               "type": "string"
329             },
330             "error": {
331               "$ref": "#/definitions/Error"
332             }
333           },
334           "additionalProperties": false
335         },
336         "ApplicationsCharmActionsResults": {
337           "type": "object",
338           "properties": {
339             "results": {
340               "type": "array",
341               "items": {
342                 "$ref": "#/definitions/ApplicationCharmActionsResult"
343               }
344             }
345           },
346           "additionalProperties": false
347         },
348         "Entities": {
349           "type": "object",
350           "properties": {
351             "entities": {
352               "type": "array",
353               "items": {
354                 "$ref": "#/definitions/Entity"
355               }
356             }
357           },
358           "additionalProperties": false,
359           "required": [
360             "entities"
361           ]
362         },
363         "Entity": {
364           "type": "object",
365           "properties": {
366             "tag": {
367               "type": "string"
368             }
369           },
370           "additionalProperties": false,
371           "required": [
372             "tag"
373           ]
374         },
375         "Error": {
376           "type": "object",
377           "properties": {
378             "code": {
379               "type": "string"
380             },
381             "info": {
382               "$ref": "#/definitions/ErrorInfo"
383             },
384             "message": {
385               "type": "string"
386             }
387           },
388           "additionalProperties": false,
389           "required": [
390             "message",
391             "code"
392           ]
393         },
394         "ErrorInfo": {
395           "type": "object",
396           "properties": {
397             "macaroon": {
398               "$ref": "#/definitions/Macaroon"
399             },
400             "macaroon-path": {
401               "type": "string"
402             }
403           },
404           "additionalProperties": false
405         },
406         "FindActionsByNames": {
407           "type": "object",
408           "properties": {
409             "names": {
410               "type": "array",
411               "items": {
412                 "type": "string"
413               }
414             }
415           },
416           "additionalProperties": false
417         },
418         "FindTags": {
419           "type": "object",
420           "properties": {
421             "prefixes": {
422               "type": "array",
423               "items": {
424                 "type": "string"
425               }
426             }
427           },
428           "additionalProperties": false,
429           "required": [
430             "prefixes"
431           ]
432         },
433         "FindTagsResults": {
434           "type": "object",
435           "properties": {
436             "matches": {
437               "type": "object",
438               "patternProperties": {
439                 ".*": {
440                   "type": "array",
441                   "items": {
442                     "$ref": "#/definitions/Entity"
443                   }
444                 }
445               }
446             }
447           },
448           "additionalProperties": false,
449           "required": [
450             "matches"
451           ]
452         },
453         "Macaroon": {
454           "type": "object",
455           "additionalProperties": false
456         },
457         "RunParams": {
458           "type": "object",
459           "properties": {
460             "applications": {
461               "type": "array",
462               "items": {
463                 "type": "string"
464               }
465             },
466             "commands": {
467               "type": "string"
468             },
469             "machines": {
470               "type": "array",
471               "items": {
472                 "type": "string"
473               }
474             },
475             "timeout": {
476               "type": "integer"
477             },
478             "units": {
479               "type": "array",
480               "items": {
481                 "type": "string"
482               }
483             }
484           },
485           "additionalProperties": false,
486           "required": [
487             "commands",
488             "timeout"
489           ]
490         }
491       }
492     }
493   },
494   {
495     "Name": "Agent",
496     "Version": 2,
497     "Schema": {
498       "type": "object",
499       "properties": {
500         "ClearReboot": {
501           "type": "object",
502           "properties": {
503             "Params": {
504               "$ref": "#/definitions/Entities"
505             },
506             "Result": {
507               "$ref": "#/definitions/ErrorResults"
508             }
509           }
510         },
511         "CloudSpec": {
512           "type": "object",
513           "properties": {
514             "Params": {
515               "$ref": "#/definitions/Entities"
516             },
517             "Result": {
518               "$ref": "#/definitions/CloudSpecResults"
519             }
520           }
521         },
522         "ControllerConfig": {
523           "type": "object",
524           "properties": {
525             "Result": {
526               "$ref": "#/definitions/ControllerConfigResult"
527             }
528           }
529         },
530         "GetCloudSpec": {
531           "type": "object",
532           "properties": {
533             "Params": {
534               "$ref": "#/definitions/ModelTag"
535             },
536             "Result": {
537               "$ref": "#/definitions/CloudSpecResult"
538             }
539           }
540         },
541         "GetEntities": {
542           "type": "object",
543           "properties": {
544             "Params": {
545               "$ref": "#/definitions/Entities"
546             },
547             "Result": {
548               "$ref": "#/definitions/AgentGetEntitiesResults"
549             }
550           }
551         },
552         "IsMaster": {
553           "type": "object",
554           "properties": {
555             "Result": {
556               "$ref": "#/definitions/IsMasterResult"
557             }
558           }
559         },
560         "ModelConfig": {
561           "type": "object",
562           "properties": {
563             "Result": {
564               "$ref": "#/definitions/ModelConfigResult"
565             }
566           }
567         },
568         "SetPasswords": {
569           "type": "object",
570           "properties": {
571             "Params": {
572               "$ref": "#/definitions/EntityPasswords"
573             },
574             "Result": {
575               "$ref": "#/definitions/ErrorResults"
576             }
577           }
578         },
579         "StateServingInfo": {
580           "type": "object",
581           "properties": {
582             "Result": {
583               "$ref": "#/definitions/StateServingInfo"
584             }
585           }
586         },
587         "WatchCredentials": {
588           "type": "object",
589           "properties": {
590             "Params": {
591               "$ref": "#/definitions/Entities"
592             },
593             "Result": {
594               "$ref": "#/definitions/NotifyWatchResults"
595             }
596           }
597         },
598         "WatchForModelConfigChanges": {
599           "type": "object",
600           "properties": {
601             "Result": {
602               "$ref": "#/definitions/NotifyWatchResult"
603             }
604           }
605         }
606       },
607       "definitions": {
608         "AgentGetEntitiesResult": {
609           "type": "object",
610           "properties": {
611             "container-type": {
612               "type": "string"
613             },
614             "error": {
615               "$ref": "#/definitions/Error"
616             },
617             "jobs": {
618               "type": "array",
619               "items": {
620                 "type": "string"
621               }
622             },
623             "life": {
624               "type": "string"
625             }
626           },
627           "additionalProperties": false,
628           "required": [
629             "life",
630             "jobs",
631             "container-type"
632           ]
633         },
634         "AgentGetEntitiesResults": {
635           "type": "object",
636           "properties": {
637             "entities": {
638               "type": "array",
639               "items": {
640                 "$ref": "#/definitions/AgentGetEntitiesResult"
641               }
642             }
643           },
644           "additionalProperties": false,
645           "required": [
646             "entities"
647           ]
648         },
649         "CloudCredential": {
650           "type": "object",
651           "properties": {
652             "attrs": {
653               "type": "object",
654               "patternProperties": {
655                 ".*": {
656                   "type": "string"
657                 }
658               }
659             },
660             "auth-type": {
661               "type": "string"
662             },
663             "redacted": {
664               "type": "array",
665               "items": {
666                 "type": "string"
667               }
668             }
669           },
670           "additionalProperties": false,
671           "required": [
672             "auth-type"
673           ]
674         },
675         "CloudSpec": {
676           "type": "object",
677           "properties": {
678             "credential": {
679               "$ref": "#/definitions/CloudCredential"
680             },
681             "endpoint": {
682               "type": "string"
683             },
684             "identity-endpoint": {
685               "type": "string"
686             },
687             "name": {
688               "type": "string"
689             },
690             "region": {
691               "type": "string"
692             },
693             "storage-endpoint": {
694               "type": "string"
695             },
696             "type": {
697               "type": "string"
698             }
699           },
700           "additionalProperties": false,
701           "required": [
702             "type",
703             "name"
704           ]
705         },
706         "CloudSpecResult": {
707           "type": "object",
708           "properties": {
709             "error": {
710               "$ref": "#/definitions/Error"
711             },
712             "result": {
713               "$ref": "#/definitions/CloudSpec"
714             }
715           },
716           "additionalProperties": false
717         },
718         "CloudSpecResults": {
719           "type": "object",
720           "properties": {
721             "results": {
722               "type": "array",
723               "items": {
724                 "$ref": "#/definitions/CloudSpecResult"
725               }
726             }
727           },
728           "additionalProperties": false
729         },
730         "ControllerConfigResult": {
731           "type": "object",
732           "properties": {
733             "config": {
734               "type": "object",
735               "patternProperties": {
736                 ".*": {
737                   "type": "object",
738                   "additionalProperties": true
739                 }
740               }
741             }
742           },
743           "additionalProperties": false,
744           "required": [
745             "config"
746           ]
747         },
748         "Entities": {
749           "type": "object",
750           "properties": {
751             "entities": {
752               "type": "array",
753               "items": {
754                 "$ref": "#/definitions/Entity"
755               }
756             }
757           },
758           "additionalProperties": false,
759           "required": [
760             "entities"
761           ]
762         },
763         "Entity": {
764           "type": "object",
765           "properties": {
766             "tag": {
767               "type": "string"
768             }
769           },
770           "additionalProperties": false,
771           "required": [
772             "tag"
773           ]
774         },
775         "EntityPassword": {
776           "type": "object",
777           "properties": {
778             "password": {
779               "type": "string"
780             },
781             "tag": {
782               "type": "string"
783             }
784           },
785           "additionalProperties": false,
786           "required": [
787             "tag",
788             "password"
789           ]
790         },
791         "EntityPasswords": {
792           "type": "object",
793           "properties": {
794             "changes": {
795               "type": "array",
796               "items": {
797                 "$ref": "#/definitions/EntityPassword"
798               }
799             }
800           },
801           "additionalProperties": false,
802           "required": [
803             "changes"
804           ]
805         },
806         "Error": {
807           "type": "object",
808           "properties": {
809             "code": {
810               "type": "string"
811             },
812             "info": {
813               "$ref": "#/definitions/ErrorInfo"
814             },
815             "message": {
816               "type": "string"
817             }
818           },
819           "additionalProperties": false,
820           "required": [
821             "message",
822             "code"
823           ]
824         },
825         "ErrorInfo": {
826           "type": "object",
827           "properties": {
828             "macaroon": {
829               "$ref": "#/definitions/Macaroon"
830             },
831             "macaroon-path": {
832               "type": "string"
833             }
834           },
835           "additionalProperties": false
836         },
837         "ErrorResult": {
838           "type": "object",
839           "properties": {
840             "error": {
841               "$ref": "#/definitions/Error"
842             }
843           },
844           "additionalProperties": false
845         },
846         "ErrorResults": {
847           "type": "object",
848           "properties": {
849             "results": {
850               "type": "array",
851               "items": {
852                 "$ref": "#/definitions/ErrorResult"
853               }
854             }
855           },
856           "additionalProperties": false,
857           "required": [
858             "results"
859           ]
860         },
861         "IsMasterResult": {
862           "type": "object",
863           "properties": {
864             "master": {
865               "type": "boolean"
866             }
867           },
868           "additionalProperties": false,
869           "required": [
870             "master"
871           ]
872         },
873         "Macaroon": {
874           "type": "object",
875           "additionalProperties": false
876         },
877         "ModelConfigResult": {
878           "type": "object",
879           "properties": {
880             "config": {
881               "type": "object",
882               "patternProperties": {
883                 ".*": {
884                   "type": "object",
885                   "additionalProperties": true
886                 }
887               }
888             }
889           },
890           "additionalProperties": false,
891           "required": [
892             "config"
893           ]
894         },
895         "ModelTag": {
896           "type": "object",
897           "additionalProperties": false
898         },
899         "NotifyWatchResult": {
900           "type": "object",
901           "properties": {
902             "NotifyWatcherId": {
903               "type": "string"
904             },
905             "error": {
906               "$ref": "#/definitions/Error"
907             }
908           },
909           "additionalProperties": false,
910           "required": [
911             "NotifyWatcherId"
912           ]
913         },
914         "NotifyWatchResults": {
915           "type": "object",
916           "properties": {
917             "results": {
918               "type": "array",
919               "items": {
920                 "$ref": "#/definitions/NotifyWatchResult"
921               }
922             }
923           },
924           "additionalProperties": false,
925           "required": [
926             "results"
927           ]
928         },
929         "StateServingInfo": {
930           "type": "object",
931           "properties": {
932             "api-port": {
933               "type": "integer"
934             },
935             "ca-private-key": {
936               "type": "string"
937             },
938             "cert": {
939               "type": "string"
940             },
941             "private-key": {
942               "type": "string"
943             },
944             "shared-secret": {
945               "type": "string"
946             },
947             "state-port": {
948               "type": "integer"
949             },
950             "system-identity": {
951               "type": "string"
952             }
953           },
954           "additionalProperties": false,
955           "required": [
956             "api-port",
957             "state-port",
958             "cert",
959             "private-key",
960             "ca-private-key",
961             "shared-secret",
962             "system-identity"
963           ]
964         }
965       }
966     }
967   },
968   {
969     "Name": "AgentTools",
970     "Version": 1,
971     "Schema": {
972       "type": "object",
973       "properties": {
974         "UpdateToolsAvailable": {
975           "type": "object"
976         }
977       }
978     }
979   },
980   {
981     "Name": "AllModelWatcher",
982     "Version": 2,
983     "Schema": {
984       "type": "object",
985       "properties": {
986         "Next": {
987           "type": "object",
988           "properties": {
989             "Result": {
990               "$ref": "#/definitions/AllWatcherNextResults"
991             }
992           }
993         },
994         "Stop": {
995           "type": "object"
996         }
997       },
998       "definitions": {
999         "AllWatcherNextResults": {
1000           "type": "object",
1001           "properties": {
1002             "deltas": {
1003               "type": "array",
1004               "items": {
1005                 "$ref": "#/definitions/Delta"
1006               }
1007             }
1008           },
1009           "additionalProperties": false,
1010           "required": [
1011             "deltas"
1012           ]
1013         },
1014         "Delta": {
1015           "type": "object",
1016           "properties": {
1017             "entity": {
1018               "type": "object",
1019               "additionalProperties": true
1020             },
1021             "removed": {
1022               "type": "boolean"
1023             }
1024           },
1025           "additionalProperties": false,
1026           "required": [
1027             "removed",
1028             "entity"
1029           ]
1030         }
1031       }
1032     }
1033   },
1034   {
1035     "Name": "AllWatcher",
1036     "Version": 1,
1037     "Schema": {
1038       "type": "object",
1039       "properties": {
1040         "Next": {
1041           "type": "object",
1042           "properties": {
1043             "Result": {
1044               "$ref": "#/definitions/AllWatcherNextResults"
1045             }
1046           }
1047         },
1048         "Stop": {
1049           "type": "object"
1050         }
1051       },
1052       "definitions": {
1053         "AllWatcherNextResults": {
1054           "type": "object",
1055           "properties": {
1056             "deltas": {
1057               "type": "array",
1058               "items": {
1059                 "$ref": "#/definitions/Delta"
1060               }
1061             }
1062           },
1063           "additionalProperties": false,
1064           "required": [
1065             "deltas"
1066           ]
1067         },
1068         "Delta": {
1069           "type": "object",
1070           "properties": {
1071             "entity": {
1072               "type": "object",
1073               "additionalProperties": true
1074             },
1075             "removed": {
1076               "type": "boolean"
1077             }
1078           },
1079           "additionalProperties": false,
1080           "required": [
1081             "removed",
1082             "entity"
1083           ]
1084         }
1085       }
1086     }
1087   },
1088   {
1089     "Name": "Annotations",
1090     "Version": 2,
1091     "Schema": {
1092       "type": "object",
1093       "properties": {
1094         "Get": {
1095           "type": "object",
1096           "properties": {
1097             "Params": {
1098               "$ref": "#/definitions/Entities"
1099             },
1100             "Result": {
1101               "$ref": "#/definitions/AnnotationsGetResults"
1102             }
1103           }
1104         },
1105         "Set": {
1106           "type": "object",
1107           "properties": {
1108             "Params": {
1109               "$ref": "#/definitions/AnnotationsSet"
1110             },
1111             "Result": {
1112               "$ref": "#/definitions/ErrorResults"
1113             }
1114           }
1115         }
1116       },
1117       "definitions": {
1118         "AnnotationsGetResult": {
1119           "type": "object",
1120           "properties": {
1121             "annotations": {
1122               "type": "object",
1123               "patternProperties": {
1124                 ".*": {
1125                   "type": "string"
1126                 }
1127               }
1128             },
1129             "entity": {
1130               "type": "string"
1131             },
1132             "error": {
1133               "$ref": "#/definitions/ErrorResult"
1134             }
1135           },
1136           "additionalProperties": false,
1137           "required": [
1138             "entity",
1139             "annotations"
1140           ]
1141         },
1142         "AnnotationsGetResults": {
1143           "type": "object",
1144           "properties": {
1145             "results": {
1146               "type": "array",
1147               "items": {
1148                 "$ref": "#/definitions/AnnotationsGetResult"
1149               }
1150             }
1151           },
1152           "additionalProperties": false,
1153           "required": [
1154             "results"
1155           ]
1156         },
1157         "AnnotationsSet": {
1158           "type": "object",
1159           "properties": {
1160             "annotations": {
1161               "type": "array",
1162               "items": {
1163                 "$ref": "#/definitions/EntityAnnotations"
1164               }
1165             }
1166           },
1167           "additionalProperties": false,
1168           "required": [
1169             "annotations"
1170           ]
1171         },
1172         "Entities": {
1173           "type": "object",
1174           "properties": {
1175             "entities": {
1176               "type": "array",
1177               "items": {
1178                 "$ref": "#/definitions/Entity"
1179               }
1180             }
1181           },
1182           "additionalProperties": false,
1183           "required": [
1184             "entities"
1185           ]
1186         },
1187         "Entity": {
1188           "type": "object",
1189           "properties": {
1190             "tag": {
1191               "type": "string"
1192             }
1193           },
1194           "additionalProperties": false,
1195           "required": [
1196             "tag"
1197           ]
1198         },
1199         "EntityAnnotations": {
1200           "type": "object",
1201           "properties": {
1202             "annotations": {
1203               "type": "object",
1204               "patternProperties": {
1205                 ".*": {
1206                   "type": "string"
1207                 }
1208               }
1209             },
1210             "entity": {
1211               "type": "string"
1212             }
1213           },
1214           "additionalProperties": false,
1215           "required": [
1216             "entity",
1217             "annotations"
1218           ]
1219         },
1220         "Error": {
1221           "type": "object",
1222           "properties": {
1223             "code": {
1224               "type": "string"
1225             },
1226             "info": {
1227               "$ref": "#/definitions/ErrorInfo"
1228             },
1229             "message": {
1230               "type": "string"
1231             }
1232           },
1233           "additionalProperties": false,
1234           "required": [
1235             "message",
1236             "code"
1237           ]
1238         },
1239         "ErrorInfo": {
1240           "type": "object",
1241           "properties": {
1242             "macaroon": {
1243               "$ref": "#/definitions/Macaroon"
1244             },
1245             "macaroon-path": {
1246               "type": "string"
1247             }
1248           },
1249           "additionalProperties": false
1250         },
1251         "ErrorResult": {
1252           "type": "object",
1253           "properties": {
1254             "error": {
1255               "$ref": "#/definitions/Error"
1256             }
1257           },
1258           "additionalProperties": false
1259         },
1260         "ErrorResults": {
1261           "type": "object",
1262           "properties": {
1263             "results": {
1264               "type": "array",
1265               "items": {
1266                 "$ref": "#/definitions/ErrorResult"
1267               }
1268             }
1269           },
1270           "additionalProperties": false,
1271           "required": [
1272             "results"
1273           ]
1274         },
1275         "Macaroon": {
1276           "type": "object",
1277           "additionalProperties": false
1278         }
1279       }
1280     }
1281   },
1282   {
1283     "Name": "Application",
1284     "Version": 3,
1285     "Schema": {
1286       "type": "object",
1287       "properties": {
1288         "AddRelation": {
1289           "type": "object",
1290           "properties": {
1291             "Params": {
1292               "$ref": "#/definitions/AddRelation"
1293             },
1294             "Result": {
1295               "$ref": "#/definitions/AddRelationResults"
1296             }
1297           }
1298         },
1299         "AddUnits": {
1300           "type": "object",
1301           "properties": {
1302             "Params": {
1303               "$ref": "#/definitions/AddApplicationUnits"
1304             },
1305             "Result": {
1306               "$ref": "#/definitions/AddApplicationUnitsResults"
1307             }
1308           }
1309         },
1310         "CharmRelations": {
1311           "type": "object",
1312           "properties": {
1313             "Params": {
1314               "$ref": "#/definitions/ApplicationCharmRelations"
1315             },
1316             "Result": {
1317               "$ref": "#/definitions/ApplicationCharmRelationsResults"
1318             }
1319           }
1320         },
1321         "Deploy": {
1322           "type": "object",
1323           "properties": {
1324             "Params": {
1325               "$ref": "#/definitions/ApplicationsDeploy"
1326             },
1327             "Result": {
1328               "$ref": "#/definitions/ErrorResults"
1329             }
1330           }
1331         },
1332         "Destroy": {
1333           "type": "object",
1334           "properties": {
1335             "Params": {
1336               "$ref": "#/definitions/ApplicationDestroy"
1337             }
1338           }
1339         },
1340         "DestroyRelation": {
1341           "type": "object",
1342           "properties": {
1343             "Params": {
1344               "$ref": "#/definitions/DestroyRelation"
1345             }
1346           }
1347         },
1348         "DestroyUnits": {
1349           "type": "object",
1350           "properties": {
1351             "Params": {
1352               "$ref": "#/definitions/DestroyApplicationUnits"
1353             }
1354           }
1355         },
1356         "Expose": {
1357           "type": "object",
1358           "properties": {
1359             "Params": {
1360               "$ref": "#/definitions/ApplicationExpose"
1361             }
1362           }
1363         },
1364         "Get": {
1365           "type": "object",
1366           "properties": {
1367             "Params": {
1368               "$ref": "#/definitions/ApplicationGet"
1369             },
1370             "Result": {
1371               "$ref": "#/definitions/ApplicationGetResults"
1372             }
1373           }
1374         },
1375         "GetCharmURL": {
1376           "type": "object",
1377           "properties": {
1378             "Params": {
1379               "$ref": "#/definitions/ApplicationGet"
1380             },
1381             "Result": {
1382               "$ref": "#/definitions/StringResult"
1383             }
1384           }
1385         },
1386         "GetConstraints": {
1387           "type": "object",
1388           "properties": {
1389             "Params": {
1390               "$ref": "#/definitions/GetApplicationConstraints"
1391             },
1392             "Result": {
1393               "$ref": "#/definitions/GetConstraintsResults"
1394             }
1395           }
1396         },
1397         "Set": {
1398           "type": "object",
1399           "properties": {
1400             "Params": {
1401               "$ref": "#/definitions/ApplicationSet"
1402             }
1403           }
1404         },
1405         "SetCharm": {
1406           "type": "object",
1407           "properties": {
1408             "Params": {
1409               "$ref": "#/definitions/ApplicationSetCharm"
1410             }
1411           }
1412         },
1413         "SetConstraints": {
1414           "type": "object",
1415           "properties": {
1416             "Params": {
1417               "$ref": "#/definitions/SetConstraints"
1418             }
1419           }
1420         },
1421         "SetMetricCredentials": {
1422           "type": "object",
1423           "properties": {
1424             "Params": {
1425               "$ref": "#/definitions/ApplicationMetricCredentials"
1426             },
1427             "Result": {
1428               "$ref": "#/definitions/ErrorResults"
1429             }
1430           }
1431         },
1432         "Unexpose": {
1433           "type": "object",
1434           "properties": {
1435             "Params": {
1436               "$ref": "#/definitions/ApplicationUnexpose"
1437             }
1438           }
1439         },
1440         "Unset": {
1441           "type": "object",
1442           "properties": {
1443             "Params": {
1444               "$ref": "#/definitions/ApplicationUnset"
1445             }
1446           }
1447         },
1448         "Update": {
1449           "type": "object",
1450           "properties": {
1451             "Params": {
1452               "$ref": "#/definitions/ApplicationUpdate"
1453             }
1454           }
1455         }
1456       },
1457       "definitions": {
1458         "AddApplicationUnits": {
1459           "type": "object",
1460           "properties": {
1461             "application": {
1462               "type": "string"
1463             },
1464             "num-units": {
1465               "type": "integer"
1466             },
1467             "placement": {
1468               "type": "array",
1469               "items": {
1470                 "$ref": "#/definitions/Placement"
1471               }
1472             }
1473           },
1474           "additionalProperties": false,
1475           "required": [
1476             "application",
1477             "num-units",
1478             "placement"
1479           ]
1480         },
1481         "AddApplicationUnitsResults": {
1482           "type": "object",
1483           "properties": {
1484             "units": {
1485               "type": "array",
1486               "items": {
1487                 "type": "string"
1488               }
1489             }
1490           },
1491           "additionalProperties": false,
1492           "required": [
1493             "units"
1494           ]
1495         },
1496         "AddRelation": {
1497           "type": "object",
1498           "properties": {
1499             "endpoints": {
1500               "type": "array",
1501               "items": {
1502                 "type": "string"
1503               }
1504             }
1505           },
1506           "additionalProperties": false,
1507           "required": [
1508             "endpoints"
1509           ]
1510         },
1511         "AddRelationResults": {
1512           "type": "object",
1513           "properties": {
1514             "endpoints": {
1515               "type": "object",
1516               "patternProperties": {
1517                 ".*": {
1518                   "$ref": "#/definitions/CharmRelation"
1519                 }
1520               }
1521             }
1522           },
1523           "additionalProperties": false,
1524           "required": [
1525             "endpoints"
1526           ]
1527         },
1528         "ApplicationCharmRelations": {
1529           "type": "object",
1530           "properties": {
1531             "application": {
1532               "type": "string"
1533             }
1534           },
1535           "additionalProperties": false,
1536           "required": [
1537             "application"
1538           ]
1539         },
1540         "ApplicationCharmRelationsResults": {
1541           "type": "object",
1542           "properties": {
1543             "charm-relations": {
1544               "type": "array",
1545               "items": {
1546                 "type": "string"
1547               }
1548             }
1549           },
1550           "additionalProperties": false,
1551           "required": [
1552             "charm-relations"
1553           ]
1554         },
1555         "ApplicationDeploy": {
1556           "type": "object",
1557           "properties": {
1558             "application": {
1559               "type": "string"
1560             },
1561             "channel": {
1562               "type": "string"
1563             },
1564             "charm-url": {
1565               "type": "string"
1566             },
1567             "config": {
1568               "type": "object",
1569               "patternProperties": {
1570                 ".*": {
1571                   "type": "string"
1572                 }
1573               }
1574             },
1575             "config-yaml": {
1576               "type": "string"
1577             },
1578             "constraints": {
1579               "$ref": "#/definitions/Value"
1580             },
1581             "endpoint-bindings": {
1582               "type": "object",
1583               "patternProperties": {
1584                 ".*": {
1585                   "type": "string"
1586                 }
1587               }
1588             },
1589             "num-units": {
1590               "type": "integer"
1591             },
1592             "placement": {
1593               "type": "array",
1594               "items": {
1595                 "$ref": "#/definitions/Placement"
1596               }
1597             },
1598             "resources": {
1599               "type": "object",
1600               "patternProperties": {
1601                 ".*": {
1602                   "type": "string"
1603                 }
1604               }
1605             },
1606             "series": {
1607               "type": "string"
1608             },
1609             "storage": {
1610               "type": "object",
1611               "patternProperties": {
1612                 ".*": {
1613                   "$ref": "#/definitions/Constraints"
1614                 }
1615               }
1616             }
1617           },
1618           "additionalProperties": false,
1619           "required": [
1620             "application",
1621             "series",
1622             "charm-url",
1623             "channel",
1624             "num-units",
1625             "config-yaml",
1626             "constraints"
1627           ]
1628         },
1629         "ApplicationDestroy": {
1630           "type": "object",
1631           "properties": {
1632             "application": {
1633               "type": "string"
1634             }
1635           },
1636           "additionalProperties": false,
1637           "required": [
1638             "application"
1639           ]
1640         },
1641         "ApplicationExpose": {
1642           "type": "object",
1643           "properties": {
1644             "application": {
1645               "type": "string"
1646             }
1647           },
1648           "additionalProperties": false,
1649           "required": [
1650             "application"
1651           ]
1652         },
1653         "ApplicationGet": {
1654           "type": "object",
1655           "properties": {
1656             "application": {
1657               "type": "string"
1658             }
1659           },
1660           "additionalProperties": false,
1661           "required": [
1662             "application"
1663           ]
1664         },
1665         "ApplicationGetResults": {
1666           "type": "object",
1667           "properties": {
1668             "application": {
1669               "type": "string"
1670             },
1671             "charm": {
1672               "type": "string"
1673             },
1674             "config": {
1675               "type": "object",
1676               "patternProperties": {
1677                 ".*": {
1678                   "type": "object",
1679                   "additionalProperties": true
1680                 }
1681               }
1682             },
1683             "constraints": {
1684               "$ref": "#/definitions/Value"
1685             },
1686             "series": {
1687               "type": "string"
1688             }
1689           },
1690           "additionalProperties": false,
1691           "required": [
1692             "application",
1693             "charm",
1694             "config",
1695             "constraints",
1696             "series"
1697           ]
1698         },
1699         "ApplicationMetricCredential": {
1700           "type": "object",
1701           "properties": {
1702             "application": {
1703               "type": "string"
1704             },
1705             "metrics-credentials": {
1706               "type": "array",
1707               "items": {
1708                 "type": "integer"
1709               }
1710             }
1711           },
1712           "additionalProperties": false,
1713           "required": [
1714             "application",
1715             "metrics-credentials"
1716           ]
1717         },
1718         "ApplicationMetricCredentials": {
1719           "type": "object",
1720           "properties": {
1721             "creds": {
1722               "type": "array",
1723               "items": {
1724                 "$ref": "#/definitions/ApplicationMetricCredential"
1725               }
1726             }
1727           },
1728           "additionalProperties": false,
1729           "required": [
1730             "creds"
1731           ]
1732         },
1733         "ApplicationSet": {
1734           "type": "object",
1735           "properties": {
1736             "application": {
1737               "type": "string"
1738             },
1739             "options": {
1740               "type": "object",
1741               "patternProperties": {
1742                 ".*": {
1743                   "type": "string"
1744                 }
1745               }
1746             }
1747           },
1748           "additionalProperties": false,
1749           "required": [
1750             "application",
1751             "options"
1752           ]
1753         },
1754         "ApplicationSetCharm": {
1755           "type": "object",
1756           "properties": {
1757             "application": {
1758               "type": "string"
1759             },
1760             "channel": {
1761               "type": "string"
1762             },
1763             "charm-url": {
1764               "type": "string"
1765             },
1766             "config-settings": {
1767               "type": "object",
1768               "patternProperties": {
1769                 ".*": {
1770                   "type": "string"
1771                 }
1772               }
1773             },
1774             "config-settings-yaml": {
1775               "type": "string"
1776             },
1777             "force-series": {
1778               "type": "boolean"
1779             },
1780             "force-units": {
1781               "type": "boolean"
1782             },
1783             "resource-ids": {
1784               "type": "object",
1785               "patternProperties": {
1786                 ".*": {
1787                   "type": "string"
1788                 }
1789               }
1790             },
1791             "storage-constraints": {
1792               "type": "object",
1793               "patternProperties": {
1794                 ".*": {
1795                   "$ref": "#/definitions/StorageConstraints"
1796                 }
1797               }
1798             }
1799           },
1800           "additionalProperties": false,
1801           "required": [
1802             "application",
1803             "charm-url",
1804             "channel",
1805             "force-units",
1806             "force-series"
1807           ]
1808         },
1809         "ApplicationUnexpose": {
1810           "type": "object",
1811           "properties": {
1812             "application": {
1813               "type": "string"
1814             }
1815           },
1816           "additionalProperties": false,
1817           "required": [
1818             "application"
1819           ]
1820         },
1821         "ApplicationUnset": {
1822           "type": "object",
1823           "properties": {
1824             "application": {
1825               "type": "string"
1826             },
1827             "options": {
1828               "type": "array",
1829               "items": {
1830                 "type": "string"
1831               }
1832             }
1833           },
1834           "additionalProperties": false,
1835           "required": [
1836             "application",
1837             "options"
1838           ]
1839         },
1840         "ApplicationUpdate": {
1841           "type": "object",
1842           "properties": {
1843             "application": {
1844               "type": "string"
1845             },
1846             "charm-url": {
1847               "type": "string"
1848             },
1849             "constraints": {
1850               "$ref": "#/definitions/Value"
1851             },
1852             "force-charm-url": {
1853               "type": "boolean"
1854             },
1855             "force-series": {
1856               "type": "boolean"
1857             },
1858             "min-units": {
1859               "type": "integer"
1860             },
1861             "settings": {
1862               "type": "object",
1863               "patternProperties": {
1864                 ".*": {
1865                   "type": "string"
1866                 }
1867               }
1868             },
1869             "settings-yaml": {
1870               "type": "string"
1871             }
1872           },
1873           "additionalProperties": false,
1874           "required": [
1875             "application",
1876             "charm-url",
1877             "force-charm-url",
1878             "force-series",
1879             "settings-yaml"
1880           ]
1881         },
1882         "ApplicationsDeploy": {
1883           "type": "object",
1884           "properties": {
1885             "applications": {
1886               "type": "array",
1887               "items": {
1888                 "$ref": "#/definitions/ApplicationDeploy"
1889               }
1890             }
1891           },
1892           "additionalProperties": false,
1893           "required": [
1894             "applications"
1895           ]
1896         },
1897         "CharmRelation": {
1898           "type": "object",
1899           "properties": {
1900             "interface": {
1901               "type": "string"
1902             },
1903             "limit": {
1904               "type": "integer"
1905             },
1906             "name": {
1907               "type": "string"
1908             },
1909             "optional": {
1910               "type": "boolean"
1911             },
1912             "role": {
1913               "type": "string"
1914             },
1915             "scope": {
1916               "type": "string"
1917             }
1918           },
1919           "additionalProperties": false,
1920           "required": [
1921             "name",
1922             "role",
1923             "interface",
1924             "optional",
1925             "limit",
1926             "scope"
1927           ]
1928         },
1929         "Constraints": {
1930           "type": "object",
1931           "properties": {
1932             "Count": {
1933               "type": "integer"
1934             },
1935             "Pool": {
1936               "type": "string"
1937             },
1938             "Size": {
1939               "type": "integer"
1940             }
1941           },
1942           "additionalProperties": false,
1943           "required": [
1944             "Pool",
1945             "Size",
1946             "Count"
1947           ]
1948         },
1949         "DestroyApplicationUnits": {
1950           "type": "object",
1951           "properties": {
1952             "unit-names": {
1953               "type": "array",
1954               "items": {
1955                 "type": "string"
1956               }
1957             }
1958           },
1959           "additionalProperties": false,
1960           "required": [
1961             "unit-names"
1962           ]
1963         },
1964         "DestroyRelation": {
1965           "type": "object",
1966           "properties": {
1967             "endpoints": {
1968               "type": "array",
1969               "items": {
1970                 "type": "string"
1971               }
1972             }
1973           },
1974           "additionalProperties": false,
1975           "required": [
1976             "endpoints"
1977           ]
1978         },
1979         "Error": {
1980           "type": "object",
1981           "properties": {
1982             "code": {
1983               "type": "string"
1984             },
1985             "info": {
1986               "$ref": "#/definitions/ErrorInfo"
1987             },
1988             "message": {
1989               "type": "string"
1990             }
1991           },
1992           "additionalProperties": false,
1993           "required": [
1994             "message",
1995             "code"
1996           ]
1997         },
1998         "ErrorInfo": {
1999           "type": "object",
2000           "properties": {
2001             "macaroon": {
2002               "$ref": "#/definitions/Macaroon"
2003             },
2004             "macaroon-path": {
2005               "type": "string"
2006             }
2007           },
2008           "additionalProperties": false
2009         },
2010         "ErrorResult": {
2011           "type": "object",
2012           "properties": {
2013             "error": {
2014               "$ref": "#/definitions/Error"
2015             }
2016           },
2017           "additionalProperties": false
2018         },
2019         "ErrorResults": {
2020           "type": "object",
2021           "properties": {
2022             "results": {
2023               "type": "array",
2024               "items": {
2025                 "$ref": "#/definitions/ErrorResult"
2026               }
2027             }
2028           },
2029           "additionalProperties": false,
2030           "required": [
2031             "results"
2032           ]
2033         },
2034         "GetApplicationConstraints": {
2035           "type": "object",
2036           "properties": {
2037             "application": {
2038               "type": "string"
2039             }
2040           },
2041           "additionalProperties": false,
2042           "required": [
2043             "application"
2044           ]
2045         },
2046         "GetConstraintsResults": {
2047           "type": "object",
2048           "properties": {
2049             "constraints": {
2050               "$ref": "#/definitions/Value"
2051             }
2052           },
2053           "additionalProperties": false,
2054           "required": [
2055             "constraints"
2056           ]
2057         },
2058         "Macaroon": {
2059           "type": "object",
2060           "additionalProperties": false
2061         },
2062         "Placement": {
2063           "type": "object",
2064           "properties": {
2065             "directive": {
2066               "type": "string"
2067             },
2068             "scope": {
2069               "type": "string"
2070             }
2071           },
2072           "additionalProperties": false,
2073           "required": [
2074             "scope",
2075             "directive"
2076           ]
2077         },
2078         "SetConstraints": {
2079           "type": "object",
2080           "properties": {
2081             "application": {
2082               "type": "string"
2083             },
2084             "constraints": {
2085               "$ref": "#/definitions/Value"
2086             }
2087           },
2088           "additionalProperties": false,
2089           "required": [
2090             "application",
2091             "constraints"
2092           ]
2093         },
2094         "StorageConstraints": {
2095           "type": "object",
2096           "properties": {
2097             "count": {
2098               "type": "integer"
2099             },
2100             "pool": {
2101               "type": "string"
2102             },
2103             "size": {
2104               "type": "integer"
2105             }
2106           },
2107           "additionalProperties": false
2108         },
2109         "StringResult": {
2110           "type": "object",
2111           "properties": {
2112             "error": {
2113               "$ref": "#/definitions/Error"
2114             },
2115             "result": {
2116               "type": "string"
2117             }
2118           },
2119           "additionalProperties": false,
2120           "required": [
2121             "result"
2122           ]
2123         },
2124         "Value": {
2125           "type": "object",
2126           "properties": {
2127             "arch": {
2128               "type": "string"
2129             },
2130             "container": {
2131               "type": "string"
2132             },
2133             "cores": {
2134               "type": "integer"
2135             },
2136             "cpu-power": {
2137               "type": "integer"
2138             },
2139             "instance-type": {
2140               "type": "string"
2141             },
2142             "mem": {
2143               "type": "integer"
2144             },
2145             "root-disk": {
2146               "type": "integer"
2147             },
2148             "spaces": {
2149               "type": "array",
2150               "items": {
2151                 "type": "string"
2152               }
2153             },
2154             "tags": {
2155               "type": "array",
2156               "items": {
2157                 "type": "string"
2158               }
2159             },
2160             "virt-type": {
2161               "type": "string"
2162             }
2163           },
2164           "additionalProperties": false
2165         }
2166       }
2167     }
2168   },
2169   {
2170     "Name": "ApplicationRelationsWatcher",
2171     "Version": 1,
2172     "Schema": {
2173       "type": "object",
2174       "properties": {
2175         "Next": {
2176           "type": "object",
2177           "properties": {
2178             "Result": {
2179               "$ref": "#/definitions/ApplicationRelationsWatchResult"
2180             }
2181           }
2182         },
2183         "Stop": {
2184           "type": "object"
2185         }
2186       },
2187       "definitions": {
2188         "ApplicationRelationsChange": {
2189           "type": "object",
2190           "properties": {
2191             "changed": {
2192               "type": "array",
2193               "items": {
2194                 "$ref": "#/definitions/RelationChange"
2195               }
2196             },
2197             "removed": {
2198               "type": "array",
2199               "items": {
2200                 "type": "integer"
2201               }
2202             }
2203           },
2204           "additionalProperties": false
2205         },
2206         "ApplicationRelationsWatchResult": {
2207           "type": "object",
2208           "properties": {
2209             "ApplicationRelationsWatcherId": {
2210               "type": "string"
2211             },
2212             "changes": {
2213               "$ref": "#/definitions/ApplicationRelationsChange"
2214             },
2215             "error": {
2216               "$ref": "#/definitions/Error"
2217             }
2218           },
2219           "additionalProperties": false,
2220           "required": [
2221             "ApplicationRelationsWatcherId"
2222           ]
2223         },
2224         "Error": {
2225           "type": "object",
2226           "properties": {
2227             "code": {
2228               "type": "string"
2229             },
2230             "info": {
2231               "$ref": "#/definitions/ErrorInfo"
2232             },
2233             "message": {
2234               "type": "string"
2235             }
2236           },
2237           "additionalProperties": false,
2238           "required": [
2239             "message",
2240             "code"
2241           ]
2242         },
2243         "ErrorInfo": {
2244           "type": "object",
2245           "properties": {
2246             "macaroon": {
2247               "$ref": "#/definitions/Macaroon"
2248             },
2249             "macaroon-path": {
2250               "type": "string"
2251             }
2252           },
2253           "additionalProperties": false
2254         },
2255         "Macaroon": {
2256           "type": "object",
2257           "additionalProperties": false
2258         },
2259         "RelationChange": {
2260           "type": "object",
2261           "properties": {
2262             "changedunits": {
2263               "type": "object",
2264               "patternProperties": {
2265                 ".*": {
2266                   "$ref": "#/definitions/RelationUnitChange"
2267                 }
2268               }
2269             },
2270             "departedunits": {
2271               "type": "array",
2272               "items": {
2273                 "type": "string"
2274               }
2275             },
2276             "id": {
2277               "type": "integer"
2278             },
2279             "life": {
2280               "type": "string"
2281             }
2282           },
2283           "additionalProperties": false,
2284           "required": [
2285             "id",
2286             "life"
2287           ]
2288         },
2289         "RelationUnitChange": {
2290           "type": "object",
2291           "properties": {
2292             "settings": {
2293               "type": "object",
2294               "patternProperties": {
2295                 ".*": {
2296                   "type": "object",
2297                   "additionalProperties": true
2298                 }
2299               }
2300             }
2301           },
2302           "additionalProperties": false
2303         }
2304       }
2305     }
2306   },
2307   {
2308     "Name": "ApplicationScaler",
2309     "Version": 1,
2310     "Schema": {
2311       "type": "object",
2312       "properties": {
2313         "Rescale": {
2314           "type": "object",
2315           "properties": {
2316             "Params": {
2317               "$ref": "#/definitions/Entities"
2318             },
2319             "Result": {
2320               "$ref": "#/definitions/ErrorResults"
2321             }
2322           }
2323         },
2324         "Watch": {
2325           "type": "object",
2326           "properties": {
2327             "Result": {
2328               "$ref": "#/definitions/StringsWatchResult"
2329             }
2330           }
2331         }
2332       },
2333       "definitions": {
2334         "Entities": {
2335           "type": "object",
2336           "properties": {
2337             "entities": {
2338               "type": "array",
2339               "items": {
2340                 "$ref": "#/definitions/Entity"
2341               }
2342             }
2343           },
2344           "additionalProperties": false,
2345           "required": [
2346             "entities"
2347           ]
2348         },
2349         "Entity": {
2350           "type": "object",
2351           "properties": {
2352             "tag": {
2353               "type": "string"
2354             }
2355           },
2356           "additionalProperties": false,
2357           "required": [
2358             "tag"
2359           ]
2360         },
2361         "Error": {
2362           "type": "object",
2363           "properties": {
2364             "code": {
2365               "type": "string"
2366             },
2367             "info": {
2368               "$ref": "#/definitions/ErrorInfo"
2369             },
2370             "message": {
2371               "type": "string"
2372             }
2373           },
2374           "additionalProperties": false,
2375           "required": [
2376             "message",
2377             "code"
2378           ]
2379         },
2380         "ErrorInfo": {
2381           "type": "object",
2382           "properties": {
2383             "macaroon": {
2384               "$ref": "#/definitions/Macaroon"
2385             },
2386             "macaroon-path": {
2387               "type": "string"
2388             }
2389           },
2390           "additionalProperties": false
2391         },
2392         "ErrorResult": {
2393           "type": "object",
2394           "properties": {
2395             "error": {
2396               "$ref": "#/definitions/Error"
2397             }
2398           },
2399           "additionalProperties": false
2400         },
2401         "ErrorResults": {
2402           "type": "object",
2403           "properties": {
2404             "results": {
2405               "type": "array",
2406               "items": {
2407                 "$ref": "#/definitions/ErrorResult"
2408               }
2409             }
2410           },
2411           "additionalProperties": false,
2412           "required": [
2413             "results"
2414           ]
2415         },
2416         "Macaroon": {
2417           "type": "object",
2418           "additionalProperties": false
2419         },
2420         "StringsWatchResult": {
2421           "type": "object",
2422           "properties": {
2423             "changes": {
2424               "type": "array",
2425               "items": {
2426                 "type": "string"
2427               }
2428             },
2429             "error": {
2430               "$ref": "#/definitions/Error"
2431             },
2432             "watcher-id": {
2433               "type": "string"
2434             }
2435           },
2436           "additionalProperties": false,
2437           "required": [
2438             "watcher-id"
2439           ]
2440         }
2441       }
2442     }
2443   },
2444   {
2445     "Name": "Backups",
2446     "Version": 1,
2447     "Schema": {
2448       "type": "object",
2449       "properties": {
2450         "Create": {
2451           "type": "object",
2452           "properties": {
2453             "Params": {
2454               "$ref": "#/definitions/BackupsCreateArgs"
2455             },
2456             "Result": {
2457               "$ref": "#/definitions/BackupsMetadataResult"
2458             }
2459           }
2460         },
2461         "FinishRestore": {
2462           "type": "object"
2463         },
2464         "Info": {
2465           "type": "object",
2466           "properties": {
2467             "Params": {
2468               "$ref": "#/definitions/BackupsInfoArgs"
2469             },
2470             "Result": {
2471               "$ref": "#/definitions/BackupsMetadataResult"
2472             }
2473           }
2474         },
2475         "List": {
2476           "type": "object",
2477           "properties": {
2478             "Params": {
2479               "$ref": "#/definitions/BackupsListArgs"
2480             },
2481             "Result": {
2482               "$ref": "#/definitions/BackupsListResult"
2483             }
2484           }
2485         },
2486         "PrepareRestore": {
2487           "type": "object"
2488         },
2489         "Remove": {
2490           "type": "object",
2491           "properties": {
2492             "Params": {
2493               "$ref": "#/definitions/BackupsRemoveArgs"
2494             }
2495           }
2496         },
2497         "Restore": {
2498           "type": "object",
2499           "properties": {
2500             "Params": {
2501               "$ref": "#/definitions/RestoreArgs"
2502             }
2503           }
2504         }
2505       },
2506       "definitions": {
2507         "BackupsCreateArgs": {
2508           "type": "object",
2509           "properties": {
2510             "notes": {
2511               "type": "string"
2512             }
2513           },
2514           "additionalProperties": false,
2515           "required": [
2516             "notes"
2517           ]
2518         },
2519         "BackupsInfoArgs": {
2520           "type": "object",
2521           "properties": {
2522             "id": {
2523               "type": "string"
2524             }
2525           },
2526           "additionalProperties": false,
2527           "required": [
2528             "id"
2529           ]
2530         },
2531         "BackupsListArgs": {
2532           "type": "object",
2533           "additionalProperties": false
2534         },
2535         "BackupsListResult": {
2536           "type": "object",
2537           "properties": {
2538             "list": {
2539               "type": "array",
2540               "items": {
2541                 "$ref": "#/definitions/BackupsMetadataResult"
2542               }
2543             }
2544           },
2545           "additionalProperties": false,
2546           "required": [
2547             "list"
2548           ]
2549         },
2550         "BackupsMetadataResult": {
2551           "type": "object",
2552           "properties": {
2553             "ca-cert": {
2554               "type": "string"
2555             },
2556             "ca-private-key": {
2557               "type": "string"
2558             },
2559             "checksum": {
2560               "type": "string"
2561             },
2562             "checksum-format": {
2563               "type": "string"
2564             },
2565             "finished": {
2566               "type": "string",
2567               "format": "date-time"
2568             },
2569             "hostname": {
2570               "type": "string"
2571             },
2572             "id": {
2573               "type": "string"
2574             },
2575             "machine": {
2576               "type": "string"
2577             },
2578             "model": {
2579               "type": "string"
2580             },
2581             "notes": {
2582               "type": "string"
2583             },
2584             "series": {
2585               "type": "string"
2586             },
2587             "size": {
2588               "type": "integer"
2589             },
2590             "started": {
2591               "type": "string",
2592               "format": "date-time"
2593             },
2594             "stored": {
2595               "type": "string",
2596               "format": "date-time"
2597             },
2598             "version": {
2599               "$ref": "#/definitions/Number"
2600             }
2601           },
2602           "additionalProperties": false,
2603           "required": [
2604             "id",
2605             "checksum",
2606             "checksum-format",
2607             "size",
2608             "stored",
2609             "started",
2610             "finished",
2611             "notes",
2612             "model",
2613             "machine",
2614             "hostname",
2615             "version",
2616             "series",
2617             "ca-cert",
2618             "ca-private-key"
2619           ]
2620         },
2621         "BackupsRemoveArgs": {
2622           "type": "object",
2623           "properties": {
2624             "id": {
2625               "type": "string"
2626             }
2627           },
2628           "additionalProperties": false,
2629           "required": [
2630             "id"
2631           ]
2632         },
2633         "Number": {
2634           "type": "object",
2635           "properties": {
2636             "Build": {
2637               "type": "integer"
2638             },
2639             "Major": {
2640               "type": "integer"
2641             },
2642             "Minor": {
2643               "type": "integer"
2644             },
2645             "Patch": {
2646               "type": "integer"
2647             },
2648             "Tag": {
2649               "type": "string"
2650             }
2651           },
2652           "additionalProperties": false,
2653           "required": [
2654             "Major",
2655             "Minor",
2656             "Tag",
2657             "Patch",
2658             "Build"
2659           ]
2660         },
2661         "RestoreArgs": {
2662           "type": "object",
2663           "properties": {
2664             "backup-id": {
2665               "type": "string"
2666             }
2667           },
2668           "additionalProperties": false,
2669           "required": [
2670             "backup-id"
2671           ]
2672         }
2673       }
2674     }
2675   },
2676   {
2677     "Name": "Block",
2678     "Version": 2,
2679     "Schema": {
2680       "type": "object",
2681       "properties": {
2682         "List": {
2683           "type": "object",
2684           "properties": {
2685             "Result": {
2686               "$ref": "#/definitions/BlockResults"
2687             }
2688           }
2689         },
2690         "SwitchBlockOff": {
2691           "type": "object",
2692           "properties": {
2693             "Params": {
2694               "$ref": "#/definitions/BlockSwitchParams"
2695             },
2696             "Result": {
2697               "$ref": "#/definitions/ErrorResult"
2698             }
2699           }
2700         },
2701         "SwitchBlockOn": {
2702           "type": "object",
2703           "properties": {
2704             "Params": {
2705               "$ref": "#/definitions/BlockSwitchParams"
2706             },
2707             "Result": {
2708               "$ref": "#/definitions/ErrorResult"
2709             }
2710           }
2711         }
2712       },
2713       "definitions": {
2714         "Block": {
2715           "type": "object",
2716           "properties": {
2717             "id": {
2718               "type": "string"
2719             },
2720             "message": {
2721               "type": "string"
2722             },
2723             "tag": {
2724               "type": "string"
2725             },
2726             "type": {
2727               "type": "string"
2728             }
2729           },
2730           "additionalProperties": false,
2731           "required": [
2732             "id",
2733             "tag",
2734             "type"
2735           ]
2736         },
2737         "BlockResult": {
2738           "type": "object",
2739           "properties": {
2740             "error": {
2741               "$ref": "#/definitions/Error"
2742             },
2743             "result": {
2744               "$ref": "#/definitions/Block"
2745             }
2746           },
2747           "additionalProperties": false,
2748           "required": [
2749             "result"
2750           ]
2751         },
2752         "BlockResults": {
2753           "type": "object",
2754           "properties": {
2755             "results": {
2756               "type": "array",
2757               "items": {
2758                 "$ref": "#/definitions/BlockResult"
2759               }
2760             }
2761           },
2762           "additionalProperties": false
2763         },
2764         "BlockSwitchParams": {
2765           "type": "object",
2766           "properties": {
2767             "message": {
2768               "type": "string"
2769             },
2770             "type": {
2771               "type": "string"
2772             }
2773           },
2774           "additionalProperties": false,
2775           "required": [
2776             "type"
2777           ]
2778         },
2779         "Error": {
2780           "type": "object",
2781           "properties": {
2782             "code": {
2783               "type": "string"
2784             },
2785             "info": {
2786               "$ref": "#/definitions/ErrorInfo"
2787             },
2788             "message": {
2789               "type": "string"
2790             }
2791           },
2792           "additionalProperties": false,
2793           "required": [
2794             "message",
2795             "code"
2796           ]
2797         },
2798         "ErrorInfo": {
2799           "type": "object",
2800           "properties": {
2801             "macaroon": {
2802               "$ref": "#/definitions/Macaroon"
2803             },
2804             "macaroon-path": {
2805               "type": "string"
2806             }
2807           },
2808           "additionalProperties": false
2809         },
2810         "ErrorResult": {
2811           "type": "object",
2812           "properties": {
2813             "error": {
2814               "$ref": "#/definitions/Error"
2815             }
2816           },
2817           "additionalProperties": false
2818         },
2819         "Macaroon": {
2820           "type": "object",
2821           "additionalProperties": false
2822         }
2823       }
2824     }
2825   },
2826   {
2827     "Name": "Bundle",
2828     "Version": 1,
2829     "Schema": {
2830       "type": "object",
2831       "properties": {
2832         "GetChanges": {
2833           "type": "object",
2834           "properties": {
2835             "Params": {
2836               "$ref": "#/definitions/BundleChangesParams"
2837             },
2838             "Result": {
2839               "$ref": "#/definitions/BundleChangesResults"
2840             }
2841           }
2842         }
2843       },
2844       "definitions": {
2845         "BundleChange": {
2846           "type": "object",
2847           "properties": {
2848             "args": {
2849               "type": "array",
2850               "items": {
2851                 "type": "object",
2852                 "additionalProperties": true
2853               }
2854             },
2855             "id": {
2856               "type": "string"
2857             },
2858             "method": {
2859               "type": "string"
2860             },
2861             "requires": {
2862               "type": "array",
2863               "items": {
2864                 "type": "string"
2865               }
2866             }
2867           },
2868           "additionalProperties": false,
2869           "required": [
2870             "id",
2871             "method",
2872             "args",
2873             "requires"
2874           ]
2875         },
2876         "BundleChangesParams": {
2877           "type": "object",
2878           "properties": {
2879             "yaml": {
2880               "type": "string"
2881             }
2882           },
2883           "additionalProperties": false,
2884           "required": [
2885             "yaml"
2886           ]
2887         },
2888         "BundleChangesResults": {
2889           "type": "object",
2890           "properties": {
2891             "changes": {
2892               "type": "array",
2893               "items": {
2894                 "$ref": "#/definitions/BundleChange"
2895               }
2896             },
2897             "errors": {
2898               "type": "array",
2899               "items": {
2900                 "type": "string"
2901               }
2902             }
2903           },
2904           "additionalProperties": false
2905         }
2906       }
2907     }
2908   },
2909   {
2910     "Name": "CharmRevisionUpdater",
2911     "Version": 2,
2912     "Schema": {
2913       "type": "object",
2914       "properties": {
2915         "UpdateLatestRevisions": {
2916           "type": "object",
2917           "properties": {
2918             "Result": {
2919               "$ref": "#/definitions/ErrorResult"
2920             }
2921           }
2922         }
2923       },
2924       "definitions": {
2925         "Error": {
2926           "type": "object",
2927           "properties": {
2928             "code": {
2929               "type": "string"
2930             },
2931             "info": {
2932               "$ref": "#/definitions/ErrorInfo"
2933             },
2934             "message": {
2935               "type": "string"
2936             }
2937           },
2938           "additionalProperties": false,
2939           "required": [
2940             "message",
2941             "code"
2942           ]
2943         },
2944         "ErrorInfo": {
2945           "type": "object",
2946           "properties": {
2947             "macaroon": {
2948               "$ref": "#/definitions/Macaroon"
2949             },
2950             "macaroon-path": {
2951               "type": "string"
2952             }
2953           },
2954           "additionalProperties": false
2955         },
2956         "ErrorResult": {
2957           "type": "object",
2958           "properties": {
2959             "error": {
2960               "$ref": "#/definitions/Error"
2961             }
2962           },
2963           "additionalProperties": false
2964         },
2965         "Macaroon": {
2966           "type": "object",
2967           "additionalProperties": false
2968         }
2969       }
2970     }
2971   },
2972   {
2973     "Name": "Charms",
2974     "Version": 2,
2975     "Schema": {
2976       "type": "object",
2977       "properties": {
2978         "CharmInfo": {
2979           "type": "object",
2980           "properties": {
2981             "Params": {
2982               "$ref": "#/definitions/CharmURL"
2983             },
2984             "Result": {
2985               "$ref": "#/definitions/CharmInfo"
2986             }
2987           }
2988         },
2989         "IsMetered": {
2990           "type": "object",
2991           "properties": {
2992             "Params": {
2993               "$ref": "#/definitions/CharmURL"
2994             },
2995             "Result": {
2996               "$ref": "#/definitions/IsMeteredResult"
2997             }
2998           }
2999         },
3000         "List": {
3001           "type": "object",
3002           "properties": {
3003             "Params": {
3004               "$ref": "#/definitions/CharmsList"
3005             },
3006             "Result": {
3007               "$ref": "#/definitions/CharmsListResult"
3008             }
3009           }
3010         }
3011       },
3012       "definitions": {
3013         "CharmActionSpec": {
3014           "type": "object",
3015           "properties": {
3016             "description": {
3017               "type": "string"
3018             },
3019             "params": {
3020               "type": "object",
3021               "patternProperties": {
3022                 ".*": {
3023                   "type": "object",
3024                   "additionalProperties": true
3025                 }
3026               }
3027             }
3028           },
3029           "additionalProperties": false,
3030           "required": [
3031             "description",
3032             "params"
3033           ]
3034         },
3035         "CharmActions": {
3036           "type": "object",
3037           "properties": {
3038             "specs": {
3039               "type": "object",
3040               "patternProperties": {
3041                 ".*": {
3042                   "$ref": "#/definitions/CharmActionSpec"
3043                 }
3044               }
3045             }
3046           },
3047           "additionalProperties": false
3048         },
3049         "CharmInfo": {
3050           "type": "object",
3051           "properties": {
3052             "actions": {
3053               "$ref": "#/definitions/CharmActions"
3054             },
3055             "config": {
3056               "type": "object",
3057               "patternProperties": {
3058                 ".*": {
3059                   "$ref": "#/definitions/CharmOption"
3060                 }
3061               }
3062             },
3063             "meta": {
3064               "$ref": "#/definitions/CharmMeta"
3065             },
3066             "metrics": {
3067               "$ref": "#/definitions/CharmMetrics"
3068             },
3069             "revision": {
3070               "type": "integer"
3071             },
3072             "url": {
3073               "type": "string"
3074             }
3075           },
3076           "additionalProperties": false,
3077           "required": [
3078             "revision",
3079             "url",
3080             "config"
3081           ]
3082         },
3083         "CharmMeta": {
3084           "type": "object",
3085           "properties": {
3086             "categories": {
3087               "type": "array",
3088               "items": {
3089                 "type": "string"
3090               }
3091             },
3092             "description": {
3093               "type": "string"
3094             },
3095             "extra-bindings": {