83375f06382b7ad2c23fa144773101ff4ddde3be
[osm/N2VC.git] / juju / client / _client3.py
1 # DO NOT CHANGE THIS FILE! This file is auto-generated by facade.py.
2 # Changes will be overwritten/lost when the file is regenerated.
3
4 from juju.client.facade import Type, ReturnMapping
5 from juju.client._definitions import *
6
7
8 class ApplicationFacade(Type):
9 name = 'Application'
10 version = 3
11 schema = {'definitions': {'AddApplicationUnits': {'additionalProperties': False,
12 'properties': {'application': {'type': 'string'},
13 'num-units': {'type': 'integer'},
14 'placement': {'items': {'$ref': '#/definitions/Placement'},
15 'type': 'array'}},
16 'required': ['application',
17 'num-units',
18 'placement'],
19 'type': 'object'},
20 'AddApplicationUnitsResults': {'additionalProperties': False,
21 'properties': {'units': {'items': {'type': 'string'},
22 'type': 'array'}},
23 'required': ['units'],
24 'type': 'object'},
25 'AddRelation': {'additionalProperties': False,
26 'properties': {'endpoints': {'items': {'type': 'string'},
27 'type': 'array'}},
28 'required': ['endpoints'],
29 'type': 'object'},
30 'AddRelationResults': {'additionalProperties': False,
31 'properties': {'endpoints': {'patternProperties': {'.*': {'$ref': '#/definitions/CharmRelation'}},
32 'type': 'object'}},
33 'required': ['endpoints'],
34 'type': 'object'},
35 'ApplicationCharmRelations': {'additionalProperties': False,
36 'properties': {'application': {'type': 'string'}},
37 'required': ['application'],
38 'type': 'object'},
39 'ApplicationCharmRelationsResults': {'additionalProperties': False,
40 'properties': {'charm-relations': {'items': {'type': 'string'},
41 'type': 'array'}},
42 'required': ['charm-relations'],
43 'type': 'object'},
44 'ApplicationDeploy': {'additionalProperties': False,
45 'properties': {'application': {'type': 'string'},
46 'channel': {'type': 'string'},
47 'charm-url': {'type': 'string'},
48 'config': {'patternProperties': {'.*': {'type': 'string'}},
49 'type': 'object'},
50 'config-yaml': {'type': 'string'},
51 'constraints': {'$ref': '#/definitions/Value'},
52 'endpoint-bindings': {'patternProperties': {'.*': {'type': 'string'}},
53 'type': 'object'},
54 'num-units': {'type': 'integer'},
55 'placement': {'items': {'$ref': '#/definitions/Placement'},
56 'type': 'array'},
57 'resources': {'patternProperties': {'.*': {'type': 'string'}},
58 'type': 'object'},
59 'series': {'type': 'string'},
60 'storage': {'patternProperties': {'.*': {'$ref': '#/definitions/Constraints'}},
61 'type': 'object'}},
62 'required': ['application',
63 'series',
64 'charm-url',
65 'channel',
66 'num-units',
67 'config-yaml',
68 'constraints'],
69 'type': 'object'},
70 'ApplicationDestroy': {'additionalProperties': False,
71 'properties': {'application': {'type': 'string'}},
72 'required': ['application'],
73 'type': 'object'},
74 'ApplicationExpose': {'additionalProperties': False,
75 'properties': {'application': {'type': 'string'}},
76 'required': ['application'],
77 'type': 'object'},
78 'ApplicationGet': {'additionalProperties': False,
79 'properties': {'application': {'type': 'string'}},
80 'required': ['application'],
81 'type': 'object'},
82 'ApplicationGetResults': {'additionalProperties': False,
83 'properties': {'application': {'type': 'string'},
84 'charm': {'type': 'string'},
85 'config': {'patternProperties': {'.*': {'additionalProperties': True,
86 'type': 'object'}},
87 'type': 'object'},
88 'constraints': {'$ref': '#/definitions/Value'},
89 'series': {'type': 'string'}},
90 'required': ['application',
91 'charm',
92 'config',
93 'constraints',
94 'series'],
95 'type': 'object'},
96 'ApplicationMetricCredential': {'additionalProperties': False,
97 'properties': {'application': {'type': 'string'},
98 'metrics-credentials': {'items': {'type': 'integer'},
99 'type': 'array'}},
100 'required': ['application',
101 'metrics-credentials'],
102 'type': 'object'},
103 'ApplicationMetricCredentials': {'additionalProperties': False,
104 'properties': {'creds': {'items': {'$ref': '#/definitions/ApplicationMetricCredential'},
105 'type': 'array'}},
106 'required': ['creds'],
107 'type': 'object'},
108 'ApplicationSet': {'additionalProperties': False,
109 'properties': {'application': {'type': 'string'},
110 'options': {'patternProperties': {'.*': {'type': 'string'}},
111 'type': 'object'}},
112 'required': ['application', 'options'],
113 'type': 'object'},
114 'ApplicationSetCharm': {'additionalProperties': False,
115 'properties': {'application': {'type': 'string'},
116 'channel': {'type': 'string'},
117 'charm-url': {'type': 'string'},
118 'config-settings': {'patternProperties': {'.*': {'type': 'string'}},
119 'type': 'object'},
120 'config-settings-yaml': {'type': 'string'},
121 'force-series': {'type': 'boolean'},
122 'force-units': {'type': 'boolean'},
123 'resource-ids': {'patternProperties': {'.*': {'type': 'string'}},
124 'type': 'object'},
125 'storage-constraints': {'patternProperties': {'.*': {'$ref': '#/definitions/StorageConstraints'}},
126 'type': 'object'}},
127 'required': ['application',
128 'charm-url',
129 'channel',
130 'force-units',
131 'force-series'],
132 'type': 'object'},
133 'ApplicationUnexpose': {'additionalProperties': False,
134 'properties': {'application': {'type': 'string'}},
135 'required': ['application'],
136 'type': 'object'},
137 'ApplicationUnset': {'additionalProperties': False,
138 'properties': {'application': {'type': 'string'},
139 'options': {'items': {'type': 'string'},
140 'type': 'array'}},
141 'required': ['application', 'options'],
142 'type': 'object'},
143 'ApplicationUpdate': {'additionalProperties': False,
144 'properties': {'application': {'type': 'string'},
145 'charm-url': {'type': 'string'},
146 'constraints': {'$ref': '#/definitions/Value'},
147 'force-charm-url': {'type': 'boolean'},
148 'force-series': {'type': 'boolean'},
149 'min-units': {'type': 'integer'},
150 'settings': {'patternProperties': {'.*': {'type': 'string'}},
151 'type': 'object'},
152 'settings-yaml': {'type': 'string'}},
153 'required': ['application',
154 'charm-url',
155 'force-charm-url',
156 'force-series',
157 'settings-yaml'],
158 'type': 'object'},
159 'ApplicationsDeploy': {'additionalProperties': False,
160 'properties': {'applications': {'items': {'$ref': '#/definitions/ApplicationDeploy'},
161 'type': 'array'}},
162 'required': ['applications'],
163 'type': 'object'},
164 'CharmRelation': {'additionalProperties': False,
165 'properties': {'interface': {'type': 'string'},
166 'limit': {'type': 'integer'},
167 'name': {'type': 'string'},
168 'optional': {'type': 'boolean'},
169 'role': {'type': 'string'},
170 'scope': {'type': 'string'}},
171 'required': ['name',
172 'role',
173 'interface',
174 'optional',
175 'limit',
176 'scope'],
177 'type': 'object'},
178 'Constraints': {'additionalProperties': False,
179 'properties': {'Count': {'type': 'integer'},
180 'Pool': {'type': 'string'},
181 'Size': {'type': 'integer'}},
182 'required': ['Pool', 'Size', 'Count'],
183 'type': 'object'},
184 'DestroyApplicationUnits': {'additionalProperties': False,
185 'properties': {'unit-names': {'items': {'type': 'string'},
186 'type': 'array'}},
187 'required': ['unit-names'],
188 'type': 'object'},
189 'DestroyRelation': {'additionalProperties': False,
190 'properties': {'endpoints': {'items': {'type': 'string'},
191 'type': 'array'}},
192 'required': ['endpoints'],
193 'type': 'object'},
194 'Error': {'additionalProperties': False,
195 'properties': {'code': {'type': 'string'},
196 'info': {'$ref': '#/definitions/ErrorInfo'},
197 'message': {'type': 'string'}},
198 'required': ['message', 'code'],
199 'type': 'object'},
200 'ErrorInfo': {'additionalProperties': False,
201 'properties': {'macaroon': {'$ref': '#/definitions/Macaroon'},
202 'macaroon-path': {'type': 'string'}},
203 'type': 'object'},
204 'ErrorResult': {'additionalProperties': False,
205 'properties': {'error': {'$ref': '#/definitions/Error'}},
206 'type': 'object'},
207 'ErrorResults': {'additionalProperties': False,
208 'properties': {'results': {'items': {'$ref': '#/definitions/ErrorResult'},
209 'type': 'array'}},
210 'required': ['results'],
211 'type': 'object'},
212 'GetApplicationConstraints': {'additionalProperties': False,
213 'properties': {'application': {'type': 'string'}},
214 'required': ['application'],
215 'type': 'object'},
216 'GetConstraintsResults': {'additionalProperties': False,
217 'properties': {'constraints': {'$ref': '#/definitions/Value'}},
218 'required': ['constraints'],
219 'type': 'object'},
220 'Macaroon': {'additionalProperties': False, 'type': 'object'},
221 'Placement': {'additionalProperties': False,
222 'properties': {'directive': {'type': 'string'},
223 'scope': {'type': 'string'}},
224 'required': ['scope', 'directive'],
225 'type': 'object'},
226 'SetConstraints': {'additionalProperties': False,
227 'properties': {'application': {'type': 'string'},
228 'constraints': {'$ref': '#/definitions/Value'}},
229 'required': ['application', 'constraints'],
230 'type': 'object'},
231 'StorageConstraints': {'additionalProperties': False,
232 'properties': {'count': {'type': 'integer'},
233 'pool': {'type': 'string'},
234 'size': {'type': 'integer'}},
235 'type': 'object'},
236 'StringResult': {'additionalProperties': False,
237 'properties': {'error': {'$ref': '#/definitions/Error'},
238 'result': {'type': 'string'}},
239 'required': ['result'],
240 'type': 'object'},
241 'Value': {'additionalProperties': False,
242 'properties': {'arch': {'type': 'string'},
243 'container': {'type': 'string'},
244 'cores': {'type': 'integer'},
245 'cpu-power': {'type': 'integer'},
246 'instance-type': {'type': 'string'},
247 'mem': {'type': 'integer'},
248 'root-disk': {'type': 'integer'},
249 'spaces': {'items': {'type': 'string'},
250 'type': 'array'},
251 'tags': {'items': {'type': 'string'},
252 'type': 'array'},
253 'virt-type': {'type': 'string'}},
254 'type': 'object'}},
255 'properties': {'AddRelation': {'properties': {'Params': {'$ref': '#/definitions/AddRelation'},
256 'Result': {'$ref': '#/definitions/AddRelationResults'}},
257 'type': 'object'},
258 'AddUnits': {'properties': {'Params': {'$ref': '#/definitions/AddApplicationUnits'},
259 'Result': {'$ref': '#/definitions/AddApplicationUnitsResults'}},
260 'type': 'object'},
261 'CharmRelations': {'properties': {'Params': {'$ref': '#/definitions/ApplicationCharmRelations'},
262 'Result': {'$ref': '#/definitions/ApplicationCharmRelationsResults'}},
263 'type': 'object'},
264 'Deploy': {'properties': {'Params': {'$ref': '#/definitions/ApplicationsDeploy'},
265 'Result': {'$ref': '#/definitions/ErrorResults'}},
266 'type': 'object'},
267 'Destroy': {'properties': {'Params': {'$ref': '#/definitions/ApplicationDestroy'}},
268 'type': 'object'},
269 'DestroyRelation': {'properties': {'Params': {'$ref': '#/definitions/DestroyRelation'}},
270 'type': 'object'},
271 'DestroyUnits': {'properties': {'Params': {'$ref': '#/definitions/DestroyApplicationUnits'}},
272 'type': 'object'},
273 'Expose': {'properties': {'Params': {'$ref': '#/definitions/ApplicationExpose'}},
274 'type': 'object'},
275 'Get': {'properties': {'Params': {'$ref': '#/definitions/ApplicationGet'},
276 'Result': {'$ref': '#/definitions/ApplicationGetResults'}},
277 'type': 'object'},
278 'GetCharmURL': {'properties': {'Params': {'$ref': '#/definitions/ApplicationGet'},
279 'Result': {'$ref': '#/definitions/StringResult'}},
280 'type': 'object'},
281 'GetConstraints': {'properties': {'Params': {'$ref': '#/definitions/GetApplicationConstraints'},
282 'Result': {'$ref': '#/definitions/GetConstraintsResults'}},
283 'type': 'object'},
284 'Set': {'properties': {'Params': {'$ref': '#/definitions/ApplicationSet'}},
285 'type': 'object'},
286 'SetCharm': {'properties': {'Params': {'$ref': '#/definitions/ApplicationSetCharm'}},
287 'type': 'object'},
288 'SetConstraints': {'properties': {'Params': {'$ref': '#/definitions/SetConstraints'}},
289 'type': 'object'},
290 'SetMetricCredentials': {'properties': {'Params': {'$ref': '#/definitions/ApplicationMetricCredentials'},
291 'Result': {'$ref': '#/definitions/ErrorResults'}},
292 'type': 'object'},
293 'Unexpose': {'properties': {'Params': {'$ref': '#/definitions/ApplicationUnexpose'}},
294 'type': 'object'},
295 'Unset': {'properties': {'Params': {'$ref': '#/definitions/ApplicationUnset'}},
296 'type': 'object'},
297 'Update': {'properties': {'Params': {'$ref': '#/definitions/ApplicationUpdate'}},
298 'type': 'object'}},
299 'type': 'object'}
300
301
302 @ReturnMapping(AddRelationResults)
303 async def AddRelation(self, endpoints):
304 '''
305 endpoints : typing.Sequence<+T_co>[str]
306 Returns -> typing.Mapping<~KT, +VT_co>[str, ~CharmRelation]<~CharmRelation>
307 '''
308 # map input types to rpc msg
309 _params = dict()
310 msg = dict(type='Application', request='AddRelation', version=3, params=_params)
311 _params['endpoints'] = endpoints
312 reply = await self.rpc(msg)
313 return reply
314
315
316
317 @ReturnMapping(AddApplicationUnitsResults)
318 async def AddUnits(self, application, num_units, placement):
319 '''
320 application : str
321 num_units : int
322 placement : typing.Sequence<+T_co>[~Placement]<~Placement>
323 Returns -> typing.Sequence<+T_co>[str]
324 '''
325 # map input types to rpc msg
326 _params = dict()
327 msg = dict(type='Application', request='AddUnits', version=3, params=_params)
328 _params['application'] = application
329 _params['num-units'] = num_units
330 _params['placement'] = placement
331 reply = await self.rpc(msg)
332 return reply
333
334
335
336 @ReturnMapping(ApplicationCharmRelationsResults)
337 async def CharmRelations(self, application):
338 '''
339 application : str
340 Returns -> typing.Sequence<+T_co>[str]
341 '''
342 # map input types to rpc msg
343 _params = dict()
344 msg = dict(type='Application', request='CharmRelations', version=3, params=_params)
345 _params['application'] = application
346 reply = await self.rpc(msg)
347 return reply
348
349
350
351 @ReturnMapping(ErrorResults)
352 async def Deploy(self, applications):
353 '''
354 applications : typing.Sequence<+T_co>[~ApplicationDeploy]<~ApplicationDeploy>
355 Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult>
356 '''
357 # map input types to rpc msg
358 _params = dict()
359 msg = dict(type='Application', request='Deploy', version=3, params=_params)
360 _params['applications'] = applications
361 reply = await self.rpc(msg)
362 return reply
363
364
365
366 @ReturnMapping(None)
367 async def Destroy(self, application):
368 '''
369 application : str
370 Returns -> None
371 '''
372 # map input types to rpc msg
373 _params = dict()
374 msg = dict(type='Application', request='Destroy', version=3, params=_params)
375 _params['application'] = application
376 reply = await self.rpc(msg)
377 return reply
378
379
380
381 @ReturnMapping(None)
382 async def DestroyRelation(self, endpoints):
383 '''
384 endpoints : typing.Sequence<+T_co>[str]
385 Returns -> None
386 '''
387 # map input types to rpc msg
388 _params = dict()
389 msg = dict(type='Application', request='DestroyRelation', version=3, params=_params)
390 _params['endpoints'] = endpoints
391 reply = await self.rpc(msg)
392 return reply
393
394
395
396 @ReturnMapping(None)
397 async def DestroyUnits(self, unit_names):
398 '''
399 unit_names : typing.Sequence<+T_co>[str]
400 Returns -> None
401 '''
402 # map input types to rpc msg
403 _params = dict()
404 msg = dict(type='Application', request='DestroyUnits', version=3, params=_params)
405 _params['unit-names'] = unit_names
406 reply = await self.rpc(msg)
407 return reply
408
409
410
411 @ReturnMapping(None)
412 async def Expose(self, application):
413 '''
414 application : str
415 Returns -> None
416 '''
417 # map input types to rpc msg
418 _params = dict()
419 msg = dict(type='Application', request='Expose', version=3, params=_params)
420 _params['application'] = application
421 reply = await self.rpc(msg)
422 return reply
423
424
425
426 @ReturnMapping(ApplicationGetResults)
427 async def Get(self, application):
428 '''
429 application : str
430 Returns -> typing.Union[str, typing.Mapping<~KT, +VT_co>[str, typing.Any], _ForwardRef('Value')]
431 '''
432 # map input types to rpc msg
433 _params = dict()
434 msg = dict(type='Application', request='Get', version=3, params=_params)
435 _params['application'] = application
436 reply = await self.rpc(msg)
437 return reply
438
439
440
441 @ReturnMapping(StringResult)
442 async def GetCharmURL(self, application):
443 '''
444 application : str
445 Returns -> typing.Union[_ForwardRef('Error'), str]
446 '''
447 # map input types to rpc msg
448 _params = dict()
449 msg = dict(type='Application', request='GetCharmURL', version=3, params=_params)
450 _params['application'] = application
451 reply = await self.rpc(msg)
452 return reply
453
454
455
456 @ReturnMapping(GetConstraintsResults)
457 async def GetConstraints(self, application):
458 '''
459 application : str
460 Returns -> Value
461 '''
462 # map input types to rpc msg
463 _params = dict()
464 msg = dict(type='Application', request='GetConstraints', version=3, params=_params)
465 _params['application'] = application
466 reply = await self.rpc(msg)
467 return reply
468
469
470
471 @ReturnMapping(None)
472 async def Set(self, application, options):
473 '''
474 application : str
475 options : typing.Mapping<~KT, +VT_co>[str, str]
476 Returns -> None
477 '''
478 # map input types to rpc msg
479 _params = dict()
480 msg = dict(type='Application', request='Set', version=3, params=_params)
481 _params['application'] = application
482 _params['options'] = options
483 reply = await self.rpc(msg)
484 return reply
485
486
487
488 @ReturnMapping(None)
489 async def SetCharm(self, application, channel, charm_url, config_settings, config_settings_yaml, force_series, force_units, resource_ids, storage_constraints):
490 '''
491 application : str
492 channel : str
493 charm_url : str
494 config_settings : typing.Mapping<~KT, +VT_co>[str, str]
495 config_settings_yaml : str
496 force_series : bool
497 force_units : bool
498 resource_ids : typing.Mapping<~KT, +VT_co>[str, str]
499 storage_constraints : typing.Mapping<~KT, +VT_co>[str, ~StorageConstraints]<~StorageConstraints>
500 Returns -> None
501 '''
502 # map input types to rpc msg
503 _params = dict()
504 msg = dict(type='Application', request='SetCharm', version=3, params=_params)
505 _params['application'] = application
506 _params['channel'] = channel
507 _params['charm-url'] = charm_url
508 _params['config-settings'] = config_settings
509 _params['config-settings-yaml'] = config_settings_yaml
510 _params['force-series'] = force_series
511 _params['force-units'] = force_units
512 _params['resource-ids'] = resource_ids
513 _params['storage-constraints'] = storage_constraints
514 reply = await self.rpc(msg)
515 return reply
516
517
518
519 @ReturnMapping(None)
520 async def SetConstraints(self, application, constraints):
521 '''
522 application : str
523 constraints : Value
524 Returns -> None
525 '''
526 # map input types to rpc msg
527 _params = dict()
528 msg = dict(type='Application', request='SetConstraints', version=3, params=_params)
529 _params['application'] = application
530 _params['constraints'] = constraints
531 reply = await self.rpc(msg)
532 return reply
533
534
535
536 @ReturnMapping(ErrorResults)
537 async def SetMetricCredentials(self, creds):
538 '''
539 creds : typing.Sequence<+T_co>[~ApplicationMetricCredential]<~ApplicationMetricCredential>
540 Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult>
541 '''
542 # map input types to rpc msg
543 _params = dict()
544 msg = dict(type='Application', request='SetMetricCredentials', version=3, params=_params)
545 _params['creds'] = creds
546 reply = await self.rpc(msg)
547 return reply
548
549
550
551 @ReturnMapping(None)
552 async def Unexpose(self, application):
553 '''
554 application : str
555 Returns -> None
556 '''
557 # map input types to rpc msg
558 _params = dict()
559 msg = dict(type='Application', request='Unexpose', version=3, params=_params)
560 _params['application'] = application
561 reply = await self.rpc(msg)
562 return reply
563
564
565
566 @ReturnMapping(None)
567 async def Unset(self, application, options):
568 '''
569 application : str
570 options : typing.Sequence<+T_co>[str]
571 Returns -> None
572 '''
573 # map input types to rpc msg
574 _params = dict()
575 msg = dict(type='Application', request='Unset', version=3, params=_params)
576 _params['application'] = application
577 _params['options'] = options
578 reply = await self.rpc(msg)
579 return reply
580
581
582
583 @ReturnMapping(None)
584 async def Update(self, application, charm_url, constraints, force_charm_url, force_series, min_units, settings, settings_yaml):
585 '''
586 application : str
587 charm_url : str
588 constraints : Value
589 force_charm_url : bool
590 force_series : bool
591 min_units : int
592 settings : typing.Mapping<~KT, +VT_co>[str, str]
593 settings_yaml : str
594 Returns -> None
595 '''
596 # map input types to rpc msg
597 _params = dict()
598 msg = dict(type='Application', request='Update', version=3, params=_params)
599 _params['application'] = application
600 _params['charm-url'] = charm_url
601 _params['constraints'] = constraints
602 _params['force-charm-url'] = force_charm_url
603 _params['force-series'] = force_series
604 _params['min-units'] = min_units
605 _params['settings'] = settings
606 _params['settings-yaml'] = settings_yaml
607 reply = await self.rpc(msg)
608 return reply
609
610
611
612 class ControllerFacade(Type):
613 name = 'Controller'
614 version = 3
615 schema = {'definitions': {'AllWatcherId': {'additionalProperties': False,
616 'properties': {'watcher-id': {'type': 'string'}},
617 'required': ['watcher-id'],
618 'type': 'object'},
619 'CloudCredential': {'additionalProperties': False,
620 'properties': {'attrs': {'patternProperties': {'.*': {'type': 'string'}},
621 'type': 'object'},
622 'auth-type': {'type': 'string'},
623 'redacted': {'items': {'type': 'string'},
624 'type': 'array'}},
625 'required': ['auth-type'],
626 'type': 'object'},
627 'CloudSpec': {'additionalProperties': False,
628 'properties': {'credential': {'$ref': '#/definitions/CloudCredential'},
629 'endpoint': {'type': 'string'},
630 'identity-endpoint': {'type': 'string'},
631 'name': {'type': 'string'},
632 'region': {'type': 'string'},
633 'storage-endpoint': {'type': 'string'},
634 'type': {'type': 'string'}},
635 'required': ['type', 'name'],
636 'type': 'object'},
637 'CloudSpecResult': {'additionalProperties': False,
638 'properties': {'error': {'$ref': '#/definitions/Error'},
639 'result': {'$ref': '#/definitions/CloudSpec'}},
640 'type': 'object'},
641 'CloudSpecResults': {'additionalProperties': False,
642 'properties': {'results': {'items': {'$ref': '#/definitions/CloudSpecResult'},
643 'type': 'array'}},
644 'type': 'object'},
645 'ConfigValue': {'additionalProperties': False,
646 'properties': {'source': {'type': 'string'},
647 'value': {'additionalProperties': True,
648 'type': 'object'}},
649 'required': ['value', 'source'],
650 'type': 'object'},
651 'ControllerConfigResult': {'additionalProperties': False,
652 'properties': {'config': {'patternProperties': {'.*': {'additionalProperties': True,
653 'type': 'object'}},
654 'type': 'object'}},
655 'required': ['config'],
656 'type': 'object'},
657 'DestroyControllerArgs': {'additionalProperties': False,
658 'properties': {'destroy-models': {'type': 'boolean'}},
659 'required': ['destroy-models'],
660 'type': 'object'},
661 'Entities': {'additionalProperties': False,
662 'properties': {'entities': {'items': {'$ref': '#/definitions/Entity'},
663 'type': 'array'}},
664 'required': ['entities'],
665 'type': 'object'},
666 'Entity': {'additionalProperties': False,
667 'properties': {'tag': {'type': 'string'}},
668 'required': ['tag'],
669 'type': 'object'},
670 'Error': {'additionalProperties': False,
671 'properties': {'code': {'type': 'string'},
672 'info': {'$ref': '#/definitions/ErrorInfo'},
673 'message': {'type': 'string'}},
674 'required': ['message', 'code'],
675 'type': 'object'},
676 'ErrorInfo': {'additionalProperties': False,
677 'properties': {'macaroon': {'$ref': '#/definitions/Macaroon'},
678 'macaroon-path': {'type': 'string'}},
679 'type': 'object'},
680 'ErrorResult': {'additionalProperties': False,
681 'properties': {'error': {'$ref': '#/definitions/Error'}},
682 'type': 'object'},
683 'ErrorResults': {'additionalProperties': False,
684 'properties': {'results': {'items': {'$ref': '#/definitions/ErrorResult'},
685 'type': 'array'}},
686 'required': ['results'],
687 'type': 'object'},
688 'HostedModelConfig': {'additionalProperties': False,
689 'properties': {'cloud-spec': {'$ref': '#/definitions/CloudSpec'},
690 'config': {'patternProperties': {'.*': {'additionalProperties': True,
691 'type': 'object'}},
692 'type': 'object'},
693 'error': {'$ref': '#/definitions/Error'},
694 'name': {'type': 'string'},
695 'owner': {'type': 'string'}},
696 'required': ['name', 'owner'],
697 'type': 'object'},
698 'HostedModelConfigsResults': {'additionalProperties': False,
699 'properties': {'models': {'items': {'$ref': '#/definitions/HostedModelConfig'},
700 'type': 'array'}},
701 'required': ['models'],
702 'type': 'object'},
703 'InitiateMigrationArgs': {'additionalProperties': False,
704 'properties': {'specs': {'items': {'$ref': '#/definitions/MigrationSpec'},
705 'type': 'array'}},
706 'required': ['specs'],
707 'type': 'object'},
708 'InitiateMigrationResult': {'additionalProperties': False,
709 'properties': {'error': {'$ref': '#/definitions/Error'},
710 'migration-id': {'type': 'string'},
711 'model-tag': {'type': 'string'}},
712 'required': ['model-tag',
713 'migration-id'],
714 'type': 'object'},
715 'InitiateMigrationResults': {'additionalProperties': False,
716 'properties': {'results': {'items': {'$ref': '#/definitions/InitiateMigrationResult'},
717 'type': 'array'}},
718 'required': ['results'],
719 'type': 'object'},
720 'Macaroon': {'additionalProperties': False, 'type': 'object'},
721 'MachineHardware': {'additionalProperties': False,
722 'properties': {'arch': {'type': 'string'},
723 'availability-zone': {'type': 'string'},
724 'cores': {'type': 'integer'},
725 'cpu-power': {'type': 'integer'},
726 'mem': {'type': 'integer'},
727 'root-disk': {'type': 'integer'},
728 'tags': {'items': {'type': 'string'},
729 'type': 'array'}},
730 'type': 'object'},
731 'MigrationSpec': {'additionalProperties': False,
732 'properties': {'model-tag': {'type': 'string'},
733 'target-info': {'$ref': '#/definitions/MigrationTargetInfo'}},
734 'required': ['model-tag', 'target-info'],
735 'type': 'object'},
736 'MigrationTargetInfo': {'additionalProperties': False,
737 'properties': {'addrs': {'items': {'type': 'string'},
738 'type': 'array'},
739 'auth-tag': {'type': 'string'},
740 'ca-cert': {'type': 'string'},
741 'controller-tag': {'type': 'string'},
742 'macaroons': {'type': 'string'},
743 'password': {'type': 'string'}},
744 'required': ['controller-tag',
745 'addrs',
746 'ca-cert',
747 'auth-tag'],
748 'type': 'object'},
749 'Model': {'additionalProperties': False,
750 'properties': {'name': {'type': 'string'},
751 'owner-tag': {'type': 'string'},
752 'uuid': {'type': 'string'}},
753 'required': ['name', 'uuid', 'owner-tag'],
754 'type': 'object'},
755 'ModelBlockInfo': {'additionalProperties': False,
756 'properties': {'blocks': {'items': {'type': 'string'},
757 'type': 'array'},
758 'model-uuid': {'type': 'string'},
759 'name': {'type': 'string'},
760 'owner-tag': {'type': 'string'}},
761 'required': ['name',
762 'model-uuid',
763 'owner-tag',
764 'blocks'],
765 'type': 'object'},
766 'ModelBlockInfoList': {'additionalProperties': False,
767 'properties': {'models': {'items': {'$ref': '#/definitions/ModelBlockInfo'},
768 'type': 'array'}},
769 'type': 'object'},
770 'ModelConfigResults': {'additionalProperties': False,
771 'properties': {'config': {'patternProperties': {'.*': {'$ref': '#/definitions/ConfigValue'}},
772 'type': 'object'}},
773 'required': ['config'],
774 'type': 'object'},
775 'ModelMachineInfo': {'additionalProperties': False,
776 'properties': {'hardware': {'$ref': '#/definitions/MachineHardware'},
777 'has-vote': {'type': 'boolean'},
778 'id': {'type': 'string'},
779 'instance-id': {'type': 'string'},
780 'status': {'type': 'string'},
781 'wants-vote': {'type': 'boolean'}},
782 'required': ['id'],
783 'type': 'object'},
784 'ModelStatus': {'additionalProperties': False,
785 'properties': {'application-count': {'type': 'integer'},
786 'hosted-machine-count': {'type': 'integer'},
787 'life': {'type': 'string'},
788 'machines': {'items': {'$ref': '#/definitions/ModelMachineInfo'},
789 'type': 'array'},
790 'model-tag': {'type': 'string'},
791 'owner-tag': {'type': 'string'}},
792 'required': ['model-tag',
793 'life',
794 'hosted-machine-count',
795 'application-count',
796 'owner-tag'],
797 'type': 'object'},
798 'ModelStatusResults': {'additionalProperties': False,
799 'properties': {'models': {'items': {'$ref': '#/definitions/ModelStatus'},
800 'type': 'array'}},
801 'required': ['models'],
802 'type': 'object'},
803 'ModelTag': {'additionalProperties': False, 'type': 'object'},
804 'ModifyControllerAccess': {'additionalProperties': False,
805 'properties': {'access': {'type': 'string'},
806 'action': {'type': 'string'},
807 'user-tag': {'type': 'string'}},
808 'required': ['user-tag',
809 'action',
810 'access'],
811 'type': 'object'},
812 'ModifyControllerAccessRequest': {'additionalProperties': False,
813 'properties': {'changes': {'items': {'$ref': '#/definitions/ModifyControllerAccess'},
814 'type': 'array'}},
815 'required': ['changes'],
816 'type': 'object'},
817 'RemoveBlocksArgs': {'additionalProperties': False,
818 'properties': {'all': {'type': 'boolean'}},
819 'required': ['all'],
820 'type': 'object'},
821 'UserAccess': {'additionalProperties': False,
822 'properties': {'access': {'type': 'string'},
823 'user-tag': {'type': 'string'}},
824 'required': ['user-tag', 'access'],
825 'type': 'object'},
826 'UserAccessResult': {'additionalProperties': False,
827 'properties': {'error': {'$ref': '#/definitions/Error'},
828 'result': {'$ref': '#/definitions/UserAccess'}},
829 'type': 'object'},
830 'UserAccessResults': {'additionalProperties': False,
831 'properties': {'results': {'items': {'$ref': '#/definitions/UserAccessResult'},
832 'type': 'array'}},
833 'type': 'object'},
834 'UserModel': {'additionalProperties': False,
835 'properties': {'last-connection': {'format': 'date-time',
836 'type': 'string'},
837 'model': {'$ref': '#/definitions/Model'}},
838 'required': ['model', 'last-connection'],
839 'type': 'object'},
840 'UserModelList': {'additionalProperties': False,
841 'properties': {'user-models': {'items': {'$ref': '#/definitions/UserModel'},
842 'type': 'array'}},
843 'required': ['user-models'],
844 'type': 'object'}},
845 'properties': {'AllModels': {'properties': {'Result': {'$ref': '#/definitions/UserModelList'}},
846 'type': 'object'},
847 'CloudSpec': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
848 'Result': {'$ref': '#/definitions/CloudSpecResults'}},
849 'type': 'object'},
850 'ControllerConfig': {'properties': {'Result': {'$ref': '#/definitions/ControllerConfigResult'}},
851 'type': 'object'},
852 'DestroyController': {'properties': {'Params': {'$ref': '#/definitions/DestroyControllerArgs'}},
853 'type': 'object'},
854 'GetCloudSpec': {'properties': {'Params': {'$ref': '#/definitions/ModelTag'},
855 'Result': {'$ref': '#/definitions/CloudSpecResult'}},
856 'type': 'object'},
857 'GetControllerAccess': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
858 'Result': {'$ref': '#/definitions/UserAccessResults'}},
859 'type': 'object'},
860 'HostedModelConfigs': {'properties': {'Result': {'$ref': '#/definitions/HostedModelConfigsResults'}},
861 'type': 'object'},
862 'InitiateMigration': {'properties': {'Params': {'$ref': '#/definitions/InitiateMigrationArgs'},
863 'Result': {'$ref': '#/definitions/InitiateMigrationResults'}},
864 'type': 'object'},
865 'ListBlockedModels': {'properties': {'Result': {'$ref': '#/definitions/ModelBlockInfoList'}},
866 'type': 'object'},
867 'ModelConfig': {'properties': {'Result': {'$ref': '#/definitions/ModelConfigResults'}},
868 'type': 'object'},
869 'ModelStatus': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
870 'Result': {'$ref': '#/definitions/ModelStatusResults'}},
871 'type': 'object'},
872 'ModifyControllerAccess': {'properties': {'Params': {'$ref': '#/definitions/ModifyControllerAccessRequest'},
873 'Result': {'$ref': '#/definitions/ErrorResults'}},
874 'type': 'object'},
875 'RemoveBlocks': {'properties': {'Params': {'$ref': '#/definitions/RemoveBlocksArgs'}},
876 'type': 'object'},
877 'WatchAllModels': {'properties': {'Result': {'$ref': '#/definitions/AllWatcherId'}},
878 'type': 'object'}},
879 'type': 'object'}
880
881
882 @ReturnMapping(UserModelList)
883 async def AllModels(self):
884 '''
885
886 Returns -> typing.Sequence<+T_co>[~UserModel]<~UserModel>
887 '''
888 # map input types to rpc msg
889 _params = dict()
890 msg = dict(type='Controller', request='AllModels', version=3, params=_params)
891
892 reply = await self.rpc(msg)
893 return reply
894
895
896
897 @ReturnMapping(CloudSpecResults)
898 async def CloudSpec(self, entities):
899 '''
900 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
901 Returns -> typing.Sequence<+T_co>[~CloudSpecResult]<~CloudSpecResult>
902 '''
903 # map input types to rpc msg
904 _params = dict()
905 msg = dict(type='Controller', request='CloudSpec', version=3, params=_params)
906 _params['entities'] = entities
907 reply = await self.rpc(msg)
908 return reply
909
910
911
912 @ReturnMapping(ControllerConfigResult)
913 async def ControllerConfig(self):
914 '''
915
916 Returns -> typing.Mapping<~KT, +VT_co>[str, typing.Any]
917 '''
918 # map input types to rpc msg
919 _params = dict()
920 msg = dict(type='Controller', request='ControllerConfig', version=3, params=_params)
921
922 reply = await self.rpc(msg)
923 return reply
924
925
926
927 @ReturnMapping(None)
928 async def DestroyController(self, destroy_models):
929 '''
930 destroy_models : bool
931 Returns -> None
932 '''
933 # map input types to rpc msg
934 _params = dict()
935 msg = dict(type='Controller', request='DestroyController', version=3, params=_params)
936 _params['destroy-models'] = destroy_models
937 reply = await self.rpc(msg)
938 return reply
939
940
941
942 @ReturnMapping(CloudSpecResult)
943 async def GetCloudSpec(self):
944 '''
945
946 Returns -> typing.Union[_ForwardRef('Error'), _ForwardRef('CloudSpec')]
947 '''
948 # map input types to rpc msg
949 _params = dict()
950 msg = dict(type='Controller', request='GetCloudSpec', version=3, params=_params)
951
952 reply = await self.rpc(msg)
953 return reply
954
955
956
957 @ReturnMapping(UserAccessResults)
958 async def GetControllerAccess(self, entities):
959 '''
960 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
961 Returns -> typing.Sequence<+T_co>[~UserAccessResult]<~UserAccessResult>
962 '''
963 # map input types to rpc msg
964 _params = dict()
965 msg = dict(type='Controller', request='GetControllerAccess', version=3, params=_params)
966 _params['entities'] = entities
967 reply = await self.rpc(msg)
968 return reply
969
970
971
972 @ReturnMapping(HostedModelConfigsResults)
973 async def HostedModelConfigs(self):
974 '''
975
976 Returns -> typing.Sequence<+T_co>[~HostedModelConfig]<~HostedModelConfig>
977 '''
978 # map input types to rpc msg
979 _params = dict()
980 msg = dict(type='Controller', request='HostedModelConfigs', version=3, params=_params)
981
982 reply = await self.rpc(msg)
983 return reply
984
985
986
987 @ReturnMapping(InitiateMigrationResults)
988 async def InitiateMigration(self, specs):
989 '''
990 specs : typing.Sequence<+T_co>[~MigrationSpec]<~MigrationSpec>
991 Returns -> typing.Sequence<+T_co>[~InitiateMigrationResult]<~InitiateMigrationResult>
992 '''
993 # map input types to rpc msg
994 _params = dict()
995 msg = dict(type='Controller', request='InitiateMigration', version=3, params=_params)
996 _params['specs'] = specs
997 reply = await self.rpc(msg)
998 return reply
999
1000
1001
1002 @ReturnMapping(ModelBlockInfoList)
1003 async def ListBlockedModels(self):
1004 '''
1005
1006 Returns -> typing.Sequence<+T_co>[~ModelBlockInfo]<~ModelBlockInfo>
1007 '''
1008 # map input types to rpc msg
1009 _params = dict()
1010 msg = dict(type='Controller', request='ListBlockedModels', version=3, params=_params)
1011
1012 reply = await self.rpc(msg)
1013 return reply
1014
1015
1016
1017 @ReturnMapping(ModelConfigResults)
1018 async def ModelConfig(self):
1019 '''
1020
1021 Returns -> typing.Mapping<~KT, +VT_co>[str, ~ConfigValue]<~ConfigValue>
1022 '''
1023 # map input types to rpc msg
1024 _params = dict()
1025 msg = dict(type='Controller', request='ModelConfig', version=3, params=_params)
1026
1027 reply = await self.rpc(msg)
1028 return reply
1029
1030
1031
1032 @ReturnMapping(ModelStatusResults)
1033 async def ModelStatus(self, entities):
1034 '''
1035 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
1036 Returns -> typing.Sequence<+T_co>[~ModelStatus]<~ModelStatus>
1037 '''
1038 # map input types to rpc msg
1039 _params = dict()
1040 msg = dict(type='Controller', request='ModelStatus', version=3, params=_params)
1041 _params['entities'] = entities
1042 reply = await self.rpc(msg)
1043 return reply
1044
1045
1046
1047 @ReturnMapping(ErrorResults)
1048 async def ModifyControllerAccess(self, changes):
1049 '''
1050 changes : typing.Sequence<+T_co>[~ModifyControllerAccess]<~ModifyControllerAccess>
1051 Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult>
1052 '''
1053 # map input types to rpc msg
1054 _params = dict()
1055 msg = dict(type='Controller', request='ModifyControllerAccess', version=3, params=_params)
1056 _params['changes'] = changes
1057 reply = await self.rpc(msg)
1058 return reply
1059
1060
1061
1062 @ReturnMapping(None)
1063 async def RemoveBlocks(self, all_):
1064 '''
1065 all_ : bool
1066 Returns -> None
1067 '''
1068 # map input types to rpc msg
1069 _params = dict()
1070 msg = dict(type='Controller', request='RemoveBlocks', version=3, params=_params)
1071 _params['all'] = all_
1072 reply = await self.rpc(msg)
1073 return reply
1074
1075
1076
1077 @ReturnMapping(AllWatcherId)
1078 async def WatchAllModels(self):
1079 '''
1080
1081 Returns -> str
1082 '''
1083 # map input types to rpc msg
1084 _params = dict()
1085 msg = dict(type='Controller', request='WatchAllModels', version=3, params=_params)
1086
1087 reply = await self.rpc(msg)
1088 return reply
1089
1090
1091
1092 class FirewallerFacade(Type):
1093 name = 'Firewaller'
1094 version = 3
1095 schema = {'definitions': {'BoolResult': {'additionalProperties': False,
1096 'properties': {'error': {'$ref': '#/definitions/Error'},
1097 'result': {'type': 'boolean'}},
1098 'required': ['result'],
1099 'type': 'object'},
1100 'BoolResults': {'additionalProperties': False,
1101 'properties': {'results': {'items': {'$ref': '#/definitions/BoolResult'},
1102 'type': 'array'}},
1103 'required': ['results'],
1104 'type': 'object'},
1105 'CloudCredential': {'additionalProperties': False,
1106 'properties': {'attrs': {'patternProperties': {'.*': {'type': 'string'}},
1107 'type': 'object'},
1108 'auth-type': {'type': 'string'},
1109 'redacted': {'items': {'type': 'string'},
1110 'type': 'array'}},
1111 'required': ['auth-type'],
1112 'type': 'object'},
1113 'CloudSpec': {'additionalProperties': False,
1114 'properties': {'credential': {'$ref': '#/definitions/CloudCredential'},
1115 'endpoint': {'type': 'string'},
1116 'identity-endpoint': {'type': 'string'},
1117 'name': {'type': 'string'},
1118 'region': {'type': 'string'},
1119 'storage-endpoint': {'type': 'string'},
1120 'type': {'type': 'string'}},
1121 'required': ['type', 'name'],
1122 'type': 'object'},
1123 'CloudSpecResult': {'additionalProperties': False,
1124 'properties': {'error': {'$ref': '#/definitions/Error'},
1125 'result': {'$ref': '#/definitions/CloudSpec'}},
1126 'type': 'object'},
1127 'CloudSpecResults': {'additionalProperties': False,
1128 'properties': {'results': {'items': {'$ref': '#/definitions/CloudSpecResult'},
1129 'type': 'array'}},
1130 'type': 'object'},
1131 'Entities': {'additionalProperties': False,
1132 'properties': {'entities': {'items': {'$ref': '#/definitions/Entity'},
1133 'type': 'array'}},
1134 'required': ['entities'],
1135 'type': 'object'},
1136 'Entity': {'additionalProperties': False,
1137 'properties': {'tag': {'type': 'string'}},
1138 'required': ['tag'],
1139 'type': 'object'},
1140 'Error': {'additionalProperties': False,
1141 'properties': {'code': {'type': 'string'},
1142 'info': {'$ref': '#/definitions/ErrorInfo'},
1143 'message': {'type': 'string'}},
1144 'required': ['message', 'code'],
1145 'type': 'object'},
1146 'ErrorInfo': {'additionalProperties': False,
1147 'properties': {'macaroon': {'$ref': '#/definitions/Macaroon'},
1148 'macaroon-path': {'type': 'string'}},
1149 'type': 'object'},
1150 'LifeResult': {'additionalProperties': False,
1151 'properties': {'error': {'$ref': '#/definitions/Error'},
1152 'life': {'type': 'string'}},
1153 'required': ['life'],
1154 'type': 'object'},
1155 'LifeResults': {'additionalProperties': False,
1156 'properties': {'results': {'items': {'$ref': '#/definitions/LifeResult'},
1157 'type': 'array'}},
1158 'required': ['results'],
1159 'type': 'object'},
1160 'Macaroon': {'additionalProperties': False, 'type': 'object'},
1161 'MachinePortRange': {'additionalProperties': False,
1162 'properties': {'port-range': {'$ref': '#/definitions/PortRange'},
1163 'relation-tag': {'type': 'string'},
1164 'unit-tag': {'type': 'string'}},
1165 'required': ['unit-tag',
1166 'relation-tag',
1167 'port-range'],
1168 'type': 'object'},
1169 'MachinePorts': {'additionalProperties': False,
1170 'properties': {'machine-tag': {'type': 'string'},
1171 'subnet-tag': {'type': 'string'}},
1172 'required': ['machine-tag', 'subnet-tag'],
1173 'type': 'object'},
1174 'MachinePortsParams': {'additionalProperties': False,
1175 'properties': {'params': {'items': {'$ref': '#/definitions/MachinePorts'},
1176 'type': 'array'}},
1177 'required': ['params'],
1178 'type': 'object'},
1179 'MachinePortsResult': {'additionalProperties': False,
1180 'properties': {'error': {'$ref': '#/definitions/Error'},
1181 'ports': {'items': {'$ref': '#/definitions/MachinePortRange'},
1182 'type': 'array'}},
1183 'required': ['ports'],
1184 'type': 'object'},
1185 'MachinePortsResults': {'additionalProperties': False,
1186 'properties': {'results': {'items': {'$ref': '#/definitions/MachinePortsResult'},
1187 'type': 'array'}},
1188 'required': ['results'],
1189 'type': 'object'},
1190 'ModelConfigResult': {'additionalProperties': False,
1191 'properties': {'config': {'patternProperties': {'.*': {'additionalProperties': True,
1192 'type': 'object'}},
1193 'type': 'object'}},
1194 'required': ['config'],
1195 'type': 'object'},
1196 'ModelTag': {'additionalProperties': False, 'type': 'object'},
1197 'NotifyWatchResult': {'additionalProperties': False,
1198 'properties': {'NotifyWatcherId': {'type': 'string'},
1199 'error': {'$ref': '#/definitions/Error'}},
1200 'required': ['NotifyWatcherId'],
1201 'type': 'object'},
1202 'NotifyWatchResults': {'additionalProperties': False,
1203 'properties': {'results': {'items': {'$ref': '#/definitions/NotifyWatchResult'},
1204 'type': 'array'}},
1205 'required': ['results'],
1206 'type': 'object'},
1207 'PortRange': {'additionalProperties': False,
1208 'properties': {'from-port': {'type': 'integer'},
1209 'protocol': {'type': 'string'},
1210 'to-port': {'type': 'integer'}},
1211 'required': ['from-port', 'to-port', 'protocol'],
1212 'type': 'object'},
1213 'StringResult': {'additionalProperties': False,
1214 'properties': {'error': {'$ref': '#/definitions/Error'},
1215 'result': {'type': 'string'}},
1216 'required': ['result'],
1217 'type': 'object'},
1218 'StringResults': {'additionalProperties': False,
1219 'properties': {'results': {'items': {'$ref': '#/definitions/StringResult'},
1220 'type': 'array'}},
1221 'required': ['results'],
1222 'type': 'object'},
1223 'StringsResult': {'additionalProperties': False,
1224 'properties': {'error': {'$ref': '#/definitions/Error'},
1225 'result': {'items': {'type': 'string'},
1226 'type': 'array'}},
1227 'type': 'object'},
1228 'StringsResults': {'additionalProperties': False,
1229 'properties': {'results': {'items': {'$ref': '#/definitions/StringsResult'},
1230 'type': 'array'}},
1231 'required': ['results'],
1232 'type': 'object'},
1233 'StringsWatchResult': {'additionalProperties': False,
1234 'properties': {'changes': {'items': {'type': 'string'},
1235 'type': 'array'},
1236 'error': {'$ref': '#/definitions/Error'},
1237 'watcher-id': {'type': 'string'}},
1238 'required': ['watcher-id'],
1239 'type': 'object'},
1240 'StringsWatchResults': {'additionalProperties': False,
1241 'properties': {'results': {'items': {'$ref': '#/definitions/StringsWatchResult'},
1242 'type': 'array'}},
1243 'required': ['results'],
1244 'type': 'object'}},
1245 'properties': {'CloudSpec': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
1246 'Result': {'$ref': '#/definitions/CloudSpecResults'}},
1247 'type': 'object'},
1248 'GetAssignedMachine': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
1249 'Result': {'$ref': '#/definitions/StringResults'}},
1250 'type': 'object'},
1251 'GetCloudSpec': {'properties': {'Params': {'$ref': '#/definitions/ModelTag'},
1252 'Result': {'$ref': '#/definitions/CloudSpecResult'}},
1253 'type': 'object'},
1254 'GetExposed': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
1255 'Result': {'$ref': '#/definitions/BoolResults'}},
1256 'type': 'object'},
1257 'GetMachineActiveSubnets': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
1258 'Result': {'$ref': '#/definitions/StringsResults'}},
1259 'type': 'object'},
1260 'GetMachinePorts': {'properties': {'Params': {'$ref': '#/definitions/MachinePortsParams'},
1261 'Result': {'$ref': '#/definitions/MachinePortsResults'}},
1262 'type': 'object'},
1263 'InstanceId': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
1264 'Result': {'$ref': '#/definitions/StringResults'}},
1265 'type': 'object'},
1266 'Life': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
1267 'Result': {'$ref': '#/definitions/LifeResults'}},
1268 'type': 'object'},
1269 'ModelConfig': {'properties': {'Result': {'$ref': '#/definitions/ModelConfigResult'}},
1270 'type': 'object'},
1271 'Watch': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
1272 'Result': {'$ref': '#/definitions/NotifyWatchResults'}},
1273 'type': 'object'},
1274 'WatchForModelConfigChanges': {'properties': {'Result': {'$ref': '#/definitions/NotifyWatchResult'}},
1275 'type': 'object'},
1276 'WatchModelMachines': {'properties': {'Result': {'$ref': '#/definitions/StringsWatchResult'}},
1277 'type': 'object'},
1278 'WatchOpenedPorts': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
1279 'Result': {'$ref': '#/definitions/StringsWatchResults'}},
1280 'type': 'object'},
1281 'WatchUnits': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
1282 'Result': {'$ref': '#/definitions/StringsWatchResults'}},
1283 'type': 'object'}},
1284 'type': 'object'}
1285
1286
1287 @ReturnMapping(CloudSpecResults)
1288 async def CloudSpec(self, entities):
1289 '''
1290 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
1291 Returns -> typing.Sequence<+T_co>[~CloudSpecResult]<~CloudSpecResult>
1292 '''
1293 # map input types to rpc msg
1294 _params = dict()
1295 msg = dict(type='Firewaller', request='CloudSpec', version=3, params=_params)
1296 _params['entities'] = entities
1297 reply = await self.rpc(msg)
1298 return reply
1299
1300
1301
1302 @ReturnMapping(StringResults)
1303 async def GetAssignedMachine(self, entities):
1304 '''
1305 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
1306 Returns -> typing.Sequence<+T_co>[~StringResult]<~StringResult>
1307 '''
1308 # map input types to rpc msg
1309 _params = dict()
1310 msg = dict(type='Firewaller', request='GetAssignedMachine', version=3, params=_params)
1311 _params['entities'] = entities
1312 reply = await self.rpc(msg)
1313 return reply
1314
1315
1316
1317 @ReturnMapping(CloudSpecResult)
1318 async def GetCloudSpec(self):
1319 '''
1320
1321 Returns -> typing.Union[_ForwardRef('Error'), _ForwardRef('CloudSpec')]
1322 '''
1323 # map input types to rpc msg
1324 _params = dict()
1325 msg = dict(type='Firewaller', request='GetCloudSpec', version=3, params=_params)
1326
1327 reply = await self.rpc(msg)
1328 return reply
1329
1330
1331
1332 @ReturnMapping(BoolResults)
1333 async def GetExposed(self, entities):
1334 '''
1335 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
1336 Returns -> typing.Sequence<+T_co>[~BoolResult]<~BoolResult>
1337 '''
1338 # map input types to rpc msg
1339 _params = dict()
1340 msg = dict(type='Firewaller', request='GetExposed', version=3, params=_params)
1341 _params['entities'] = entities
1342 reply = await self.rpc(msg)
1343 return reply
1344
1345
1346
1347 @ReturnMapping(StringsResults)
1348 async def GetMachineActiveSubnets(self, entities):
1349 '''
1350 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
1351 Returns -> typing.Sequence<+T_co>[~StringsResult]<~StringsResult>
1352 '''
1353 # map input types to rpc msg
1354 _params = dict()
1355 msg = dict(type='Firewaller', request='GetMachineActiveSubnets', version=3, params=_params)
1356 _params['entities'] = entities
1357 reply = await self.rpc(msg)
1358 return reply
1359
1360
1361
1362 @ReturnMapping(MachinePortsResults)
1363 async def GetMachinePorts(self, params):
1364 '''
1365 params : typing.Sequence<+T_co>[~MachinePorts]<~MachinePorts>
1366 Returns -> typing.Sequence<+T_co>[~MachinePortsResult]<~MachinePortsResult>
1367 '''
1368 # map input types to rpc msg
1369 _params = dict()
1370 msg = dict(type='Firewaller', request='GetMachinePorts', version=3, params=_params)
1371 _params['params'] = params
1372 reply = await self.rpc(msg)
1373 return reply
1374
1375
1376
1377 @ReturnMapping(StringResults)
1378 async def InstanceId(self, entities):
1379 '''
1380 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
1381 Returns -> typing.Sequence<+T_co>[~StringResult]<~StringResult>
1382 '''
1383 # map input types to rpc msg
1384 _params = dict()
1385 msg = dict(type='Firewaller', request='InstanceId', version=3, params=_params)
1386 _params['entities'] = entities
1387 reply = await self.rpc(msg)
1388 return reply
1389
1390
1391
1392 @ReturnMapping(LifeResults)
1393 async def Life(self, entities):
1394 '''
1395 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
1396 Returns -> typing.Sequence<+T_co>[~LifeResult]<~LifeResult>
1397 '''
1398 # map input types to rpc msg
1399 _params = dict()
1400 msg = dict(type='Firewaller', request='Life', version=3, params=_params)
1401 _params['entities'] = entities
1402 reply = await self.rpc(msg)
1403 return reply
1404
1405
1406
1407 @ReturnMapping(ModelConfigResult)
1408 async def ModelConfig(self):
1409 '''
1410
1411 Returns -> typing.Mapping<~KT, +VT_co>[str, typing.Any]
1412 '''
1413 # map input types to rpc msg
1414 _params = dict()
1415 msg = dict(type='Firewaller', request='ModelConfig', version=3, params=_params)
1416
1417 reply = await self.rpc(msg)
1418 return reply
1419
1420
1421
1422 @ReturnMapping(NotifyWatchResults)
1423 async def Watch(self, entities):
1424 '''
1425 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
1426 Returns -> typing.Sequence<+T_co>[~NotifyWatchResult]<~NotifyWatchResult>
1427 '''
1428 # map input types to rpc msg
1429 _params = dict()
1430 msg = dict(type='Firewaller', request='Watch', version=3, params=_params)
1431 _params['entities'] = entities
1432 reply = await self.rpc(msg)
1433 return reply
1434
1435
1436
1437 @ReturnMapping(NotifyWatchResult)
1438 async def WatchForModelConfigChanges(self):
1439 '''
1440
1441 Returns -> typing.Union[str, _ForwardRef('Error')]
1442 '''
1443 # map input types to rpc msg
1444 _params = dict()
1445 msg = dict(type='Firewaller', request='WatchForModelConfigChanges', version=3, params=_params)
1446
1447 reply = await self.rpc(msg)
1448 return reply
1449
1450
1451
1452 @ReturnMapping(StringsWatchResult)
1453 async def WatchModelMachines(self):
1454 '''
1455
1456 Returns -> typing.Union[typing.Sequence<+T_co>[str], _ForwardRef('Error')]
1457 '''
1458 # map input types to rpc msg
1459 _params = dict()
1460 msg = dict(type='Firewaller', request='WatchModelMachines', version=3, params=_params)
1461
1462 reply = await self.rpc(msg)
1463 return reply
1464
1465
1466
1467 @ReturnMapping(StringsWatchResults)
1468 async def WatchOpenedPorts(self, entities):
1469 '''
1470 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
1471 Returns -> typing.Sequence<+T_co>[~StringsWatchResult]<~StringsWatchResult>
1472 '''
1473 # map input types to rpc msg
1474 _params = dict()
1475 msg = dict(type='Firewaller', request='WatchOpenedPorts', version=3, params=_params)
1476 _params['entities'] = entities
1477 reply = await self.rpc(msg)
1478 return reply
1479
1480
1481
1482 @ReturnMapping(StringsWatchResults)
1483 async def WatchUnits(self, entities):
1484 '''
1485 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
1486 Returns -> typing.Sequence<+T_co>[~StringsWatchResult]<~StringsWatchResult>
1487 '''
1488 # map input types to rpc msg
1489 _params = dict()
1490 msg = dict(type='Firewaller', request='WatchUnits', version=3, params=_params)
1491 _params['entities'] = entities
1492 reply = await self.rpc(msg)
1493 return reply
1494
1495
1496
1497 class InstancePollerFacade(Type):
1498 name = 'InstancePoller'
1499 version = 3
1500 schema = {'definitions': {'Address': {'additionalProperties': False,
1501 'properties': {'scope': {'type': 'string'},
1502 'space-name': {'type': 'string'},
1503 'type': {'type': 'string'},
1504 'value': {'type': 'string'}},
1505 'required': ['value', 'type', 'scope'],
1506 'type': 'object'},
1507 'BoolResult': {'additionalProperties': False,
1508 'properties': {'error': {'$ref': '#/definitions/Error'},
1509 'result': {'type': 'boolean'}},
1510 'required': ['result'],
1511 'type': 'object'},
1512 'BoolResults': {'additionalProperties': False,
1513 'properties': {'results': {'items': {'$ref': '#/definitions/BoolResult'},
1514 'type': 'array'}},
1515 'required': ['results'],
1516 'type': 'object'},
1517 'Entities': {'additionalProperties': False,
1518 'properties': {'entities': {'items': {'$ref': '#/definitions/Entity'},
1519 'type': 'array'}},
1520 'required': ['entities'],
1521 'type': 'object'},
1522 'Entity': {'additionalProperties': False,
1523 'properties': {'tag': {'type': 'string'}},
1524 'required': ['tag'],
1525 'type': 'object'},
1526 'EntityStatusArgs': {'additionalProperties': False,
1527 'properties': {'data': {'patternProperties': {'.*': {'additionalProperties': True,
1528 'type': 'object'}},
1529 'type': 'object'},
1530 'info': {'type': 'string'},
1531 'status': {'type': 'string'},
1532 'tag': {'type': 'string'}},
1533 'required': ['tag',
1534 'status',
1535 'info',
1536 'data'],
1537 'type': 'object'},
1538 'Error': {'additionalProperties': False,
1539 'properties': {'code': {'type': 'string'},
1540 'info': {'$ref': '#/definitions/ErrorInfo'},
1541 'message': {'type': 'string'}},
1542 'required': ['message', 'code'],
1543 'type': 'object'},
1544 'ErrorInfo': {'additionalProperties': False,
1545 'properties': {'macaroon': {'$ref': '#/definitions/Macaroon'},
1546 'macaroon-path': {'type': 'string'}},
1547 'type': 'object'},
1548 'ErrorResult': {'additionalProperties': False,
1549 'properties': {'error': {'$ref': '#/definitions/Error'}},
1550 'type': 'object'},
1551 'ErrorResults': {'additionalProperties': False,
1552 'properties': {'results': {'items': {'$ref': '#/definitions/ErrorResult'},
1553 'type': 'array'}},
1554 'required': ['results'],
1555 'type': 'object'},
1556 'LifeResult': {'additionalProperties': False,
1557 'properties': {'error': {'$ref': '#/definitions/Error'},
1558 'life': {'type': 'string'}},
1559 'required': ['life'],
1560 'type': 'object'},
1561 'LifeResults': {'additionalProperties': False,
1562 'properties': {'results': {'items': {'$ref': '#/definitions/LifeResult'},
1563 'type': 'array'}},
1564 'required': ['results'],
1565 'type': 'object'},
1566 'Macaroon': {'additionalProperties': False, 'type': 'object'},
1567 'MachineAddresses': {'additionalProperties': False,
1568 'properties': {'addresses': {'items': {'$ref': '#/definitions/Address'},
1569 'type': 'array'},
1570 'tag': {'type': 'string'}},
1571 'required': ['tag', 'addresses'],
1572 'type': 'object'},
1573 'MachineAddressesResult': {'additionalProperties': False,
1574 'properties': {'addresses': {'items': {'$ref': '#/definitions/Address'},
1575 'type': 'array'},
1576 'error': {'$ref': '#/definitions/Error'}},
1577 'required': ['addresses'],
1578 'type': 'object'},
1579 'MachineAddressesResults': {'additionalProperties': False,
1580 'properties': {'results': {'items': {'$ref': '#/definitions/MachineAddressesResult'},
1581 'type': 'array'}},
1582 'required': ['results'],
1583 'type': 'object'},
1584 'ModelConfigResult': {'additionalProperties': False,
1585 'properties': {'config': {'patternProperties': {'.*': {'additionalProperties': True,
1586 'type': 'object'}},
1587 'type': 'object'}},
1588 'required': ['config'],
1589 'type': 'object'},
1590 'NotifyWatchResult': {'additionalProperties': False,
1591 'properties': {'NotifyWatcherId': {'type': 'string'},
1592 'error': {'$ref': '#/definitions/Error'}},
1593 'required': ['NotifyWatcherId'],
1594 'type': 'object'},
1595 'SetMachinesAddresses': {'additionalProperties': False,
1596 'properties': {'machine-addresses': {'items': {'$ref': '#/definitions/MachineAddresses'},
1597 'type': 'array'}},
1598 'required': ['machine-addresses'],
1599 'type': 'object'},
1600 'SetStatus': {'additionalProperties': False,
1601 'properties': {'entities': {'items': {'$ref': '#/definitions/EntityStatusArgs'},
1602 'type': 'array'}},
1603 'required': ['entities'],
1604 'type': 'object'},
1605 'StatusResult': {'additionalProperties': False,
1606 'properties': {'data': {'patternProperties': {'.*': {'additionalProperties': True,
1607 'type': 'object'}},
1608 'type': 'object'},
1609 'error': {'$ref': '#/definitions/Error'},
1610 'id': {'type': 'string'},
1611 'info': {'type': 'string'},
1612 'life': {'type': 'string'},
1613 'since': {'format': 'date-time',
1614 'type': 'string'},
1615 'status': {'type': 'string'}},
1616 'required': ['id',
1617 'life',
1618 'status',
1619 'info',
1620 'data',
1621 'since'],
1622 'type': 'object'},
1623 'StatusResults': {'additionalProperties': False,
1624 'properties': {'results': {'items': {'$ref': '#/definitions/StatusResult'},
1625 'type': 'array'}},
1626 'required': ['results'],
1627 'type': 'object'},
1628 'StringResult': {'additionalProperties': False,
1629 'properties': {'error': {'$ref': '#/definitions/Error'},
1630 'result': {'type': 'string'}},
1631 'required': ['result'],
1632 'type': 'object'},
1633 'StringResults': {'additionalProperties': False,
1634 'properties': {'results': {'items': {'$ref': '#/definitions/StringResult'},
1635 'type': 'array'}},
1636 'required': ['results'],
1637 'type': 'object'},
1638 'StringsWatchResult': {'additionalProperties': False,
1639 'properties': {'changes': {'items': {'type': 'string'},
1640 'type': 'array'},
1641 'error': {'$ref': '#/definitions/Error'},
1642 'watcher-id': {'type': 'string'}},
1643 'required': ['watcher-id'],
1644 'type': 'object'}},
1645 'properties': {'AreManuallyProvisioned': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
1646 'Result': {'$ref': '#/definitions/BoolResults'}},
1647 'type': 'object'},
1648 'InstanceId': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
1649 'Result': {'$ref': '#/definitions/StringResults'}},
1650 'type': 'object'},
1651 'InstanceStatus': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
1652 'Result': {'$ref': '#/definitions/StatusResults'}},
1653 'type': 'object'},
1654 'Life': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
1655 'Result': {'$ref': '#/definitions/LifeResults'}},
1656 'type': 'object'},
1657 'ModelConfig': {'properties': {'Result': {'$ref': '#/definitions/ModelConfigResult'}},
1658 'type': 'object'},
1659 'ProviderAddresses': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
1660 'Result': {'$ref': '#/definitions/MachineAddressesResults'}},
1661 'type': 'object'},
1662 'SetInstanceStatus': {'properties': {'Params': {'$ref': '#/definitions/SetStatus'},
1663 'Result': {'$ref': '#/definitions/ErrorResults'}},
1664 'type': 'object'},
1665 'SetProviderAddresses': {'properties': {'Params': {'$ref': '#/definitions/SetMachinesAddresses'},
1666 'Result': {'$ref': '#/definitions/ErrorResults'}},
1667 'type': 'object'},
1668 'Status': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
1669 'Result': {'$ref': '#/definitions/StatusResults'}},
1670 'type': 'object'},
1671 'WatchForModelConfigChanges': {'properties': {'Result': {'$ref': '#/definitions/NotifyWatchResult'}},
1672 'type': 'object'},
1673 'WatchModelMachines': {'properties': {'Result': {'$ref': '#/definitions/StringsWatchResult'}},
1674 'type': 'object'}},
1675 'type': 'object'}
1676
1677
1678 @ReturnMapping(BoolResults)
1679 async def AreManuallyProvisioned(self, entities):
1680 '''
1681 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
1682 Returns -> typing.Sequence<+T_co>[~BoolResult]<~BoolResult>
1683 '''
1684 # map input types to rpc msg
1685 _params = dict()
1686 msg = dict(type='InstancePoller', request='AreManuallyProvisioned', version=3, params=_params)
1687 _params['entities'] = entities
1688 reply = await self.rpc(msg)
1689 return reply
1690
1691
1692
1693 @ReturnMapping(StringResults)
1694 async def InstanceId(self, entities):
1695 '''
1696 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
1697 Returns -> typing.Sequence<+T_co>[~StringResult]<~StringResult>
1698 '''
1699 # map input types to rpc msg
1700 _params = dict()
1701 msg = dict(type='InstancePoller', request='InstanceId', version=3, params=_params)
1702 _params['entities'] = entities
1703 reply = await self.rpc(msg)
1704 return reply
1705
1706
1707
1708 @ReturnMapping(StatusResults)
1709 async def InstanceStatus(self, entities):
1710 '''
1711 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
1712 Returns -> typing.Sequence<+T_co>[~StatusResult]<~StatusResult>
1713 '''
1714 # map input types to rpc msg
1715 _params = dict()
1716 msg = dict(type='InstancePoller', request='InstanceStatus', version=3, params=_params)
1717 _params['entities'] = entities
1718 reply = await self.rpc(msg)
1719 return reply
1720
1721
1722
1723 @ReturnMapping(LifeResults)
1724 async def Life(self, entities):
1725 '''
1726 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
1727 Returns -> typing.Sequence<+T_co>[~LifeResult]<~LifeResult>
1728 '''
1729 # map input types to rpc msg
1730 _params = dict()
1731 msg = dict(type='InstancePoller', request='Life', version=3, params=_params)
1732 _params['entities'] = entities
1733 reply = await self.rpc(msg)
1734 return reply
1735
1736
1737
1738 @ReturnMapping(ModelConfigResult)
1739 async def ModelConfig(self):
1740 '''
1741
1742 Returns -> typing.Mapping<~KT, +VT_co>[str, typing.Any]
1743 '''
1744 # map input types to rpc msg
1745 _params = dict()
1746 msg = dict(type='InstancePoller', request='ModelConfig', version=3, params=_params)
1747
1748 reply = await self.rpc(msg)
1749 return reply
1750
1751
1752
1753 @ReturnMapping(MachineAddressesResults)
1754 async def ProviderAddresses(self, entities):
1755 '''
1756 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
1757 Returns -> typing.Sequence<+T_co>[~MachineAddressesResult]<~MachineAddressesResult>
1758 '''
1759 # map input types to rpc msg
1760 _params = dict()
1761 msg = dict(type='InstancePoller', request='ProviderAddresses', version=3, params=_params)
1762 _params['entities'] = entities
1763 reply = await self.rpc(msg)
1764 return reply
1765
1766
1767
1768 @ReturnMapping(ErrorResults)
1769 async def SetInstanceStatus(self, entities):
1770 '''
1771 entities : typing.Sequence<+T_co>[~EntityStatusArgs]<~EntityStatusArgs>
1772 Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult>
1773 '''
1774 # map input types to rpc msg
1775 _params = dict()
1776 msg = dict(type='InstancePoller', request='SetInstanceStatus', version=3, params=_params)
1777 _params['entities'] = entities
1778 reply = await self.rpc(msg)
1779 return reply
1780
1781
1782
1783 @ReturnMapping(ErrorResults)
1784 async def SetProviderAddresses(self, machine_addresses):
1785 '''
1786 machine_addresses : typing.Sequence<+T_co>[~MachineAddresses]<~MachineAddresses>
1787 Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult>
1788 '''
1789 # map input types to rpc msg
1790 _params = dict()
1791 msg = dict(type='InstancePoller', request='SetProviderAddresses', version=3, params=_params)
1792 _params['machine-addresses'] = machine_addresses
1793 reply = await self.rpc(msg)
1794 return reply
1795
1796
1797
1798 @ReturnMapping(StatusResults)
1799 async def Status(self, entities):
1800 '''
1801 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
1802 Returns -> typing.Sequence<+T_co>[~StatusResult]<~StatusResult>
1803 '''
1804 # map input types to rpc msg
1805 _params = dict()
1806 msg = dict(type='InstancePoller', request='Status', version=3, params=_params)
1807 _params['entities'] = entities
1808 reply = await self.rpc(msg)
1809 return reply
1810
1811
1812
1813 @ReturnMapping(NotifyWatchResult)
1814 async def WatchForModelConfigChanges(self):
1815 '''
1816
1817 Returns -> typing.Union[str, _ForwardRef('Error')]
1818 '''
1819 # map input types to rpc msg
1820 _params = dict()
1821 msg = dict(type='InstancePoller', request='WatchForModelConfigChanges', version=3, params=_params)
1822
1823 reply = await self.rpc(msg)
1824 return reply
1825
1826
1827
1828 @ReturnMapping(StringsWatchResult)
1829 async def WatchModelMachines(self):
1830 '''
1831
1832 Returns -> typing.Union[typing.Sequence<+T_co>[str], _ForwardRef('Error')]
1833 '''
1834 # map input types to rpc msg
1835 _params = dict()
1836 msg = dict(type='InstancePoller', request='WatchModelMachines', version=3, params=_params)
1837
1838 reply = await self.rpc(msg)
1839 return reply
1840
1841
1842
1843 class MachineManagerFacade(Type):
1844 name = 'MachineManager'
1845 version = 3
1846 schema = {'definitions': {'AddMachineParams': {'additionalProperties': False,
1847 'properties': {'addresses': {'items': {'$ref': '#/definitions/Address'},
1848 'type': 'array'},
1849 'constraints': {'$ref': '#/definitions/Value'},
1850 'container-type': {'type': 'string'},
1851 'disks': {'items': {'$ref': '#/definitions/Constraints'},
1852 'type': 'array'},
1853 'hardware-characteristics': {'$ref': '#/definitions/HardwareCharacteristics'},
1854 'instance-id': {'type': 'string'},
1855 'jobs': {'items': {'type': 'string'},
1856 'type': 'array'},
1857 'nonce': {'type': 'string'},
1858 'parent-id': {'type': 'string'},
1859 'placement': {'$ref': '#/definitions/Placement'},
1860 'series': {'type': 'string'}},
1861 'required': ['series',
1862 'constraints',
1863 'jobs',
1864 'parent-id',
1865 'container-type',
1866 'instance-id',
1867 'nonce',
1868 'hardware-characteristics',
1869 'addresses'],
1870 'type': 'object'},
1871 'AddMachines': {'additionalProperties': False,
1872 'properties': {'params': {'items': {'$ref': '#/definitions/AddMachineParams'},
1873 'type': 'array'}},
1874 'required': ['params'],
1875 'type': 'object'},
1876 'AddMachinesResult': {'additionalProperties': False,
1877 'properties': {'error': {'$ref': '#/definitions/Error'},
1878 'machine': {'type': 'string'}},
1879 'required': ['machine'],
1880 'type': 'object'},
1881 'AddMachinesResults': {'additionalProperties': False,
1882 'properties': {'machines': {'items': {'$ref': '#/definitions/AddMachinesResult'},
1883 'type': 'array'}},
1884 'required': ['machines'],
1885 'type': 'object'},
1886 'Address': {'additionalProperties': False,
1887 'properties': {'scope': {'type': 'string'},
1888 'space-name': {'type': 'string'},
1889 'type': {'type': 'string'},
1890 'value': {'type': 'string'}},
1891 'required': ['value', 'type', 'scope'],
1892 'type': 'object'},
1893 'Constraints': {'additionalProperties': False,
1894 'properties': {'Count': {'type': 'integer'},
1895 'Pool': {'type': 'string'},
1896 'Size': {'type': 'integer'}},
1897 'required': ['Pool', 'Size', 'Count'],
1898 'type': 'object'},
1899 'DestroyMachineInfo': {'additionalProperties': False,
1900 'properties': {'destroyed-storage': {'items': {'$ref': '#/definitions/Entity'},
1901 'type': 'array'},
1902 'destroyed-units': {'items': {'$ref': '#/definitions/Entity'},
1903 'type': 'array'},
1904 'detached-storage': {'items': {'$ref': '#/definitions/Entity'},
1905 'type': 'array'}},
1906 'type': 'object'},
1907 'DestroyMachineResult': {'additionalProperties': False,
1908 'properties': {'error': {'$ref': '#/definitions/Error'},
1909 'info': {'$ref': '#/definitions/DestroyMachineInfo'}},
1910 'type': 'object'},
1911 'DestroyMachineResults': {'additionalProperties': False,
1912 'properties': {'results': {'items': {'$ref': '#/definitions/DestroyMachineResult'},
1913 'type': 'array'}},
1914 'type': 'object'},
1915 'Entities': {'additionalProperties': False,
1916 'properties': {'entities': {'items': {'$ref': '#/definitions/Entity'},
1917 'type': 'array'}},
1918 'required': ['entities'],
1919 'type': 'object'},
1920 'Entity': {'additionalProperties': False,
1921 'properties': {'tag': {'type': 'string'}},
1922 'required': ['tag'],
1923 'type': 'object'},
1924 'Error': {'additionalProperties': False,
1925 'properties': {'code': {'type': 'string'},
1926 'info': {'$ref': '#/definitions/ErrorInfo'},
1927 'message': {'type': 'string'}},
1928 'required': ['message', 'code'],
1929 'type': 'object'},
1930 'ErrorInfo': {'additionalProperties': False,
1931 'properties': {'macaroon': {'$ref': '#/definitions/Macaroon'},
1932 'macaroon-path': {'type': 'string'}},
1933 'type': 'object'},
1934 'HardwareCharacteristics': {'additionalProperties': False,
1935 'properties': {'arch': {'type': 'string'},
1936 'availability-zone': {'type': 'string'},
1937 'cpu-cores': {'type': 'integer'},
1938 'cpu-power': {'type': 'integer'},
1939 'mem': {'type': 'integer'},
1940 'root-disk': {'type': 'integer'},
1941 'tags': {'items': {'type': 'string'},
1942 'type': 'array'}},
1943 'type': 'object'},
1944 'InstanceType': {'additionalProperties': False,
1945 'properties': {'arches': {'items': {'type': 'string'},
1946 'type': 'array'},
1947 'cost': {'type': 'integer'},
1948 'cpu-cores': {'type': 'integer'},
1949 'deprecated': {'type': 'boolean'},
1950 'memory': {'type': 'integer'},
1951 'name': {'type': 'string'},
1952 'root-disk': {'type': 'integer'},
1953 'virt-type': {'type': 'string'}},
1954 'required': ['arches', 'cpu-cores', 'memory'],
1955 'type': 'object'},
1956 'InstanceTypesResult': {'additionalProperties': False,
1957 'properties': {'cost-currency': {'type': 'string'},
1958 'cost-divisor': {'type': 'integer'},
1959 'cost-unit': {'type': 'string'},
1960 'error': {'$ref': '#/definitions/Error'},
1961 'instance-types': {'items': {'$ref': '#/definitions/InstanceType'},
1962 'type': 'array'}},
1963 'type': 'object'},
1964 'InstanceTypesResults': {'additionalProperties': False,
1965 'properties': {'results': {'items': {'$ref': '#/definitions/InstanceTypesResult'},
1966 'type': 'array'}},
1967 'required': ['results'],
1968 'type': 'object'},
1969 'Macaroon': {'additionalProperties': False, 'type': 'object'},
1970 'ModelInstanceTypesConstraint': {'additionalProperties': False,
1971 'properties': {'value': {'$ref': '#/definitions/Value'}},
1972 'type': 'object'},
1973 'ModelInstanceTypesConstraints': {'additionalProperties': False,
1974 'properties': {'constraints': {'items': {'$ref': '#/definitions/ModelInstanceTypesConstraint'},
1975 'type': 'array'}},
1976 'required': ['constraints'],
1977 'type': 'object'},
1978 'Placement': {'additionalProperties': False,
1979 'properties': {'directive': {'type': 'string'},
1980 'scope': {'type': 'string'}},
1981 'required': ['scope', 'directive'],
1982 'type': 'object'},
1983 'Value': {'additionalProperties': False,
1984 'properties': {'arch': {'type': 'string'},
1985 'container': {'type': 'string'},
1986 'cores': {'type': 'integer'},
1987 'cpu-power': {'type': 'integer'},
1988 'instance-type': {'type': 'string'},
1989 'mem': {'type': 'integer'},
1990 'root-disk': {'type': 'integer'},
1991 'spaces': {'items': {'type': 'string'},
1992 'type': 'array'},
1993 'tags': {'items': {'type': 'string'},
1994 'type': 'array'},
1995 'virt-type': {'type': 'string'}},
1996 'type': 'object'}},
1997 'properties': {'AddMachines': {'properties': {'Params': {'$ref': '#/definitions/AddMachines'},
1998 'Result': {'$ref': '#/definitions/AddMachinesResults'}},
1999 'type': 'object'},
2000 'DestroyMachine': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
2001 'Result': {'$ref': '#/definitions/DestroyMachineResults'}},
2002 'type': 'object'},
2003 'ForceDestroyMachine': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
2004 'Result': {'$ref': '#/definitions/DestroyMachineResults'}},
2005 'type': 'object'},
2006 'InstanceTypes': {'properties': {'Params': {'$ref': '#/definitions/ModelInstanceTypesConstraints'},
2007 'Result': {'$ref': '#/definitions/InstanceTypesResults'}},
2008 'type': 'object'}},
2009 'type': 'object'}
2010
2011
2012 @ReturnMapping(AddMachinesResults)
2013 async def AddMachines(self, params):
2014 '''
2015 params : typing.Sequence<+T_co>[~AddMachineParams]<~AddMachineParams>
2016 Returns -> typing.Sequence<+T_co>[~AddMachinesResult]<~AddMachinesResult>
2017 '''
2018 # map input types to rpc msg
2019 _params = dict()
2020 msg = dict(type='MachineManager', request='AddMachines', version=3, params=_params)
2021 _params['params'] = params
2022 reply = await self.rpc(msg)
2023 return reply
2024
2025
2026
2027 @ReturnMapping(DestroyMachineResults)
2028 async def DestroyMachine(self, entities):
2029 '''
2030 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
2031 Returns -> typing.Sequence<+T_co>[~DestroyMachineResult]<~DestroyMachineResult>
2032 '''
2033 # map input types to rpc msg
2034 _params = dict()
2035 msg = dict(type='MachineManager', request='DestroyMachine', version=3, params=_params)
2036 _params['entities'] = entities
2037 reply = await self.rpc(msg)
2038 return reply
2039
2040
2041
2042 @ReturnMapping(DestroyMachineResults)
2043 async def ForceDestroyMachine(self, entities):
2044 '''
2045 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
2046 Returns -> typing.Sequence<+T_co>[~DestroyMachineResult]<~DestroyMachineResult>
2047 '''
2048 # map input types to rpc msg
2049 _params = dict()
2050 msg = dict(type='MachineManager', request='ForceDestroyMachine', version=3, params=_params)
2051 _params['entities'] = entities
2052 reply = await self.rpc(msg)
2053 return reply
2054
2055
2056
2057 @ReturnMapping(InstanceTypesResults)
2058 async def InstanceTypes(self, constraints):
2059 '''
2060 constraints : typing.Sequence<+T_co>[~ModelInstanceTypesConstraint]<~ModelInstanceTypesConstraint>
2061 Returns -> typing.Sequence<+T_co>[~InstanceTypesResult]<~InstanceTypesResult>
2062 '''
2063 # map input types to rpc msg
2064 _params = dict()
2065 msg = dict(type='MachineManager', request='InstanceTypes', version=3, params=_params)
2066 _params['constraints'] = constraints
2067 reply = await self.rpc(msg)
2068 return reply
2069
2070
2071
2072 class ProvisionerFacade(Type):
2073 name = 'Provisioner'
2074 version = 3
2075 schema = {'definitions': {'APIHostPortsResult': {'additionalProperties': False,
2076 'properties': {'servers': {'items': {'items': {'$ref': '#/definitions/HostPort'},
2077 'type': 'array'},
2078 'type': 'array'}},
2079 'required': ['servers'],
2080 'type': 'object'},
2081 'Address': {'additionalProperties': False,
2082 'properties': {'scope': {'type': 'string'},
2083 'space-name': {'type': 'string'},
2084 'type': {'type': 'string'},
2085 'value': {'type': 'string'}},
2086 'required': ['value', 'type', 'scope'],
2087 'type': 'object'},
2088 'Binary': {'additionalProperties': False,
2089 'properties': {'Arch': {'type': 'string'},
2090 'Number': {'$ref': '#/definitions/Number'},
2091 'Series': {'type': 'string'}},
2092 'required': ['Number', 'Series', 'Arch'],
2093 'type': 'object'},
2094 'BytesResult': {'additionalProperties': False,
2095 'properties': {'result': {'items': {'type': 'integer'},
2096 'type': 'array'}},
2097 'required': ['result'],
2098 'type': 'object'},
2099 'CloudImageMetadata': {'additionalProperties': False,
2100 'properties': {'arch': {'type': 'string'},
2101 'image-id': {'type': 'string'},
2102 'priority': {'type': 'integer'},
2103 'region': {'type': 'string'},
2104 'root-storage-size': {'type': 'integer'},
2105 'root-storage-type': {'type': 'string'},
2106 'series': {'type': 'string'},
2107 'source': {'type': 'string'},
2108 'stream': {'type': 'string'},
2109 'version': {'type': 'string'},
2110 'virt-type': {'type': 'string'}},
2111 'required': ['image-id',
2112 'region',
2113 'version',
2114 'series',
2115 'arch',
2116 'source',
2117 'priority'],
2118 'type': 'object'},
2119 'ConstraintsResult': {'additionalProperties': False,
2120 'properties': {'constraints': {'$ref': '#/definitions/Value'},
2121 'error': {'$ref': '#/definitions/Error'}},
2122 'required': ['constraints'],
2123 'type': 'object'},
2124 'ConstraintsResults': {'additionalProperties': False,
2125 'properties': {'results': {'items': {'$ref': '#/definitions/ConstraintsResult'},
2126 'type': 'array'}},
2127 'required': ['results'],
2128 'type': 'object'},
2129 'ContainerConfig': {'additionalProperties': False,
2130 'properties': {'UpdateBehavior': {'$ref': '#/definitions/UpdateBehavior'},
2131 'apt-mirror': {'type': 'string'},
2132 'apt-proxy': {'$ref': '#/definitions/Settings'},
2133 'authorized-keys': {'type': 'string'},
2134 'provider-type': {'type': 'string'},
2135 'proxy': {'$ref': '#/definitions/Settings'},
2136 'ssl-hostname-verification': {'type': 'boolean'}},
2137 'required': ['provider-type',
2138 'authorized-keys',
2139 'ssl-hostname-verification',
2140 'proxy',
2141 'apt-proxy',
2142 'apt-mirror',
2143 'UpdateBehavior'],
2144 'type': 'object'},
2145 'ContainerManagerConfig': {'additionalProperties': False,
2146 'properties': {'config': {'patternProperties': {'.*': {'type': 'string'}},
2147 'type': 'object'}},
2148 'required': ['config'],
2149 'type': 'object'},
2150 'ContainerManagerConfigParams': {'additionalProperties': False,
2151 'properties': {'type': {'type': 'string'}},
2152 'required': ['type'],
2153 'type': 'object'},
2154 'ControllerConfigResult': {'additionalProperties': False,
2155 'properties': {'config': {'patternProperties': {'.*': {'additionalProperties': True,
2156 'type': 'object'}},
2157 'type': 'object'}},
2158 'required': ['config'],
2159 'type': 'object'},
2160 'DeviceBridgeInfo': {'additionalProperties': False,
2161 'properties': {'bridge-name': {'type': 'string'},
2162 'host-device-name': {'type': 'string'}},
2163 'required': ['host-device-name',
2164 'bridge-name'],
2165 'type': 'object'},
2166 'DistributionGroupResult': {'additionalProperties': False,
2167 'properties': {'error': {'$ref': '#/definitions/Error'},
2168 'result': {'items': {'type': 'string'},
2169 'type': 'array'}},
2170 'required': ['result'],
2171 'type': 'object'},
2172 'DistributionGroupResults': {'additionalProperties': False,
2173 'properties': {'results': {'items': {'$ref': '#/definitions/DistributionGroupResult'},
2174 'type': 'array'}},
2175 'required': ['results'],
2176 'type': 'object'},
2177 'Entities': {'additionalProperties': False,
2178 'properties': {'entities': {'items': {'$ref': '#/definitions/Entity'},
2179 'type': 'array'}},
2180 'required': ['entities'],
2181 'type': 'object'},
2182 'Entity': {'additionalProperties': False,
2183 'properties': {'tag': {'type': 'string'}},
2184 'required': ['tag'],
2185 'type': 'object'},
2186 'EntityPassword': {'additionalProperties': False,
2187 'properties': {'password': {'type': 'string'},
2188 'tag': {'type': 'string'}},
2189 'required': ['tag', 'password'],
2190 'type': 'object'},
2191 'EntityPasswords': {'additionalProperties': False,
2192 'properties': {'changes': {'items': {'$ref': '#/definitions/EntityPassword'},
2193 'type': 'array'}},
2194 'required': ['changes'],
2195 'type': 'object'},
2196 'EntityStatusArgs': {'additionalProperties': False,
2197 'properties': {'data': {'patternProperties': {'.*': {'additionalProperties': True,
2198 'type': 'object'}},
2199 'type': 'object'},
2200 'info': {'type': 'string'},
2201 'status': {'type': 'string'},
2202 'tag': {'type': 'string'}},
2203 'required': ['tag',
2204 'status',
2205 'info',
2206 'data'],
2207 'type': 'object'},
2208 'Error': {'additionalProperties': False,
2209 'properties': {'code': {'type': 'string'},
2210 'info': {'$ref': '#/definitions/ErrorInfo'},
2211 'message': {'type': 'string'}},
2212 'required': ['message', 'code'],
2213 'type': 'object'},
2214 'ErrorInfo': {'additionalProperties': False,
2215 'properties': {'macaroon': {'$ref': '#/definitions/Macaroon'},
2216 'macaroon-path': {'type': 'string'}},
2217 'type': 'object'},
2218 'ErrorResult': {'additionalProperties': False,
2219 'properties': {'error': {'$ref': '#/definitions/Error'}},
2220 'type': 'object'},
2221 'ErrorResults': {'additionalProperties': False,
2222 'properties': {'results': {'items': {'$ref': '#/definitions/ErrorResult'},
2223 'type': 'array'}},
2224 'required': ['results'],
2225 'type': 'object'},
2226 'FindToolsParams': {'additionalProperties': False,
2227 'properties': {'arch': {'type': 'string'},
2228 'major': {'type': 'integer'},
2229 'minor': {'type': 'integer'},
2230 'number': {'$ref': '#/definitions/Number'},
2231 'series': {'type': 'string'}},
2232 'required': ['number',
2233 'major',
2234 'minor',
2235 'arch',
2236 'series'],
2237 'type': 'object'},
2238 'FindToolsResult': {'additionalProperties': False,
2239 'properties': {'error': {'$ref': '#/definitions/Error'},
2240 'list': {'items': {'$ref': '#/definitions/Tools'},
2241 'type': 'array'}},
2242 'required': ['list'],
2243 'type': 'object'},
2244 'HardwareCharacteristics': {'additionalProperties': False,
2245 'properties': {'arch': {'type': 'string'},
2246 'availability-zone': {'type': 'string'},
2247 'cpu-cores': {'type': 'integer'},
2248 'cpu-power': {'type': 'integer'},
2249 'mem': {'type': 'integer'},
2250 'root-disk': {'type': 'integer'},
2251 'tags': {'items': {'type': 'string'},
2252 'type': 'array'}},
2253 'type': 'object'},
2254 'HostNetworkChange': {'additionalProperties': False,
2255 'properties': {'error': {'$ref': '#/definitions/Error'},
2256 'new-bridges': {'items': {'$ref': '#/definitions/DeviceBridgeInfo'},
2257 'type': 'array'},
2258 'reconfigure-delay': {'type': 'integer'}},
2259 'required': ['new-bridges',
2260 'reconfigure-delay'],
2261 'type': 'object'},
2262 'HostNetworkChangeResults': {'additionalProperties': False,
2263 'properties': {'results': {'items': {'$ref': '#/definitions/HostNetworkChange'},
2264 'type': 'array'}},
2265 'required': ['results'],
2266 'type': 'object'},
2267 'HostPort': {'additionalProperties': False,
2268 'properties': {'Address': {'$ref': '#/definitions/Address'},
2269 'port': {'type': 'integer'}},
2270 'required': ['Address', 'port'],
2271 'type': 'object'},
2272 'InstanceInfo': {'additionalProperties': False,
2273 'properties': {'characteristics': {'$ref': '#/definitions/HardwareCharacteristics'},
2274 'instance-id': {'type': 'string'},
2275 'network-config': {'items': {'$ref': '#/definitions/NetworkConfig'},
2276 'type': 'array'},
2277 'nonce': {'type': 'string'},
2278 'tag': {'type': 'string'},
2279 'volume-attachments': {'patternProperties': {'.*': {'$ref': '#/definitions/VolumeAttachmentInfo'}},
2280 'type': 'object'},
2281 'volumes': {'items': {'$ref': '#/definitions/Volume'},
2282 'type': 'array'}},
2283 'required': ['tag',
2284 'instance-id',
2285 'nonce',
2286 'characteristics',
2287 'volumes',
2288 'volume-attachments',
2289 'network-config'],
2290 'type': 'object'},
2291 'InstancesInfo': {'additionalProperties': False,
2292 'properties': {'machines': {'items': {'$ref': '#/definitions/InstanceInfo'},
2293 'type': 'array'}},
2294 'required': ['machines'],
2295 'type': 'object'},
2296 'LifeResult': {'additionalProperties': False,
2297 'properties': {'error': {'$ref': '#/definitions/Error'},
2298 'life': {'type': 'string'}},
2299 'required': ['life'],
2300 'type': 'object'},
2301 'LifeResults': {'additionalProperties': False,
2302 'properties': {'results': {'items': {'$ref': '#/definitions/LifeResult'},
2303 'type': 'array'}},
2304 'required': ['results'],
2305 'type': 'object'},
2306 'Macaroon': {'additionalProperties': False, 'type': 'object'},
2307 'MachineContainers': {'additionalProperties': False,
2308 'properties': {'container-types': {'items': {'type': 'string'},
2309 'type': 'array'},
2310 'machine-tag': {'type': 'string'}},
2311 'required': ['machine-tag',
2312 'container-types'],
2313 'type': 'object'},
2314 'MachineContainersParams': {'additionalProperties': False,
2315 'properties': {'params': {'items': {'$ref': '#/definitions/MachineContainers'},
2316 'type': 'array'}},
2317 'required': ['params'],
2318 'type': 'object'},
2319 'MachineNetworkConfigResult': {'additionalProperties': False,
2320 'properties': {'error': {'$ref': '#/definitions/Error'},
2321 'info': {'items': {'$ref': '#/definitions/NetworkConfig'},
2322 'type': 'array'}},
2323 'required': ['info'],
2324 'type': 'object'},
2325 'MachineNetworkConfigResults': {'additionalProperties': False,
2326 'properties': {'results': {'items': {'$ref': '#/definitions/MachineNetworkConfigResult'},
2327 'type': 'array'}},
2328 'required': ['results'],
2329 'type': 'object'},
2330 'ModelConfigResult': {'additionalProperties': False,
2331 'properties': {'config': {'patternProperties': {'.*': {'additionalProperties': True,
2332 'type': 'object'}},
2333 'type': 'object'}},
2334 'required': ['config'],
2335 'type': 'object'},
2336 'NetworkConfig': {'additionalProperties': False,
2337 'properties': {'address': {'type': 'string'},
2338 'cidr': {'type': 'string'},
2339 'config-type': {'type': 'string'},
2340 'device-index': {'type': 'integer'},
2341 'disabled': {'type': 'boolean'},
2342 'dns-search-domains': {'items': {'type': 'string'},
2343 'type': 'array'},
2344 'dns-servers': {'items': {'type': 'string'},
2345 'type': 'array'},
2346 'gateway-address': {'type': 'string'},
2347 'interface-name': {'type': 'string'},
2348 'interface-type': {'type': 'string'},
2349 'mac-address': {'type': 'string'},
2350 'mtu': {'type': 'integer'},
2351 'no-auto-start': {'type': 'boolean'},
2352 'parent-interface-name': {'type': 'string'},
2353 'provider-address-id': {'type': 'string'},
2354 'provider-id': {'type': 'string'},
2355 'provider-space-id': {'type': 'string'},
2356 'provider-subnet-id': {'type': 'string'},
2357 'provider-vlan-id': {'type': 'string'},
2358 'routes': {'items': {'$ref': '#/definitions/NetworkRoute'},
2359 'type': 'array'},
2360 'vlan-tag': {'type': 'integer'}},
2361 'required': ['device-index',
2362 'mac-address',
2363 'cidr',
2364 'mtu',
2365 'provider-id',
2366 'provider-subnet-id',
2367 'provider-space-id',
2368 'provider-address-id',
2369 'provider-vlan-id',
2370 'vlan-tag',
2371 'interface-name',
2372 'parent-interface-name',
2373 'interface-type',
2374 'disabled'],
2375 'type': 'object'},
2376 'NetworkRoute': {'additionalProperties': False,
2377 'properties': {'destination-cidr': {'type': 'string'},
2378 'gateway-ip': {'type': 'string'},
2379 'metric': {'type': 'integer'}},
2380 'required': ['destination-cidr',
2381 'gateway-ip',
2382 'metric'],
2383 'type': 'object'},
2384 'NotifyWatchResult': {'additionalProperties': False,
2385 'properties': {'NotifyWatcherId': {'type': 'string'},
2386 'error': {'$ref': '#/definitions/Error'}},
2387 'required': ['NotifyWatcherId'],
2388 'type': 'object'},
2389 'Number': {'additionalProperties': False,
2390 'properties': {'Build': {'type': 'integer'},
2391 'Major': {'type': 'integer'},
2392 'Minor': {'type': 'integer'},
2393 'Patch': {'type': 'integer'},
2394 'Tag': {'type': 'string'}},
2395 'required': ['Major',
2396 'Minor',
2397 'Tag',
2398 'Patch',
2399 'Build'],
2400 'type': 'object'},
2401 'ProvisioningInfo': {'additionalProperties': False,
2402 'properties': {'constraints': {'$ref': '#/definitions/Value'},
2403 'controller-config': {'patternProperties': {'.*': {'additionalProperties': True,
2404 'type': 'object'}},
2405 'type': 'object'},
2406 'endpoint-bindings': {'patternProperties': {'.*': {'type': 'string'}},
2407 'type': 'object'},
2408 'image-metadata': {'items': {'$ref': '#/definitions/CloudImageMetadata'},
2409 'type': 'array'},
2410 'jobs': {'items': {'type': 'string'},
2411 'type': 'array'},
2412 'placement': {'type': 'string'},
2413 'series': {'type': 'string'},
2414 'subnets-to-zones': {'patternProperties': {'.*': {'items': {'type': 'string'},
2415 'type': 'array'}},
2416 'type': 'object'},
2417 'tags': {'patternProperties': {'.*': {'type': 'string'}},
2418 'type': 'object'},
2419 'volumes': {'items': {'$ref': '#/definitions/VolumeParams'},
2420 'type': 'array'}},
2421 'required': ['constraints',
2422 'series',
2423 'placement',
2424 'jobs'],
2425 'type': 'object'},
2426 'ProvisioningInfoResult': {'additionalProperties': False,
2427 'properties': {'error': {'$ref': '#/definitions/Error'},
2428 'result': {'$ref': '#/definitions/ProvisioningInfo'}},
2429 'required': ['result'],
2430 'type': 'object'},
2431 'ProvisioningInfoResults': {'additionalProperties': False,
2432 'properties': {'results': {'items': {'$ref': '#/definitions/ProvisioningInfoResult'},
2433 'type': 'array'}},
2434 'required': ['results'],
2435 'type': 'object'},
2436 'SetMachineNetworkConfig': {'additionalProperties': False,
2437 'properties': {'config': {'items': {'$ref': '#/definitions/NetworkConfig'},
2438 'type': 'array'},
2439 'tag': {'type': 'string'}},
2440 'required': ['tag', 'config'],
2441 'type': 'object'},
2442 'SetStatus': {'additionalProperties': False,
2443 'properties': {'entities': {'items': {'$ref': '#/definitions/EntityStatusArgs'},
2444 'type': 'array'}},
2445 'required': ['entities'],
2446 'type': 'object'},
2447 'Settings': {'additionalProperties': False,
2448 'properties': {'AutoNoProxy': {'type': 'string'},
2449 'Ftp': {'type': 'string'},
2450 'Http': {'type': 'string'},
2451 'Https': {'type': 'string'},
2452 'NoProxy': {'type': 'string'}},
2453 'required': ['Http',
2454 'Https',
2455 'Ftp',
2456 'NoProxy',
2457 'AutoNoProxy'],
2458 'type': 'object'},
2459 'StatusResult': {'additionalProperties': False,
2460 'properties': {'data': {'patternProperties': {'.*': {'additionalProperties': True,
2461 'type': 'object'}},
2462 'type': 'object'},
2463 'error': {'$ref': '#/definitions/Error'},
2464 'id': {'type': 'string'},
2465 'info': {'type': 'string'},
2466 'life': {'type': 'string'},
2467 'since': {'format': 'date-time',
2468 'type': 'string'},
2469 'status': {'type': 'string'}},
2470 'required': ['id',
2471 'life',
2472 'status',
2473 'info',
2474 'data',
2475 'since'],
2476 'type': 'object'},
2477 'StatusResults': {'additionalProperties': False,
2478 'properties': {'results': {'items': {'$ref': '#/definitions/StatusResult'},
2479 'type': 'array'}},
2480 'required': ['results'],
2481 'type': 'object'},
2482 'StringResult': {'additionalProperties': False,
2483 'properties': {'error': {'$ref': '#/definitions/Error'},
2484 'result': {'type': 'string'}},
2485 'required': ['result'],
2486 'type': 'object'},
2487 'StringResults': {'additionalProperties': False,
2488 'properties': {'results': {'items': {'$ref': '#/definitions/StringResult'},
2489 'type': 'array'}},
2490 'required': ['results'],
2491 'type': 'object'},
2492 'StringsResult': {'additionalProperties': False,
2493 'properties': {'error': {'$ref': '#/definitions/Error'},
2494 'result': {'items': {'type': 'string'},
2495 'type': 'array'}},
2496 'type': 'object'},
2497 'StringsWatchResult': {'additionalProperties': False,
2498 'properties': {'changes': {'items': {'type': 'string'},
2499 'type': 'array'},
2500 'error': {'$ref': '#/definitions/Error'},
2501 'watcher-id': {'type': 'string'}},
2502 'required': ['watcher-id'],
2503 'type': 'object'},
2504 'StringsWatchResults': {'additionalProperties': False,
2505 'properties': {'results': {'items': {'$ref': '#/definitions/StringsWatchResult'},
2506 'type': 'array'}},
2507 'required': ['results'],
2508 'type': 'object'},
2509 'Tools': {'additionalProperties': False,
2510 'properties': {'sha256': {'type': 'string'},
2511 'size': {'type': 'integer'},
2512 'url': {'type': 'string'},
2513 'version': {'$ref': '#/definitions/Binary'}},
2514 'required': ['version', 'url', 'size'],
2515 'type': 'object'},
2516 'ToolsResult': {'additionalProperties': False,
2517 'properties': {'disable-ssl-hostname-verification': {'type': 'boolean'},
2518 'error': {'$ref': '#/definitions/Error'},
2519 'tools': {'items': {'$ref': '#/definitions/Tools'},
2520 'type': 'array'}},
2521 'required': ['tools',
2522 'disable-ssl-hostname-verification'],
2523 'type': 'object'},
2524 'ToolsResults': {'additionalProperties': False,
2525 'properties': {'results': {'items': {'$ref': '#/definitions/ToolsResult'},
2526 'type': 'array'}},
2527 'required': ['results'],
2528 'type': 'object'},
2529 'UpdateBehavior': {'additionalProperties': False,
2530 'properties': {'enable-os-refresh-update': {'type': 'boolean'},
2531 'enable-os-upgrade': {'type': 'boolean'}},
2532 'required': ['enable-os-refresh-update',
2533 'enable-os-upgrade'],
2534 'type': 'object'},
2535 'Value': {'additionalProperties': False,
2536 'properties': {'arch': {'type': 'string'},
2537 'container': {'type': 'string'},
2538 'cores': {'type': 'integer'},
2539 'cpu-power': {'type': 'integer'},
2540 'instance-type': {'type': 'string'},
2541 'mem': {'type': 'integer'},
2542 'root-disk': {'type': 'integer'},
2543 'spaces': {'items': {'type': 'string'},
2544 'type': 'array'},
2545 'tags': {'items': {'type': 'string'},
2546 'type': 'array'},
2547 'virt-type': {'type': 'string'}},
2548 'type': 'object'},
2549 'Volume': {'additionalProperties': False,
2550 'properties': {'info': {'$ref': '#/definitions/VolumeInfo'},
2551 'volume-tag': {'type': 'string'}},
2552 'required': ['volume-tag', 'info'],
2553 'type': 'object'},
2554 'VolumeAttachmentInfo': {'additionalProperties': False,
2555 'properties': {'bus-address': {'type': 'string'},
2556 'device-link': {'type': 'string'},
2557 'device-name': {'type': 'string'},
2558 'read-only': {'type': 'boolean'}},
2559 'type': 'object'},
2560 'VolumeAttachmentParams': {'additionalProperties': False,
2561 'properties': {'instance-id': {'type': 'string'},
2562 'machine-tag': {'type': 'string'},
2563 'provider': {'type': 'string'},
2564 'read-only': {'type': 'boolean'},
2565 'volume-id': {'type': 'string'},
2566 'volume-tag': {'type': 'string'}},
2567 'required': ['volume-tag',
2568 'machine-tag',
2569 'provider'],
2570 'type': 'object'},
2571 'VolumeInfo': {'additionalProperties': False,
2572 'properties': {'hardware-id': {'type': 'string'},
2573 'persistent': {'type': 'boolean'},
2574 'pool': {'type': 'string'},
2575 'size': {'type': 'integer'},
2576 'volume-id': {'type': 'string'},
2577 'wwn': {'type': 'string'}},
2578 'required': ['volume-id', 'size', 'persistent'],
2579 'type': 'object'},
2580 'VolumeParams': {'additionalProperties': False,
2581 'properties': {'attachment': {'$ref': '#/definitions/VolumeAttachmentParams'},
2582 'attributes': {'patternProperties': {'.*': {'additionalProperties': True,
2583 'type': 'object'}},
2584 'type': 'object'},
2585 'provider': {'type': 'string'},
2586 'size': {'type': 'integer'},
2587 'tags': {'patternProperties': {'.*': {'type': 'string'}},
2588 'type': 'object'},
2589 'volume-tag': {'type': 'string'}},
2590 'required': ['volume-tag',
2591 'size',
2592 'provider'],
2593 'type': 'object'},
2594 'WatchContainer': {'additionalProperties': False,
2595 'properties': {'container-type': {'type': 'string'},
2596 'machine-tag': {'type': 'string'}},
2597 'required': ['machine-tag',
2598 'container-type'],
2599 'type': 'object'},
2600 'WatchContainers': {'additionalProperties': False,
2601 'properties': {'params': {'items': {'$ref': '#/definitions/WatchContainer'},
2602 'type': 'array'}},
2603 'required': ['params'],
2604 'type': 'object'}},
2605 'properties': {'APIAddresses': {'properties': {'Result': {'$ref': '#/definitions/StringsResult'}},
2606 'type': 'object'},
2607 'APIHostPorts': {'properties': {'Result': {'$ref': '#/definitions/APIHostPortsResult'}},
2608 'type': 'object'},
2609 'CACert': {'properties': {'Result': {'$ref': '#/definitions/BytesResult'}},
2610 'type': 'object'},
2611 'Constraints': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
2612 'Result': {'$ref': '#/definitions/ConstraintsResults'}},
2613 'type': 'object'},
2614 'ContainerConfig': {'properties': {'Result': {'$ref': '#/definitions/ContainerConfig'}},
2615 'type': 'object'},
2616 'ContainerManagerConfig': {'properties': {'Params': {'$ref': '#/definitions/ContainerManagerConfigParams'},
2617 'Result': {'$ref': '#/definitions/ContainerManagerConfig'}},
2618 'type': 'object'},
2619 'ControllerConfig': {'properties': {'Result': {'$ref': '#/definitions/ControllerConfigResult'}},
2620 'type': 'object'},
2621 'DistributionGroup': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
2622 'Result': {'$ref': '#/definitions/DistributionGroupResults'}},
2623 'type': 'object'},
2624 'EnsureDead': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
2625 'Result': {'$ref': '#/definitions/ErrorResults'}},
2626 'type': 'object'},
2627 'FindTools': {'properties': {'Params': {'$ref': '#/definitions/FindToolsParams'},
2628 'Result': {'$ref': '#/definitions/FindToolsResult'}},
2629 'type': 'object'},
2630 'GetContainerInterfaceInfo': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
2631 'Result': {'$ref': '#/definitions/MachineNetworkConfigResults'}},
2632 'type': 'object'},
2633 'HostChangesForContainers': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
2634 'Result': {'$ref': '#/definitions/HostNetworkChangeResults'}},
2635 'type': 'object'},
2636 'InstanceId': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
2637 'Result': {'$ref': '#/definitions/StringResults'}},
2638 'type': 'object'},
2639 'InstanceStatus': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
2640 'Result': {'$ref': '#/definitions/StatusResults'}},
2641 'type': 'object'},
2642 'Life': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
2643 'Result': {'$ref': '#/definitions/LifeResults'}},
2644 'type': 'object'},
2645 'MachinesWithTransientErrors': {'properties': {'Result': {'$ref': '#/definitions/StatusResults'}},
2646 'type': 'object'},
2647 'MarkMachinesForRemoval': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
2648 'Result': {'$ref': '#/definitions/ErrorResults'}},
2649 'type': 'object'},
2650 'ModelConfig': {'properties': {'Result': {'$ref': '#/definitions/ModelConfigResult'}},
2651 'type': 'object'},
2652 'ModelUUID': {'properties': {'Result': {'$ref': '#/definitions/StringResult'}},
2653 'type': 'object'},
2654 'PrepareContainerInterfaceInfo': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
2655 'Result': {'$ref': '#/definitions/MachineNetworkConfigResults'}},
2656 'type': 'object'},
2657 'ProvisioningInfo': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
2658 'Result': {'$ref': '#/definitions/ProvisioningInfoResults'}},
2659 'type': 'object'},
2660 'ReleaseContainerAddresses': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
2661 'Result': {'$ref': '#/definitions/ErrorResults'}},
2662 'type': 'object'},
2663 'Remove': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
2664 'Result': {'$ref': '#/definitions/ErrorResults'}},
2665 'type': 'object'},
2666 'Series': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
2667 'Result': {'$ref': '#/definitions/StringResults'}},
2668 'type': 'object'},
2669 'SetHostMachineNetworkConfig': {'properties': {'Params': {'$ref': '#/definitions/SetMachineNetworkConfig'}},
2670 'type': 'object'},
2671 'SetInstanceInfo': {'properties': {'Params': {'$ref': '#/definitions/InstancesInfo'},
2672 'Result': {'$ref': '#/definitions/ErrorResults'}},
2673 'type': 'object'},
2674 'SetInstanceStatus': {'properties': {'Params': {'$ref': '#/definitions/SetStatus'},
2675 'Result': {'$ref': '#/definitions/ErrorResults'}},
2676 'type': 'object'},
2677 'SetObservedNetworkConfig': {'properties': {'Params': {'$ref': '#/definitions/SetMachineNetworkConfig'}},
2678 'type': 'object'},
2679 'SetPasswords': {'properties': {'Params': {'$ref': '#/definitions/EntityPasswords'},
2680 'Result': {'$ref': '#/definitions/ErrorResults'}},
2681 'type': 'object'},
2682 'SetProviderNetworkConfig': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
2683 'Result': {'$ref': '#/definitions/ErrorResults'}},
2684 'type': 'object'},
2685 'SetStatus': {'properties': {'Params': {'$ref': '#/definitions/SetStatus'},
2686 'Result': {'$ref': '#/definitions/ErrorResults'}},
2687 'type': 'object'},
2688 'SetSupportedContainers': {'properties': {'Params': {'$ref': '#/definitions/MachineContainersParams'},
2689 'Result': {'$ref': '#/definitions/ErrorResults'}},
2690 'type': 'object'},
2691 'StateAddresses': {'properties': {'Result': {'$ref': '#/definitions/StringsResult'}},
2692 'type': 'object'},
2693 'Status': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
2694 'Result': {'$ref': '#/definitions/StatusResults'}},
2695 'type': 'object'},
2696 'Tools': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
2697 'Result': {'$ref': '#/definitions/ToolsResults'}},
2698 'type': 'object'},
2699 'UpdateStatus': {'properties': {'Params': {'$ref': '#/definitions/SetStatus'},
2700 'Result': {'$ref': '#/definitions/ErrorResults'}},
2701 'type': 'object'},
2702 'WatchAPIHostPorts': {'properties': {'Result': {'$ref': '#/definitions/NotifyWatchResult'}},
2703 'type': 'object'},
2704 'WatchAllContainers': {'properties': {'Params': {'$ref': '#/definitions/WatchContainers'},
2705 'Result': {'$ref': '#/definitions/StringsWatchResults'}},
2706 'type': 'object'},
2707 'WatchContainers': {'properties': {'Params': {'$ref': '#/definitions/WatchContainers'},
2708 'Result': {'$ref': '#/definitions/StringsWatchResults'}},
2709 'type': 'object'},
2710 'WatchForModelConfigChanges': {'properties': {'Result': {'$ref': '#/definitions/NotifyWatchResult'}},
2711 'type': 'object'},
2712 'WatchMachineErrorRetry': {'properties': {'Result': {'$ref': '#/definitions/NotifyWatchResult'}},
2713 'type': 'object'},
2714 'WatchModelMachines': {'properties': {'Result': {'$ref': '#/definitions/StringsWatchResult'}},
2715 'type': 'object'}},
2716 'type': 'object'}
2717
2718
2719 @ReturnMapping(StringsResult)
2720 async def APIAddresses(self):
2721 '''
2722
2723 Returns -> typing.Union[_ForwardRef('Error'), typing.Sequence<+T_co>[str]]
2724 '''
2725 # map input types to rpc msg
2726 _params = dict()
2727 msg = dict(type='Provisioner', request='APIAddresses', version=3, params=_params)
2728
2729 reply = await self.rpc(msg)
2730 return reply
2731
2732
2733
2734 @ReturnMapping(APIHostPortsResult)
2735 async def APIHostPorts(self):
2736 '''
2737
2738 Returns -> typing.Sequence<+T_co>[~HostPort]<~HostPort>
2739 '''
2740 # map input types to rpc msg
2741 _params = dict()
2742 msg = dict(type='Provisioner', request='APIHostPorts', version=3, params=_params)
2743
2744 reply = await self.rpc(msg)
2745 return reply
2746
2747
2748
2749 @ReturnMapping(BytesResult)
2750 async def CACert(self):
2751 '''
2752
2753 Returns -> typing.Sequence<+T_co>[int]
2754 '''
2755 # map input types to rpc msg
2756 _params = dict()
2757 msg = dict(type='Provisioner', request='CACert', version=3, params=_params)
2758
2759 reply = await self.rpc(msg)
2760 return reply
2761
2762
2763
2764 @ReturnMapping(ConstraintsResults)
2765 async def Constraints(self, entities):
2766 '''
2767 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
2768 Returns -> typing.Sequence<+T_co>[~ConstraintsResult]<~ConstraintsResult>
2769 '''
2770 # map input types to rpc msg
2771 _params = dict()
2772 msg = dict(type='Provisioner', request='Constraints', version=3, params=_params)
2773 _params['entities'] = entities
2774 reply = await self.rpc(msg)
2775 return reply
2776
2777
2778
2779 @ReturnMapping(ContainerConfig)
2780 async def ContainerConfig(self):
2781 '''
2782
2783 Returns -> typing.Union[_ForwardRef('UpdateBehavior'), str, _ForwardRef('Settings'), _ForwardRef('Settings'), bool]
2784 '''
2785 # map input types to rpc msg
2786 _params = dict()
2787 msg = dict(type='Provisioner', request='ContainerConfig', version=3, params=_params)
2788
2789 reply = await self.rpc(msg)
2790 return reply
2791
2792
2793
2794 @ReturnMapping(ContainerManagerConfig)
2795 async def ContainerManagerConfig(self, type_):
2796 '''
2797 type_ : str
2798 Returns -> typing.Mapping<~KT, +VT_co>[str, str]
2799 '''
2800 # map input types to rpc msg
2801 _params = dict()
2802 msg = dict(type='Provisioner', request='ContainerManagerConfig', version=3, params=_params)
2803 _params['type'] = type_
2804 reply = await self.rpc(msg)
2805 return reply
2806
2807
2808
2809 @ReturnMapping(ControllerConfigResult)
2810 async def ControllerConfig(self):
2811 '''
2812
2813 Returns -> typing.Mapping<~KT, +VT_co>[str, typing.Any]
2814 '''
2815 # map input types to rpc msg
2816 _params = dict()
2817 msg = dict(type='Provisioner', request='ControllerConfig', version=3, params=_params)
2818
2819 reply = await self.rpc(msg)
2820 return reply
2821
2822
2823
2824 @ReturnMapping(DistributionGroupResults)
2825 async def DistributionGroup(self, entities):
2826 '''
2827 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
2828 Returns -> typing.Sequence<+T_co>[~DistributionGroupResult]<~DistributionGroupResult>
2829 '''
2830 # map input types to rpc msg
2831 _params = dict()
2832 msg = dict(type='Provisioner', request='DistributionGroup', version=3, params=_params)
2833 _params['entities'] = entities
2834 reply = await self.rpc(msg)
2835 return reply
2836
2837
2838
2839 @ReturnMapping(ErrorResults)
2840 async def EnsureDead(self, entities):
2841 '''
2842 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
2843 Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult>
2844 '''
2845 # map input types to rpc msg
2846 _params = dict()
2847 msg = dict(type='Provisioner', request='EnsureDead', version=3, params=_params)
2848 _params['entities'] = entities
2849 reply = await self.rpc(msg)
2850 return reply
2851
2852
2853
2854 @ReturnMapping(FindToolsResult)
2855 async def FindTools(self, arch, major, minor, number, series):
2856 '''
2857 arch : str
2858 major : int
2859 minor : int
2860 number : Number
2861 series : str
2862 Returns -> typing.Union[_ForwardRef('Error'), typing.Sequence<+T_co>[~Tools]<~Tools>]
2863 '''
2864 # map input types to rpc msg
2865 _params = dict()
2866 msg = dict(type='Provisioner', request='FindTools', version=3, params=_params)
2867 _params['arch'] = arch
2868 _params['major'] = major
2869 _params['minor'] = minor
2870 _params['number'] = number
2871 _params['series'] = series
2872 reply = await self.rpc(msg)
2873 return reply
2874
2875
2876
2877 @ReturnMapping(MachineNetworkConfigResults)
2878 async def GetContainerInterfaceInfo(self, entities):
2879 '''
2880 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
2881 Returns -> typing.Sequence<+T_co>[~MachineNetworkConfigResult]<~MachineNetworkConfigResult>
2882 '''
2883 # map input types to rpc msg
2884 _params = dict()
2885 msg = dict(type='Provisioner', request='GetContainerInterfaceInfo', version=3, params=_params)
2886 _params['entities'] = entities
2887 reply = await self.rpc(msg)
2888 return reply
2889
2890
2891
2892 @ReturnMapping(HostNetworkChangeResults)
2893 async def HostChangesForContainers(self, entities):
2894 '''
2895 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
2896 Returns -> typing.Sequence<+T_co>[~HostNetworkChange]<~HostNetworkChange>
2897 '''
2898 # map input types to rpc msg
2899 _params = dict()
2900 msg = dict(type='Provisioner', request='HostChangesForContainers', version=3, params=_params)
2901 _params['entities'] = entities
2902 reply = await self.rpc(msg)
2903 return reply
2904
2905
2906
2907 @ReturnMapping(StringResults)
2908 async def InstanceId(self, entities):
2909 '''
2910 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
2911 Returns -> typing.Sequence<+T_co>[~StringResult]<~StringResult>
2912 '''
2913 # map input types to rpc msg
2914 _params = dict()
2915 msg = dict(type='Provisioner', request='InstanceId', version=3, params=_params)
2916 _params['entities'] = entities
2917 reply = await self.rpc(msg)
2918 return reply
2919
2920
2921
2922 @ReturnMapping(StatusResults)
2923 async def InstanceStatus(self, entities):
2924 '''
2925 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
2926 Returns -> typing.Sequence<+T_co>[~StatusResult]<~StatusResult>
2927 '''
2928 # map input types to rpc msg
2929 _params = dict()
2930 msg = dict(type='Provisioner', request='InstanceStatus', version=3, params=_params)
2931 _params['entities'] = entities
2932 reply = await self.rpc(msg)
2933 return reply
2934
2935
2936
2937 @ReturnMapping(LifeResults)
2938 async def Life(self, entities):
2939 '''
2940 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
2941 Returns -> typing.Sequence<+T_co>[~LifeResult]<~LifeResult>
2942 '''
2943 # map input types to rpc msg
2944 _params = dict()
2945 msg = dict(type='Provisioner', request='Life', version=3, params=_params)
2946 _params['entities'] = entities
2947 reply = await self.rpc(msg)
2948 return reply
2949
2950
2951
2952 @ReturnMapping(StatusResults)
2953 async def MachinesWithTransientErrors(self):
2954 '''
2955
2956 Returns -> typing.Sequence<+T_co>[~StatusResult]<~StatusResult>
2957 '''
2958 # map input types to rpc msg
2959 _params = dict()
2960 msg = dict(type='Provisioner', request='MachinesWithTransientErrors', version=3, params=_params)
2961
2962 reply = await self.rpc(msg)
2963 return reply
2964
2965
2966
2967 @ReturnMapping(ErrorResults)
2968 async def MarkMachinesForRemoval(self, entities):
2969 '''
2970 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
2971 Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult>
2972 '''
2973 # map input types to rpc msg
2974 _params = dict()
2975 msg = dict(type='Provisioner', request='MarkMachinesForRemoval', version=3, params=_params)
2976 _params['entities'] = entities
2977 reply = await self.rpc(msg)
2978 return reply
2979
2980
2981
2982 @ReturnMapping(ModelConfigResult)
2983 async def ModelConfig(self):
2984 '''
2985
2986 Returns -> typing.Mapping<~KT, +VT_co>[str, typing.Any]
2987 '''
2988 # map input types to rpc msg
2989 _params = dict()
2990 msg = dict(type='Provisioner', request='ModelConfig', version=3, params=_params)
2991
2992 reply = await self.rpc(msg)
2993 return reply
2994
2995
2996
2997 @ReturnMapping(StringResult)
2998 async def ModelUUID(self):
2999 '''
3000
3001 Returns -> typing.Union[_ForwardRef('Error'), str]
3002 '''
3003 # map input types to rpc msg
3004 _params = dict()
3005 msg = dict(type='Provisioner', request='ModelUUID', version=3, params=_params)
3006
3007 reply = await self.rpc(msg)
3008 return reply
3009
3010
3011
3012 @ReturnMapping(MachineNetworkConfigResults)
3013 async def PrepareContainerInterfaceInfo(self, entities):
3014 '''
3015 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
3016 Returns -> typing.Sequence<+T_co>[~MachineNetworkConfigResult]<~MachineNetworkConfigResult>
3017 '''
3018 # map input types to rpc msg
3019 _params = dict()
3020 msg = dict(type='Provisioner', request='PrepareContainerInterfaceInfo', version=3, params=_params)
3021 _params['entities'] = entities
3022 reply = await self.rpc(msg)
3023 return reply
3024
3025
3026
3027 @ReturnMapping(ProvisioningInfoResults)
3028 async def ProvisioningInfo(self, entities):
3029 '''
3030 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
3031 Returns -> typing.Sequence<+T_co>[~ProvisioningInfoResult]<~ProvisioningInfoResult>
3032 '''
3033 # map input types to rpc msg
3034 _params = dict()
3035 msg = dict(type='Provisioner', request='ProvisioningInfo', version=3, params=_params)
3036 _params['entities'] = entities
3037 reply = await self.rpc(msg)
3038 return reply
3039
3040
3041
3042 @ReturnMapping(ErrorResults)
3043 async def ReleaseContainerAddresses(self, entities):
3044 '''
3045 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
3046 Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult>
3047 '''
3048 # map input types to rpc msg
3049 _params = dict()
3050 msg = dict(type='Provisioner', request='ReleaseContainerAddresses', version=3, params=_params)
3051 _params['entities'] = entities
3052 reply = await self.rpc(msg)
3053 return reply
3054
3055
3056
3057 @ReturnMapping(ErrorResults)
3058 async def Remove(self, entities):
3059 '''
3060 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
3061 Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult>
3062 '''
3063 # map input types to rpc msg
3064 _params = dict()
3065 msg = dict(type='Provisioner', request='Remove', version=3, params=_params)
3066 _params['entities'] = entities
3067 reply = await self.rpc(msg)
3068 return reply
3069
3070
3071
3072 @ReturnMapping(StringResults)
3073 async def Series(self, entities):
3074 '''
3075 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
3076 Returns -> typing.Sequence<+T_co>[~StringResult]<~StringResult>
3077 '''
3078 # map input types to rpc msg
3079 _params = dict()
3080 msg = dict(type='Provisioner', request='Series', version=3, params=_params)
3081 _params['entities'] = entities
3082 reply = await self.rpc(msg)
3083 return reply
3084
3085
3086
3087 @ReturnMapping(None)
3088 async def SetHostMachineNetworkConfig(self, config, tag):
3089 '''
3090 config : typing.Sequence<+T_co>[~NetworkConfig]<~NetworkConfig>
3091 tag : str
3092 Returns -> None
3093 '''
3094 # map input types to rpc msg
3095 _params = dict()
3096 msg = dict(type='Provisioner', request='SetHostMachineNetworkConfig', version=3, params=_params)
3097 _params['config'] = config
3098 _params['tag'] = tag
3099 reply = await self.rpc(msg)
3100 return reply
3101
3102
3103
3104 @ReturnMapping(ErrorResults)
3105 async def SetInstanceInfo(self, machines):
3106 '''
3107 machines : typing.Sequence<+T_co>[~InstanceInfo]<~InstanceInfo>
3108 Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult>
3109 '''
3110 # map input types to rpc msg
3111 _params = dict()
3112 msg = dict(type='Provisioner', request='SetInstanceInfo', version=3, params=_params)
3113 _params['machines'] = machines
3114 reply = await self.rpc(msg)
3115 return reply
3116
3117
3118
3119 @ReturnMapping(ErrorResults)
3120 async def SetInstanceStatus(self, entities):
3121 '''
3122 entities : typing.Sequence<+T_co>[~EntityStatusArgs]<~EntityStatusArgs>
3123 Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult>
3124 '''
3125 # map input types to rpc msg
3126 _params = dict()
3127 msg = dict(type='Provisioner', request='SetInstanceStatus', version=3, params=_params)
3128 _params['entities'] = entities
3129 reply = await self.rpc(msg)
3130 return reply
3131
3132
3133
3134 @ReturnMapping(None)
3135 async def SetObservedNetworkConfig(self, config, tag):
3136 '''
3137 config : typing.Sequence<+T_co>[~NetworkConfig]<~NetworkConfig>
3138 tag : str
3139 Returns -> None
3140 '''
3141 # map input types to rpc msg
3142 _params = dict()
3143 msg = dict(type='Provisioner', request='SetObservedNetworkConfig', version=3, params=_params)
3144 _params['config'] = config
3145 _params['tag'] = tag
3146 reply = await self.rpc(msg)
3147 return reply
3148
3149
3150
3151 @ReturnMapping(ErrorResults)
3152 async def SetPasswords(self, changes):
3153 '''
3154 changes : typing.Sequence<+T_co>[~EntityPassword]<~EntityPassword>
3155 Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult>
3156 '''
3157 # map input types to rpc msg
3158 _params = dict()
3159 msg = dict(type='Provisioner', request='SetPasswords', version=3, params=_params)
3160 _params['changes'] = changes
3161 reply = await self.rpc(msg)
3162 return reply
3163
3164
3165
3166 @ReturnMapping(ErrorResults)
3167 async def SetProviderNetworkConfig(self, entities):
3168 '''
3169 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
3170 Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult>
3171 '''
3172 # map input types to rpc msg
3173 _params = dict()
3174 msg = dict(type='Provisioner', request='SetProviderNetworkConfig', version=3, params=_params)
3175 _params['entities'] = entities
3176 reply = await self.rpc(msg)
3177 return reply
3178
3179
3180
3181 @ReturnMapping(ErrorResults)
3182 async def SetStatus(self, entities):
3183 '''
3184 entities : typing.Sequence<+T_co>[~EntityStatusArgs]<~EntityStatusArgs>
3185 Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult>
3186 '''
3187 # map input types to rpc msg
3188 _params = dict()
3189 msg = dict(type='Provisioner', request='SetStatus', version=3, params=_params)
3190 _params['entities'] = entities
3191 reply = await self.rpc(msg)
3192 return reply
3193
3194
3195
3196 @ReturnMapping(ErrorResults)
3197 async def SetSupportedContainers(self, params):
3198 '''
3199 params : typing.Sequence<+T_co>[~MachineContainers]<~MachineContainers>
3200 Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult>
3201 '''
3202 # map input types to rpc msg
3203 _params = dict()
3204 msg = dict(type='Provisioner', request='SetSupportedContainers', version=3, params=_params)
3205 _params['params'] = params
3206 reply = await self.rpc(msg)
3207 return reply
3208
3209
3210
3211 @ReturnMapping(StringsResult)
3212 async def StateAddresses(self):
3213 '''
3214
3215 Returns -> typing.Union[_ForwardRef('Error'), typing.Sequence<+T_co>[str]]
3216 '''
3217 # map input types to rpc msg
3218 _params = dict()
3219 msg = dict(type='Provisioner', request='StateAddresses', version=3, params=_params)
3220
3221 reply = await self.rpc(msg)
3222 return reply
3223
3224
3225
3226 @ReturnMapping(StatusResults)
3227 async def Status(self, entities):
3228 '''
3229 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
3230 Returns -> typing.Sequence<+T_co>[~StatusResult]<~StatusResult>
3231 '''
3232 # map input types to rpc msg
3233 _params = dict()
3234 msg = dict(type='Provisioner', request='Status', version=3, params=_params)
3235 _params['entities'] = entities
3236 reply = await self.rpc(msg)
3237 return reply
3238
3239
3240
3241 @ReturnMapping(ToolsResults)
3242 async def Tools(self, entities):
3243 '''
3244 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
3245 Returns -> typing.Sequence<+T_co>[~ToolsResult]<~ToolsResult>
3246 '''
3247 # map input types to rpc msg
3248 _params = dict()
3249 msg = dict(type='Provisioner', request='Tools', version=3, params=_params)
3250 _params['entities'] = entities
3251 reply = await self.rpc(msg)
3252 return reply
3253
3254
3255
3256 @ReturnMapping(ErrorResults)
3257 async def UpdateStatus(self, entities):
3258 '''
3259 entities : typing.Sequence<+T_co>[~EntityStatusArgs]<~EntityStatusArgs>
3260 Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult>
3261 '''
3262 # map input types to rpc msg
3263 _params = dict()
3264 msg = dict(type='Provisioner', request='UpdateStatus', version=3, params=_params)
3265 _params['entities'] = entities
3266 reply = await self.rpc(msg)
3267 return reply
3268
3269
3270
3271 @ReturnMapping(NotifyWatchResult)
3272 async def WatchAPIHostPorts(self):
3273 '''
3274
3275 Returns -> typing.Union[str, _ForwardRef('Error')]
3276 '''
3277 # map input types to rpc msg
3278 _params = dict()
3279 msg = dict(type='Provisioner', request='WatchAPIHostPorts', version=3, params=_params)
3280
3281 reply = await self.rpc(msg)
3282 return reply
3283
3284
3285
3286 @ReturnMapping(StringsWatchResults)
3287 async def WatchAllContainers(self, params):
3288 '''
3289 params : typing.Sequence<+T_co>[~WatchContainer]<~WatchContainer>
3290 Returns -> typing.Sequence<+T_co>[~StringsWatchResult]<~StringsWatchResult>
3291 '''
3292 # map input types to rpc msg
3293 _params = dict()
3294 msg = dict(type='Provisioner', request='WatchAllContainers', version=3, params=_params)
3295 _params['params'] = params
3296 reply = await self.rpc(msg)
3297 return reply
3298
3299
3300
3301 @ReturnMapping(StringsWatchResults)
3302 async def WatchContainers(self, params):
3303 '''
3304 params : typing.Sequence<+T_co>[~WatchContainer]<~WatchContainer>
3305 Returns -> typing.Sequence<+T_co>[~StringsWatchResult]<~StringsWatchResult>
3306 '''
3307 # map input types to rpc msg
3308 _params = dict()
3309 msg = dict(type='Provisioner', request='WatchContainers', version=3, params=_params)
3310 _params['params'] = params
3311 reply = await self.rpc(msg)
3312 return reply
3313
3314
3315
3316 @ReturnMapping(NotifyWatchResult)
3317 async def WatchForModelConfigChanges(self):
3318 '''
3319
3320 Returns -> typing.Union[str, _ForwardRef('Error')]
3321 '''
3322 # map input types to rpc msg
3323 _params = dict()
3324 msg = dict(type='Provisioner', request='WatchForModelConfigChanges', version=3, params=_params)
3325
3326 reply = await self.rpc(msg)
3327 return reply
3328
3329
3330
3331 @ReturnMapping(NotifyWatchResult)
3332 async def WatchMachineErrorRetry(self):
3333 '''
3334
3335 Returns -> typing.Union[str, _ForwardRef('Error')]
3336 '''
3337 # map input types to rpc msg
3338 _params = dict()
3339 msg = dict(type='Provisioner', request='WatchMachineErrorRetry', version=3, params=_params)
3340
3341 reply = await self.rpc(msg)
3342 return reply
3343
3344
3345
3346 @ReturnMapping(StringsWatchResult)
3347 async def WatchModelMachines(self):
3348 '''
3349
3350 Returns -> typing.Union[typing.Sequence<+T_co>[str], _ForwardRef('Error')]
3351 '''
3352 # map input types to rpc msg
3353 _params = dict()
3354 msg = dict(type='Provisioner', request='WatchModelMachines', version=3, params=_params)
3355
3356 reply = await self.rpc(msg)
3357 return reply
3358
3359
3360
3361 class StorageFacade(Type):
3362 name = 'Storage'
3363 version = 3
3364 schema = {'definitions': {'Entities': {'additionalProperties': False,
3365 'properties': {'entities': {'items': {'$ref': '#/definitions/Entity'},
3366 'type': 'array'}},
3367 'required': ['entities'],
3368 'type': 'object'},
3369 'Entity': {'additionalProperties': False,
3370 'properties': {'tag': {'type': 'string'}},
3371 'required': ['tag'],
3372 'type': 'object'},
3373 'EntityStatus': {'additionalProperties': False,
3374 'properties': {'data': {'patternProperties': {'.*': {'additionalProperties': True,
3375 'type': 'object'}},
3376 'type': 'object'},
3377 'info': {'type': 'string'},
3378 'since': {'format': 'date-time',
3379 'type': 'string'},
3380 'status': {'type': 'string'}},
3381 'required': ['status', 'info', 'since'],
3382 'type': 'object'},
3383 'Error': {'additionalProperties': False,
3384 'properties': {'code': {'type': 'string'},
3385 'info': {'$ref': '#/definitions/ErrorInfo'},
3386 'message': {'type': 'string'}},
3387 'required': ['message', 'code'],
3388 'type': 'object'},
3389 'ErrorInfo': {'additionalProperties': False,
3390 'properties': {'macaroon': {'$ref': '#/definitions/Macaroon'},
3391 'macaroon-path': {'type': 'string'}},
3392 'type': 'object'},
3393 'ErrorResult': {'additionalProperties': False,
3394 'properties': {'error': {'$ref': '#/definitions/Error'}},
3395 'type': 'object'},
3396 'ErrorResults': {'additionalProperties': False,
3397 'properties': {'results': {'items': {'$ref': '#/definitions/ErrorResult'},
3398 'type': 'array'}},
3399 'required': ['results'],
3400 'type': 'object'},
3401 'FilesystemAttachmentDetails': {'additionalProperties': False,
3402 'properties': {'FilesystemAttachmentInfo': {'$ref': '#/definitions/FilesystemAttachmentInfo'},
3403 'life': {'type': 'string'}},
3404 'required': ['FilesystemAttachmentInfo'],
3405 'type': 'object'},
3406 'FilesystemAttachmentInfo': {'additionalProperties': False,
3407 'properties': {'mount-point': {'type': 'string'},
3408 'read-only': {'type': 'boolean'}},
3409 'type': 'object'},
3410 'FilesystemDetails': {'additionalProperties': False,
3411 'properties': {'filesystem-tag': {'type': 'string'},
3412 'info': {'$ref': '#/definitions/FilesystemInfo'},
3413 'life': {'type': 'string'},
3414 'machine-attachments': {'patternProperties': {'.*': {'$ref': '#/definitions/FilesystemAttachmentDetails'}},
3415 'type': 'object'},
3416 'status': {'$ref': '#/definitions/EntityStatus'},
3417 'storage': {'$ref': '#/definitions/StorageDetails'},
3418 'volume-tag': {'type': 'string'}},
3419 'required': ['filesystem-tag',
3420 'info',
3421 'status'],
3422 'type': 'object'},
3423 'FilesystemDetailsListResult': {'additionalProperties': False,
3424 'properties': {'error': {'$ref': '#/definitions/Error'},
3425 'result': {'items': {'$ref': '#/definitions/FilesystemDetails'},
3426 'type': 'array'}},
3427 'type': 'object'},
3428 'FilesystemDetailsListResults': {'additionalProperties': False,
3429 'properties': {'results': {'items': {'$ref': '#/definitions/FilesystemDetailsListResult'},
3430 'type': 'array'}},
3431 'type': 'object'},
3432 'FilesystemFilter': {'additionalProperties': False,
3433 'properties': {'machines': {'items': {'type': 'string'},
3434 'type': 'array'}},
3435 'type': 'object'},
3436 'FilesystemFilters': {'additionalProperties': False,
3437 'properties': {'filters': {'items': {'$ref': '#/definitions/FilesystemFilter'},
3438 'type': 'array'}},
3439 'type': 'object'},
3440 'FilesystemInfo': {'additionalProperties': False,
3441 'properties': {'filesystem-id': {'type': 'string'},
3442 'pool': {'type': 'string'},
3443 'size': {'type': 'integer'}},
3444 'required': ['filesystem-id',
3445 'pool',
3446 'size'],
3447 'type': 'object'},
3448 'Macaroon': {'additionalProperties': False, 'type': 'object'},
3449 'StorageAddParams': {'additionalProperties': False,
3450 'properties': {'name': {'type': 'string'},
3451 'storage': {'$ref': '#/definitions/StorageConstraints'},
3452 'unit': {'type': 'string'}},
3453 'required': ['unit', 'name', 'storage'],
3454 'type': 'object'},
3455 'StorageAttachmentDetails': {'additionalProperties': False,
3456 'properties': {'life': {'type': 'string'},
3457 'location': {'type': 'string'},
3458 'machine-tag': {'type': 'string'},
3459 'storage-tag': {'type': 'string'},
3460 'unit-tag': {'type': 'string'}},
3461 'required': ['storage-tag',
3462 'unit-tag',
3463 'machine-tag'],
3464 'type': 'object'},
3465 'StorageAttachmentId': {'additionalProperties': False,
3466 'properties': {'storage-tag': {'type': 'string'},
3467 'unit-tag': {'type': 'string'}},
3468 'required': ['storage-tag',
3469 'unit-tag'],
3470 'type': 'object'},
3471 'StorageAttachmentIds': {'additionalProperties': False,
3472 'properties': {'ids': {'items': {'$ref': '#/definitions/StorageAttachmentId'},
3473 'type': 'array'}},
3474 'required': ['ids'],
3475 'type': 'object'},
3476 'StorageConstraints': {'additionalProperties': False,
3477 'properties': {'count': {'type': 'integer'},
3478 'pool': {'type': 'string'},
3479 'size': {'type': 'integer'}},
3480 'type': 'object'},
3481 'StorageDetails': {'additionalProperties': False,
3482 'properties': {'attachments': {'patternProperties': {'.*': {'$ref': '#/definitions/StorageAttachmentDetails'}},
3483 'type': 'object'},
3484 'kind': {'type': 'integer'},
3485 'life': {'type': 'string'},
3486 'owner-tag': {'type': 'string'},
3487 'persistent': {'type': 'boolean'},
3488 'status': {'$ref': '#/definitions/EntityStatus'},
3489 'storage-tag': {'type': 'string'}},
3490 'required': ['storage-tag',
3491 'owner-tag',
3492 'kind',
3493 'status',
3494 'persistent'],
3495 'type': 'object'},
3496 'StorageDetailsListResult': {'additionalProperties': False,
3497 'properties': {'error': {'$ref': '#/definitions/Error'},
3498 'result': {'items': {'$ref': '#/definitions/StorageDetails'},
3499 'type': 'array'}},
3500 'type': 'object'},
3501 'StorageDetailsListResults': {'additionalProperties': False,
3502 'properties': {'results': {'items': {'$ref': '#/definitions/StorageDetailsListResult'},
3503 'type': 'array'}},
3504 'type': 'object'},
3505 'StorageDetailsResult': {'additionalProperties': False,
3506 'properties': {'error': {'$ref': '#/definitions/Error'},
3507 'result': {'$ref': '#/definitions/StorageDetails'}},
3508 'type': 'object'},
3509 'StorageDetailsResults': {'additionalProperties': False,
3510 'properties': {'results': {'items': {'$ref': '#/definitions/StorageDetailsResult'},
3511 'type': 'array'}},
3512 'type': 'object'},
3513 'StorageFilter': {'additionalProperties': False,
3514 'type': 'object'},
3515 'StorageFilters': {'additionalProperties': False,
3516 'properties': {'filters': {'items': {'$ref': '#/definitions/StorageFilter'},
3517 'type': 'array'}},
3518 'type': 'object'},
3519 'StoragePool': {'additionalProperties': False,
3520 'properties': {'attrs': {'patternProperties': {'.*': {'additionalProperties': True,
3521 'type': 'object'}},
3522 'type': 'object'},
3523 'name': {'type': 'string'},
3524 'provider': {'type': 'string'}},
3525 'required': ['name', 'provider', 'attrs'],
3526 'type': 'object'},
3527 'StoragePoolFilter': {'additionalProperties': False,
3528 'properties': {'names': {'items': {'type': 'string'},
3529 'type': 'array'},
3530 'providers': {'items': {'type': 'string'},
3531 'type': 'array'}},
3532 'type': 'object'},
3533 'StoragePoolFilters': {'additionalProperties': False,
3534 'properties': {'filters': {'items': {'$ref': '#/definitions/StoragePoolFilter'},
3535 'type': 'array'}},
3536 'type': 'object'},
3537 'StoragePoolsResult': {'additionalProperties': False,
3538 'properties': {'error': {'$ref': '#/definitions/Error'},
3539 'storage-pools': {'items': {'$ref': '#/definitions/StoragePool'},
3540 'type': 'array'}},
3541 'type': 'object'},
3542 'StoragePoolsResults': {'additionalProperties': False,
3543 'properties': {'results': {'items': {'$ref': '#/definitions/StoragePoolsResult'},
3544 'type': 'array'}},
3545 'type': 'object'},
3546 'StoragesAddParams': {'additionalProperties': False,
3547 'properties': {'storages': {'items': {'$ref': '#/definitions/StorageAddParams'},
3548 'type': 'array'}},
3549 'required': ['storages'],
3550 'type': 'object'},
3551 'VolumeAttachmentDetails': {'additionalProperties': False,
3552 'properties': {'VolumeAttachmentInfo': {'$ref': '#/definitions/VolumeAttachmentInfo'},
3553 'life': {'type': 'string'}},
3554 'required': ['VolumeAttachmentInfo'],
3555 'type': 'object'},
3556 'VolumeAttachmentInfo': {'additionalProperties': False,
3557 'properties': {'bus-address': {'type': 'string'},
3558 'device-link': {'type': 'string'},
3559 'device-name': {'type': 'string'},
3560 'read-only': {'type': 'boolean'}},
3561 'type': 'object'},
3562 'VolumeDetails': {'additionalProperties': False,
3563 'properties': {'info': {'$ref': '#/definitions/VolumeInfo'},
3564 'life': {'type': 'string'},
3565 'machine-attachments': {'patternProperties': {'.*': {'$ref': '#/definitions/VolumeAttachmentDetails'}},
3566 'type': 'object'},
3567 'status': {'$ref': '#/definitions/EntityStatus'},
3568 'storage': {'$ref': '#/definitions/StorageDetails'},
3569 'volume-tag': {'type': 'string'}},
3570 'required': ['volume-tag', 'info', 'status'],
3571 'type': 'object'},
3572 'VolumeDetailsListResult': {'additionalProperties': False,
3573 'properties': {'error': {'$ref': '#/definitions/Error'},
3574 'result': {'items': {'$ref': '#/definitions/VolumeDetails'},
3575 'type': 'array'}},
3576 'type': 'object'},
3577 'VolumeDetailsListResults': {'additionalProperties': False,
3578 'properties': {'results': {'items': {'$ref': '#/definitions/VolumeDetailsListResult'},
3579 'type': 'array'}},
3580 'type': 'object'},
3581 'VolumeFilter': {'additionalProperties': False,
3582 'properties': {'machines': {'items': {'type': 'string'},
3583 'type': 'array'}},
3584 'type': 'object'},
3585 'VolumeFilters': {'additionalProperties': False,
3586 'properties': {'filters': {'items': {'$ref': '#/definitions/VolumeFilter'},
3587 'type': 'array'}},
3588 'type': 'object'},
3589 'VolumeInfo': {'additionalProperties': False,
3590 'properties': {'hardware-id': {'type': 'string'},
3591 'persistent': {'type': 'boolean'},
3592 'pool': {'type': 'string'},
3593 'size': {'type': 'integer'},
3594 'volume-id': {'type': 'string'},
3595 'wwn': {'type': 'string'}},
3596 'required': ['volume-id', 'size', 'persistent'],
3597 'type': 'object'}},
3598 'properties': {'AddToUnit': {'properties': {'Params': {'$ref': '#/definitions/StoragesAddParams'},
3599 'Result': {'$ref': '#/definitions/ErrorResults'}},
3600 'type': 'object'},
3601 'Attach': {'properties': {'Params': {'$ref': '#/definitions/StorageAttachmentIds'},
3602 'Result': {'$ref': '#/definitions/ErrorResults'}},
3603 'type': 'object'},
3604 'CreatePool': {'properties': {'Params': {'$ref': '#/definitions/StoragePool'}},
3605 'type': 'object'},
3606 'Destroy': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
3607 'Result': {'$ref': '#/definitions/ErrorResults'}},
3608 'type': 'object'},
3609 'Detach': {'properties': {'Params': {'$ref': '#/definitions/StorageAttachmentIds'},
3610 'Result': {'$ref': '#/definitions/ErrorResults'}},
3611 'type': 'object'},
3612 'ListFilesystems': {'properties': {'Params': {'$ref': '#/definitions/FilesystemFilters'},
3613 'Result': {'$ref': '#/definitions/FilesystemDetailsListResults'}},
3614 'type': 'object'},
3615 'ListPools': {'properties': {'Params': {'$ref': '#/definitions/StoragePoolFilters'},
3616 'Result': {'$ref': '#/definitions/StoragePoolsResults'}},
3617 'type': 'object'},
3618 'ListStorageDetails': {'properties': {'Params': {'$ref': '#/definitions/StorageFilters'},
3619 'Result': {'$ref': '#/definitions/StorageDetailsListResults'}},
3620 'type': 'object'},
3621 'ListVolumes': {'properties': {'Params': {'$ref': '#/definitions/VolumeFilters'},
3622 'Result': {'$ref': '#/definitions/VolumeDetailsListResults'}},
3623 'type': 'object'},
3624 'StorageDetails': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
3625 'Result': {'$ref': '#/definitions/StorageDetailsResults'}},
3626 'type': 'object'}},
3627 'type': 'object'}
3628
3629
3630 @ReturnMapping(ErrorResults)
3631 async def AddToUnit(self, storages):
3632 '''
3633 storages : typing.Sequence<+T_co>[~StorageAddParams]<~StorageAddParams>
3634 Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult>
3635 '''
3636 # map input types to rpc msg
3637 _params = dict()
3638 msg = dict(type='Storage', request='AddToUnit', version=3, params=_params)
3639 _params['storages'] = storages
3640 reply = await self.rpc(msg)
3641 return reply
3642
3643
3644
3645 @ReturnMapping(ErrorResults)
3646 async def Attach(self, ids):
3647 '''
3648 ids : typing.Sequence<+T_co>[~StorageAttachmentId]<~StorageAttachmentId>
3649 Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult>
3650 '''
3651 # map input types to rpc msg
3652 _params = dict()
3653 msg = dict(type='Storage', request='Attach', version=3, params=_params)
3654 _params['ids'] = ids
3655 reply = await self.rpc(msg)
3656 return reply
3657
3658
3659
3660 @ReturnMapping(None)
3661 async def CreatePool(self, attrs, name, provider):
3662 '''
3663 attrs : typing.Mapping<~KT, +VT_co>[str, typing.Any]
3664 name : str
3665 provider : str
3666 Returns -> None
3667 '''
3668 # map input types to rpc msg
3669 _params = dict()
3670 msg = dict(type='Storage', request='CreatePool', version=3, params=_params)
3671 _params['attrs'] = attrs
3672 _params['name'] = name
3673 _params['provider'] = provider
3674 reply = await self.rpc(msg)
3675 return reply
3676
3677
3678
3679 @ReturnMapping(ErrorResults)
3680 async def Destroy(self, entities):
3681 '''
3682 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
3683 Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult>
3684 '''
3685 # map input types to rpc msg
3686 _params = dict()
3687 msg = dict(type='Storage', request='Destroy', version=3, params=_params)
3688 _params['entities'] = entities
3689 reply = await self.rpc(msg)
3690 return reply
3691
3692
3693
3694 @ReturnMapping(ErrorResults)
3695 async def Detach(self, ids):
3696 '''
3697 ids : typing.Sequence<+T_co>[~StorageAttachmentId]<~StorageAttachmentId>
3698 Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult>
3699 '''
3700 # map input types to rpc msg
3701 _params = dict()
3702 msg = dict(type='Storage', request='Detach', version=3, params=_params)
3703 _params['ids'] = ids
3704 reply = await self.rpc(msg)
3705 return reply
3706
3707
3708
3709 @ReturnMapping(FilesystemDetailsListResults)
3710 async def ListFilesystems(self, filters):
3711 '''
3712 filters : typing.Sequence<+T_co>[~FilesystemFilter]<~FilesystemFilter>
3713 Returns -> typing.Sequence<+T_co>[~FilesystemDetailsListResult]<~FilesystemDetailsListResult>
3714 '''
3715 # map input types to rpc msg
3716 _params = dict()
3717 msg = dict(type='Storage', request='ListFilesystems', version=3, params=_params)
3718 _params['filters'] = filters
3719 reply = await self.rpc(msg)
3720 return reply
3721
3722
3723
3724 @ReturnMapping(StoragePoolsResults)
3725 async def ListPools(self, filters):
3726 '''
3727 filters : typing.Sequence<+T_co>[~StoragePoolFilter]<~StoragePoolFilter>
3728 Returns -> typing.Sequence<+T_co>[~StoragePoolsResult]<~StoragePoolsResult>
3729 '''
3730 # map input types to rpc msg
3731 _params = dict()
3732 msg = dict(type='Storage', request='ListPools', version=3, params=_params)
3733 _params['filters'] = filters
3734 reply = await self.rpc(msg)
3735 return reply
3736
3737
3738
3739 @ReturnMapping(StorageDetailsListResults)
3740 async def ListStorageDetails(self, filters):
3741 '''
3742 filters : typing.Sequence<+T_co>[~StorageFilter]<~StorageFilter>
3743 Returns -> typing.Sequence<+T_co>[~StorageDetailsListResult]<~StorageDetailsListResult>
3744 '''
3745 # map input types to rpc msg
3746 _params = dict()
3747 msg = dict(type='Storage', request='ListStorageDetails', version=3, params=_params)
3748 _params['filters'] = filters
3749 reply = await self.rpc(msg)
3750 return reply
3751
3752
3753
3754 @ReturnMapping(VolumeDetailsListResults)
3755 async def ListVolumes(self, filters):
3756 '''
3757 filters : typing.Sequence<+T_co>[~VolumeFilter]<~VolumeFilter>
3758 Returns -> typing.Sequence<+T_co>[~VolumeDetailsListResult]<~VolumeDetailsListResult>
3759 '''
3760 # map input types to rpc msg
3761 _params = dict()
3762 msg = dict(type='Storage', request='ListVolumes', version=3, params=_params)
3763 _params['filters'] = filters
3764 reply = await self.rpc(msg)
3765 return reply
3766
3767
3768
3769 @ReturnMapping(StorageDetailsResults)
3770 async def StorageDetails(self, entities):
3771 '''
3772 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
3773 Returns -> typing.Sequence<+T_co>[~StorageDetailsResult]<~StorageDetailsResult>
3774 '''
3775 # map input types to rpc msg
3776 _params = dict()
3777 msg = dict(type='Storage', request='StorageDetails', version=3, params=_params)
3778 _params['entities'] = entities
3779 reply = await self.rpc(msg)
3780 return reply
3781
3782
3783
3784 class StorageProvisionerFacade(Type):
3785 name = 'StorageProvisioner'
3786 version = 3
3787 schema = {'definitions': {'BlockDevice': {'additionalProperties': False,
3788 'properties': {'BusAddress': {'type': 'string'},
3789 'DeviceLinks': {'items': {'type': 'string'},
3790 'type': 'array'},
3791 'DeviceName': {'type': 'string'},
3792 'FilesystemType': {'type': 'string'},
3793 'HardwareId': {'type': 'string'},
3794 'InUse': {'type': 'boolean'},
3795 'Label': {'type': 'string'},
3796 'MountPoint': {'type': 'string'},
3797 'Size': {'type': 'integer'},
3798 'UUID': {'type': 'string'},
3799 'WWN': {'type': 'string'}},
3800 'required': ['DeviceName',
3801 'DeviceLinks',
3802 'Label',
3803 'UUID',
3804 'HardwareId',
3805 'WWN',
3806 'BusAddress',
3807 'Size',
3808 'FilesystemType',
3809 'InUse',
3810 'MountPoint'],
3811 'type': 'object'},
3812 'BlockDeviceResult': {'additionalProperties': False,
3813 'properties': {'error': {'$ref': '#/definitions/Error'},
3814 'result': {'$ref': '#/definitions/BlockDevice'}},
3815 'required': ['result'],
3816 'type': 'object'},
3817 'BlockDeviceResults': {'additionalProperties': False,
3818 'properties': {'results': {'items': {'$ref': '#/definitions/BlockDeviceResult'},
3819 'type': 'array'}},
3820 'type': 'object'},
3821 'Entities': {'additionalProperties': False,
3822 'properties': {'entities': {'items': {'$ref': '#/definitions/Entity'},
3823 'type': 'array'}},
3824 'required': ['entities'],
3825 'type': 'object'},
3826 'Entity': {'additionalProperties': False,
3827 'properties': {'tag': {'type': 'string'}},
3828 'required': ['tag'],
3829 'type': 'object'},
3830 'EntityStatusArgs': {'additionalProperties': False,
3831 'properties': {'data': {'patternProperties': {'.*': {'additionalProperties': True,
3832 'type': 'object'}},
3833 'type': 'object'},
3834 'info': {'type': 'string'},
3835 'status': {'type': 'string'},
3836 'tag': {'type': 'string'}},
3837 'required': ['tag',
3838 'status',
3839 'info',
3840 'data'],
3841 'type': 'object'},
3842 'Error': {'additionalProperties': False,
3843 'properties': {'code': {'type': 'string'},
3844 'info': {'$ref': '#/definitions/ErrorInfo'},
3845 'message': {'type': 'string'}},
3846 'required': ['message', 'code'],
3847 'type': 'object'},
3848 'ErrorInfo': {'additionalProperties': False,
3849 'properties': {'macaroon': {'$ref': '#/definitions/Macaroon'},
3850 'macaroon-path': {'type': 'string'}},
3851 'type': 'object'},
3852 'ErrorResult': {'additionalProperties': False,
3853 'properties': {'error': {'$ref': '#/definitions/Error'}},
3854 'type': 'object'},
3855 'ErrorResults': {'additionalProperties': False,
3856 'properties': {'results': {'items': {'$ref': '#/definitions/ErrorResult'},
3857 'type': 'array'}},
3858 'required': ['results'],
3859 'type': 'object'},
3860 'Filesystem': {'additionalProperties': False,
3861 'properties': {'filesystem-tag': {'type': 'string'},
3862 'info': {'$ref': '#/definitions/FilesystemInfo'},
3863 'volume-tag': {'type': 'string'}},
3864 'required': ['filesystem-tag', 'info'],
3865 'type': 'object'},
3866 'FilesystemAttachment': {'additionalProperties': False,
3867 'properties': {'filesystem-tag': {'type': 'string'},
3868 'info': {'$ref': '#/definitions/FilesystemAttachmentInfo'},
3869 'machine-tag': {'type': 'string'}},
3870 'required': ['filesystem-tag',
3871 'machine-tag',
3872 'info'],
3873 'type': 'object'},
3874 'FilesystemAttachmentInfo': {'additionalProperties': False,
3875 'properties': {'mount-point': {'type': 'string'},
3876 'read-only': {'type': 'boolean'}},
3877 'type': 'object'},
3878 'FilesystemAttachmentParams': {'additionalProperties': False,
3879 'properties': {'filesystem-id': {'type': 'string'},
3880 'filesystem-tag': {'type': 'string'},
3881 'instance-id': {'type': 'string'},
3882 'machine-tag': {'type': 'string'},
3883 'mount-point': {'type': 'string'},
3884 'provider': {'type': 'string'},
3885 'read-only': {'type': 'boolean'}},
3886 'required': ['filesystem-tag',
3887 'machine-tag',
3888 'provider'],
3889 'type': 'object'},
3890 'FilesystemAttachmentParamsResult': {'additionalProperties': False,
3891 'properties': {'error': {'$ref': '#/definitions/Error'},
3892 'result': {'$ref': '#/definitions/FilesystemAttachmentParams'}},
3893 'required': ['result'],
3894 'type': 'object'},
3895 'FilesystemAttachmentParamsResults': {'additionalProperties': False,
3896 'properties': {'results': {'items': {'$ref': '#/definitions/FilesystemAttachmentParamsResult'},
3897 'type': 'array'}},
3898 'type': 'object'},
3899 'FilesystemAttachmentResult': {'additionalProperties': False,
3900 'properties': {'error': {'$ref': '#/definitions/Error'},
3901 'result': {'$ref': '#/definitions/FilesystemAttachment'}},
3902 'required': ['result'],
3903 'type': 'object'},
3904 'FilesystemAttachmentResults': {'additionalProperties': False,
3905 'properties': {'results': {'items': {'$ref': '#/definitions/FilesystemAttachmentResult'},
3906 'type': 'array'}},
3907 'type': 'object'},
3908 'FilesystemAttachments': {'additionalProperties': False,
3909 'properties': {'filesystem-attachments': {'items': {'$ref': '#/definitions/FilesystemAttachment'},
3910 'type': 'array'}},
3911 'required': ['filesystem-attachments'],
3912 'type': 'object'},
3913 'FilesystemInfo': {'additionalProperties': False,
3914 'properties': {'filesystem-id': {'type': 'string'},
3915 'pool': {'type': 'string'},
3916 'size': {'type': 'integer'}},
3917 'required': ['filesystem-id',
3918 'pool',
3919 'size'],
3920 'type': 'object'},
3921 'FilesystemParams': {'additionalProperties': False,
3922 'properties': {'attachment': {'$ref': '#/definitions/FilesystemAttachmentParams'},
3923 'attributes': {'patternProperties': {'.*': {'additionalProperties': True,
3924 'type': 'object'}},
3925 'type': 'object'},
3926 'filesystem-tag': {'type': 'string'},
3927 'provider': {'type': 'string'},
3928 'size': {'type': 'integer'},
3929 'tags': {'patternProperties': {'.*': {'type': 'string'}},
3930 'type': 'object'},
3931 'volume-tag': {'type': 'string'}},
3932 'required': ['filesystem-tag',
3933 'size',
3934 'provider'],
3935 'type': 'object'},
3936 'FilesystemParamsResult': {'additionalProperties': False,
3937 'properties': {'error': {'$ref': '#/definitions/Error'},
3938 'result': {'$ref': '#/definitions/FilesystemParams'}},
3939 'required': ['result'],
3940 'type': 'object'},
3941 'FilesystemParamsResults': {'additionalProperties': False,
3942 'properties': {'results': {'items': {'$ref': '#/definitions/FilesystemParamsResult'},
3943 'type': 'array'}},
3944 'type': 'object'},
3945 'FilesystemResult': {'additionalProperties': False,
3946 'properties': {'error': {'$ref': '#/definitions/Error'},
3947 'result': {'$ref': '#/definitions/Filesystem'}},
3948 'required': ['result'],
3949 'type': 'object'},
3950 'FilesystemResults': {'additionalProperties': False,
3951 'properties': {'results': {'items': {'$ref': '#/definitions/FilesystemResult'},
3952 'type': 'array'}},
3953 'type': 'object'},
3954 'Filesystems': {'additionalProperties': False,
3955 'properties': {'filesystems': {'items': {'$ref': '#/definitions/Filesystem'},
3956 'type': 'array'}},
3957 'required': ['filesystems'],
3958 'type': 'object'},
3959 'LifeResult': {'additionalProperties': False,
3960 'properties': {'error': {'$ref': '#/definitions/Error'},
3961 'life': {'type': 'string'}},
3962 'required': ['life'],
3963 'type': 'object'},
3964 'LifeResults': {'additionalProperties': False,
3965 'properties': {'results': {'items': {'$ref': '#/definitions/LifeResult'},
3966 'type': 'array'}},
3967 'required': ['results'],
3968 'type': 'object'},
3969 'Macaroon': {'additionalProperties': False, 'type': 'object'},
3970 'MachineStorageId': {'additionalProperties': False,
3971 'properties': {'attachment-tag': {'type': 'string'},
3972 'machine-tag': {'type': 'string'}},
3973 'required': ['machine-tag',
3974 'attachment-tag'],
3975 'type': 'object'},
3976 'MachineStorageIds': {'additionalProperties': False,
3977 'properties': {'ids': {'items': {'$ref': '#/definitions/MachineStorageId'},
3978 'type': 'array'}},
3979 'required': ['ids'],
3980 'type': 'object'},
3981 'MachineStorageIdsWatchResult': {'additionalProperties': False,
3982 'properties': {'changes': {'items': {'$ref': '#/definitions/MachineStorageId'},
3983 'type': 'array'},
3984 'error': {'$ref': '#/definitions/Error'},
3985 'watcher-id': {'type': 'string'}},
3986 'required': ['watcher-id',
3987 'changes'],
3988 'type': 'object'},
3989 'MachineStorageIdsWatchResults': {'additionalProperties': False,
3990 'properties': {'results': {'items': {'$ref': '#/definitions/MachineStorageIdsWatchResult'},
3991 'type': 'array'}},
3992 'required': ['results'],
3993 'type': 'object'},
3994 'NotifyWatchResult': {'additionalProperties': False,
3995 'properties': {'NotifyWatcherId': {'type': 'string'},
3996 'error': {'$ref': '#/definitions/Error'}},
3997 'required': ['NotifyWatcherId'],
3998 'type': 'object'},
3999 'NotifyWatchResults': {'additionalProperties': False,
4000 'properties': {'results': {'items': {'$ref': '#/definitions/NotifyWatchResult'},
4001 'type': 'array'}},
4002 'required': ['results'],
4003 'type': 'object'},
4004 'SetStatus': {'additionalProperties': False,
4005 'properties': {'entities': {'items': {'$ref': '#/definitions/EntityStatusArgs'},
4006 'type': 'array'}},
4007 'required': ['entities'],
4008 'type': 'object'},
4009 'StringResult': {'additionalProperties': False,
4010 'properties': {'error': {'$ref': '#/definitions/Error'},
4011 'result': {'type': 'string'}},
4012 'required': ['result'],
4013 'type': 'object'},
4014 'StringResults': {'additionalProperties': False,
4015 'properties': {'results': {'items': {'$ref': '#/definitions/StringResult'},
4016 'type': 'array'}},
4017 'required': ['results'],
4018 'type': 'object'},
4019 'StringsWatchResult': {'additionalProperties': False,
4020 'properties': {'changes': {'items': {'type': 'string'},
4021 'type': 'array'},
4022 'error': {'$ref': '#/definitions/Error'},
4023 'watcher-id': {'type': 'string'}},
4024 'required': ['watcher-id'],
4025 'type': 'object'},
4026 'StringsWatchResults': {'additionalProperties': False,
4027 'properties': {'results': {'items': {'$ref': '#/definitions/StringsWatchResult'},
4028 'type': 'array'}},
4029 'required': ['results'],
4030 'type': 'object'},
4031 'Volume': {'additionalProperties': False,
4032 'properties': {'info': {'$ref': '#/definitions/VolumeInfo'},
4033 'volume-tag': {'type': 'string'}},
4034 'required': ['volume-tag', 'info'],
4035 'type': 'object'},
4036 'VolumeAttachment': {'additionalProperties': False,
4037 'properties': {'info': {'$ref': '#/definitions/VolumeAttachmentInfo'},
4038 'machine-tag': {'type': 'string'},
4039 'volume-tag': {'type': 'string'}},
4040 'required': ['volume-tag',
4041 'machine-tag',
4042 'info'],
4043 'type': 'object'},
4044 'VolumeAttachmentInfo': {'additionalProperties': False,
4045 'properties': {'bus-address': {'type': 'string'},
4046 'device-link': {'type': 'string'},
4047 'device-name': {'type': 'string'},
4048 'read-only': {'type': 'boolean'}},
4049 'type': 'object'},
4050 'VolumeAttachmentParams': {'additionalProperties': False,
4051 'properties': {'instance-id': {'type': 'string'},
4052 'machine-tag': {'type': 'string'},
4053 'provider': {'type': 'string'},
4054 'read-only': {'type': 'boolean'},
4055 'volume-id': {'type': 'string'},
4056 'volume-tag': {'type': 'string'}},
4057 'required': ['volume-tag',
4058 'machine-tag',
4059 'provider'],
4060 'type': 'object'},
4061 'VolumeAttachmentParamsResult': {'additionalProperties': False,
4062 'properties': {'error': {'$ref': '#/definitions/Error'},
4063 'result': {'$ref': '#/definitions/VolumeAttachmentParams'}},
4064 'required': ['result'],
4065 'type': 'object'},
4066 'VolumeAttachmentParamsResults': {'additionalProperties': False,
4067 'properties': {'results': {'items': {'$ref': '#/definitions/VolumeAttachmentParamsResult'},
4068 'type': 'array'}},
4069 'type': 'object'},
4070 'VolumeAttachmentResult': {'additionalProperties': False,
4071 'properties': {'error': {'$ref': '#/definitions/Error'},
4072 'result': {'$ref': '#/definitions/VolumeAttachment'}},
4073 'required': ['result'],
4074 'type': 'object'},
4075 'VolumeAttachmentResults': {'additionalProperties': False,
4076 'properties': {'results': {'items': {'$ref': '#/definitions/VolumeAttachmentResult'},
4077 'type': 'array'}},
4078 'type': 'object'},
4079 'VolumeAttachments': {'additionalProperties': False,
4080 'properties': {'volume-attachments': {'items': {'$ref': '#/definitions/VolumeAttachment'},
4081 'type': 'array'}},
4082 'required': ['volume-attachments'],
4083 'type': 'object'},
4084 'VolumeInfo': {'additionalProperties': False,
4085 'properties': {'hardware-id': {'type': 'string'},
4086 'persistent': {'type': 'boolean'},
4087 'pool': {'type': 'string'},
4088 'size': {'type': 'integer'},
4089 'volume-id': {'type': 'string'},
4090 'wwn': {'type': 'string'}},
4091 'required': ['volume-id', 'size', 'persistent'],
4092 'type': 'object'},
4093 'VolumeParams': {'additionalProperties': False,
4094 'properties': {'attachment': {'$ref': '#/definitions/VolumeAttachmentParams'},
4095 'attributes': {'patternProperties': {'.*': {'additionalProperties': True,
4096 'type': 'object'}},
4097 'type': 'object'},
4098 'provider': {'type': 'string'},
4099 'size': {'type': 'integer'},
4100 'tags': {'patternProperties': {'.*': {'type': 'string'}},
4101 'type': 'object'},
4102 'volume-tag': {'type': 'string'}},
4103 'required': ['volume-tag',
4104 'size',
4105 'provider'],
4106 'type': 'object'},
4107 'VolumeParamsResult': {'additionalProperties': False,
4108 'properties': {'error': {'$ref': '#/definitions/Error'},
4109 'result': {'$ref': '#/definitions/VolumeParams'}},
4110 'required': ['result'],
4111 'type': 'object'},
4112 'VolumeParamsResults': {'additionalProperties': False,
4113 'properties': {'results': {'items': {'$ref': '#/definitions/VolumeParamsResult'},
4114 'type': 'array'}},
4115 'type': 'object'},
4116 'VolumeResult': {'additionalProperties': False,
4117 'properties': {'error': {'$ref': '#/definitions/Error'},
4118 'result': {'$ref': '#/definitions/Volume'}},
4119 'required': ['result'],
4120 'type': 'object'},
4121 'VolumeResults': {'additionalProperties': False,
4122 'properties': {'results': {'items': {'$ref': '#/definitions/VolumeResult'},
4123 'type': 'array'}},
4124 'type': 'object'},
4125 'Volumes': {'additionalProperties': False,
4126 'properties': {'volumes': {'items': {'$ref': '#/definitions/Volume'},
4127 'type': 'array'}},
4128 'required': ['volumes'],
4129 'type': 'object'}},
4130 'properties': {'AttachmentLife': {'properties': {'Params': {'$ref': '#/definitions/MachineStorageIds'},
4131 'Result': {'$ref': '#/definitions/LifeResults'}},
4132 'type': 'object'},
4133 'EnsureDead': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
4134 'Result': {'$ref': '#/definitions/ErrorResults'}},
4135 'type': 'object'},
4136 'FilesystemAttachmentParams': {'properties': {'Params': {'$ref': '#/definitions/MachineStorageIds'},
4137 'Result': {'$ref': '#/definitions/FilesystemAttachmentParamsResults'}},
4138 'type': 'object'},
4139 'FilesystemAttachments': {'properties': {'Params': {'$ref': '#/definitions/MachineStorageIds'},
4140 'Result': {'$ref': '#/definitions/FilesystemAttachmentResults'}},
4141 'type': 'object'},
4142 'FilesystemParams': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
4143 'Result': {'$ref': '#/definitions/FilesystemParamsResults'}},
4144 'type': 'object'},
4145 'Filesystems': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
4146 'Result': {'$ref': '#/definitions/FilesystemResults'}},
4147 'type': 'object'},
4148 'InstanceId': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
4149 'Result': {'$ref': '#/definitions/StringResults'}},
4150 'type': 'object'},
4151 'Life': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
4152 'Result': {'$ref': '#/definitions/LifeResults'}},
4153 'type': 'object'},
4154 'Remove': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
4155 'Result': {'$ref': '#/definitions/ErrorResults'}},
4156 'type': 'object'},
4157 'RemoveAttachment': {'properties': {'Params': {'$ref': '#/definitions/MachineStorageIds'},
4158 'Result': {'$ref': '#/definitions/ErrorResults'}},
4159 'type': 'object'},
4160 'SetFilesystemAttachmentInfo': {'properties': {'Params': {'$ref': '#/definitions/FilesystemAttachments'},
4161 'Result': {'$ref': '#/definitions/ErrorResults'}},
4162 'type': 'object'},
4163 'SetFilesystemInfo': {'properties': {'Params': {'$ref': '#/definitions/Filesystems'},
4164 'Result': {'$ref': '#/definitions/ErrorResults'}},
4165 'type': 'object'},
4166 'SetStatus': {'properties': {'Params': {'$ref': '#/definitions/SetStatus'},
4167 'Result': {'$ref': '#/definitions/ErrorResults'}},
4168 'type': 'object'},
4169 'SetVolumeAttachmentInfo': {'properties': {'Params': {'$ref': '#/definitions/VolumeAttachments'},
4170 'Result': {'$ref': '#/definitions/ErrorResults'}},
4171 'type': 'object'},
4172 'SetVolumeInfo': {'properties': {'Params': {'$ref': '#/definitions/Volumes'},
4173 'Result': {'$ref': '#/definitions/ErrorResults'}},
4174 'type': 'object'},
4175 'UpdateStatus': {'properties': {'Params': {'$ref': '#/definitions/SetStatus'},
4176 'Result': {'$ref': '#/definitions/ErrorResults'}},
4177 'type': 'object'},
4178 'VolumeAttachmentParams': {'properties': {'Params': {'$ref': '#/definitions/MachineStorageIds'},
4179 'Result': {'$ref': '#/definitions/VolumeAttachmentParamsResults'}},
4180 'type': 'object'},
4181 'VolumeAttachments': {'properties': {'Params': {'$ref': '#/definitions/MachineStorageIds'},
4182 'Result': {'$ref': '#/definitions/VolumeAttachmentResults'}},
4183 'type': 'object'},
4184 'VolumeBlockDevices': {'properties': {'Params': {'$ref': '#/definitions/MachineStorageIds'},
4185 'Result': {'$ref': '#/definitions/BlockDeviceResults'}},
4186 'type': 'object'},
4187 'VolumeParams': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
4188 'Result': {'$ref': '#/definitions/VolumeParamsResults'}},
4189 'type': 'object'},
4190 'Volumes': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
4191 'Result': {'$ref': '#/definitions/VolumeResults'}},
4192 'type': 'object'},
4193 'WatchBlockDevices': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
4194 'Result': {'$ref': '#/definitions/NotifyWatchResults'}},
4195 'type': 'object'},
4196 'WatchFilesystemAttachments': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
4197 'Result': {'$ref': '#/definitions/MachineStorageIdsWatchResults'}},
4198 'type': 'object'},
4199 'WatchFilesystems': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
4200 'Result': {'$ref': '#/definitions/StringsWatchResults'}},
4201 'type': 'object'},
4202 'WatchMachines': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
4203 'Result': {'$ref': '#/definitions/NotifyWatchResults'}},
4204 'type': 'object'},
4205 'WatchVolumeAttachments': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
4206 'Result': {'$ref': '#/definitions/MachineStorageIdsWatchResults'}},
4207 'type': 'object'},
4208 'WatchVolumes': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
4209 'Result': {'$ref': '#/definitions/StringsWatchResults'}},
4210 'type': 'object'}},
4211 'type': 'object'}
4212
4213
4214 @ReturnMapping(LifeResults)
4215 async def AttachmentLife(self, ids):
4216 '''
4217 ids : typing.Sequence<+T_co>[~MachineStorageId]<~MachineStorageId>
4218 Returns -> typing.Sequence<+T_co>[~LifeResult]<~LifeResult>
4219 '''
4220 # map input types to rpc msg
4221 _params = dict()
4222 msg = dict(type='StorageProvisioner', request='AttachmentLife', version=3, params=_params)
4223 _params['ids'] = ids
4224 reply = await self.rpc(msg)
4225 return reply
4226
4227
4228
4229 @ReturnMapping(ErrorResults)
4230 async def EnsureDead(self, entities):
4231 '''
4232 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
4233 Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult>
4234 '''
4235 # map input types to rpc msg
4236 _params = dict()
4237 msg = dict(type='StorageProvisioner', request='EnsureDead', version=3, params=_params)
4238 _params['entities'] = entities
4239 reply = await self.rpc(msg)
4240 return reply
4241
4242
4243
4244 @ReturnMapping(FilesystemAttachmentParamsResults)
4245 async def FilesystemAttachmentParams(self, ids):
4246 '''
4247 ids : typing.Sequence<+T_co>[~MachineStorageId]<~MachineStorageId>
4248 Returns -> typing.Sequence<+T_co>[~FilesystemAttachmentParamsResult]<~FilesystemAttachmentParamsResult>
4249 '''
4250 # map input types to rpc msg
4251 _params = dict()
4252 msg = dict(type='StorageProvisioner', request='FilesystemAttachmentParams', version=3, params=_params)
4253 _params['ids'] = ids
4254 reply = await self.rpc(msg)
4255 return reply
4256
4257
4258
4259 @ReturnMapping(FilesystemAttachmentResults)
4260 async def FilesystemAttachments(self, ids):
4261 '''
4262 ids : typing.Sequence<+T_co>[~MachineStorageId]<~MachineStorageId>
4263 Returns -> typing.Sequence<+T_co>[~FilesystemAttachmentResult]<~FilesystemAttachmentResult>
4264 '''
4265 # map input types to rpc msg
4266 _params = dict()
4267 msg = dict(type='StorageProvisioner', request='FilesystemAttachments', version=3, params=_params)
4268 _params['ids'] = ids
4269 reply = await self.rpc(msg)
4270 return reply
4271
4272
4273
4274 @ReturnMapping(FilesystemParamsResults)
4275 async def FilesystemParams(self, entities):
4276 '''
4277 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
4278 Returns -> typing.Sequence<+T_co>[~FilesystemParamsResult]<~FilesystemParamsResult>
4279 '''
4280 # map input types to rpc msg
4281 _params = dict()
4282 msg = dict(type='StorageProvisioner', request='FilesystemParams', version=3, params=_params)
4283 _params['entities'] = entities
4284 reply = await self.rpc(msg)
4285 return reply
4286
4287
4288
4289 @ReturnMapping(FilesystemResults)
4290 async def Filesystems(self, entities):
4291 '''
4292 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
4293 Returns -> typing.Sequence<+T_co>[~FilesystemResult]<~FilesystemResult>
4294 '''
4295 # map input types to rpc msg
4296 _params = dict()
4297 msg = dict(type='StorageProvisioner', request='Filesystems', version=3, params=_params)
4298 _params['entities'] = entities
4299 reply = await self.rpc(msg)
4300 return reply
4301
4302
4303
4304 @ReturnMapping(StringResults)
4305 async def InstanceId(self, entities):
4306 '''
4307 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
4308 Returns -> typing.Sequence<+T_co>[~StringResult]<~StringResult>
4309 '''
4310 # map input types to rpc msg
4311 _params = dict()
4312 msg = dict(type='StorageProvisioner', request='InstanceId', version=3, params=_params)
4313 _params['entities'] = entities
4314 reply = await self.rpc(msg)
4315 return reply
4316
4317
4318
4319 @ReturnMapping(LifeResults)
4320 async def Life(self, entities):
4321 '''
4322 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
4323 Returns -> typing.Sequence<+T_co>[~LifeResult]<~LifeResult>
4324 '''
4325 # map input types to rpc msg
4326 _params = dict()
4327 msg = dict(type='StorageProvisioner', request='Life', version=3, params=_params)
4328 _params['entities'] = entities
4329 reply = await self.rpc(msg)
4330 return reply
4331
4332
4333
4334 @ReturnMapping(ErrorResults)
4335 async def Remove(self, entities):
4336 '''
4337 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
4338 Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult>
4339 '''
4340 # map input types to rpc msg
4341 _params = dict()
4342 msg = dict(type='StorageProvisioner', request='Remove', version=3, params=_params)
4343 _params['entities'] = entities
4344 reply = await self.rpc(msg)
4345 return reply
4346
4347
4348
4349 @ReturnMapping(ErrorResults)
4350 async def RemoveAttachment(self, ids):
4351 '''
4352 ids : typing.Sequence<+T_co>[~MachineStorageId]<~MachineStorageId>
4353 Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult>
4354 '''
4355 # map input types to rpc msg
4356 _params = dict()
4357 msg = dict(type='StorageProvisioner', request='RemoveAttachment', version=3, params=_params)
4358 _params['ids'] = ids
4359 reply = await self.rpc(msg)
4360 return reply
4361
4362
4363
4364 @ReturnMapping(ErrorResults)
4365 async def SetFilesystemAttachmentInfo(self, filesystem_attachments):
4366 '''
4367 filesystem_attachments : typing.Sequence<+T_co>[~FilesystemAttachment]<~FilesystemAttachment>
4368 Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult>
4369 '''
4370 # map input types to rpc msg
4371 _params = dict()
4372 msg = dict(type='StorageProvisioner', request='SetFilesystemAttachmentInfo', version=3, params=_params)
4373 _params['filesystem-attachments'] = filesystem_attachments
4374 reply = await self.rpc(msg)
4375 return reply
4376
4377
4378
4379 @ReturnMapping(ErrorResults)
4380 async def SetFilesystemInfo(self, filesystems):
4381 '''
4382 filesystems : typing.Sequence<+T_co>[~Filesystem]<~Filesystem>
4383 Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult>
4384 '''
4385 # map input types to rpc msg
4386 _params = dict()
4387 msg = dict(type='StorageProvisioner', request='SetFilesystemInfo', version=3, params=_params)
4388 _params['filesystems'] = filesystems
4389 reply = await self.rpc(msg)
4390 return reply
4391
4392
4393
4394 @ReturnMapping(ErrorResults)
4395 async def SetStatus(self, entities):
4396 '''
4397 entities : typing.Sequence<+T_co>[~EntityStatusArgs]<~EntityStatusArgs>
4398 Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult>
4399 '''
4400 # map input types to rpc msg
4401 _params = dict()
4402 msg = dict(type='StorageProvisioner', request='SetStatus', version=3, params=_params)
4403 _params['entities'] = entities
4404 reply = await self.rpc(msg)
4405 return reply
4406
4407
4408
4409 @ReturnMapping(ErrorResults)
4410 async def SetVolumeAttachmentInfo(self, volume_attachments):
4411 '''
4412 volume_attachments : typing.Sequence<+T_co>[~VolumeAttachment]<~VolumeAttachment>
4413 Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult>
4414 '''
4415 # map input types to rpc msg
4416 _params = dict()
4417 msg = dict(type='StorageProvisioner', request='SetVolumeAttachmentInfo', version=3, params=_params)
4418 _params['volume-attachments'] = volume_attachments
4419 reply = await self.rpc(msg)
4420 return reply
4421
4422
4423
4424 @ReturnMapping(ErrorResults)
4425 async def SetVolumeInfo(self, volumes):
4426 '''
4427 volumes : typing.Sequence<+T_co>[~Volume]<~Volume>
4428 Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult>
4429 '''
4430 # map input types to rpc msg
4431 _params = dict()
4432 msg = dict(type='StorageProvisioner', request='SetVolumeInfo', version=3, params=_params)
4433 _params['volumes'] = volumes
4434 reply = await self.rpc(msg)
4435 return reply
4436
4437
4438
4439 @ReturnMapping(ErrorResults)
4440 async def UpdateStatus(self, entities):
4441 '''
4442 entities : typing.Sequence<+T_co>[~EntityStatusArgs]<~EntityStatusArgs>
4443 Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult>
4444 '''
4445 # map input types to rpc msg
4446 _params = dict()
4447 msg = dict(type='StorageProvisioner', request='UpdateStatus', version=3, params=_params)
4448 _params['entities'] = entities
4449 reply = await self.rpc(msg)
4450 return reply
4451
4452
4453
4454 @ReturnMapping(VolumeAttachmentParamsResults)
4455 async def VolumeAttachmentParams(self, ids):
4456 '''
4457 ids : typing.Sequence<+T_co>[~MachineStorageId]<~MachineStorageId>
4458 Returns -> typing.Sequence<+T_co>[~VolumeAttachmentParamsResult]<~VolumeAttachmentParamsResult>
4459 '''
4460 # map input types to rpc msg
4461 _params = dict()
4462 msg = dict(type='StorageProvisioner', request='VolumeAttachmentParams', version=3, params=_params)
4463 _params['ids'] = ids
4464 reply = await self.rpc(msg)
4465 return reply
4466
4467
4468
4469 @ReturnMapping(VolumeAttachmentResults)
4470 async def VolumeAttachments(self, ids):
4471 '''
4472 ids : typing.Sequence<+T_co>[~MachineStorageId]<~MachineStorageId>
4473 Returns -> typing.Sequence<+T_co>[~VolumeAttachmentResult]<~VolumeAttachmentResult>
4474 '''
4475 # map input types to rpc msg
4476 _params = dict()
4477 msg = dict(type='StorageProvisioner', request='VolumeAttachments', version=3, params=_params)
4478 _params['ids'] = ids
4479 reply = await self.rpc(msg)
4480 return reply
4481
4482
4483
4484 @ReturnMapping(BlockDeviceResults)
4485 async def VolumeBlockDevices(self, ids):
4486 '''
4487 ids : typing.Sequence<+T_co>[~MachineStorageId]<~MachineStorageId>
4488 Returns -> typing.Sequence<+T_co>[~BlockDeviceResult]<~BlockDeviceResult>
4489 '''
4490 # map input types to rpc msg
4491 _params = dict()
4492 msg = dict(type='StorageProvisioner', request='VolumeBlockDevices', version=3, params=_params)
4493 _params['ids'] = ids
4494 reply = await self.rpc(msg)
4495 return reply
4496
4497
4498
4499 @ReturnMapping(VolumeParamsResults)
4500 async def VolumeParams(self, entities):
4501 '''
4502 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
4503 Returns -> typing.Sequence<+T_co>[~VolumeParamsResult]<~VolumeParamsResult>
4504 '''
4505 # map input types to rpc msg
4506 _params = dict()
4507 msg = dict(type='StorageProvisioner', request='VolumeParams', version=3, params=_params)
4508 _params['entities'] = entities
4509 reply = await self.rpc(msg)
4510 return reply
4511
4512
4513
4514 @ReturnMapping(VolumeResults)
4515 async def Volumes(self, entities):
4516 '''
4517 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
4518 Returns -> typing.Sequence<+T_co>[~VolumeResult]<~VolumeResult>
4519 '''
4520 # map input types to rpc msg
4521 _params = dict()
4522 msg = dict(type='StorageProvisioner', request='Volumes', version=3, params=_params)
4523 _params['entities'] = entities
4524 reply = await self.rpc(msg)
4525 return reply
4526
4527
4528
4529 @ReturnMapping(NotifyWatchResults)
4530 async def WatchBlockDevices(self, entities):
4531 '''
4532 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
4533 Returns -> typing.Sequence<+T_co>[~NotifyWatchResult]<~NotifyWatchResult>
4534 '''
4535 # map input types to rpc msg
4536 _params = dict()
4537 msg = dict(type='StorageProvisioner', request='WatchBlockDevices', version=3, params=_params)
4538 _params['entities'] = entities
4539 reply = await self.rpc(msg)
4540 return reply
4541
4542
4543
4544 @ReturnMapping(MachineStorageIdsWatchResults)
4545 async def WatchFilesystemAttachments(self, entities):
4546 '''
4547 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
4548 Returns -> typing.Sequence<+T_co>[~MachineStorageIdsWatchResult]<~MachineStorageIdsWatchResult>
4549 '''
4550 # map input types to rpc msg
4551 _params = dict()
4552 msg = dict(type='StorageProvisioner', request='WatchFilesystemAttachments', version=3, params=_params)
4553 _params['entities'] = entities
4554 reply = await self.rpc(msg)
4555 return reply
4556
4557
4558
4559 @ReturnMapping(StringsWatchResults)
4560 async def WatchFilesystems(self, entities):
4561 '''
4562 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
4563 Returns -> typing.Sequence<+T_co>[~StringsWatchResult]<~StringsWatchResult>
4564 '''
4565 # map input types to rpc msg
4566 _params = dict()
4567 msg = dict(type='StorageProvisioner', request='WatchFilesystems', version=3, params=_params)
4568 _params['entities'] = entities
4569 reply = await self.rpc(msg)
4570 return reply
4571
4572
4573
4574 @ReturnMapping(NotifyWatchResults)
4575 async def WatchMachines(self, entities):
4576 '''
4577 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
4578 Returns -> typing.Sequence<+T_co>[~NotifyWatchResult]<~NotifyWatchResult>
4579 '''
4580 # map input types to rpc msg
4581 _params = dict()
4582 msg = dict(type='StorageProvisioner', request='WatchMachines', version=3, params=_params)
4583 _params['entities'] = entities
4584 reply = await self.rpc(msg)
4585 return reply
4586
4587
4588
4589 @ReturnMapping(MachineStorageIdsWatchResults)
4590 async def WatchVolumeAttachments(self, entities):
4591 '''
4592 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
4593 Returns -> typing.Sequence<+T_co>[~MachineStorageIdsWatchResult]<~MachineStorageIdsWatchResult>
4594 '''
4595 # map input types to rpc msg
4596 _params = dict()
4597 msg = dict(type='StorageProvisioner', request='WatchVolumeAttachments', version=3, params=_params)
4598 _params['entities'] = entities
4599 reply = await self.rpc(msg)
4600 return reply
4601
4602
4603
4604 @ReturnMapping(StringsWatchResults)
4605 async def WatchVolumes(self, entities):
4606 '''
4607 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
4608 Returns -> typing.Sequence<+T_co>[~StringsWatchResult]<~StringsWatchResult>
4609 '''
4610 # map input types to rpc msg
4611 _params = dict()
4612 msg = dict(type='StorageProvisioner', request='WatchVolumes', version=3, params=_params)
4613 _params['entities'] = entities
4614 reply = await self.rpc(msg)
4615 return reply
4616
4617