Add Juju Public Key
[osm/N2VC.git] / modules / libjuju / juju / client / schemas-juju-2.0.0.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": 2,
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": "ApplicationScaler",
2171     "Version": 1,
2172     "Schema": {
2173       "type": "object",
2174       "properties": {
2175         "Rescale": {
2176           "type": "object",
2177           "properties": {
2178             "Params": {
2179               "$ref": "#/definitions/Entities"
2180             },
2181             "Result": {
2182               "$ref": "#/definitions/ErrorResults"
2183             }
2184           }
2185         },
2186         "Watch": {
2187           "type": "object",
2188           "properties": {
2189             "Result": {
2190               "$ref": "#/definitions/StringsWatchResult"
2191             }
2192           }
2193         }
2194       },
2195       "definitions": {
2196         "Entities": {
2197           "type": "object",
2198           "properties": {
2199             "entities": {
2200               "type": "array",
2201               "items": {
2202                 "$ref": "#/definitions/Entity"
2203               }
2204             }
2205           },
2206           "additionalProperties": false,
2207           "required": [
2208             "entities"
2209           ]
2210         },
2211         "Entity": {
2212           "type": "object",
2213           "properties": {
2214             "tag": {
2215               "type": "string"
2216             }
2217           },
2218           "additionalProperties": false,
2219           "required": [
2220             "tag"
2221           ]
2222         },
2223         "Error": {
2224           "type": "object",
2225           "properties": {
2226             "code": {
2227               "type": "string"
2228             },
2229             "info": {
2230               "$ref": "#/definitions/ErrorInfo"
2231             },
2232             "message": {
2233               "type": "string"
2234             }
2235           },
2236           "additionalProperties": false,
2237           "required": [
2238             "message",
2239             "code"
2240           ]
2241         },
2242         "ErrorInfo": {
2243           "type": "object",
2244           "properties": {
2245             "macaroon": {
2246               "$ref": "#/definitions/Macaroon"
2247             },
2248             "macaroon-path": {
2249               "type": "string"
2250             }
2251           },
2252           "additionalProperties": false
2253         },
2254         "ErrorResult": {
2255           "type": "object",
2256           "properties": {
2257             "error": {
2258               "$ref": "#/definitions/Error"
2259             }
2260           },
2261           "additionalProperties": false
2262         },
2263         "ErrorResults": {
2264           "type": "object",
2265           "properties": {
2266             "results": {
2267               "type": "array",
2268               "items": {
2269                 "$ref": "#/definitions/ErrorResult"
2270               }
2271             }
2272           },
2273           "additionalProperties": false,
2274           "required": [
2275             "results"
2276           ]
2277         },
2278         "Macaroon": {
2279           "type": "object",
2280           "additionalProperties": false
2281         },
2282         "StringsWatchResult": {
2283           "type": "object",
2284           "properties": {
2285             "changes": {
2286               "type": "array",
2287               "items": {
2288                 "type": "string"
2289               }
2290             },
2291             "error": {
2292               "$ref": "#/definitions/Error"
2293             },
2294             "watcher-id": {
2295               "type": "string"
2296             }
2297           },
2298           "additionalProperties": false,
2299           "required": [
2300             "watcher-id"
2301           ]
2302         }
2303       }
2304     }
2305   },
2306   {
2307     "Name": "Backups",
2308     "Version": 1,
2309     "Schema": {
2310       "type": "object",
2311       "properties": {
2312         "Create": {
2313           "type": "object",
2314           "properties": {
2315             "Params": {
2316               "$ref": "#/definitions/BackupsCreateArgs"
2317             },
2318             "Result": {
2319               "$ref": "#/definitions/BackupsMetadataResult"
2320             }
2321           }
2322         },
2323         "FinishRestore": {
2324           "type": "object"
2325         },
2326         "Info": {
2327           "type": "object",
2328           "properties": {
2329             "Params": {
2330               "$ref": "#/definitions/BackupsInfoArgs"
2331             },
2332             "Result": {
2333               "$ref": "#/definitions/BackupsMetadataResult"
2334             }
2335           }
2336         },
2337         "List": {
2338           "type": "object",
2339           "properties": {
2340             "Params": {
2341               "$ref": "#/definitions/BackupsListArgs"
2342             },
2343             "Result": {
2344               "$ref": "#/definitions/BackupsListResult"
2345             }
2346           }
2347         },
2348         "PrepareRestore": {
2349           "type": "object"
2350         },
2351         "Remove": {
2352           "type": "object",
2353           "properties": {
2354             "Params": {
2355               "$ref": "#/definitions/BackupsRemoveArgs"
2356             }
2357           }
2358         },
2359         "Restore": {
2360           "type": "object",
2361           "properties": {
2362             "Params": {
2363               "$ref": "#/definitions/RestoreArgs"
2364             }
2365           }
2366         }
2367       },
2368       "definitions": {
2369         "BackupsCreateArgs": {
2370           "type": "object",
2371           "properties": {
2372             "notes": {
2373               "type": "string"
2374             }
2375           },
2376           "additionalProperties": false,
2377           "required": [
2378             "notes"
2379           ]
2380         },
2381         "BackupsInfoArgs": {
2382           "type": "object",
2383           "properties": {
2384             "id": {
2385               "type": "string"
2386             }
2387           },
2388           "additionalProperties": false,
2389           "required": [
2390             "id"
2391           ]
2392         },
2393         "BackupsListArgs": {
2394           "type": "object",
2395           "additionalProperties": false
2396         },
2397         "BackupsListResult": {
2398           "type": "object",
2399           "properties": {
2400             "list": {
2401               "type": "array",
2402               "items": {
2403                 "$ref": "#/definitions/BackupsMetadataResult"
2404               }
2405             }
2406           },
2407           "additionalProperties": false,
2408           "required": [
2409             "list"
2410           ]
2411         },
2412         "BackupsMetadataResult": {
2413           "type": "object",
2414           "properties": {
2415             "ca-cert": {
2416               "type": "string"
2417             },
2418             "ca-private-key": {
2419               "type": "string"
2420             },
2421             "checksum": {
2422               "type": "string"
2423             },
2424             "checksum-format": {
2425               "type": "string"
2426             },
2427             "finished": {
2428               "type": "string",
2429               "format": "date-time"
2430             },
2431             "hostname": {
2432               "type": "string"
2433             },
2434             "id": {
2435               "type": "string"
2436             },
2437             "machine": {
2438               "type": "string"
2439             },
2440             "model": {
2441               "type": "string"
2442             },
2443             "notes": {
2444               "type": "string"
2445             },
2446             "series": {
2447               "type": "string"
2448             },
2449             "size": {
2450               "type": "integer"
2451             },
2452             "started": {
2453               "type": "string",
2454               "format": "date-time"
2455             },
2456             "stored": {
2457               "type": "string",
2458               "format": "date-time"
2459             },
2460             "version": {
2461               "$ref": "#/definitions/Number"
2462             }
2463           },
2464           "additionalProperties": false,
2465           "required": [
2466             "id",
2467             "checksum",
2468             "checksum-format",
2469             "size",
2470             "stored",
2471             "started",
2472             "finished",
2473             "notes",
2474             "model",
2475             "machine",
2476             "hostname",
2477             "version",
2478             "series",
2479             "ca-cert",
2480             "ca-private-key"
2481           ]
2482         },
2483         "BackupsRemoveArgs": {
2484           "type": "object",
2485           "properties": {
2486             "id": {
2487               "type": "string"
2488             }
2489           },
2490           "additionalProperties": false,
2491           "required": [
2492             "id"
2493           ]
2494         },
2495         "Number": {
2496           "type": "object",
2497           "properties": {
2498             "Build": {
2499               "type": "integer"
2500             },
2501             "Major": {
2502               "type": "integer"
2503             },
2504             "Minor": {
2505               "type": "integer"
2506             },
2507             "Patch": {
2508               "type": "integer"
2509             },
2510             "Tag": {
2511               "type": "string"
2512             }
2513           },
2514           "additionalProperties": false,
2515           "required": [
2516             "Major",
2517             "Minor",
2518             "Tag",
2519             "Patch",
2520             "Build"
2521           ]
2522         },
2523         "RestoreArgs": {
2524           "type": "object",
2525           "properties": {
2526             "backup-id": {
2527               "type": "string"
2528             }
2529           },
2530           "additionalProperties": false,
2531           "required": [
2532             "backup-id"
2533           ]
2534         }
2535       }
2536     }
2537   },
2538   {
2539     "Name": "Block",
2540     "Version": 2,
2541     "Schema": {
2542       "type": "object",
2543       "properties": {
2544         "List": {
2545           "type": "object",
2546           "properties": {
2547             "Result": {
2548               "$ref": "#/definitions/BlockResults"
2549             }
2550           }
2551         },
2552         "SwitchBlockOff": {
2553           "type": "object",
2554           "properties": {
2555             "Params": {
2556               "$ref": "#/definitions/BlockSwitchParams"
2557             },
2558             "Result": {
2559               "$ref": "#/definitions/ErrorResult"
2560             }
2561           }
2562         },
2563         "SwitchBlockOn": {
2564           "type": "object",
2565           "properties": {
2566             "Params": {
2567               "$ref": "#/definitions/BlockSwitchParams"
2568             },
2569             "Result": {
2570               "$ref": "#/definitions/ErrorResult"
2571             }
2572           }
2573         }
2574       },
2575       "definitions": {
2576         "Block": {
2577           "type": "object",
2578           "properties": {
2579             "id": {
2580               "type": "string"
2581             },
2582             "message": {
2583               "type": "string"
2584             },
2585             "tag": {
2586               "type": "string"
2587             },
2588             "type": {
2589               "type": "string"
2590             }
2591           },
2592           "additionalProperties": false,
2593           "required": [
2594             "id",
2595             "tag",
2596             "type"
2597           ]
2598         },
2599         "BlockResult": {
2600           "type": "object",
2601           "properties": {
2602             "error": {
2603               "$ref": "#/definitions/Error"
2604             },
2605             "result": {
2606               "$ref": "#/definitions/Block"
2607             }
2608           },
2609           "additionalProperties": false,
2610           "required": [
2611             "result"
2612           ]
2613         },
2614         "BlockResults": {
2615           "type": "object",
2616           "properties": {
2617             "results": {
2618               "type": "array",
2619               "items": {
2620                 "$ref": "#/definitions/BlockResult"
2621               }
2622             }
2623           },
2624           "additionalProperties": false
2625         },
2626         "BlockSwitchParams": {
2627           "type": "object",
2628           "properties": {
2629             "message": {
2630               "type": "string"
2631             },
2632             "type": {
2633               "type": "string"
2634             }
2635           },
2636           "additionalProperties": false,
2637           "required": [
2638             "type"
2639           ]
2640         },
2641         "Error": {
2642           "type": "object",
2643           "properties": {
2644             "code": {
2645               "type": "string"
2646             },
2647             "info": {
2648               "$ref": "#/definitions/ErrorInfo"
2649             },
2650             "message": {
2651               "type": "string"
2652             }
2653           },
2654           "additionalProperties": false,
2655           "required": [
2656             "message",
2657             "code"
2658           ]
2659         },
2660         "ErrorInfo": {
2661           "type": "object",
2662           "properties": {
2663             "macaroon": {
2664               "$ref": "#/definitions/Macaroon"
2665             },
2666             "macaroon-path": {
2667               "type": "string"
2668             }
2669           },
2670           "additionalProperties": false
2671         },
2672         "ErrorResult": {
2673           "type": "object",
2674           "properties": {
2675             "error": {
2676               "$ref": "#/definitions/Error"
2677             }
2678           },
2679           "additionalProperties": false
2680         },
2681         "Macaroon": {
2682           "type": "object",
2683           "additionalProperties": false
2684         }
2685       }
2686     }
2687   },
2688   {
2689     "Name": "Bundle",
2690     "Version": 1,
2691     "Schema": {
2692       "type": "object",
2693       "properties": {
2694         "GetChanges": {
2695           "type": "object",
2696           "properties": {
2697             "Params": {
2698               "$ref": "#/definitions/BundleChangesParams"
2699             },
2700             "Result": {
2701               "$ref": "#/definitions/BundleChangesResults"
2702             }
2703           }
2704         }
2705       },
2706       "definitions": {
2707         "BundleChange": {
2708           "type": "object",
2709           "properties": {
2710             "args": {
2711               "type": "array",
2712               "items": {
2713                 "type": "object",
2714                 "additionalProperties": true
2715               }
2716             },
2717             "id": {
2718               "type": "string"
2719             },
2720             "method": {
2721               "type": "string"
2722             },
2723             "requires": {
2724               "type": "array",
2725               "items": {
2726                 "type": "string"
2727               }
2728             }
2729           },
2730           "additionalProperties": false,
2731           "required": [
2732             "id",
2733             "method",
2734             "args",
2735             "requires"
2736           ]
2737         },
2738         "BundleChangesParams": {
2739           "type": "object",
2740           "properties": {
2741             "yaml": {
2742               "type": "string"
2743             }
2744           },
2745           "additionalProperties": false,
2746           "required": [
2747             "yaml"
2748           ]
2749         },
2750         "BundleChangesResults": {
2751           "type": "object",
2752           "properties": {
2753             "changes": {
2754               "type": "array",
2755               "items": {
2756                 "$ref": "#/definitions/BundleChange"
2757               }
2758             },
2759             "errors": {
2760               "type": "array",
2761               "items": {
2762                 "type": "string"
2763               }
2764             }
2765           },
2766           "additionalProperties": false
2767         }
2768       }
2769     }
2770   },
2771   {
2772     "Name": "CharmRevisionUpdater",
2773     "Version": 2,
2774     "Schema": {
2775       "type": "object",
2776       "properties": {
2777         "UpdateLatestRevisions": {
2778           "type": "object",
2779           "properties": {
2780             "Result": {
2781               "$ref": "#/definitions/ErrorResult"
2782             }
2783           }
2784         }
2785       },
2786       "definitions": {
2787         "Error": {
2788           "type": "object",
2789           "properties": {
2790             "code": {
2791               "type": "string"
2792             },
2793             "info": {
2794               "$ref": "#/definitions/ErrorInfo"
2795             },
2796             "message": {
2797               "type": "string"
2798             }
2799           },
2800           "additionalProperties": false,
2801           "required": [
2802             "message",
2803             "code"
2804           ]
2805         },
2806         "ErrorInfo": {
2807           "type": "object",
2808           "properties": {
2809             "macaroon": {
2810               "$ref": "#/definitions/Macaroon"
2811             },
2812             "macaroon-path": {
2813               "type": "string"
2814             }
2815           },
2816           "additionalProperties": false
2817         },
2818         "ErrorResult": {
2819           "type": "object",
2820           "properties": {
2821             "error": {
2822               "$ref": "#/definitions/Error"
2823             }
2824           },
2825           "additionalProperties": false
2826         },
2827         "Macaroon": {
2828           "type": "object",
2829           "additionalProperties": false
2830         }
2831       }
2832     }
2833   },
2834   {
2835     "Name": "Charms",
2836     "Version": 2,
2837     "Schema": {
2838       "type": "object",
2839       "properties": {
2840         "CharmInfo": {
2841           "type": "object",
2842           "properties": {
2843             "Params": {
2844               "$ref": "#/definitions/CharmURL"
2845             },
2846             "Result": {
2847               "$ref": "#/definitions/CharmInfo"
2848             }
2849           }
2850         },
2851         "IsMetered": {
2852           "type": "object",
2853           "properties": {
2854             "Params": {
2855               "$ref": "#/definitions/CharmURL"
2856             },
2857             "Result": {
2858               "$ref": "#/definitions/IsMeteredResult"
2859             }
2860           }
2861         },
2862         "List": {
2863           "type": "object",
2864           "properties": {
2865             "Params": {
2866               "$ref": "#/definitions/CharmsList"
2867             },
2868             "Result": {
2869               "$ref": "#/definitions/CharmsListResult"
2870             }
2871           }
2872         }
2873       },
2874       "definitions": {
2875         "CharmActionSpec": {
2876           "type": "object",
2877           "properties": {
2878             "description": {
2879               "type": "string"
2880             },
2881             "params": {
2882               "type": "object",
2883               "patternProperties": {
2884                 ".*": {
2885                   "type": "object",
2886                   "additionalProperties": true
2887                 }
2888               }
2889             }
2890           },
2891           "additionalProperties": false,
2892           "required": [
2893             "description",
2894             "params"
2895           ]
2896         },
2897         "CharmActions": {
2898           "type": "object",
2899           "properties": {
2900             "specs": {
2901               "type": "object",
2902               "patternProperties": {
2903                 ".*": {
2904                   "$ref": "#/definitions/CharmActionSpec"
2905                 }
2906               }
2907             }
2908           },
2909           "additionalProperties": false
2910         },
2911         "CharmInfo": {
2912           "type": "object",
2913           "properties": {
2914             "actions": {
2915               "$ref": "#/definitions/CharmActions"
2916             },
2917             "config": {
2918               "type": "object",
2919               "patternProperties": {
2920                 ".*": {
2921                   "$ref": "#/definitions/CharmOption"
2922                 }
2923               }
2924             },
2925             "meta": {
2926               "$ref": "#/definitions/CharmMeta"
2927             },
2928             "metrics": {
2929               "$ref": "#/definitions/CharmMetrics"
2930             },
2931             "revision": {
2932               "type": "integer"
2933             },
2934             "url": {
2935               "type": "string"
2936             }
2937           },
2938           "additionalProperties": false,
2939           "required": [
2940             "revision",
2941             "url",
2942             "config"
2943           ]
2944         },
2945         "CharmMeta": {
2946           "type": "object",
2947           "properties": {
2948             "categories": {
2949               "type": "array",
2950               "items": {
2951                 "type": "string"
2952               }
2953             },
2954             "description": {
2955               "type": "string"
2956             },
2957             "extra-bindings": {
2958               "type": "object",
2959               "patternProperties": {
2960                 ".*": {
2961                   "type": "string"
2962                 }
2963               }
2964             },
2965             "min-juju-version": {
2966               "type": "string"
2967             },
2968             "name": {
2969               "type": "string"
2970             },
2971             "payload-classes": {
2972               "type": "object",
2973               "patternProperties": {
2974                 ".*": {
2975                   "$ref": "#/definitions/CharmPayloadClass"
2976                 }
2977               }
2978             },
2979             "peers": {
2980               "type": "object",
2981               "patternProperties": {
2982                 ".*": {
2983                   "$ref": "#/definitions/CharmRelation"
2984                 }
2985               }
2986             },
2987             "provides": {
2988               "type": "object",
2989               "patternProperties": {
2990                 ".*": {
2991                   "$ref": "#/definitions/CharmRelation"
2992                 }
2993               }
2994             },
2995             "requires": {
2996               "type": "object",
2997               "patternProperties": {
2998                 ".*": {
2999                   "$ref": "#/definitions/CharmRelation"
3000                 }
3001               }
3002             },
3003             "resources": {
3004               "type": "object",
3005               "patternProperties": {
3006                 ".*": {
3007                   "$ref": "#/definitions/CharmResourceMeta"
3008                 }
3009               }
3010             },
3011             "series": {
3012               "type": "array",
3013               "items": {
3014                 "type": "string"
3015               }
3016             },
3017             "storage": {
3018               "type": "object",
3019               "patternProperties": {
3020                 ".*": {
3021                   "$ref": "#/definitions/CharmStorage"
3022                 }
3023               }
3024             },
3025             "subordinate": {
3026               "type": "boolean"
3027             },
3028             "summary": {
3029               "type": "string"
3030             },
3031             "tags": {
3032               "type": "array",
3033               "items": {
3034                 "type": "string"
3035               }
3036             },
3037             "terms": {
3038               "type": "array",
3039               "items": {
3040                 "type": "string"
3041               }
3042             }
3043           },
3044           "additionalProperties": false,
3045           "required": [
3046             "name",
3047             "summary",
3048             "description",
3049             "subordinate"
3050           ]
3051         },
3052         "CharmMetric": {
3053           "type": "object",
3054           "properties": {
3055             "description": {
3056               "type": "string"
3057             },
3058             "type": {
3059               "type": "string"
3060             }
3061           },
3062           "additionalProperties": false,
3063           "required": [
3064             "type",
3065             "description"
3066           ]
3067         },
3068         "CharmMetrics": {
3069           "type": "object",
3070           "properties": {
3071             "metrics": {
3072               "type": "object",
3073               "patternProperties": {
3074                 ".*": {
3075                   "$ref": "#/definitions/CharmMetric"
3076                 }
3077               }
3078             },
3079             "plan": {
3080               "$ref": "#/definitions/CharmPlan"
3081             }
3082           },
3083           "additionalProperties": false,
3084           "required": [
3085             "metrics",
3086             "plan"
3087           ]
3088         },
3089         "CharmOption": {
3090           "type": "object",
3091           "properties": {