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