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