Fixes for latest juju-2 beta
[osm/N2VC.git] / juju / client / _client.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
6
7 class Action(Type):
8 _toSchema = {'name': 'name', 'receiver': 'receiver', 'tag': 'tag', 'parameters': 'parameters'}
9 _toPy = {'name': 'name', 'receiver': 'receiver', 'tag': 'tag', 'parameters': 'parameters'}
10 def __init__(self, name=None, parameters=None, receiver=None, tag=None):
11 '''
12 name : str
13 parameters : typing.Mapping<~KT, +VT_co>[str, typing.Any]
14 receiver : str
15 tag : str
16 '''
17 self.name = name
18 self.parameters = parameters
19 self.receiver = receiver
20 self.tag = tag
21
22
23 class ActionResult(Type):
24 _toSchema = {'started': 'started', 'error': 'error', 'message': 'message', 'status': 'status', 'enqueued': 'enqueued', 'action': 'action', 'completed': 'completed', 'output': 'output'}
25 _toPy = {'started': 'started', 'error': 'error', 'message': 'message', 'status': 'status', 'enqueued': 'enqueued', 'action': 'action', 'completed': 'completed', 'output': 'output'}
26 def __init__(self, action=None, completed=None, enqueued=None, error=None, message=None, output=None, started=None, status=None):
27 '''
28 action : Action
29 completed : str
30 enqueued : str
31 error : Error
32 message : str
33 output : typing.Mapping<~KT, +VT_co>[str, typing.Any]
34 started : str
35 status : str
36 '''
37 self.action = Action.from_json(action) if action else None
38 self.completed = completed
39 self.enqueued = enqueued
40 self.error = Error.from_json(error) if error else None
41 self.message = message
42 self.output = output
43 self.started = started
44 self.status = status
45
46
47 class ActionResults(Type):
48 _toSchema = {'results': 'results'}
49 _toPy = {'results': 'results'}
50 def __init__(self, results=None):
51 '''
52 results : typing.Sequence<+T_co>[~ActionResult]<~ActionResult>
53 '''
54 self.results = [ActionResult.from_json(o) for o in results or []]
55
56
57 class ActionSpec(Type):
58 _toSchema = {'description': 'description', 'params': 'params'}
59 _toPy = {'description': 'description', 'params': 'params'}
60 def __init__(self, description=None, params=None):
61 '''
62 description : str
63 params : typing.Mapping<~KT, +VT_co>[str, typing.Any]
64 '''
65 self.description = description
66 self.params = params
67
68
69 class Actions(Type):
70 _toSchema = {'actions': 'actions'}
71 _toPy = {'actions': 'actions'}
72 def __init__(self, actions=None):
73 '''
74 actions : typing.Sequence<+T_co>[~Action]<~Action>
75 '''
76 self.actions = [Action.from_json(o) for o in actions or []]
77
78
79 class ActionsByName(Type):
80 _toSchema = {'name': 'name', 'actions': 'actions', 'error': 'error'}
81 _toPy = {'name': 'name', 'actions': 'actions', 'error': 'error'}
82 def __init__(self, actions=None, error=None, name=None):
83 '''
84 actions : typing.Sequence<+T_co>[~ActionResult]<~ActionResult>
85 error : Error
86 name : str
87 '''
88 self.actions = [ActionResult.from_json(o) for o in actions or []]
89 self.error = Error.from_json(error) if error else None
90 self.name = name
91
92
93 class ActionsByNames(Type):
94 _toSchema = {'actions': 'actions'}
95 _toPy = {'actions': 'actions'}
96 def __init__(self, actions=None):
97 '''
98 actions : typing.Sequence<+T_co>[~ActionsByName]<~ActionsByName>
99 '''
100 self.actions = [ActionsByName.from_json(o) for o in actions or []]
101
102
103 class ActionsByReceiver(Type):
104 _toSchema = {'receiver': 'receiver', 'actions': 'actions', 'error': 'error'}
105 _toPy = {'receiver': 'receiver', 'actions': 'actions', 'error': 'error'}
106 def __init__(self, actions=None, error=None, receiver=None):
107 '''
108 actions : typing.Sequence<+T_co>[~ActionResult]<~ActionResult>
109 error : Error
110 receiver : str
111 '''
112 self.actions = [ActionResult.from_json(o) for o in actions or []]
113 self.error = Error.from_json(error) if error else None
114 self.receiver = receiver
115
116
117 class ActionsByReceivers(Type):
118 _toSchema = {'actions': 'actions'}
119 _toPy = {'actions': 'actions'}
120 def __init__(self, actions=None):
121 '''
122 actions : typing.Sequence<+T_co>[~ActionsByReceiver]<~ActionsByReceiver>
123 '''
124 self.actions = [ActionsByReceiver.from_json(o) for o in actions or []]
125
126
127 class ApplicationCharmActionsResult(Type):
128 _toSchema = {'error': 'error', 'actions': 'actions', 'application_tag': 'application-tag'}
129 _toPy = {'application-tag': 'application_tag', 'actions': 'actions', 'error': 'error'}
130 def __init__(self, actions=None, application_tag=None, error=None):
131 '''
132 actions : typing.Mapping<~KT, +VT_co>[str, ~ActionSpec]<~ActionSpec>
133 application_tag : str
134 error : Error
135 '''
136 self.actions = actions
137 self.application_tag = application_tag
138 self.error = Error.from_json(error) if error else None
139
140
141 class ApplicationsCharmActionsResults(Type):
142 _toSchema = {'results': 'results'}
143 _toPy = {'results': 'results'}
144 def __init__(self, results=None):
145 '''
146 results : typing.Sequence<+T_co>[~ApplicationCharmActionsResult]<~ApplicationCharmActionsResult>
147 '''
148 self.results = [ApplicationCharmActionsResult.from_json(o) for o in results or []]
149
150
151 class Entities(Type):
152 _toSchema = {'entities': 'entities'}
153 _toPy = {'entities': 'entities'}
154 def __init__(self, entities=None):
155 '''
156 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
157 '''
158 self.entities = [Entity.from_json(o) for o in entities or []]
159
160
161 class Entity(Type):
162 _toSchema = {'tag': 'tag'}
163 _toPy = {'tag': 'tag'}
164 def __init__(self, tag=None):
165 '''
166 tag : str
167 '''
168 self.tag = tag
169
170
171 class Error(Type):
172 _toSchema = {'info': 'info', 'code': 'code', 'message': 'message'}
173 _toPy = {'info': 'info', 'code': 'code', 'message': 'message'}
174 def __init__(self, code=None, info=None, message=None):
175 '''
176 code : str
177 info : ErrorInfo
178 message : str
179 '''
180 self.code = code
181 self.info = ErrorInfo.from_json(info) if info else None
182 self.message = message
183
184
185 class ErrorInfo(Type):
186 _toSchema = {'macaroon': 'macaroon', 'macaroon_path': 'macaroon-path'}
187 _toPy = {'macaroon-path': 'macaroon_path', 'macaroon': 'macaroon'}
188 def __init__(self, macaroon=None, macaroon_path=None):
189 '''
190 macaroon : Macaroon
191 macaroon_path : str
192 '''
193 self.macaroon = Macaroon.from_json(macaroon) if macaroon else None
194 self.macaroon_path = macaroon_path
195
196
197 class FindActionsByNames(Type):
198 _toSchema = {'names': 'names'}
199 _toPy = {'names': 'names'}
200 def __init__(self, names=None):
201 '''
202 names : typing.Sequence<+T_co>[str]
203 '''
204 self.names = names
205
206
207 class FindTags(Type):
208 _toSchema = {'prefixes': 'prefixes'}
209 _toPy = {'prefixes': 'prefixes'}
210 def __init__(self, prefixes=None):
211 '''
212 prefixes : typing.Sequence<+T_co>[str]
213 '''
214 self.prefixes = prefixes
215
216
217 class FindTagsResults(Type):
218 _toSchema = {'matches': 'matches'}
219 _toPy = {'matches': 'matches'}
220 def __init__(self, matches=None):
221 '''
222 matches : typing.Sequence<+T_co>[~Entity]<~Entity>
223 '''
224 self.matches = [Entity.from_json(o) for o in matches or []]
225
226
227 class Macaroon(Type):
228 _toSchema = {}
229 _toPy = {}
230 def __init__(self):
231 '''
232
233 '''
234 pass
235
236
237 class RunParams(Type):
238 _toSchema = {'commands': 'commands', 'machines': 'machines', 'units': 'units', 'applications': 'applications', 'timeout': 'timeout'}
239 _toPy = {'commands': 'commands', 'machines': 'machines', 'units': 'units', 'applications': 'applications', 'timeout': 'timeout'}
240 def __init__(self, applications=None, commands=None, machines=None, timeout=None, units=None):
241 '''
242 applications : typing.Sequence<+T_co>[str]
243 commands : str
244 machines : typing.Sequence<+T_co>[str]
245 timeout : int
246 units : typing.Sequence<+T_co>[str]
247 '''
248 self.applications = applications
249 self.commands = commands
250 self.machines = machines
251 self.timeout = timeout
252 self.units = units
253
254
255 class AgentGetEntitiesResult(Type):
256 _toSchema = {'life': 'life', 'error': 'error', 'jobs': 'jobs', 'container_type': 'container-type'}
257 _toPy = {'life': 'life', 'container-type': 'container_type', 'jobs': 'jobs', 'error': 'error'}
258 def __init__(self, container_type=None, error=None, jobs=None, life=None):
259 '''
260 container_type : str
261 error : Error
262 jobs : typing.Sequence<+T_co>[str]
263 life : str
264 '''
265 self.container_type = container_type
266 self.error = Error.from_json(error) if error else None
267 self.jobs = jobs
268 self.life = life
269
270
271 class AgentGetEntitiesResults(Type):
272 _toSchema = {'entities': 'entities'}
273 _toPy = {'entities': 'entities'}
274 def __init__(self, entities=None):
275 '''
276 entities : typing.Sequence<+T_co>[~AgentGetEntitiesResult]<~AgentGetEntitiesResult>
277 '''
278 self.entities = [AgentGetEntitiesResult.from_json(o) for o in entities or []]
279
280
281 class CloudCredential(Type):
282 _toSchema = {'auth_type': 'auth-type', 'attrs': 'attrs', 'redacted': 'redacted'}
283 _toPy = {'auth-type': 'auth_type', 'attrs': 'attrs', 'redacted': 'redacted'}
284 def __init__(self, attrs=None, auth_type=None, redacted=None):
285 '''
286 attrs : typing.Mapping<~KT, +VT_co>[str, str]
287 auth_type : str
288 redacted : typing.Sequence<+T_co>[str]
289 '''
290 self.attrs = attrs
291 self.auth_type = auth_type
292 self.redacted = redacted
293
294
295 class CloudSpec(Type):
296 _toSchema = {'type_': 'type', 'identity_endpoint': 'identity-endpoint', 'storage_endpoint': 'storage-endpoint', 'region': 'region', 'name': 'name', 'endpoint': 'endpoint', 'credential': 'credential'}
297 _toPy = {'region': 'region', 'name': 'name', 'type': 'type_', 'identity-endpoint': 'identity_endpoint', 'endpoint': 'endpoint', 'credential': 'credential', 'storage-endpoint': 'storage_endpoint'}
298 def __init__(self, credential=None, endpoint=None, identity_endpoint=None, name=None, region=None, storage_endpoint=None, type_=None):
299 '''
300 credential : CloudCredential
301 endpoint : str
302 identity_endpoint : str
303 name : str
304 region : str
305 storage_endpoint : str
306 type_ : str
307 '''
308 self.credential = CloudCredential.from_json(credential) if credential else None
309 self.endpoint = endpoint
310 self.identity_endpoint = identity_endpoint
311 self.name = name
312 self.region = region
313 self.storage_endpoint = storage_endpoint
314 self.type_ = type_
315
316
317 class CloudSpecResult(Type):
318 _toSchema = {'result': 'result', 'error': 'error'}
319 _toPy = {'result': 'result', 'error': 'error'}
320 def __init__(self, error=None, result=None):
321 '''
322 error : Error
323 result : CloudSpec
324 '''
325 self.error = Error.from_json(error) if error else None
326 self.result = CloudSpec.from_json(result) if result else None
327
328
329 class CloudSpecResults(Type):
330 _toSchema = {'results': 'results'}
331 _toPy = {'results': 'results'}
332 def __init__(self, results=None):
333 '''
334 results : typing.Sequence<+T_co>[~CloudSpecResult]<~CloudSpecResult>
335 '''
336 self.results = [CloudSpecResult.from_json(o) for o in results or []]
337
338
339 class ControllerConfigResult(Type):
340 _toSchema = {'config': 'config'}
341 _toPy = {'config': 'config'}
342 def __init__(self, config=None):
343 '''
344 config : typing.Mapping<~KT, +VT_co>[str, typing.Any]
345 '''
346 self.config = config
347
348
349 class EntityPassword(Type):
350 _toSchema = {'tag': 'tag', 'password': 'password'}
351 _toPy = {'tag': 'tag', 'password': 'password'}
352 def __init__(self, password=None, tag=None):
353 '''
354 password : str
355 tag : str
356 '''
357 self.password = password
358 self.tag = tag
359
360
361 class EntityPasswords(Type):
362 _toSchema = {'changes': 'changes'}
363 _toPy = {'changes': 'changes'}
364 def __init__(self, changes=None):
365 '''
366 changes : typing.Sequence<+T_co>[~EntityPassword]<~EntityPassword>
367 '''
368 self.changes = [EntityPassword.from_json(o) for o in changes or []]
369
370
371 class ErrorResult(Type):
372 _toSchema = {'info': 'info', 'code': 'code', 'message': 'message'}
373 _toPy = {'info': 'info', 'code': 'code', 'message': 'message'}
374 def __init__(self, code=None, info=None, message=None):
375 '''
376 code : str
377 info : ErrorInfo
378 message : str
379 '''
380 self.code = code
381 self.info = ErrorInfo.from_json(info) if info else None
382 self.message = message
383
384
385 class ErrorResults(Type):
386 _toSchema = {'results': 'results'}
387 _toPy = {'results': 'results'}
388 def __init__(self, results=None):
389 '''
390 results : typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult>
391 '''
392 self.results = [ErrorResult.from_json(o) for o in results or []]
393
394
395 class IsMasterResult(Type):
396 _toSchema = {'master': 'master'}
397 _toPy = {'master': 'master'}
398 def __init__(self, master=None):
399 '''
400 master : bool
401 '''
402 self.master = master
403
404
405 class ModelConfigResult(Type):
406 _toSchema = {'config': 'config'}
407 _toPy = {'config': 'config'}
408 def __init__(self, config=None):
409 '''
410 config : typing.Mapping<~KT, +VT_co>[str, typing.Any]
411 '''
412 self.config = config
413
414
415 class NotifyWatchResult(Type):
416 _toSchema = {'notifywatcherid': 'NotifyWatcherId', 'error': 'error'}
417 _toPy = {'NotifyWatcherId': 'notifywatcherid', 'error': 'error'}
418 def __init__(self, notifywatcherid=None, error=None):
419 '''
420 notifywatcherid : str
421 error : Error
422 '''
423 self.notifywatcherid = notifywatcherid
424 self.error = Error.from_json(error) if error else None
425
426
427 class StateServingInfo(Type):
428 _toSchema = {'state_port': 'state-port', 'system_identity': 'system-identity', 'api_port': 'api-port', 'cert': 'cert', 'shared_secret': 'shared-secret', 'private_key': 'private-key', 'ca_private_key': 'ca-private-key'}
429 _toPy = {'shared-secret': 'shared_secret', 'state-port': 'state_port', 'cert': 'cert', 'ca-private-key': 'ca_private_key', 'api-port': 'api_port', 'system-identity': 'system_identity', 'private-key': 'private_key'}
430 def __init__(self, api_port=None, ca_private_key=None, cert=None, private_key=None, shared_secret=None, state_port=None, system_identity=None):
431 '''
432 api_port : int
433 ca_private_key : str
434 cert : str
435 private_key : str
436 shared_secret : str
437 state_port : int
438 system_identity : str
439 '''
440 self.api_port = api_port
441 self.ca_private_key = ca_private_key
442 self.cert = cert
443 self.private_key = private_key
444 self.shared_secret = shared_secret
445 self.state_port = state_port
446 self.system_identity = system_identity
447
448
449 class AllWatcherNextResults(Type):
450 _toSchema = {'deltas': 'deltas'}
451 _toPy = {'deltas': 'deltas'}
452 def __init__(self, deltas=None):
453 '''
454 deltas : typing.Sequence<+T_co>[~Delta]<~Delta>
455 '''
456 self.deltas = [Delta.from_json(o) for o in deltas or []]
457
458
459 class Delta(Type):
460 _toSchema = {'entity': 'entity', 'removed': 'removed'}
461 _toPy = {'entity': 'entity', 'removed': 'removed'}
462 def __init__(self, entity=None, removed=None):
463 '''
464 entity : typing.Mapping<~KT, +VT_co>[str, typing.Any]
465 removed : bool
466 '''
467 self.entity = entity
468 self.removed = removed
469
470
471 class AnnotationsGetResult(Type):
472 _toSchema = {'entity': 'entity', 'annotations': 'annotations', 'error': 'error'}
473 _toPy = {'entity': 'entity', 'annotations': 'annotations', 'error': 'error'}
474 def __init__(self, annotations=None, entity=None, error=None):
475 '''
476 annotations : typing.Mapping<~KT, +VT_co>[str, str]
477 entity : str
478 error : ErrorResult
479 '''
480 self.annotations = annotations
481 self.entity = entity
482 self.error = ErrorResult.from_json(error) if error else None
483
484
485 class AnnotationsGetResults(Type):
486 _toSchema = {'results': 'results'}
487 _toPy = {'results': 'results'}
488 def __init__(self, results=None):
489 '''
490 results : typing.Sequence<+T_co>[~AnnotationsGetResult]<~AnnotationsGetResult>
491 '''
492 self.results = [AnnotationsGetResult.from_json(o) for o in results or []]
493
494
495 class AnnotationsSet(Type):
496 _toSchema = {'annotations': 'annotations'}
497 _toPy = {'annotations': 'annotations'}
498 def __init__(self, annotations=None):
499 '''
500 annotations : typing.Sequence<+T_co>[~EntityAnnotations]<~EntityAnnotations>
501 '''
502 self.annotations = [EntityAnnotations.from_json(o) for o in annotations or []]
503
504
505 class EntityAnnotations(Type):
506 _toSchema = {'entity': 'entity', 'annotations': 'annotations'}
507 _toPy = {'entity': 'entity', 'annotations': 'annotations'}
508 def __init__(self, annotations=None, entity=None):
509 '''
510 annotations : typing.Mapping<~KT, +VT_co>[str, str]
511 entity : str
512 '''
513 self.annotations = annotations
514 self.entity = entity
515
516
517 class AddApplicationUnits(Type):
518 _toSchema = {'application': 'application', 'placement': 'placement', 'num_units': 'num-units'}
519 _toPy = {'application': 'application', 'placement': 'placement', 'num-units': 'num_units'}
520 def __init__(self, application=None, num_units=None, placement=None):
521 '''
522 application : str
523 num_units : int
524 placement : typing.Sequence<+T_co>[~Placement]<~Placement>
525 '''
526 self.application = application
527 self.num_units = num_units
528 self.placement = [Placement.from_json(o) for o in placement or []]
529
530
531 class AddApplicationUnitsResults(Type):
532 _toSchema = {'units': 'units'}
533 _toPy = {'units': 'units'}
534 def __init__(self, units=None):
535 '''
536 units : typing.Sequence<+T_co>[str]
537 '''
538 self.units = units
539
540
541 class AddRelation(Type):
542 _toSchema = {'endpoints': 'endpoints'}
543 _toPy = {'endpoints': 'endpoints'}
544 def __init__(self, endpoints=None):
545 '''
546 endpoints : typing.Sequence<+T_co>[str]
547 '''
548 self.endpoints = endpoints
549
550
551 class AddRelationResults(Type):
552 _toSchema = {'endpoints': 'endpoints'}
553 _toPy = {'endpoints': 'endpoints'}
554 def __init__(self, endpoints=None):
555 '''
556 endpoints : typing.Mapping<~KT, +VT_co>[str, ~CharmRelation]<~CharmRelation>
557 '''
558 self.endpoints = endpoints
559
560
561 class ApplicationCharmRelations(Type):
562 _toSchema = {'application': 'application'}
563 _toPy = {'application': 'application'}
564 def __init__(self, application=None):
565 '''
566 application : str
567 '''
568 self.application = application
569
570
571 class ApplicationCharmRelationsResults(Type):
572 _toSchema = {'charm_relations': 'charm-relations'}
573 _toPy = {'charm-relations': 'charm_relations'}
574 def __init__(self, charm_relations=None):
575 '''
576 charm_relations : typing.Sequence<+T_co>[str]
577 '''
578 self.charm_relations = charm_relations
579
580
581 class ApplicationDeploy(Type):
582 _toSchema = {'application': 'application', 'charm_url': 'charm-url', 'channel': 'channel', 'resources': 'resources', 'placement': 'placement', 'config_yaml': 'config-yaml', 'config': 'config', 'constraints': 'constraints', 'num_units': 'num-units', 'storage': 'storage', 'endpoint_bindings': 'endpoint-bindings', 'series': 'series'}
583 _toPy = {'application': 'application', 'num-units': 'num_units', 'channel': 'channel', 'resources': 'resources', 'placement': 'placement', 'endpoint-bindings': 'endpoint_bindings', 'config': 'config', 'constraints': 'constraints', 'series': 'series', 'storage': 'storage', 'charm-url': 'charm_url', 'config-yaml': 'config_yaml'}
584 def __init__(self, application=None, channel=None, charm_url=None, config=None, config_yaml=None, constraints=None, endpoint_bindings=None, num_units=None, placement=None, resources=None, series=None, storage=None):
585 '''
586 application : str
587 channel : str
588 charm_url : str
589 config : typing.Mapping<~KT, +VT_co>[str, str]
590 config_yaml : str
591 constraints : Value
592 endpoint_bindings : typing.Mapping<~KT, +VT_co>[str, str]
593 num_units : int
594 placement : typing.Sequence<+T_co>[~Placement]<~Placement>
595 resources : typing.Mapping<~KT, +VT_co>[str, str]
596 series : str
597 storage : typing.Mapping<~KT, +VT_co>[str, ~Constraints]<~Constraints>
598 '''
599 self.application = application
600 self.channel = channel
601 self.charm_url = charm_url
602 self.config = config
603 self.config_yaml = config_yaml
604 self.constraints = Value.from_json(constraints) if constraints else None
605 self.endpoint_bindings = endpoint_bindings
606 self.num_units = num_units
607 self.placement = [Placement.from_json(o) for o in placement or []]
608 self.resources = resources
609 self.series = series
610 self.storage = storage
611
612
613 class ApplicationDestroy(Type):
614 _toSchema = {'application': 'application'}
615 _toPy = {'application': 'application'}
616 def __init__(self, application=None):
617 '''
618 application : str
619 '''
620 self.application = application
621
622
623 class ApplicationExpose(Type):
624 _toSchema = {'application': 'application'}
625 _toPy = {'application': 'application'}
626 def __init__(self, application=None):
627 '''
628 application : str
629 '''
630 self.application = application
631
632
633 class ApplicationGet(Type):
634 _toSchema = {'application': 'application'}
635 _toPy = {'application': 'application'}
636 def __init__(self, application=None):
637 '''
638 application : str
639 '''
640 self.application = application
641
642
643 class ApplicationGetResults(Type):
644 _toSchema = {'application': 'application', 'config': 'config', 'charm': 'charm', 'constraints': 'constraints', 'series': 'series'}
645 _toPy = {'application': 'application', 'config': 'config', 'charm': 'charm', 'constraints': 'constraints', 'series': 'series'}
646 def __init__(self, application=None, charm=None, config=None, constraints=None, series=None):
647 '''
648 application : str
649 charm : str
650 config : typing.Mapping<~KT, +VT_co>[str, typing.Any]
651 constraints : Value
652 series : str
653 '''
654 self.application = application
655 self.charm = charm
656 self.config = config
657 self.constraints = Value.from_json(constraints) if constraints else None
658 self.series = series
659
660
661 class ApplicationMetricCredential(Type):
662 _toSchema = {'application': 'application', 'metrics_credentials': 'metrics-credentials'}
663 _toPy = {'application': 'application', 'metrics-credentials': 'metrics_credentials'}
664 def __init__(self, application=None, metrics_credentials=None):
665 '''
666 application : str
667 metrics_credentials : typing.Sequence<+T_co>[int]
668 '''
669 self.application = application
670 self.metrics_credentials = metrics_credentials
671
672
673 class ApplicationMetricCredentials(Type):
674 _toSchema = {'creds': 'creds'}
675 _toPy = {'creds': 'creds'}
676 def __init__(self, creds=None):
677 '''
678 creds : typing.Sequence<+T_co>[~ApplicationMetricCredential]<~ApplicationMetricCredential>
679 '''
680 self.creds = [ApplicationMetricCredential.from_json(o) for o in creds or []]
681
682
683 class ApplicationSet(Type):
684 _toSchema = {'application': 'application', 'options': 'options'}
685 _toPy = {'application': 'application', 'options': 'options'}
686 def __init__(self, application=None, options=None):
687 '''
688 application : str
689 options : typing.Mapping<~KT, +VT_co>[str, str]
690 '''
691 self.application = application
692 self.options = options
693
694
695 class ApplicationSetCharm(Type):
696 _toSchema = {'application': 'application', 'charm_url': 'charm-url', 'channel': 'channel', 'force_units': 'force-units', 'force_series': 'force-series', 'resource_ids': 'resource-ids'}
697 _toPy = {'application': 'application', 'force-units': 'force_units', 'channel': 'channel', 'charm-url': 'charm_url', 'force-series': 'force_series', 'resource-ids': 'resource_ids'}
698 def __init__(self, application=None, channel=None, charm_url=None, force_series=None, force_units=None, resource_ids=None):
699 '''
700 application : str
701 channel : str
702 charm_url : str
703 force_series : bool
704 force_units : bool
705 resource_ids : typing.Mapping<~KT, +VT_co>[str, str]
706 '''
707 self.application = application
708 self.channel = channel
709 self.charm_url = charm_url
710 self.force_series = force_series
711 self.force_units = force_units
712 self.resource_ids = resource_ids
713
714
715 class ApplicationUnexpose(Type):
716 _toSchema = {'application': 'application'}
717 _toPy = {'application': 'application'}
718 def __init__(self, application=None):
719 '''
720 application : str
721 '''
722 self.application = application
723
724
725 class ApplicationUnset(Type):
726 _toSchema = {'application': 'application', 'options': 'options'}
727 _toPy = {'application': 'application', 'options': 'options'}
728 def __init__(self, application=None, options=None):
729 '''
730 application : str
731 options : typing.Sequence<+T_co>[str]
732 '''
733 self.application = application
734 self.options = options
735
736
737 class ApplicationUpdate(Type):
738 _toSchema = {'application': 'application', 'charm_url': 'charm-url', 'constraints': 'constraints', 'settings_yaml': 'settings-yaml', 'min_units': 'min-units', 'settings': 'settings', 'force_series': 'force-series', 'force_charm_url': 'force-charm-url'}
739 _toPy = {'application': 'application', 'constraints': 'constraints', 'settings-yaml': 'settings_yaml', 'min-units': 'min_units', 'charm-url': 'charm_url', 'force-series': 'force_series', 'settings': 'settings', 'force-charm-url': 'force_charm_url'}
740 def __init__(self, application=None, charm_url=None, constraints=None, force_charm_url=None, force_series=None, min_units=None, settings=None, settings_yaml=None):
741 '''
742 application : str
743 charm_url : str
744 constraints : Value
745 force_charm_url : bool
746 force_series : bool
747 min_units : int
748 settings : typing.Mapping<~KT, +VT_co>[str, str]
749 settings_yaml : str
750 '''
751 self.application = application
752 self.charm_url = charm_url
753 self.constraints = Value.from_json(constraints) if constraints else None
754 self.force_charm_url = force_charm_url
755 self.force_series = force_series
756 self.min_units = min_units
757 self.settings = settings
758 self.settings_yaml = settings_yaml
759
760
761 class ApplicationsDeploy(Type):
762 _toSchema = {'applications': 'applications'}
763 _toPy = {'applications': 'applications'}
764 def __init__(self, applications=None):
765 '''
766 applications : typing.Sequence<+T_co>[~ApplicationDeploy]<~ApplicationDeploy>
767 '''
768 self.applications = [ApplicationDeploy.from_json(o) for o in applications or []]
769
770
771 class CharmRelation(Type):
772 _toSchema = {'limit': 'limit', 'role': 'role', 'scope': 'scope', 'optional': 'optional', 'name': 'name', 'interface': 'interface'}
773 _toPy = {'limit': 'limit', 'role': 'role', 'scope': 'scope', 'optional': 'optional', 'name': 'name', 'interface': 'interface'}
774 def __init__(self, interface=None, limit=None, name=None, optional=None, role=None, scope=None):
775 '''
776 interface : str
777 limit : int
778 name : str
779 optional : bool
780 role : str
781 scope : str
782 '''
783 self.interface = interface
784 self.limit = limit
785 self.name = name
786 self.optional = optional
787 self.role = role
788 self.scope = scope
789
790
791 class Constraints(Type):
792 _toSchema = {'size': 'Size', 'pool': 'Pool', 'count': 'Count'}
793 _toPy = {'Size': 'size', 'Count': 'count', 'Pool': 'pool'}
794 def __init__(self, count=None, pool=None, size=None):
795 '''
796 count : int
797 pool : str
798 size : int
799 '''
800 self.count = count
801 self.pool = pool
802 self.size = size
803
804
805 class DestroyApplicationUnits(Type):
806 _toSchema = {'unit_names': 'unit-names'}
807 _toPy = {'unit-names': 'unit_names'}
808 def __init__(self, unit_names=None):
809 '''
810 unit_names : typing.Sequence<+T_co>[str]
811 '''
812 self.unit_names = unit_names
813
814
815 class DestroyRelation(Type):
816 _toSchema = {'endpoints': 'endpoints'}
817 _toPy = {'endpoints': 'endpoints'}
818 def __init__(self, endpoints=None):
819 '''
820 endpoints : typing.Sequence<+T_co>[str]
821 '''
822 self.endpoints = endpoints
823
824
825 class GetApplicationConstraints(Type):
826 _toSchema = {'application': 'application'}
827 _toPy = {'application': 'application'}
828 def __init__(self, application=None):
829 '''
830 application : str
831 '''
832 self.application = application
833
834
835 class GetConstraintsResults(Type):
836 _toSchema = {'cpu_power': 'cpu-power', 'instance_type': 'instance-type', 'tags': 'tags', 'virt_type': 'virt-type', 'arch': 'arch', 'container': 'container', 'root_disk': 'root-disk', 'mem': 'mem', 'cpu_cores': 'cpu-cores', 'spaces': 'spaces'}
837 _toPy = {'virt-type': 'virt_type', 'cpu-power': 'cpu_power', 'container': 'container', 'cpu-cores': 'cpu_cores', 'arch': 'arch', 'tags': 'tags', 'mem': 'mem', 'spaces': 'spaces', 'instance-type': 'instance_type', 'root-disk': 'root_disk'}
838 def __init__(self, arch=None, container=None, cpu_cores=None, cpu_power=None, instance_type=None, mem=None, root_disk=None, spaces=None, tags=None, virt_type=None):
839 '''
840 arch : str
841 container : str
842 cpu_cores : int
843 cpu_power : int
844 instance_type : str
845 mem : int
846 root_disk : int
847 spaces : typing.Sequence<+T_co>[str]
848 tags : typing.Sequence<+T_co>[str]
849 virt_type : str
850 '''
851 self.arch = arch
852 self.container = container
853 self.cpu_cores = cpu_cores
854 self.cpu_power = cpu_power
855 self.instance_type = instance_type
856 self.mem = mem
857 self.root_disk = root_disk
858 self.spaces = spaces
859 self.tags = tags
860 self.virt_type = virt_type
861
862
863 class Placement(Type):
864 _toSchema = {'directive': 'directive', 'scope': 'scope'}
865 _toPy = {'directive': 'directive', 'scope': 'scope'}
866 def __init__(self, directive=None, scope=None):
867 '''
868 directive : str
869 scope : str
870 '''
871 self.directive = directive
872 self.scope = scope
873
874
875 class SetConstraints(Type):
876 _toSchema = {'application': 'application', 'constraints': 'constraints'}
877 _toPy = {'application': 'application', 'constraints': 'constraints'}
878 def __init__(self, application=None, constraints=None):
879 '''
880 application : str
881 constraints : Value
882 '''
883 self.application = application
884 self.constraints = Value.from_json(constraints) if constraints else None
885
886
887 class StringResult(Type):
888 _toSchema = {'result': 'result', 'error': 'error'}
889 _toPy = {'result': 'result', 'error': 'error'}
890 def __init__(self, error=None, result=None):
891 '''
892 error : Error
893 result : str
894 '''
895 self.error = Error.from_json(error) if error else None
896 self.result = result
897
898
899 class Value(Type):
900 _toSchema = {'cpu_power': 'cpu-power', 'instance_type': 'instance-type', 'tags': 'tags', 'virt_type': 'virt-type', 'arch': 'arch', 'container': 'container', 'root_disk': 'root-disk', 'mem': 'mem', 'cpu_cores': 'cpu-cores', 'spaces': 'spaces'}
901 _toPy = {'virt-type': 'virt_type', 'cpu-power': 'cpu_power', 'container': 'container', 'cpu-cores': 'cpu_cores', 'arch': 'arch', 'tags': 'tags', 'mem': 'mem', 'spaces': 'spaces', 'instance-type': 'instance_type', 'root-disk': 'root_disk'}
902 def __init__(self, arch=None, container=None, cpu_cores=None, cpu_power=None, instance_type=None, mem=None, root_disk=None, spaces=None, tags=None, virt_type=None):
903 '''
904 arch : str
905 container : str
906 cpu_cores : int
907 cpu_power : int
908 instance_type : str
909 mem : int
910 root_disk : int
911 spaces : typing.Sequence<+T_co>[str]
912 tags : typing.Sequence<+T_co>[str]
913 virt_type : str
914 '''
915 self.arch = arch
916 self.container = container
917 self.cpu_cores = cpu_cores
918 self.cpu_power = cpu_power
919 self.instance_type = instance_type
920 self.mem = mem
921 self.root_disk = root_disk
922 self.spaces = spaces
923 self.tags = tags
924 self.virt_type = virt_type
925
926
927 class StringsWatchResult(Type):
928 _toSchema = {'changes': 'changes', 'watcher_id': 'watcher-id', 'error': 'error'}
929 _toPy = {'watcher-id': 'watcher_id', 'changes': 'changes', 'error': 'error'}
930 def __init__(self, changes=None, error=None, watcher_id=None):
931 '''
932 changes : typing.Sequence<+T_co>[str]
933 error : Error
934 watcher_id : str
935 '''
936 self.changes = changes
937 self.error = Error.from_json(error) if error else None
938 self.watcher_id = watcher_id
939
940
941 class BackupsCreateArgs(Type):
942 _toSchema = {'notes': 'notes'}
943 _toPy = {'notes': 'notes'}
944 def __init__(self, notes=None):
945 '''
946 notes : str
947 '''
948 self.notes = notes
949
950
951 class BackupsInfoArgs(Type):
952 _toSchema = {'id_': 'id'}
953 _toPy = {'id': 'id_'}
954 def __init__(self, id_=None):
955 '''
956 id_ : str
957 '''
958 self.id_ = id_
959
960
961 class BackupsListArgs(Type):
962 _toSchema = {}
963 _toPy = {}
964 def __init__(self):
965 '''
966
967 '''
968 pass
969
970
971 class BackupsListResult(Type):
972 _toSchema = {'list_': 'list'}
973 _toPy = {'list': 'list_'}
974 def __init__(self, list_=None):
975 '''
976 list_ : typing.Sequence<+T_co>[~BackupsMetadataResult]<~BackupsMetadataResult>
977 '''
978 self.list_ = [BackupsMetadataResult.from_json(o) for o in list_ or []]
979
980
981 class BackupsMetadataResult(Type):
982 _toSchema = {'ca_private_key': 'ca-private-key', 'size': 'size', 'started': 'started', 'id_': 'id', 'checksum': 'checksum', 'finished': 'finished', 'hostname': 'hostname', 'stored': 'stored', 'series': 'series', 'machine': 'machine', 'notes': 'notes', 'ca_cert': 'ca-cert', 'checksum_format': 'checksum-format', 'model': 'model', 'version': 'version'}
983 _toPy = {'started': 'started', 'size': 'size', 'ca-cert': 'ca_cert', 'ca-private-key': 'ca_private_key', 'checksum': 'checksum', 'machine': 'machine', 'finished': 'finished', 'hostname': 'hostname', 'stored': 'stored', 'series': 'series', 'notes': 'notes', 'id': 'id_', 'checksum-format': 'checksum_format', 'model': 'model', 'version': 'version'}
984 def __init__(self, ca_cert=None, ca_private_key=None, checksum=None, checksum_format=None, finished=None, hostname=None, id_=None, machine=None, model=None, notes=None, series=None, size=None, started=None, stored=None, version=None):
985 '''
986 ca_cert : str
987 ca_private_key : str
988 checksum : str
989 checksum_format : str
990 finished : str
991 hostname : str
992 id_ : str
993 machine : str
994 model : str
995 notes : str
996 series : str
997 size : int
998 started : str
999 stored : str
1000 version : Number
1001 '''
1002 self.ca_cert = ca_cert
1003 self.ca_private_key = ca_private_key
1004 self.checksum = checksum
1005 self.checksum_format = checksum_format
1006 self.finished = finished
1007 self.hostname = hostname
1008 self.id_ = id_
1009 self.machine = machine
1010 self.model = model
1011 self.notes = notes
1012 self.series = series
1013 self.size = size
1014 self.started = started
1015 self.stored = stored
1016 self.version = Number.from_json(version) if version else None
1017
1018
1019 class BackupsRemoveArgs(Type):
1020 _toSchema = {'id_': 'id'}
1021 _toPy = {'id': 'id_'}
1022 def __init__(self, id_=None):
1023 '''
1024 id_ : str
1025 '''
1026 self.id_ = id_
1027
1028
1029 class Number(Type):
1030 _toSchema = {'build': 'Build', 'patch': 'Patch', 'tag': 'Tag', 'minor': 'Minor', 'major': 'Major'}
1031 _toPy = {'Tag': 'tag', 'Major': 'major', 'Patch': 'patch', 'Minor': 'minor', 'Build': 'build'}
1032 def __init__(self, build=None, major=None, minor=None, patch=None, tag=None):
1033 '''
1034 build : int
1035 major : int
1036 minor : int
1037 patch : int
1038 tag : str
1039 '''
1040 self.build = build
1041 self.major = major
1042 self.minor = minor
1043 self.patch = patch
1044 self.tag = tag
1045
1046
1047 class RestoreArgs(Type):
1048 _toSchema = {'backup_id': 'backup-id'}
1049 _toPy = {'backup-id': 'backup_id'}
1050 def __init__(self, backup_id=None):
1051 '''
1052 backup_id : str
1053 '''
1054 self.backup_id = backup_id
1055
1056
1057 class Block(Type):
1058 _toSchema = {'tag': 'tag', 'type_': 'type', 'id_': 'id', 'message': 'message'}
1059 _toPy = {'type': 'type_', 'id': 'id_', 'tag': 'tag', 'message': 'message'}
1060 def __init__(self, id_=None, message=None, tag=None, type_=None):
1061 '''
1062 id_ : str
1063 message : str
1064 tag : str
1065 type_ : str
1066 '''
1067 self.id_ = id_
1068 self.message = message
1069 self.tag = tag
1070 self.type_ = type_
1071
1072
1073 class BlockResult(Type):
1074 _toSchema = {'result': 'result', 'error': 'error'}
1075 _toPy = {'result': 'result', 'error': 'error'}
1076 def __init__(self, error=None, result=None):
1077 '''
1078 error : Error
1079 result : Block
1080 '''
1081 self.error = Error.from_json(error) if error else None
1082 self.result = Block.from_json(result) if result else None
1083
1084
1085 class BlockResults(Type):
1086 _toSchema = {'results': 'results'}
1087 _toPy = {'results': 'results'}
1088 def __init__(self, results=None):
1089 '''
1090 results : typing.Sequence<+T_co>[~BlockResult]<~BlockResult>
1091 '''
1092 self.results = [BlockResult.from_json(o) for o in results or []]
1093
1094
1095 class BlockSwitchParams(Type):
1096 _toSchema = {'type_': 'type', 'message': 'message'}
1097 _toPy = {'type': 'type_', 'message': 'message'}
1098 def __init__(self, message=None, type_=None):
1099 '''
1100 message : str
1101 type_ : str
1102 '''
1103 self.message = message
1104 self.type_ = type_
1105
1106
1107 class CharmActionSpec(Type):
1108 _toSchema = {'description': 'description', 'params': 'params'}
1109 _toPy = {'description': 'description', 'params': 'params'}
1110 def __init__(self, description=None, params=None):
1111 '''
1112 description : str
1113 params : typing.Mapping<~KT, +VT_co>[str, typing.Any]
1114 '''
1115 self.description = description
1116 self.params = params
1117
1118
1119 class CharmActions(Type):
1120 _toSchema = {'specs': 'specs'}
1121 _toPy = {'specs': 'specs'}
1122 def __init__(self, specs=None):
1123 '''
1124 specs : typing.Mapping<~KT, +VT_co>[str, ~CharmActionSpec]<~CharmActionSpec>
1125 '''
1126 self.specs = specs
1127
1128
1129 class CharmInfo(Type):
1130 _toSchema = {'config': 'config', 'actions': 'actions', 'revision': 'revision', 'metrics': 'metrics', 'url': 'url', 'meta': 'meta'}
1131 _toPy = {'config': 'config', 'actions': 'actions', 'revision': 'revision', 'metrics': 'metrics', 'url': 'url', 'meta': 'meta'}
1132 def __init__(self, actions=None, config=None, meta=None, metrics=None, revision=None, url=None):
1133 '''
1134 actions : CharmActions
1135 config : typing.Mapping<~KT, +VT_co>[str, ~CharmOption]<~CharmOption>
1136 meta : CharmMeta
1137 metrics : CharmMetrics
1138 revision : int
1139 url : str
1140 '''
1141 self.actions = CharmActions.from_json(actions) if actions else None
1142 self.config = config
1143 self.meta = CharmMeta.from_json(meta) if meta else None
1144 self.metrics = CharmMetrics.from_json(metrics) if metrics else None
1145 self.revision = revision
1146 self.url = url
1147
1148
1149 class CharmMeta(Type):
1150 _toSchema = {'description': 'description', 'extra_bindings': 'extra-bindings', 'tags': 'tags', 'min_juju_version': 'min-juju-version', 'payload_classes': 'payload-classes', 'resources': 'resources', 'storage': 'storage', 'subordinate': 'subordinate', 'categories': 'categories', 'terms': 'terms', 'series': 'series', 'peers': 'peers', 'name': 'name', 'requires': 'requires', 'summary': 'summary', 'provides': 'provides'}
1151 _toPy = {'description': 'description', 'min-juju-version': 'min_juju_version', 'peers': 'peers', 'provides': 'provides', 'resources': 'resources', 'extra-bindings': 'extra_bindings', 'terms': 'terms', 'subordinate': 'subordinate', 'categories': 'categories', 'series': 'series', 'storage': 'storage', 'name': 'name', 'requires': 'requires', 'summary': 'summary', 'payload-classes': 'payload_classes', 'tags': 'tags'}
1152 def __init__(self, categories=None, description=None, extra_bindings=None, min_juju_version=None, name=None, payload_classes=None, peers=None, provides=None, requires=None, resources=None, series=None, storage=None, subordinate=None, summary=None, tags=None, terms=None):
1153 '''
1154 categories : typing.Sequence<+T_co>[str]
1155 description : str
1156 extra_bindings : typing.Mapping<~KT, +VT_co>[str, str]
1157 min_juju_version : str
1158 name : str
1159 payload_classes : typing.Mapping<~KT, +VT_co>[str, ~CharmPayloadClass]<~CharmPayloadClass>
1160 peers : typing.Mapping<~KT, +VT_co>[str, ~CharmRelation]<~CharmRelation>
1161 provides : typing.Mapping<~KT, +VT_co>[str, ~CharmRelation]<~CharmRelation>
1162 requires : typing.Mapping<~KT, +VT_co>[str, ~CharmRelation]<~CharmRelation>
1163 resources : typing.Mapping<~KT, +VT_co>[str, ~CharmResourceMeta]<~CharmResourceMeta>
1164 series : typing.Sequence<+T_co>[str]
1165 storage : typing.Mapping<~KT, +VT_co>[str, ~CharmStorage]<~CharmStorage>
1166 subordinate : bool
1167 summary : str
1168 tags : typing.Sequence<+T_co>[str]
1169 terms : typing.Sequence<+T_co>[str]
1170 '''
1171 self.categories = categories
1172 self.description = description
1173 self.extra_bindings = extra_bindings
1174 self.min_juju_version = min_juju_version
1175 self.name = name
1176 self.payload_classes = payload_classes
1177 self.peers = peers
1178 self.provides = provides
1179 self.requires = requires
1180 self.resources = resources
1181 self.series = series
1182 self.storage = storage
1183 self.subordinate = subordinate
1184 self.summary = summary
1185 self.tags = tags
1186 self.terms = terms
1187
1188
1189 class CharmMetric(Type):
1190 _toSchema = {'description': 'description', 'type_': 'type'}
1191 _toPy = {'type': 'type_', 'description': 'description'}
1192 def __init__(self, description=None, type_=None):
1193 '''
1194 description : str
1195 type_ : str
1196 '''
1197 self.description = description
1198 self.type_ = type_
1199
1200
1201 class CharmMetrics(Type):
1202 _toSchema = {'metrics': 'metrics'}
1203 _toPy = {'metrics': 'metrics'}
1204 def __init__(self, metrics=None):
1205 '''
1206 metrics : typing.Mapping<~KT, +VT_co>[str, ~CharmMetric]<~CharmMetric>
1207 '''
1208 self.metrics = metrics
1209
1210
1211 class CharmOption(Type):
1212 _toSchema = {'description': 'description', 'default': 'default', 'type_': 'type'}
1213 _toPy = {'type': 'type_', 'description': 'description', 'default': 'default'}
1214 def __init__(self, default=None, description=None, type_=None):
1215 '''
1216 default : typing.Mapping<~KT, +VT_co>[str, typing.Any]
1217 description : str
1218 type_ : str
1219 '''
1220 self.default = default
1221 self.description = description
1222 self.type_ = type_
1223
1224
1225 class CharmPayloadClass(Type):
1226 _toSchema = {'name': 'name', 'type_': 'type'}
1227 _toPy = {'type': 'type_', 'name': 'name'}
1228 def __init__(self, name=None, type_=None):
1229 '''
1230 name : str
1231 type_ : str
1232 '''
1233 self.name = name
1234 self.type_ = type_
1235
1236
1237 class CharmResourceMeta(Type):
1238 _toSchema = {'description': 'description', 'type_': 'type', 'path': 'path', 'name': 'name'}
1239 _toPy = {'type': 'type_', 'description': 'description', 'path': 'path', 'name': 'name'}
1240 def __init__(self, description=None, name=None, path=None, type_=None):
1241 '''
1242 description : str
1243 name : str
1244 path : str
1245 type_ : str
1246 '''
1247 self.description = description
1248 self.name = name
1249 self.path = path
1250 self.type_ = type_
1251
1252
1253 class CharmStorage(Type):
1254 _toSchema = {'shared': 'shared', 'count_min': 'count-min', 'properties': 'properties', 'type_': 'type', 'description': 'description', 'name': 'name', 'location': 'location', 'minimum_size': 'minimum-size', 'read_only': 'read-only', 'count_max': 'count-max'}
1255 _toPy = {'description': 'description', 'count-min': 'count_min', 'minimum-size': 'minimum_size', 'shared': 'shared', 'name': 'name', 'location': 'location', 'type': 'type_', 'count-max': 'count_max', 'read-only': 'read_only', 'properties': 'properties'}
1256 def __init__(self, count_max=None, count_min=None, description=None, location=None, minimum_size=None, name=None, properties=None, read_only=None, shared=None, type_=None):
1257 '''
1258 count_max : int
1259 count_min : int
1260 description : str
1261 location : str
1262 minimum_size : int
1263 name : str
1264 properties : typing.Sequence<+T_co>[str]
1265 read_only : bool
1266 shared : bool
1267 type_ : str
1268 '''
1269 self.count_max = count_max
1270 self.count_min = count_min
1271 self.description = description
1272 self.location = location
1273 self.minimum_size = minimum_size
1274 self.name = name
1275 self.properties = properties
1276 self.read_only = read_only
1277 self.shared = shared
1278 self.type_ = type_
1279
1280
1281 class CharmURL(Type):
1282 _toSchema = {'url': 'url'}
1283 _toPy = {'url': 'url'}
1284 def __init__(self, url=None):
1285 '''
1286 url : str
1287 '''
1288 self.url = url
1289
1290
1291 class CharmsList(Type):
1292 _toSchema = {'names': 'names'}
1293 _toPy = {'names': 'names'}
1294 def __init__(self, names=None):
1295 '''
1296 names : typing.Sequence<+T_co>[str]
1297 '''
1298 self.names = names
1299
1300
1301 class CharmsListResult(Type):
1302 _toSchema = {'charm_urls': 'charm-urls'}
1303 _toPy = {'charm-urls': 'charm_urls'}
1304 def __init__(self, charm_urls=None):
1305 '''
1306 charm_urls : typing.Sequence<+T_co>[str]
1307 '''
1308 self.charm_urls = charm_urls
1309
1310
1311 class IsMeteredResult(Type):
1312 _toSchema = {'metered': 'metered'}
1313 _toPy = {'metered': 'metered'}
1314 def __init__(self, metered=None):
1315 '''
1316 metered : bool
1317 '''
1318 self.metered = metered
1319
1320
1321 class APIHostPortsResult(Type):
1322 _toSchema = {'servers': 'servers'}
1323 _toPy = {'servers': 'servers'}
1324 def __init__(self, servers=None):
1325 '''
1326 servers : typing.Sequence<+T_co>[~HostPort]<~HostPort>
1327 '''
1328 self.servers = [HostPort.from_json(o) for o in servers or []]
1329
1330
1331 class AddCharm(Type):
1332 _toSchema = {'channel': 'channel', 'url': 'url'}
1333 _toPy = {'channel': 'channel', 'url': 'url'}
1334 def __init__(self, channel=None, url=None):
1335 '''
1336 channel : str
1337 url : str
1338 '''
1339 self.channel = channel
1340 self.url = url
1341
1342
1343 class AddCharmWithAuthorization(Type):
1344 _toSchema = {'macaroon': 'macaroon', 'channel': 'channel', 'url': 'url'}
1345 _toPy = {'macaroon': 'macaroon', 'channel': 'channel', 'url': 'url'}
1346 def __init__(self, channel=None, macaroon=None, url=None):
1347 '''
1348 channel : str
1349 macaroon : Macaroon
1350 url : str
1351 '''
1352 self.channel = channel
1353 self.macaroon = Macaroon.from_json(macaroon) if macaroon else None
1354 self.url = url
1355
1356
1357 class AddMachineParams(Type):
1358 _toSchema = {'addresses': 'addresses', 'disks': 'disks', 'hardware_characteristics': 'hardware-characteristics', 'nonce': 'nonce', 'constraints': 'constraints', 'series': 'series', 'placement': 'placement', 'parent_id': 'parent-id', 'jobs': 'jobs', 'instance_id': 'instance-id', 'container_type': 'container-type'}
1359 _toPy = {'addresses': 'addresses', 'disks': 'disks', 'instance-id': 'instance_id', 'container-type': 'container_type', 'nonce': 'nonce', 'constraints': 'constraints', 'series': 'series', 'placement': 'placement', 'parent-id': 'parent_id', 'hardware-characteristics': 'hardware_characteristics', 'jobs': 'jobs'}
1360 def __init__(self, addresses=None, constraints=None, container_type=None, disks=None, hardware_characteristics=None, instance_id=None, jobs=None, nonce=None, parent_id=None, placement=None, series=None):
1361 '''
1362 addresses : typing.Sequence<+T_co>[~Address]<~Address>
1363 constraints : Value
1364 container_type : str
1365 disks : typing.Sequence<+T_co>[~Constraints]<~Constraints>
1366 hardware_characteristics : HardwareCharacteristics
1367 instance_id : str
1368 jobs : typing.Sequence<+T_co>[str]
1369 nonce : str
1370 parent_id : str
1371 placement : Placement
1372 series : str
1373 '''
1374 self.addresses = [Address.from_json(o) for o in addresses or []]
1375 self.constraints = Value.from_json(constraints) if constraints else None
1376 self.container_type = container_type
1377 self.disks = [Constraints.from_json(o) for o in disks or []]
1378 self.hardware_characteristics = HardwareCharacteristics.from_json(hardware_characteristics) if hardware_characteristics else None
1379 self.instance_id = instance_id
1380 self.jobs = jobs
1381 self.nonce = nonce
1382 self.parent_id = parent_id
1383 self.placement = Placement.from_json(placement) if placement else None
1384 self.series = series
1385
1386
1387 class AddMachines(Type):
1388 _toSchema = {'params': 'params'}
1389 _toPy = {'params': 'params'}
1390 def __init__(self, params=None):
1391 '''
1392 params : typing.Sequence<+T_co>[~AddMachineParams]<~AddMachineParams>
1393 '''
1394 self.params = [AddMachineParams.from_json(o) for o in params or []]
1395
1396
1397 class AddMachinesResult(Type):
1398 _toSchema = {'machine': 'machine', 'error': 'error'}
1399 _toPy = {'machine': 'machine', 'error': 'error'}
1400 def __init__(self, error=None, machine=None):
1401 '''
1402 error : Error
1403 machine : str
1404 '''
1405 self.error = Error.from_json(error) if error else None
1406 self.machine = machine
1407
1408
1409 class AddMachinesResults(Type):
1410 _toSchema = {'machines': 'machines'}
1411 _toPy = {'machines': 'machines'}
1412 def __init__(self, machines=None):
1413 '''
1414 machines : typing.Sequence<+T_co>[~AddMachinesResult]<~AddMachinesResult>
1415 '''
1416 self.machines = [AddMachinesResult.from_json(o) for o in machines or []]
1417
1418
1419 class Address(Type):
1420 _toSchema = {'space_name': 'space-name', 'type_': 'type', 'scope': 'scope', 'value': 'value'}
1421 _toPy = {'type': 'type_', 'value': 'value', 'scope': 'scope', 'space-name': 'space_name'}
1422 def __init__(self, scope=None, space_name=None, type_=None, value=None):
1423 '''
1424 scope : str
1425 space_name : str
1426 type_ : str
1427 value : str
1428 '''
1429 self.scope = scope
1430 self.space_name = space_name
1431 self.type_ = type_
1432 self.value = value
1433
1434
1435 class AgentVersionResult(Type):
1436 _toSchema = {'build': 'Build', 'patch': 'Patch', 'tag': 'Tag', 'minor': 'Minor', 'major': 'Major'}
1437 _toPy = {'Tag': 'tag', 'Major': 'major', 'Patch': 'patch', 'Minor': 'minor', 'Build': 'build'}
1438 def __init__(self, build=None, major=None, minor=None, patch=None, tag=None):
1439 '''
1440 build : int
1441 major : int
1442 minor : int
1443 patch : int
1444 tag : str
1445 '''
1446 self.build = build
1447 self.major = major
1448 self.minor = minor
1449 self.patch = patch
1450 self.tag = tag
1451
1452
1453 class AllWatcherId(Type):
1454 _toSchema = {'watcher_id': 'watcher-id'}
1455 _toPy = {'watcher-id': 'watcher_id'}
1456 def __init__(self, watcher_id=None):
1457 '''
1458 watcher_id : str
1459 '''
1460 self.watcher_id = watcher_id
1461
1462
1463 class ApplicationStatus(Type):
1464 _toSchema = {'can_upgrade_to': 'can-upgrade-to', 'subordinate_to': 'subordinate-to', 'workload_version': 'workload-version', 'life': 'life', 'charm': 'charm', 'status': 'status', 'units': 'units', 'meter_statuses': 'meter-statuses', 'series': 'series', 'err': 'err', 'relations': 'relations', 'exposed': 'exposed'}
1465 _toPy = {'can-upgrade-to': 'can_upgrade_to', 'workload-version': 'workload_version', 'life': 'life', 'charm': 'charm', 'status': 'status', 'units': 'units', 'series': 'series', 'err': 'err', 'relations': 'relations', 'meter-statuses': 'meter_statuses', 'exposed': 'exposed', 'subordinate-to': 'subordinate_to'}
1466 def __init__(self, can_upgrade_to=None, charm=None, err=None, exposed=None, life=None, meter_statuses=None, relations=None, series=None, status=None, subordinate_to=None, units=None, workload_version=None):
1467 '''
1468 can_upgrade_to : str
1469 charm : str
1470 err : typing.Mapping<~KT, +VT_co>[str, typing.Any]
1471 exposed : bool
1472 life : str
1473 meter_statuses : typing.Mapping<~KT, +VT_co>[str, ~MeterStatus]<~MeterStatus>
1474 relations : typing.Sequence<+T_co>[str]
1475 series : str
1476 status : DetailedStatus
1477 subordinate_to : typing.Sequence<+T_co>[str]
1478 units : typing.Mapping<~KT, +VT_co>[str, ~UnitStatus]<~UnitStatus>
1479 workload_version : str
1480 '''
1481 self.can_upgrade_to = can_upgrade_to
1482 self.charm = charm
1483 self.err = err
1484 self.exposed = exposed
1485 self.life = life
1486 self.meter_statuses = meter_statuses
1487 self.relations = relations
1488 self.series = series
1489 self.status = DetailedStatus.from_json(status) if status else None
1490 self.subordinate_to = subordinate_to
1491 self.units = units
1492 self.workload_version = workload_version
1493
1494
1495 class Binary(Type):
1496 _toSchema = {'number': 'Number', 'series': 'Series', 'arch': 'Arch'}
1497 _toPy = {'Series': 'series', 'Arch': 'arch', 'Number': 'number'}
1498 def __init__(self, arch=None, number=None, series=None):
1499 '''
1500 arch : str
1501 number : Number
1502 series : str
1503 '''
1504 self.arch = arch
1505 self.number = Number.from_json(number) if number else None
1506 self.series = series
1507
1508
1509 class BundleChangesChange(Type):
1510 _toSchema = {'args': 'args', 'requires': 'requires', 'id_': 'id', 'method': 'method'}
1511 _toPy = {'args': 'args', 'id': 'id_', 'requires': 'requires', 'method': 'method'}
1512 def __init__(self, args=None, id_=None, method=None, requires=None):
1513 '''
1514 args : typing.Sequence<+T_co>[typing.Any]
1515 id_ : str
1516 method : str
1517 requires : typing.Sequence<+T_co>[str]
1518 '''
1519 self.args = args
1520 self.id_ = id_
1521 self.method = method
1522 self.requires = requires
1523
1524
1525 class ConfigValue(Type):
1526 _toSchema = {'source': 'source', 'value': 'value'}
1527 _toPy = {'source': 'source', 'value': 'value'}
1528 def __init__(self, source=None, value=None):
1529 '''
1530 source : str
1531 value : typing.Mapping<~KT, +VT_co>[str, typing.Any]
1532 '''
1533 self.source = source
1534 self.value = value
1535
1536
1537 class DestroyMachines(Type):
1538 _toSchema = {'machine_names': 'machine-names', 'force': 'force'}
1539 _toPy = {'force': 'force', 'machine-names': 'machine_names'}
1540 def __init__(self, force=None, machine_names=None):
1541 '''
1542 force : bool
1543 machine_names : typing.Sequence<+T_co>[str]
1544 '''
1545 self.force = force
1546 self.machine_names = machine_names
1547
1548
1549 class DetailedStatus(Type):
1550 _toSchema = {'info': 'info', 'data': 'data', 'kind': 'kind', 'since': 'since', 'err': 'err', 'life': 'life', 'status': 'status', 'version': 'version'}
1551 _toPy = {'info': 'info', 'data': 'data', 'kind': 'kind', 'since': 'since', 'err': 'err', 'life': 'life', 'status': 'status', 'version': 'version'}
1552 def __init__(self, data=None, err=None, info=None, kind=None, life=None, since=None, status=None, version=None):
1553 '''
1554 data : typing.Mapping<~KT, +VT_co>[str, typing.Any]
1555 err : typing.Mapping<~KT, +VT_co>[str, typing.Any]
1556 info : str
1557 kind : str
1558 life : str
1559 since : str
1560 status : str
1561 version : str
1562 '''
1563 self.data = data
1564 self.err = err
1565 self.info = info
1566 self.kind = kind
1567 self.life = life
1568 self.since = since
1569 self.status = status
1570 self.version = version
1571
1572
1573 class EndpointStatus(Type):
1574 _toSchema = {'application': 'application', 'name': 'name', 'role': 'role', 'subordinate': 'subordinate'}
1575 _toPy = {'application': 'application', 'name': 'name', 'role': 'role', 'subordinate': 'subordinate'}
1576 def __init__(self, application=None, name=None, role=None, subordinate=None):
1577 '''
1578 application : str
1579 name : str
1580 role : str
1581 subordinate : bool
1582 '''
1583 self.application = application
1584 self.name = name
1585 self.role = role
1586 self.subordinate = subordinate
1587
1588
1589 class EntityStatus(Type):
1590 _toSchema = {'info': 'info', 'data': 'data', 'status': 'status', 'since': 'since'}
1591 _toPy = {'info': 'info', 'data': 'data', 'status': 'status', 'since': 'since'}
1592 def __init__(self, data=None, info=None, since=None, status=None):
1593 '''
1594 data : typing.Mapping<~KT, +VT_co>[str, typing.Any]
1595 info : str
1596 since : str
1597 status : str
1598 '''
1599 self.data = data
1600 self.info = info
1601 self.since = since
1602 self.status = status
1603
1604
1605 class FindToolsParams(Type):
1606 _toSchema = {'series': 'series', 'number': 'number', 'minor': 'minor', 'major': 'major', 'arch': 'arch'}
1607 _toPy = {'series': 'series', 'number': 'number', 'minor': 'minor', 'major': 'major', 'arch': 'arch'}
1608 def __init__(self, arch=None, major=None, minor=None, number=None, series=None):
1609 '''
1610 arch : str
1611 major : int
1612 minor : int
1613 number : Number
1614 series : str
1615 '''
1616 self.arch = arch
1617 self.major = major
1618 self.minor = minor
1619 self.number = Number.from_json(number) if number else None
1620 self.series = series
1621
1622
1623 class FindToolsResult(Type):
1624 _toSchema = {'list_': 'list', 'error': 'error'}
1625 _toPy = {'list': 'list_', 'error': 'error'}
1626 def __init__(self, error=None, list_=None):
1627 '''
1628 error : Error
1629 list_ : typing.Sequence<+T_co>[~Tools]<~Tools>
1630 '''
1631 self.error = Error.from_json(error) if error else None
1632 self.list_ = [Tools.from_json(o) for o in list_ or []]
1633
1634
1635 class FullStatus(Type):
1636 _toSchema = {'relations': 'relations', 'machines': 'machines', 'applications': 'applications', 'model': 'model'}
1637 _toPy = {'relations': 'relations', 'machines': 'machines', 'applications': 'applications', 'model': 'model'}
1638 def __init__(self, applications=None, machines=None, model=None, relations=None):
1639 '''
1640 applications : typing.Mapping<~KT, +VT_co>[str, ~ApplicationStatus]<~ApplicationStatus>
1641 machines : typing.Mapping<~KT, +VT_co>[str, ~MachineStatus]<~MachineStatus>
1642 model : ModelStatusInfo
1643 relations : typing.Sequence<+T_co>[~RelationStatus]<~RelationStatus>
1644 '''
1645 self.applications = applications
1646 self.machines = machines
1647 self.model = ModelStatusInfo.from_json(model) if model else None
1648 self.relations = [RelationStatus.from_json(o) for o in relations or []]
1649
1650
1651 class GetBundleChangesParams(Type):
1652 _toSchema = {'yaml': 'yaml'}
1653 _toPy = {'yaml': 'yaml'}
1654 def __init__(self, yaml=None):
1655 '''
1656 yaml : str
1657 '''
1658 self.yaml = yaml
1659
1660
1661 class GetBundleChangesResults(Type):
1662 _toSchema = {'errors': 'errors', 'changes': 'changes'}
1663 _toPy = {'errors': 'errors', 'changes': 'changes'}
1664 def __init__(self, changes=None, errors=None):
1665 '''
1666 changes : typing.Sequence<+T_co>[~BundleChangesChange]<~BundleChangesChange>
1667 errors : typing.Sequence<+T_co>[str]
1668 '''
1669 self.changes = [BundleChangesChange.from_json(o) for o in changes or []]
1670 self.errors = errors
1671
1672
1673 class HardwareCharacteristics(Type):
1674 _toSchema = {'cpu_power': 'cpu-power', 'tags': 'tags', 'availability_zone': 'availability-zone', 'mem': 'mem', 'root_disk': 'root-disk', 'arch': 'arch', 'cpu_cores': 'cpu-cores'}
1675 _toPy = {'cpu-power': 'cpu_power', 'tags': 'tags', 'arch': 'arch', 'mem': 'mem', 'availability-zone': 'availability_zone', 'cpu-cores': 'cpu_cores', 'root-disk': 'root_disk'}
1676 def __init__(self, arch=None, availability_zone=None, cpu_cores=None, cpu_power=None, mem=None, root_disk=None, tags=None):
1677 '''
1678 arch : str
1679 availability_zone : str
1680 cpu_cores : int
1681 cpu_power : int
1682 mem : int
1683 root_disk : int
1684 tags : typing.Sequence<+T_co>[str]
1685 '''
1686 self.arch = arch
1687 self.availability_zone = availability_zone
1688 self.cpu_cores = cpu_cores
1689 self.cpu_power = cpu_power
1690 self.mem = mem
1691 self.root_disk = root_disk
1692 self.tags = tags
1693
1694
1695 class History(Type):
1696 _toSchema = {'statuses': 'statuses', 'error': 'error'}
1697 _toPy = {'statuses': 'statuses', 'error': 'error'}
1698 def __init__(self, error=None, statuses=None):
1699 '''
1700 error : Error
1701 statuses : typing.Sequence<+T_co>[~DetailedStatus]<~DetailedStatus>
1702 '''
1703 self.error = Error.from_json(error) if error else None
1704 self.statuses = [DetailedStatus.from_json(o) for o in statuses or []]
1705
1706
1707 class HostPort(Type):
1708 _toSchema = {'port': 'port', 'address': 'Address'}
1709 _toPy = {'Address': 'address', 'port': 'port'}
1710 def __init__(self, address=None, port=None):
1711 '''
1712 address : Address
1713 port : int
1714 '''
1715 self.address = Address.from_json(address) if address else None
1716 self.port = port
1717
1718
1719 class MachineStatus(Type):
1720 _toSchema = {'dns_name': 'dns-name', 'jobs': 'jobs', 'id_': 'id', 'instance_id': 'instance-id', 'series': 'series', 'wants_vote': 'wants-vote', 'instance_status': 'instance-status', 'hardware': 'hardware', 'containers': 'containers', 'has_vote': 'has-vote', 'agent_status': 'agent-status'}
1721 _toPy = {'has-vote': 'has_vote', 'instance-id': 'instance_id', 'instance-status': 'instance_status', 'series': 'series', 'dns-name': 'dns_name', 'wants-vote': 'wants_vote', 'id': 'id_', 'agent-status': 'agent_status', 'containers': 'containers', 'jobs': 'jobs', 'hardware': 'hardware'}
1722 def __init__(self, agent_status=None, containers=None, dns_name=None, hardware=None, has_vote=None, id_=None, instance_id=None, instance_status=None, jobs=None, series=None, wants_vote=None):
1723 '''
1724 agent_status : DetailedStatus
1725 containers : typing.Mapping<~KT, +VT_co>[str, ~MachineStatus]<~MachineStatus>
1726 dns_name : str
1727 hardware : str
1728 has_vote : bool
1729 id_ : str
1730 instance_id : str
1731 instance_status : DetailedStatus
1732 jobs : typing.Sequence<+T_co>[str]
1733 series : str
1734 wants_vote : bool
1735 '''
1736 self.agent_status = DetailedStatus.from_json(agent_status) if agent_status else None
1737 self.containers = containers
1738 self.dns_name = dns_name
1739 self.hardware = hardware
1740 self.has_vote = has_vote
1741 self.id_ = id_
1742 self.instance_id = instance_id
1743 self.instance_status = DetailedStatus.from_json(instance_status) if instance_status else None
1744 self.jobs = jobs
1745 self.series = series
1746 self.wants_vote = wants_vote
1747
1748
1749 class MeterStatus(Type):
1750 _toSchema = {'color': 'color', 'message': 'message'}
1751 _toPy = {'color': 'color', 'message': 'message'}
1752 def __init__(self, color=None, message=None):
1753 '''
1754 color : str
1755 message : str
1756 '''
1757 self.color = color
1758 self.message = message
1759
1760
1761 class ModelConfigResults(Type):
1762 _toSchema = {'config': 'config'}
1763 _toPy = {'config': 'config'}
1764 def __init__(self, config=None):
1765 '''
1766 config : typing.Mapping<~KT, +VT_co>[str, ~ConfigValue]<~ConfigValue>
1767 '''
1768 self.config = config
1769
1770
1771 class ModelDefaultValues(Type):
1772 _toSchema = {'config': 'config', 'cloud_tag': 'cloud-tag', 'cloud_region': 'cloud-region'}
1773 _toPy = {'config': 'config', 'cloud-tag': 'cloud_tag', 'cloud-region': 'cloud_region'}
1774 def __init__(self, cloud_region=None, cloud_tag=None, config=None):
1775 '''
1776 cloud_region : str
1777 cloud_tag : str
1778 config : typing.Mapping<~KT, +VT_co>[str, typing.Any]
1779 '''
1780 self.cloud_region = cloud_region
1781 self.cloud_tag = cloud_tag
1782 self.config = config
1783
1784
1785 class ModelDefaults(Type):
1786 _toSchema = {'controller': 'controller', 'default': 'default', 'regions': 'regions'}
1787 _toPy = {'controller': 'controller', 'default': 'default', 'regions': 'regions'}
1788 def __init__(self, controller=None, default=None, regions=None):
1789 '''
1790 controller : typing.Mapping<~KT, +VT_co>[str, typing.Any]
1791 default : typing.Mapping<~KT, +VT_co>[str, typing.Any]
1792 regions : typing.Sequence<+T_co>[~RegionDefaults]<~RegionDefaults>
1793 '''
1794 self.controller = controller
1795 self.default = default
1796 self.regions = [RegionDefaults.from_json(o) for o in regions or []]
1797
1798
1799 class ModelDefaultsResult(Type):
1800 _toSchema = {'config': 'config'}
1801 _toPy = {'config': 'config'}
1802 def __init__(self, config=None):
1803 '''
1804 config : typing.Mapping<~KT, +VT_co>[str, ~ModelDefaults]<~ModelDefaults>
1805 '''
1806 self.config = config
1807
1808
1809 class ModelInfo(Type):
1810 _toSchema = {'default_series': 'default-series', 'life': 'life', 'cloud_region': 'cloud-region', 'users': 'users', 'uuid': 'uuid', 'owner_tag': 'owner-tag', 'cloud': 'cloud', 'cloud_credential_tag': 'cloud-credential-tag', 'status': 'status', 'name': 'name', 'controller_uuid': 'controller-uuid', 'provider_type': 'provider-type'}
1811 _toPy = {'controller-uuid': 'controller_uuid', 'life': 'life', 'owner-tag': 'owner_tag', 'provider-type': 'provider_type', 'users': 'users', 'uuid': 'uuid', 'default-series': 'default_series', 'cloud': 'cloud', 'cloud-credential-tag': 'cloud_credential_tag', 'status': 'status', 'name': 'name', 'cloud-region': 'cloud_region'}
1812 def __init__(self, cloud=None, cloud_credential_tag=None, cloud_region=None, controller_uuid=None, default_series=None, life=None, name=None, owner_tag=None, provider_type=None, status=None, users=None, uuid=None):
1813 '''
1814 cloud : str
1815 cloud_credential_tag : str
1816 cloud_region : str
1817 controller_uuid : str
1818 default_series : str
1819 life : str
1820 name : str
1821 owner_tag : str
1822 provider_type : str
1823 status : EntityStatus
1824 users : typing.Sequence<+T_co>[~ModelUserInfo]<~ModelUserInfo>
1825 uuid : str
1826 '''
1827 self.cloud = cloud
1828 self.cloud_credential_tag = cloud_credential_tag
1829 self.cloud_region = cloud_region
1830 self.controller_uuid = controller_uuid
1831 self.default_series = default_series
1832 self.life = life
1833 self.name = name
1834 self.owner_tag = owner_tag
1835 self.provider_type = provider_type
1836 self.status = EntityStatus.from_json(status) if status else None
1837 self.users = [ModelUserInfo.from_json(o) for o in users or []]
1838 self.uuid = uuid
1839
1840
1841 class ModelSet(Type):
1842 _toSchema = {'config': 'config'}
1843 _toPy = {'config': 'config'}
1844 def __init__(self, config=None):
1845 '''
1846 config : typing.Mapping<~KT, +VT_co>[str, typing.Any]
1847 '''
1848 self.config = config
1849
1850
1851 class ModelStatusInfo(Type):
1852 _toSchema = {'cloud': 'cloud', 'name': 'name', 'migration': 'migration', 'region': 'region', 'available_version': 'available-version', 'version': 'version'}
1853 _toPy = {'available-version': 'available_version', 'cloud': 'cloud', 'name': 'name', 'migration': 'migration', 'region': 'region', 'version': 'version'}
1854 def __init__(self, available_version=None, cloud=None, migration=None, name=None, region=None, version=None):
1855 '''
1856 available_version : str
1857 cloud : str
1858 migration : str
1859 name : str
1860 region : str
1861 version : str
1862 '''
1863 self.available_version = available_version
1864 self.cloud = cloud
1865 self.migration = migration
1866 self.name = name
1867 self.region = region
1868 self.version = version
1869
1870
1871 class ModelUnset(Type):
1872 _toSchema = {'keys': 'keys'}
1873 _toPy = {'keys': 'keys'}
1874 def __init__(self, keys=None):
1875 '''
1876 keys : typing.Sequence<+T_co>[str]
1877 '''
1878 self.keys = keys
1879
1880
1881 class ModelUnsetKeys(Type):
1882 _toSchema = {'cloud_tag': 'cloud-tag', 'keys': 'keys', 'cloud_region': 'cloud-region'}
1883 _toPy = {'cloud-tag': 'cloud_tag', 'cloud-region': 'cloud_region', 'keys': 'keys'}
1884 def __init__(self, cloud_region=None, cloud_tag=None, keys=None):
1885 '''
1886 cloud_region : str
1887 cloud_tag : str
1888 keys : typing.Sequence<+T_co>[str]
1889 '''
1890 self.cloud_region = cloud_region
1891 self.cloud_tag = cloud_tag
1892 self.keys = keys
1893
1894
1895 class ModelUserInfo(Type):
1896 _toSchema = {'display_name': 'display-name', 'access': 'access', 'user': 'user', 'last_connection': 'last-connection'}
1897 _toPy = {'last-connection': 'last_connection', 'access': 'access', 'user': 'user', 'display-name': 'display_name'}
1898 def __init__(self, access=None, display_name=None, last_connection=None, user=None):
1899 '''
1900 access : str
1901 display_name : str
1902 last_connection : str
1903 user : str
1904 '''
1905 self.access = access
1906 self.display_name = display_name
1907 self.last_connection = last_connection
1908 self.user = user
1909
1910
1911 class ModelUserInfoResult(Type):
1912 _toSchema = {'result': 'result', 'error': 'error'}
1913 _toPy = {'result': 'result', 'error': 'error'}
1914 def __init__(self, error=None, result=None):
1915 '''
1916 error : Error
1917 result : ModelUserInfo
1918 '''
1919 self.error = Error.from_json(error) if error else None
1920 self.result = ModelUserInfo.from_json(result) if result else None
1921
1922
1923 class ModelUserInfoResults(Type):
1924 _toSchema = {'results': 'results'}
1925 _toPy = {'results': 'results'}
1926 def __init__(self, results=None):
1927 '''
1928 results : typing.Sequence<+T_co>[~ModelUserInfoResult]<~ModelUserInfoResult>
1929 '''
1930 self.results = [ModelUserInfoResult.from_json(o) for o in results or []]
1931
1932
1933 class PrivateAddress(Type):
1934 _toSchema = {'target': 'target'}
1935 _toPy = {'target': 'target'}
1936 def __init__(self, target=None):
1937 '''
1938 target : str
1939 '''
1940 self.target = target
1941
1942
1943 class PrivateAddressResults(Type):
1944 _toSchema = {'private_address': 'private-address'}
1945 _toPy = {'private-address': 'private_address'}
1946 def __init__(self, private_address=None):
1947 '''
1948 private_address : str
1949 '''
1950 self.private_address = private_address
1951
1952
1953 class ProvisioningScriptParams(Type):
1954 _toSchema = {'data_dir': 'data-dir', 'nonce': 'nonce', 'disable_package_commands': 'disable-package-commands', 'machine_id': 'machine-id'}
1955 _toPy = {'machine-id': 'machine_id', 'data-dir': 'data_dir', 'nonce': 'nonce', 'disable-package-commands': 'disable_package_commands'}
1956 def __init__(self, data_dir=None, disable_package_commands=None, machine_id=None, nonce=None):
1957 '''
1958 data_dir : str
1959 disable_package_commands : bool
1960 machine_id : str
1961 nonce : str
1962 '''
1963 self.data_dir = data_dir
1964 self.disable_package_commands = disable_package_commands
1965 self.machine_id = machine_id
1966 self.nonce = nonce
1967
1968
1969 class ProvisioningScriptResult(Type):
1970 _toSchema = {'script': 'script'}
1971 _toPy = {'script': 'script'}
1972 def __init__(self, script=None):
1973 '''
1974 script : str
1975 '''
1976 self.script = script
1977
1978
1979 class PublicAddress(Type):
1980 _toSchema = {'target': 'target'}
1981 _toPy = {'target': 'target'}
1982 def __init__(self, target=None):
1983 '''
1984 target : str
1985 '''
1986 self.target = target
1987
1988
1989 class PublicAddressResults(Type):
1990 _toSchema = {'public_address': 'public-address'}
1991 _toPy = {'public-address': 'public_address'}
1992 def __init__(self, public_address=None):
1993 '''
1994 public_address : str
1995 '''
1996 self.public_address = public_address
1997
1998
1999 class RegionDefaults(Type):
2000 _toSchema = {'value': 'value', 'region_name': 'region-name'}
2001 _toPy = {'region-name': 'region_name', 'value': 'value'}
2002 def __init__(self, region_name=None, value=None):
2003 '''
2004 region_name : str
2005 value : typing.Mapping<~KT, +VT_co>[str, typing.Any]
2006 '''
2007 self.region_name = region_name
2008 self.value = value
2009
2010
2011 class RelationStatus(Type):
2012 _toSchema = {'interface': 'interface', 'endpoints': 'endpoints', 'id_': 'id', 'key': 'key', 'scope': 'scope'}
2013 _toPy = {'id': 'id_', 'interface': 'interface', 'endpoints': 'endpoints', 'scope': 'scope', 'key': 'key'}
2014 def __init__(self, endpoints=None, id_=None, interface=None, key=None, scope=None):
2015 '''
2016 endpoints : typing.Sequence<+T_co>[~EndpointStatus]<~EndpointStatus>
2017 id_ : int
2018 interface : str
2019 key : str
2020 scope : str
2021 '''
2022 self.endpoints = [EndpointStatus.from_json(o) for o in endpoints or []]
2023 self.id_ = id_
2024 self.interface = interface
2025 self.key = key
2026 self.scope = scope
2027
2028
2029 class ResolveCharmResult(Type):
2030 _toSchema = {'url': 'url', 'error': 'error'}
2031 _toPy = {'url': 'url', 'error': 'error'}
2032 def __init__(self, error=None, url=None):
2033 '''
2034 error : str
2035 url : str
2036 '''
2037 self.error = error
2038 self.url = url
2039
2040
2041 class ResolveCharmResults(Type):
2042 _toSchema = {'urls': 'urls'}
2043 _toPy = {'urls': 'urls'}
2044 def __init__(self, urls=None):
2045 '''
2046 urls : typing.Sequence<+T_co>[~ResolveCharmResult]<~ResolveCharmResult>
2047 '''
2048 self.urls = [ResolveCharmResult.from_json(o) for o in urls or []]
2049
2050
2051 class ResolveCharms(Type):
2052 _toSchema = {'references': 'references'}
2053 _toPy = {'references': 'references'}
2054 def __init__(self, references=None):
2055 '''
2056 references : typing.Sequence<+T_co>[str]
2057 '''
2058 self.references = references
2059
2060
2061 class Resolved(Type):
2062 _toSchema = {'unit_name': 'unit-name', 'retry': 'retry'}
2063 _toPy = {'unit-name': 'unit_name', 'retry': 'retry'}
2064 def __init__(self, retry=None, unit_name=None):
2065 '''
2066 retry : bool
2067 unit_name : str
2068 '''
2069 self.retry = retry
2070 self.unit_name = unit_name
2071
2072
2073 class SetModelAgentVersion(Type):
2074 _toSchema = {'build': 'Build', 'patch': 'Patch', 'tag': 'Tag', 'minor': 'Minor', 'major': 'Major'}
2075 _toPy = {'Tag': 'tag', 'Major': 'major', 'Patch': 'patch', 'Minor': 'minor', 'Build': 'build'}
2076 def __init__(self, build=None, major=None, minor=None, patch=None, tag=None):
2077 '''
2078 build : int
2079 major : int
2080 minor : int
2081 patch : int
2082 tag : str
2083 '''
2084 self.build = build
2085 self.major = major
2086 self.minor = minor
2087 self.patch = patch
2088 self.tag = tag
2089
2090
2091 class SetModelDefaults(Type):
2092 _toSchema = {'config': 'config'}
2093 _toPy = {'config': 'config'}
2094 def __init__(self, config=None):
2095 '''
2096 config : typing.Sequence<+T_co>[~ModelDefaultValues]<~ModelDefaultValues>
2097 '''
2098 self.config = [ModelDefaultValues.from_json(o) for o in config or []]
2099
2100
2101 class StatusHistoryFilter(Type):
2102 _toSchema = {'size': 'size', 'date': 'date', 'delta': 'delta'}
2103 _toPy = {'size': 'size', 'date': 'date', 'delta': 'delta'}
2104 def __init__(self, date=None, delta=None, size=None):
2105 '''
2106 date : str
2107 delta : int
2108 size : int
2109 '''
2110 self.date = date
2111 self.delta = delta
2112 self.size = size
2113
2114
2115 class StatusHistoryRequest(Type):
2116 _toSchema = {'historykind': 'historyKind', 'tag': 'tag', 'size': 'size', 'filter_': 'filter'}
2117 _toPy = {'filter': 'filter_', 'historyKind': 'historykind', 'tag': 'tag', 'size': 'size'}
2118 def __init__(self, filter_=None, historykind=None, size=None, tag=None):
2119 '''
2120 filter_ : StatusHistoryFilter
2121 historykind : str
2122 size : int
2123 tag : str
2124 '''
2125 self.filter_ = StatusHistoryFilter.from_json(filter_) if filter_ else None
2126 self.historykind = historykind
2127 self.size = size
2128 self.tag = tag
2129
2130
2131 class StatusHistoryRequests(Type):
2132 _toSchema = {'requests': 'requests'}
2133 _toPy = {'requests': 'requests'}
2134 def __init__(self, requests=None):
2135 '''
2136 requests : typing.Sequence<+T_co>[~StatusHistoryRequest]<~StatusHistoryRequest>
2137 '''
2138 self.requests = [StatusHistoryRequest.from_json(o) for o in requests or []]
2139
2140
2141 class StatusHistoryResult(Type):
2142 _toSchema = {'history': 'history', 'error': 'error'}
2143 _toPy = {'history': 'history', 'error': 'error'}
2144 def __init__(self, error=None, history=None):
2145 '''
2146 error : Error
2147 history : History
2148 '''
2149 self.error = Error.from_json(error) if error else None
2150 self.history = History.from_json(history) if history else None
2151
2152
2153 class StatusHistoryResults(Type):
2154 _toSchema = {'results': 'results'}
2155 _toPy = {'results': 'results'}
2156 def __init__(self, results=None):
2157 '''
2158 results : typing.Sequence<+T_co>[~StatusHistoryResult]<~StatusHistoryResult>
2159 '''
2160 self.results = [StatusHistoryResult.from_json(o) for o in results or []]
2161
2162
2163 class StatusParams(Type):
2164 _toSchema = {'patterns': 'patterns'}
2165 _toPy = {'patterns': 'patterns'}
2166 def __init__(self, patterns=None):
2167 '''
2168 patterns : typing.Sequence<+T_co>[str]
2169 '''
2170 self.patterns = patterns
2171
2172
2173 class Tools(Type):
2174 _toSchema = {'version': 'version', 'sha256': 'sha256', 'size': 'size', 'url': 'url'}
2175 _toPy = {'version': 'version', 'sha256': 'sha256', 'size': 'size', 'url': 'url'}
2176 def __init__(self, sha256=None, size=None, url=None, version=None):
2177 '''
2178 sha256 : str
2179 size : int
2180 url : str
2181 version : Binary
2182 '''
2183 self.sha256 = sha256
2184 self.size = size
2185 self.url = url
2186 self.version = Binary.from_json(version) if version else None
2187
2188
2189 class UnitStatus(Type):
2190 _toSchema = {'workload_status': 'workload-status', 'opened_ports': 'opened-ports', 'subordinates': 'subordinates', 'workload_version': 'workload-version', 'public_address': 'public-address', 'charm': 'charm', 'agent_status': 'agent-status', 'machine': 'machine'}
2191 _toPy = {'public-address': 'public_address', 'workload-version': 'workload_version', 'subordinates': 'subordinates', 'opened-ports': 'opened_ports', 'charm': 'charm', 'workload-status': 'workload_status', 'machine': 'machine', 'agent-status': 'agent_status'}
2192 def __init__(self, agent_status=None, charm=None, machine=None, opened_ports=None, public_address=None, subordinates=None, workload_status=None, workload_version=None):
2193 '''
2194 agent_status : DetailedStatus
2195 charm : str
2196 machine : str
2197 opened_ports : typing.Sequence<+T_co>[str]
2198 public_address : str
2199 subordinates : typing.Mapping<~KT, +VT_co>[str, ~UnitStatus]<~UnitStatus>
2200 workload_status : DetailedStatus
2201 workload_version : str
2202 '''
2203 self.agent_status = DetailedStatus.from_json(agent_status) if agent_status else None
2204 self.charm = charm
2205 self.machine = machine
2206 self.opened_ports = opened_ports
2207 self.public_address = public_address
2208 self.subordinates = subordinates
2209 self.workload_status = DetailedStatus.from_json(workload_status) if workload_status else None
2210 self.workload_version = workload_version
2211
2212
2213 class UnsetModelDefaults(Type):
2214 _toSchema = {'keys': 'keys'}
2215 _toPy = {'keys': 'keys'}
2216 def __init__(self, keys=None):
2217 '''
2218 keys : typing.Sequence<+T_co>[~ModelUnsetKeys]<~ModelUnsetKeys>
2219 '''
2220 self.keys = [ModelUnsetKeys.from_json(o) for o in keys or []]
2221
2222
2223 class Cloud(Type):
2224 _toSchema = {'type_': 'type', 'identity_endpoint': 'identity-endpoint', 'storage_endpoint': 'storage-endpoint', 'regions': 'regions', 'auth_types': 'auth-types', 'endpoint': 'endpoint'}
2225 _toPy = {'auth-types': 'auth_types', 'regions': 'regions', 'type': 'type_', 'identity-endpoint': 'identity_endpoint', 'endpoint': 'endpoint', 'storage-endpoint': 'storage_endpoint'}
2226 def __init__(self, auth_types=None, endpoint=None, identity_endpoint=None, regions=None, storage_endpoint=None, type_=None):
2227 '''
2228 auth_types : typing.Sequence<+T_co>[str]
2229 endpoint : str
2230 identity_endpoint : str
2231 regions : typing.Sequence<+T_co>[~CloudRegion]<~CloudRegion>
2232 storage_endpoint : str
2233 type_ : str
2234 '''
2235 self.auth_types = auth_types
2236 self.endpoint = endpoint
2237 self.identity_endpoint = identity_endpoint
2238 self.regions = [CloudRegion.from_json(o) for o in regions or []]
2239 self.storage_endpoint = storage_endpoint
2240 self.type_ = type_
2241
2242
2243 class CloudCredentialResult(Type):
2244 _toSchema = {'result': 'result', 'error': 'error'}
2245 _toPy = {'result': 'result', 'error': 'error'}
2246 def __init__(self, error=None, result=None):
2247 '''
2248 error : Error
2249 result : CloudCredential
2250 '''
2251 self.error = Error.from_json(error) if error else None
2252 self.result = CloudCredential.from_json(result) if result else None
2253
2254
2255 class CloudCredentialResults(Type):
2256 _toSchema = {'results': 'results'}
2257 _toPy = {'results': 'results'}
2258 def __init__(self, results=None):
2259 '''
2260 results : typing.Sequence<+T_co>[~CloudCredentialResult]<~CloudCredentialResult>
2261 '''
2262 self.results = [CloudCredentialResult.from_json(o) for o in results or []]
2263
2264
2265 class CloudRegion(Type):
2266 _toSchema = {'name': 'name', 'endpoint': 'endpoint', 'storage_endpoint': 'storage-endpoint', 'identity_endpoint': 'identity-endpoint'}
2267 _toPy = {'identity-endpoint': 'identity_endpoint', 'endpoint': 'endpoint', 'storage-endpoint': 'storage_endpoint', 'name': 'name'}
2268 def __init__(self, endpoint=None, identity_endpoint=None, name=None, storage_endpoint=None):
2269 '''
2270 endpoint : str
2271 identity_endpoint : str
2272 name : str
2273 storage_endpoint : str
2274 '''
2275 self.endpoint = endpoint
2276 self.identity_endpoint = identity_endpoint
2277 self.name = name
2278 self.storage_endpoint = storage_endpoint
2279
2280
2281 class CloudResult(Type):
2282 _toSchema = {'cloud': 'cloud', 'error': 'error'}
2283 _toPy = {'cloud': 'cloud', 'error': 'error'}
2284 def __init__(self, cloud=None, error=None):
2285 '''
2286 cloud : Cloud
2287 error : Error
2288 '''
2289 self.cloud = Cloud.from_json(cloud) if cloud else None
2290 self.error = Error.from_json(error) if error else None
2291
2292
2293 class CloudResults(Type):
2294 _toSchema = {'results': 'results'}
2295 _toPy = {'results': 'results'}
2296 def __init__(self, results=None):
2297 '''
2298 results : typing.Sequence<+T_co>[~CloudResult]<~CloudResult>
2299 '''
2300 self.results = [CloudResult.from_json(o) for o in results or []]
2301
2302
2303 class CloudsResult(Type):
2304 _toSchema = {'clouds': 'clouds'}
2305 _toPy = {'clouds': 'clouds'}
2306 def __init__(self, clouds=None):
2307 '''
2308 clouds : typing.Mapping<~KT, +VT_co>[str, ~Cloud]<~Cloud>
2309 '''
2310 self.clouds = clouds
2311
2312
2313 class StringsResult(Type):
2314 _toSchema = {'result': 'result', 'error': 'error'}
2315 _toPy = {'result': 'result', 'error': 'error'}
2316 def __init__(self, error=None, result=None):
2317 '''
2318 error : Error
2319 result : typing.Sequence<+T_co>[str]
2320 '''
2321 self.error = Error.from_json(error) if error else None
2322 self.result = result
2323
2324
2325 class StringsResults(Type):
2326 _toSchema = {'results': 'results'}
2327 _toPy = {'results': 'results'}
2328 def __init__(self, results=None):
2329 '''
2330 results : typing.Sequence<+T_co>[~StringsResult]<~StringsResult>
2331 '''
2332 self.results = [StringsResult.from_json(o) for o in results or []]
2333
2334
2335 class UpdateCloudCredential(Type):
2336 _toSchema = {'tag': 'tag', 'credential': 'credential'}
2337 _toPy = {'tag': 'tag', 'credential': 'credential'}
2338 def __init__(self, credential=None, tag=None):
2339 '''
2340 credential : CloudCredential
2341 tag : str
2342 '''
2343 self.credential = CloudCredential.from_json(credential) if credential else None
2344 self.tag = tag
2345
2346
2347 class UpdateCloudCredentials(Type):
2348 _toSchema = {'credentials': 'credentials'}
2349 _toPy = {'credentials': 'credentials'}
2350 def __init__(self, credentials=None):
2351 '''
2352 credentials : typing.Sequence<+T_co>[~UpdateCloudCredential]<~UpdateCloudCredential>
2353 '''
2354 self.credentials = [UpdateCloudCredential.from_json(o) for o in credentials or []]
2355
2356
2357 class UserCloud(Type):
2358 _toSchema = {'cloud_tag': 'cloud-tag', 'user_tag': 'user-tag'}
2359 _toPy = {'cloud-tag': 'cloud_tag', 'user-tag': 'user_tag'}
2360 def __init__(self, cloud_tag=None, user_tag=None):
2361 '''
2362 cloud_tag : str
2363 user_tag : str
2364 '''
2365 self.cloud_tag = cloud_tag
2366 self.user_tag = user_tag
2367
2368
2369 class UserClouds(Type):
2370 _toSchema = {'user_clouds': 'user-clouds'}
2371 _toPy = {'user-clouds': 'user_clouds'}
2372 def __init__(self, user_clouds=None):
2373 '''
2374 user_clouds : typing.Sequence<+T_co>[~UserCloud]<~UserCloud>
2375 '''
2376 self.user_clouds = [UserCloud.from_json(o) for o in user_clouds or []]
2377
2378
2379 class DestroyControllerArgs(Type):
2380 _toSchema = {'destroy_models': 'destroy-models'}
2381 _toPy = {'destroy-models': 'destroy_models'}
2382 def __init__(self, destroy_models=None):
2383 '''
2384 destroy_models : bool
2385 '''
2386 self.destroy_models = destroy_models
2387
2388
2389 class InitiateMigrationArgs(Type):
2390 _toSchema = {'specs': 'specs'}
2391 _toPy = {'specs': 'specs'}
2392 def __init__(self, specs=None):
2393 '''
2394 specs : typing.Sequence<+T_co>[~MigrationSpec]<~MigrationSpec>
2395 '''
2396 self.specs = [MigrationSpec.from_json(o) for o in specs or []]
2397
2398
2399 class InitiateMigrationResult(Type):
2400 _toSchema = {'model_tag': 'model-tag', 'migration_id': 'migration-id', 'error': 'error'}
2401 _toPy = {'model-tag': 'model_tag', 'migration-id': 'migration_id', 'error': 'error'}
2402 def __init__(self, error=None, migration_id=None, model_tag=None):
2403 '''
2404 error : Error
2405 migration_id : str
2406 model_tag : str
2407 '''
2408 self.error = Error.from_json(error) if error else None
2409 self.migration_id = migration_id
2410 self.model_tag = model_tag
2411
2412
2413 class InitiateMigrationResults(Type):
2414 _toSchema = {'results': 'results'}
2415 _toPy = {'results': 'results'}
2416 def __init__(self, results=None):
2417 '''
2418 results : typing.Sequence<+T_co>[~InitiateMigrationResult]<~InitiateMigrationResult>
2419 '''
2420 self.results = [InitiateMigrationResult.from_json(o) for o in results or []]
2421
2422
2423 class MigrationSpec(Type):
2424 _toSchema = {'model_tag': 'model-tag', 'target_info': 'target-info'}
2425 _toPy = {'model-tag': 'model_tag', 'target-info': 'target_info'}
2426 def __init__(self, model_tag=None, target_info=None):
2427 '''
2428 model_tag : str
2429 target_info : MigrationTargetInfo
2430 '''
2431 self.model_tag = model_tag
2432 self.target_info = MigrationTargetInfo.from_json(target_info) if target_info else None
2433
2434
2435 class MigrationTargetInfo(Type):
2436 _toSchema = {'password': 'password', 'controller_tag': 'controller-tag', 'addrs': 'addrs', 'ca_cert': 'ca-cert', 'macaroon': 'macaroon', 'auth_tag': 'auth-tag'}
2437 _toPy = {'auth-tag': 'auth_tag', 'password': 'password', 'ca-cert': 'ca_cert', 'addrs': 'addrs', 'macaroon': 'macaroon', 'controller-tag': 'controller_tag'}
2438 def __init__(self, addrs=None, auth_tag=None, ca_cert=None, controller_tag=None, macaroon=None, password=None):
2439 '''
2440 addrs : typing.Sequence<+T_co>[str]
2441 auth_tag : str
2442 ca_cert : str
2443 controller_tag : str
2444 macaroon : str
2445 password : str
2446 '''
2447 self.addrs = addrs
2448 self.auth_tag = auth_tag
2449 self.ca_cert = ca_cert
2450 self.controller_tag = controller_tag
2451 self.macaroon = macaroon
2452 self.password = password
2453
2454
2455 class Model(Type):
2456 _toSchema = {'name': 'name', 'uuid': 'uuid', 'owner_tag': 'owner-tag'}
2457 _toPy = {'name': 'name', 'owner-tag': 'owner_tag', 'uuid': 'uuid'}
2458 def __init__(self, name=None, owner_tag=None, uuid=None):
2459 '''
2460 name : str
2461 owner_tag : str
2462 uuid : str
2463 '''
2464 self.name = name
2465 self.owner_tag = owner_tag
2466 self.uuid = uuid
2467
2468
2469 class ModelBlockInfo(Type):
2470 _toSchema = {'name': 'name', 'model_uuid': 'model-uuid', 'owner_tag': 'owner-tag', 'blocks': 'blocks'}
2471 _toPy = {'name': 'name', 'owner-tag': 'owner_tag', 'model-uuid': 'model_uuid', 'blocks': 'blocks'}
2472 def __init__(self, blocks=None, model_uuid=None, name=None, owner_tag=None):
2473 '''
2474 blocks : typing.Sequence<+T_co>[str]
2475 model_uuid : str
2476 name : str
2477 owner_tag : str
2478 '''
2479 self.blocks = blocks
2480 self.model_uuid = model_uuid
2481 self.name = name
2482 self.owner_tag = owner_tag
2483
2484
2485 class ModelBlockInfoList(Type):
2486 _toSchema = {'models': 'models'}
2487 _toPy = {'models': 'models'}
2488 def __init__(self, models=None):
2489 '''
2490 models : typing.Sequence<+T_co>[~ModelBlockInfo]<~ModelBlockInfo>
2491 '''
2492 self.models = [ModelBlockInfo.from_json(o) for o in models or []]
2493
2494
2495 class ModelStatus(Type):
2496 _toSchema = {'life': 'life', 'application_count': 'application-count', 'owner_tag': 'owner-tag', 'model_tag': 'model-tag', 'hosted_machine_count': 'hosted-machine-count'}
2497 _toPy = {'life': 'life', 'model-tag': 'model_tag', 'owner-tag': 'owner_tag', 'hosted-machine-count': 'hosted_machine_count', 'application-count': 'application_count'}
2498 def __init__(self, application_count=None, hosted_machine_count=None, life=None, model_tag=None, owner_tag=None):
2499 '''
2500 application_count : int
2501 hosted_machine_count : int
2502 life : str
2503 model_tag : str
2504 owner_tag : str
2505 '''
2506 self.application_count = application_count
2507 self.hosted_machine_count = hosted_machine_count
2508 self.life = life
2509 self.model_tag = model_tag
2510 self.owner_tag = owner_tag
2511
2512
2513 class ModelStatusResults(Type):
2514 _toSchema = {'models': 'models'}
2515 _toPy = {'models': 'models'}
2516 def __init__(self, models=None):
2517 '''
2518 models : typing.Sequence<+T_co>[~ModelStatus]<~ModelStatus>
2519 '''
2520 self.models = [ModelStatus.from_json(o) for o in models or []]
2521
2522
2523 class ModifyControllerAccess(Type):
2524 _toSchema = {'access': 'access', 'action': 'action', 'user_tag': 'user-tag'}
2525 _toPy = {'access': 'access', 'action': 'action', 'user-tag': 'user_tag'}
2526 def __init__(self, access=None, action=None, user_tag=None):
2527 '''
2528 access : str
2529 action : str
2530 user_tag : str
2531 '''
2532 self.access = access
2533 self.action = action
2534 self.user_tag = user_tag
2535
2536
2537 class ModifyControllerAccessRequest(Type):
2538 _toSchema = {'changes': 'changes'}
2539 _toPy = {'changes': 'changes'}
2540 def __init__(self, changes=None):
2541 '''
2542 changes : typing.Sequence<+T_co>[~ModifyControllerAccess]<~ModifyControllerAccess>
2543 '''
2544 self.changes = [ModifyControllerAccess.from_json(o) for o in changes or []]
2545
2546
2547 class RemoveBlocksArgs(Type):
2548 _toSchema = {'all_': 'all'}
2549 _toPy = {'all': 'all_'}
2550 def __init__(self, all_=None):
2551 '''
2552 all_ : bool
2553 '''
2554 self.all_ = all_
2555
2556
2557 class UserAccess(Type):
2558 _toSchema = {'access': 'access', 'user_tag': 'user-tag'}
2559 _toPy = {'access': 'access', 'user-tag': 'user_tag'}
2560 def __init__(self, access=None, user_tag=None):
2561 '''
2562 access : str
2563 user_tag : str
2564 '''
2565 self.access = access
2566 self.user_tag = user_tag
2567
2568
2569 class UserAccessResult(Type):
2570 _toSchema = {'result': 'result', 'error': 'error'}
2571 _toPy = {'result': 'result', 'error': 'error'}
2572 def __init__(self, error=None, result=None):
2573 '''
2574 error : Error
2575 result : UserAccess
2576 '''
2577 self.error = Error.from_json(error) if error else None
2578 self.result = UserAccess.from_json(result) if result else None
2579
2580
2581 class UserAccessResults(Type):
2582 _toSchema = {'results': 'results'}
2583 _toPy = {'results': 'results'}
2584 def __init__(self, results=None):
2585 '''
2586 results : typing.Sequence<+T_co>[~UserAccessResult]<~UserAccessResult>
2587 '''
2588 self.results = [UserAccessResult.from_json(o) for o in results or []]
2589
2590
2591 class UserModel(Type):
2592 _toSchema = {'last_connection': 'last-connection', 'model': 'model'}
2593 _toPy = {'last-connection': 'last_connection', 'model': 'model'}
2594 def __init__(self, last_connection=None, model=None):
2595 '''
2596 last_connection : str
2597 model : Model
2598 '''
2599 self.last_connection = last_connection
2600 self.model = Model.from_json(model) if model else None
2601
2602
2603 class UserModelList(Type):
2604 _toSchema = {'user_models': 'user-models'}
2605 _toPy = {'user-models': 'user_models'}
2606 def __init__(self, user_models=None):
2607 '''
2608 user_models : typing.Sequence<+T_co>[~UserModel]<~UserModel>
2609 '''
2610 self.user_models = [UserModel.from_json(o) for o in user_models or []]
2611
2612
2613 class BytesResult(Type):
2614 _toSchema = {'result': 'result'}
2615 _toPy = {'result': 'result'}
2616 def __init__(self, result=None):
2617 '''
2618 result : typing.Sequence<+T_co>[int]
2619 '''
2620 self.result = result
2621
2622
2623 class DeployerConnectionValues(Type):
2624 _toSchema = {'api_addresses': 'api-addresses', 'state_addresses': 'state-addresses'}
2625 _toPy = {'state-addresses': 'state_addresses', 'api-addresses': 'api_addresses'}
2626 def __init__(self, api_addresses=None, state_addresses=None):
2627 '''
2628 api_addresses : typing.Sequence<+T_co>[str]
2629 state_addresses : typing.Sequence<+T_co>[str]
2630 '''
2631 self.api_addresses = api_addresses
2632 self.state_addresses = state_addresses
2633
2634
2635 class LifeResult(Type):
2636 _toSchema = {'life': 'life', 'error': 'error'}
2637 _toPy = {'life': 'life', 'error': 'error'}
2638 def __init__(self, error=None, life=None):
2639 '''
2640 error : Error
2641 life : str
2642 '''
2643 self.error = Error.from_json(error) if error else None
2644 self.life = life
2645
2646
2647 class LifeResults(Type):
2648 _toSchema = {'results': 'results'}
2649 _toPy = {'results': 'results'}
2650 def __init__(self, results=None):
2651 '''
2652 results : typing.Sequence<+T_co>[~LifeResult]<~LifeResult>
2653 '''
2654 self.results = [LifeResult.from_json(o) for o in results or []]
2655
2656
2657 class StringsWatchResults(Type):
2658 _toSchema = {'results': 'results'}
2659 _toPy = {'results': 'results'}
2660 def __init__(self, results=None):
2661 '''
2662 results : typing.Sequence<+T_co>[~StringsWatchResult]<~StringsWatchResult>
2663 '''
2664 self.results = [StringsWatchResult.from_json(o) for o in results or []]
2665
2666
2667 class AddSubnetParams(Type):
2668 _toSchema = {'subnet_tag': 'subnet-tag', 'subnet_provider_id': 'subnet-provider-id', 'space_tag': 'space-tag', 'zones': 'zones'}
2669 _toPy = {'subnet-tag': 'subnet_tag', 'subnet-provider-id': 'subnet_provider_id', 'zones': 'zones', 'space-tag': 'space_tag'}
2670 def __init__(self, space_tag=None, subnet_provider_id=None, subnet_tag=None, zones=None):
2671 '''
2672 space_tag : str
2673 subnet_provider_id : str
2674 subnet_tag : str
2675 zones : typing.Sequence<+T_co>[str]
2676 '''
2677 self.space_tag = space_tag
2678 self.subnet_provider_id = subnet_provider_id
2679 self.subnet_tag = subnet_tag
2680 self.zones = zones
2681
2682
2683 class AddSubnetsParams(Type):
2684 _toSchema = {'subnets': 'subnets'}
2685 _toPy = {'subnets': 'subnets'}
2686 def __init__(self, subnets=None):
2687 '''
2688 subnets : typing.Sequence<+T_co>[~AddSubnetParams]<~AddSubnetParams>
2689 '''
2690 self.subnets = [AddSubnetParams.from_json(o) for o in subnets or []]
2691
2692
2693 class CreateSpaceParams(Type):
2694 _toSchema = {'provider_id': 'provider-id', 'space_tag': 'space-tag', 'subnet_tags': 'subnet-tags', 'public': 'public'}
2695 _toPy = {'subnet-tags': 'subnet_tags', 'space-tag': 'space_tag', 'public': 'public', 'provider-id': 'provider_id'}
2696 def __init__(self, provider_id=None, public=None, space_tag=None, subnet_tags=None):
2697 '''
2698 provider_id : str
2699 public : bool
2700 space_tag : str
2701 subnet_tags : typing.Sequence<+T_co>[str]
2702 '''
2703 self.provider_id = provider_id
2704 self.public = public
2705 self.space_tag = space_tag
2706 self.subnet_tags = subnet_tags
2707
2708
2709 class CreateSpacesParams(Type):
2710 _toSchema = {'spaces': 'spaces'}
2711 _toPy = {'spaces': 'spaces'}
2712 def __init__(self, spaces=None):
2713 '''
2714 spaces : typing.Sequence<+T_co>[~CreateSpaceParams]<~CreateSpaceParams>
2715 '''
2716 self.spaces = [CreateSpaceParams.from_json(o) for o in spaces or []]
2717
2718
2719 class DiscoverSpacesResults(Type):
2720 _toSchema = {'results': 'results'}
2721 _toPy = {'results': 'results'}
2722 def __init__(self, results=None):
2723 '''
2724 results : typing.Sequence<+T_co>[~ProviderSpace]<~ProviderSpace>
2725 '''
2726 self.results = [ProviderSpace.from_json(o) for o in results or []]
2727
2728
2729 class ListSubnetsResults(Type):
2730 _toSchema = {'results': 'results'}
2731 _toPy = {'results': 'results'}
2732 def __init__(self, results=None):
2733 '''
2734 results : typing.Sequence<+T_co>[~Subnet]<~Subnet>
2735 '''
2736 self.results = [Subnet.from_json(o) for o in results or []]
2737
2738
2739 class ProviderSpace(Type):
2740 _toSchema = {'name': 'name', 'provider_id': 'provider-id', 'subnets': 'subnets', 'error': 'error'}
2741 _toPy = {'name': 'name', 'subnets': 'subnets', 'provider-id': 'provider_id', 'error': 'error'}
2742 def __init__(self, error=None, name=None, provider_id=None, subnets=None):
2743 '''
2744 error : Error
2745 name : str
2746 provider_id : str
2747 subnets : typing.Sequence<+T_co>[~Subnet]<~Subnet>
2748 '''
2749 self.error = Error.from_json(error) if error else None
2750 self.name = name
2751 self.provider_id = provider_id
2752 self.subnets = [Subnet.from_json(o) for o in subnets or []]
2753
2754
2755 class Subnet(Type):
2756 _toSchema = {'status': 'status', 'provider_id': 'provider-id', 'space_tag': 'space-tag', 'vlan_tag': 'vlan-tag', 'zones': 'zones', 'life': 'life', 'cidr': 'cidr'}
2757 _toPy = {'status': 'status', 'zones': 'zones', 'vlan-tag': 'vlan_tag', 'life': 'life', 'cidr': 'cidr', 'space-tag': 'space_tag', 'provider-id': 'provider_id'}
2758 def __init__(self, cidr=None, life=None, provider_id=None, space_tag=None, status=None, vlan_tag=None, zones=None):
2759 '''
2760 cidr : str
2761 life : str
2762 provider_id : str
2763 space_tag : str
2764 status : str
2765 vlan_tag : int
2766 zones : typing.Sequence<+T_co>[str]
2767 '''
2768 self.cidr = cidr
2769 self.life = life
2770 self.provider_id = provider_id
2771 self.space_tag = space_tag
2772 self.status = status
2773 self.vlan_tag = vlan_tag
2774 self.zones = zones
2775
2776
2777 class SubnetsFilters(Type):
2778 _toSchema = {'space_tag': 'space-tag', 'zone': 'zone'}
2779 _toPy = {'space-tag': 'space_tag', 'zone': 'zone'}
2780 def __init__(self, space_tag=None, zone=None):
2781 '''
2782 space_tag : str
2783 zone : str
2784 '''
2785 self.space_tag = space_tag
2786 self.zone = zone
2787
2788
2789 class BlockDevice(Type):
2790 _toSchema = {'uuid': 'UUID', 'busaddress': 'BusAddress', 'size': 'Size', 'hardwareid': 'HardwareId', 'filesystemtype': 'FilesystemType', 'label': 'Label', 'devicelinks': 'DeviceLinks', 'inuse': 'InUse', 'mountpoint': 'MountPoint', 'devicename': 'DeviceName'}
2791 _toPy = {'InUse': 'inuse', 'Size': 'size', 'Label': 'label', 'DeviceName': 'devicename', 'BusAddress': 'busaddress', 'FilesystemType': 'filesystemtype', 'MountPoint': 'mountpoint', 'UUID': 'uuid', 'HardwareId': 'hardwareid', 'DeviceLinks': 'devicelinks'}
2792 def __init__(self, busaddress=None, devicelinks=None, devicename=None, filesystemtype=None, hardwareid=None, inuse=None, label=None, mountpoint=None, size=None, uuid=None):
2793 '''
2794 busaddress : str
2795 devicelinks : typing.Sequence<+T_co>[str]
2796 devicename : str
2797 filesystemtype : str
2798 hardwareid : str
2799 inuse : bool
2800 label : str
2801 mountpoint : str
2802 size : int
2803 uuid : str
2804 '''
2805 self.busaddress = busaddress
2806 self.devicelinks = devicelinks
2807 self.devicename = devicename
2808 self.filesystemtype = filesystemtype
2809 self.hardwareid = hardwareid
2810 self.inuse = inuse
2811 self.label = label
2812 self.mountpoint = mountpoint
2813 self.size = size
2814 self.uuid = uuid
2815
2816
2817 class MachineBlockDevices(Type):
2818 _toSchema = {'block_devices': 'block-devices', 'machine': 'machine'}
2819 _toPy = {'block-devices': 'block_devices', 'machine': 'machine'}
2820 def __init__(self, block_devices=None, machine=None):
2821 '''
2822 block_devices : typing.Sequence<+T_co>[~BlockDevice]<~BlockDevice>
2823 machine : str
2824 '''
2825 self.block_devices = [BlockDevice.from_json(o) for o in block_devices or []]
2826 self.machine = machine
2827
2828
2829 class SetMachineBlockDevices(Type):
2830 _toSchema = {'machine_block_devices': 'machine-block-devices'}
2831 _toPy = {'machine-block-devices': 'machine_block_devices'}
2832 def __init__(self, machine_block_devices=None):
2833 '''
2834 machine_block_devices : typing.Sequence<+T_co>[~MachineBlockDevices]<~MachineBlockDevices>
2835 '''
2836 self.machine_block_devices = [MachineBlockDevices.from_json(o) for o in machine_block_devices or []]
2837
2838
2839 class EntitiesWatchResult(Type):
2840 _toSchema = {'changes': 'changes', 'watcher_id': 'watcher-id', 'error': 'error'}
2841 _toPy = {'watcher-id': 'watcher_id', 'changes': 'changes', 'error': 'error'}
2842 def __init__(self, changes=None, error=None, watcher_id=None):
2843 '''
2844 changes : typing.Sequence<+T_co>[str]
2845 error : Error
2846 watcher_id : str
2847 '''
2848 self.changes = changes
2849 self.error = Error.from_json(error) if error else None
2850 self.watcher_id = watcher_id
2851
2852
2853 class MachineStorageId(Type):
2854 _toSchema = {'machine_tag': 'machine-tag', 'attachment_tag': 'attachment-tag'}
2855 _toPy = {'attachment-tag': 'attachment_tag', 'machine-tag': 'machine_tag'}
2856 def __init__(self, attachment_tag=None, machine_tag=None):
2857 '''
2858 attachment_tag : str
2859 machine_tag : str
2860 '''
2861 self.attachment_tag = attachment_tag
2862 self.machine_tag = machine_tag
2863
2864
2865 class MachineStorageIdsWatchResult(Type):
2866 _toSchema = {'changes': 'changes', 'watcher_id': 'watcher-id', 'error': 'error'}
2867 _toPy = {'watcher-id': 'watcher_id', 'changes': 'changes', 'error': 'error'}
2868 def __init__(self, changes=None, error=None, watcher_id=None):
2869 '''
2870 changes : typing.Sequence<+T_co>[~MachineStorageId]<~MachineStorageId>
2871 error : Error
2872 watcher_id : str
2873 '''
2874 self.changes = [MachineStorageId.from_json(o) for o in changes or []]
2875 self.error = Error.from_json(error) if error else None
2876 self.watcher_id = watcher_id
2877
2878
2879 class BoolResult(Type):
2880 _toSchema = {'result': 'result', 'error': 'error'}
2881 _toPy = {'result': 'result', 'error': 'error'}
2882 def __init__(self, error=None, result=None):
2883 '''
2884 error : Error
2885 result : bool
2886 '''
2887 self.error = Error.from_json(error) if error else None
2888 self.result = result
2889
2890
2891 class BoolResults(Type):
2892 _toSchema = {'results': 'results'}
2893 _toPy = {'results': 'results'}
2894 def __init__(self, results=None):
2895 '''
2896 results : typing.Sequence<+T_co>[~BoolResult]<~BoolResult>
2897 '''
2898 self.results = [BoolResult.from_json(o) for o in results or []]
2899
2900
2901 class MachinePortRange(Type):
2902 _toSchema = {'relation_tag': 'relation-tag', 'port_range': 'port-range', 'unit_tag': 'unit-tag'}
2903 _toPy = {'relation-tag': 'relation_tag', 'port-range': 'port_range', 'unit-tag': 'unit_tag'}
2904 def __init__(self, port_range=None, relation_tag=None, unit_tag=None):
2905 '''
2906 port_range : PortRange
2907 relation_tag : str
2908 unit_tag : str
2909 '''
2910 self.port_range = PortRange.from_json(port_range) if port_range else None
2911 self.relation_tag = relation_tag
2912 self.unit_tag = unit_tag
2913
2914
2915 class MachinePorts(Type):
2916 _toSchema = {'subnet_tag': 'subnet-tag', 'machine_tag': 'machine-tag'}
2917 _toPy = {'subnet-tag': 'subnet_tag', 'machine-tag': 'machine_tag'}
2918 def __init__(self, machine_tag=None, subnet_tag=None):
2919 '''
2920 machine_tag : str
2921 subnet_tag : str
2922 '''
2923 self.machine_tag = machine_tag
2924 self.subnet_tag = subnet_tag
2925
2926
2927 class MachinePortsParams(Type):
2928 _toSchema = {'params': 'params'}
2929 _toPy = {'params': 'params'}
2930 def __init__(self, params=None):
2931 '''
2932 params : typing.Sequence<+T_co>[~MachinePorts]<~MachinePorts>
2933 '''
2934 self.params = [MachinePorts.from_json(o) for o in params or []]
2935
2936
2937 class MachinePortsResult(Type):
2938 _toSchema = {'ports': 'ports', 'error': 'error'}
2939 _toPy = {'ports': 'ports', 'error': 'error'}
2940 def __init__(self, error=None, ports=None):
2941 '''
2942 error : Error
2943 ports : typing.Sequence<+T_co>[~MachinePortRange]<~MachinePortRange>
2944 '''
2945 self.error = Error.from_json(error) if error else None
2946 self.ports = [MachinePortRange.from_json(o) for o in ports or []]
2947
2948
2949 class MachinePortsResults(Type):
2950 _toSchema = {'results': 'results'}
2951 _toPy = {'results': 'results'}
2952 def __init__(self, results=None):
2953 '''
2954 results : typing.Sequence<+T_co>[~MachinePortsResult]<~MachinePortsResult>
2955 '''
2956 self.results = [MachinePortsResult.from_json(o) for o in results or []]
2957
2958
2959 class NotifyWatchResults(Type):
2960 _toSchema = {'results': 'results'}
2961 _toPy = {'results': 'results'}
2962 def __init__(self, results=None):
2963 '''
2964 results : typing.Sequence<+T_co>[~NotifyWatchResult]<~NotifyWatchResult>
2965 '''
2966 self.results = [NotifyWatchResult.from_json(o) for o in results or []]
2967
2968
2969 class PortRange(Type):
2970 _toSchema = {'from_port': 'from-port', 'to_port': 'to-port', 'protocol': 'protocol'}
2971 _toPy = {'from-port': 'from_port', 'protocol': 'protocol', 'to-port': 'to_port'}
2972 def __init__(self, from_port=None, protocol=None, to_port=None):
2973 '''
2974 from_port : int
2975 protocol : str
2976 to_port : int
2977 '''
2978 self.from_port = from_port
2979 self.protocol = protocol
2980 self.to_port = to_port
2981
2982
2983 class StringResults(Type):
2984 _toSchema = {'results': 'results'}
2985 _toPy = {'results': 'results'}
2986 def __init__(self, results=None):
2987 '''
2988 results : typing.Sequence<+T_co>[~StringResult]<~StringResult>
2989 '''
2990 self.results = [StringResult.from_json(o) for o in results or []]
2991
2992
2993 class ControllersChangeResult(Type):
2994 _toSchema = {'result': 'result', 'error': 'error'}
2995 _toPy = {'result': 'result', 'error': 'error'}
2996 def __init__(self, error=None, result=None):
2997 '''
2998 error : Error
2999 result : ControllersChanges
3000 '''
3001 self.error = Error.from_json(error) if error else None
3002 self.result = ControllersChanges.from_json(result) if result else None
3003
3004
3005 class ControllersChangeResults(Type):
3006 _toSchema = {'results': 'results'}
3007 _toPy = {'results': 'results'}
3008 def __init__(self, results=None):
3009 '''
3010 results : typing.Sequence<+T_co>[~ControllersChangeResult]<~ControllersChangeResult>
3011 '''
3012 self.results = [ControllersChangeResult.from_json(o) for o in results or []]
3013
3014
3015 class ControllersChanges(Type):
3016 _toSchema = {'removed': 'removed', 'demoted': 'demoted', 'added': 'added', 'maintained': 'maintained', 'converted': 'converted', 'promoted': 'promoted'}
3017 _toPy = {'removed': 'removed', 'demoted': 'demoted', 'added': 'added', 'maintained': 'maintained', 'converted': 'converted', 'promoted': 'promoted'}
3018 def __init__(self, added=None, converted=None, demoted=None, maintained=None, promoted=None, removed=None):
3019 '''
3020 added : typing.Sequence<+T_co>[str]
3021 converted : typing.Sequence<+T_co>[str]
3022 demoted : typing.Sequence<+T_co>[str]
3023 maintained : typing.Sequence<+T_co>[str]
3024 promoted : typing.Sequence<+T_co>[str]
3025 removed : typing.Sequence<+T_co>[str]
3026 '''
3027 self.added = added
3028 self.converted = converted
3029 self.demoted = demoted
3030 self.maintained = maintained
3031 self.promoted = promoted
3032 self.removed = removed
3033
3034
3035 class ControllersSpec(Type):
3036 _toSchema = {'model_tag': 'model-tag', 'num_controllers': 'num-controllers', 'series': 'series', 'constraints': 'constraints', 'placement': 'placement'}
3037 _toPy = {'model-tag': 'model_tag', 'placement': 'placement', 'num-controllers': 'num_controllers', 'constraints': 'constraints', 'series': 'series'}
3038 def __init__(self, constraints=None, model_tag=None, num_controllers=None, placement=None, series=None):
3039 '''
3040 constraints : Value
3041 model_tag : str
3042 num_controllers : int
3043 placement : typing.Sequence<+T_co>[str]
3044 series : str
3045 '''
3046 self.constraints = Value.from_json(constraints) if constraints else None
3047 self.model_tag = model_tag
3048 self.num_controllers = num_controllers
3049 self.placement = placement
3050 self.series = series
3051
3052
3053 class ControllersSpecs(Type):
3054 _toSchema = {'specs': 'specs'}
3055 _toPy = {'specs': 'specs'}
3056 def __init__(self, specs=None):
3057 '''
3058 specs : typing.Sequence<+T_co>[~ControllersSpec]<~ControllersSpec>
3059 '''
3060 self.specs = [ControllersSpec.from_json(o) for o in specs or []]
3061
3062
3063 class HAMember(Type):
3064 _toSchema = {'tag': 'tag', 'series': 'series', 'public_address': 'public-address'}
3065 _toPy = {'public-address': 'public_address', 'tag': 'tag', 'series': 'series'}
3066 def __init__(self, public_address=None, series=None, tag=None):
3067 '''
3068 public_address : Address
3069 series : str
3070 tag : str
3071 '''
3072 self.public_address = Address.from_json(public_address) if public_address else None
3073 self.series = series
3074 self.tag = tag
3075
3076
3077 class Member(Type):
3078 _toSchema = {'votes': 'Votes', 'buildindexes': 'BuildIndexes', 'tags': 'Tags', 'arbiter': 'Arbiter', 'address': 'Address', 'priority': 'Priority', 'hidden': 'Hidden', 'id_': 'Id', 'slavedelay': 'SlaveDelay'}
3079 _toPy = {'Id': 'id_', 'BuildIndexes': 'buildindexes', 'Address': 'address', 'SlaveDelay': 'slavedelay', 'Tags': 'tags', 'Votes': 'votes', 'Priority': 'priority', 'Hidden': 'hidden', 'Arbiter': 'arbiter'}
3080 def __init__(self, address=None, arbiter=None, buildindexes=None, hidden=None, id_=None, priority=None, slavedelay=None, tags=None, votes=None):
3081 '''
3082 address : str
3083 arbiter : bool
3084 buildindexes : bool
3085 hidden : bool
3086 id_ : int
3087 priority : float
3088 slavedelay : int
3089 tags : typing.Mapping<~KT, +VT_co>[str, str]
3090 votes : int
3091 '''
3092 self.address = address
3093 self.arbiter = arbiter
3094 self.buildindexes = buildindexes
3095 self.hidden = hidden
3096 self.id_ = id_
3097 self.priority = priority
3098 self.slavedelay = slavedelay
3099 self.tags = tags
3100 self.votes = votes
3101
3102
3103 class MongoUpgradeResults(Type):
3104 _toSchema = {'rs_members': 'rs-members', 'ha_members': 'ha-members', 'master': 'master'}
3105 _toPy = {'ha-members': 'ha_members', 'rs-members': 'rs_members', 'master': 'master'}
3106 def __init__(self, ha_members=None, master=None, rs_members=None):
3107 '''
3108 ha_members : typing.Sequence<+T_co>[~HAMember]<~HAMember>
3109 master : HAMember
3110 rs_members : typing.Sequence<+T_co>[~Member]<~Member>
3111 '''
3112 self.ha_members = [HAMember.from_json(o) for o in ha_members or []]
3113 self.master = HAMember.from_json(master) if master else None
3114 self.rs_members = [Member.from_json(o) for o in rs_members or []]
3115
3116
3117 class ResumeReplicationParams(Type):
3118 _toSchema = {'members': 'members'}
3119 _toPy = {'members': 'members'}
3120 def __init__(self, members=None):
3121 '''
3122 members : typing.Sequence<+T_co>[~Member]<~Member>
3123 '''
3124 self.members = [Member.from_json(o) for o in members or []]
3125
3126
3127 class UpgradeMongoParams(Type):
3128 _toSchema = {'patch': 'Patch', 'minor': 'Minor', 'major': 'Major', 'storageengine': 'StorageEngine'}
3129 _toPy = {'Major': 'major', 'Minor': 'minor', 'Patch': 'patch', 'StorageEngine': 'storageengine'}
3130 def __init__(self, major=None, minor=None, patch=None, storageengine=None):
3131 '''
3132 major : int
3133 minor : int
3134 patch : str
3135 storageengine : str
3136 '''
3137 self.major = major
3138 self.minor = minor
3139 self.patch = patch
3140 self.storageengine = storageengine
3141
3142
3143 class Version(Type):
3144 _toSchema = {'patch': 'Patch', 'minor': 'Minor', 'major': 'Major', 'storageengine': 'StorageEngine'}
3145 _toPy = {'Major': 'major', 'Minor': 'minor', 'Patch': 'patch', 'StorageEngine': 'storageengine'}
3146 def __init__(self, major=None, minor=None, patch=None, storageengine=None):
3147 '''
3148 major : int
3149 minor : int
3150 patch : str
3151 storageengine : str
3152 '''
3153 self.major = major
3154 self.minor = minor
3155 self.patch = patch
3156 self.storageengine = storageengine
3157
3158
3159 class SSHHostKeySet(Type):
3160 _toSchema = {'entity_keys': 'entity-keys'}
3161 _toPy = {'entity-keys': 'entity_keys'}
3162 def __init__(self, entity_keys=None):
3163 '''
3164 entity_keys : typing.Sequence<+T_co>[~SSHHostKeys]<~SSHHostKeys>
3165 '''
3166 self.entity_keys = [SSHHostKeys.from_json(o) for o in entity_keys or []]
3167
3168
3169 class SSHHostKeys(Type):
3170 _toSchema = {'tag': 'tag', 'public_keys': 'public-keys'}
3171 _toPy = {'tag': 'tag', 'public-keys': 'public_keys'}
3172 def __init__(self, public_keys=None, tag=None):
3173 '''
3174 public_keys : typing.Sequence<+T_co>[str]
3175 tag : str
3176 '''
3177 self.public_keys = public_keys
3178 self.tag = tag
3179
3180
3181 class ImageFilterParams(Type):
3182 _toSchema = {'images': 'images'}
3183 _toPy = {'images': 'images'}
3184 def __init__(self, images=None):
3185 '''
3186 images : typing.Sequence<+T_co>[~ImageSpec]<~ImageSpec>
3187 '''
3188 self.images = [ImageSpec.from_json(o) for o in images or []]
3189
3190
3191 class ImageMetadata(Type):
3192 _toSchema = {'kind': 'kind', 'created': 'created', 'url': 'url', 'series': 'series', 'arch': 'arch'}
3193 _toPy = {'kind': 'kind', 'created': 'created', 'url': 'url', 'series': 'series', 'arch': 'arch'}
3194 def __init__(self, arch=None, created=None, kind=None, series=None, url=None):
3195 '''
3196 arch : str
3197 created : str
3198 kind : str
3199 series : str
3200 url : str
3201 '''
3202 self.arch = arch
3203 self.created = created
3204 self.kind = kind
3205 self.series = series
3206 self.url = url
3207
3208
3209 class ImageSpec(Type):
3210 _toSchema = {'kind': 'kind', 'series': 'series', 'arch': 'arch'}
3211 _toPy = {'kind': 'kind', 'series': 'series', 'arch': 'arch'}
3212 def __init__(self, arch=None, kind=None, series=None):
3213 '''
3214 arch : str
3215 kind : str
3216 series : str
3217 '''
3218 self.arch = arch
3219 self.kind = kind
3220 self.series = series
3221
3222
3223 class ListImageResult(Type):
3224 _toSchema = {'result': 'result'}
3225 _toPy = {'result': 'result'}
3226 def __init__(self, result=None):
3227 '''
3228 result : typing.Sequence<+T_co>[~ImageMetadata]<~ImageMetadata>
3229 '''
3230 self.result = [ImageMetadata.from_json(o) for o in result or []]
3231
3232
3233 class CloudImageMetadata(Type):
3234 _toSchema = {'image_id': 'image-id', 'source': 'source', 'stream': 'stream', 'root_storage_type': 'root-storage-type', 'virt_type': 'virt-type', 'series': 'series', 'arch': 'arch', 'priority': 'priority', 'region': 'region', 'root_storage_size': 'root-storage-size', 'version': 'version'}
3235 _toPy = {'source': 'source', 'stream': 'stream', 'series': 'series', 'root-storage-size': 'root_storage_size', 'image-id': 'image_id', 'virt-type': 'virt_type', 'priority': 'priority', 'arch': 'arch', 'region': 'region', 'root-storage-type': 'root_storage_type', 'version': 'version'}
3236 def __init__(self, arch=None, image_id=None, priority=None, region=None, root_storage_size=None, root_storage_type=None, series=None, source=None, stream=None, version=None, virt_type=None):
3237 '''
3238 arch : str
3239 image_id : str
3240 priority : int
3241 region : str
3242 root_storage_size : int
3243 root_storage_type : str
3244 series : str
3245 source : str
3246 stream : str
3247 version : str
3248 virt_type : str
3249 '''
3250 self.arch = arch
3251 self.image_id = image_id
3252 self.priority = priority
3253 self.region = region
3254 self.root_storage_size = root_storage_size
3255 self.root_storage_type = root_storage_type
3256 self.series = series
3257 self.source = source
3258 self.stream = stream
3259 self.version = version
3260 self.virt_type = virt_type
3261
3262
3263 class CloudImageMetadataList(Type):
3264 _toSchema = {'metadata': 'metadata'}
3265 _toPy = {'metadata': 'metadata'}
3266 def __init__(self, metadata=None):
3267 '''
3268 metadata : typing.Sequence<+T_co>[~CloudImageMetadata]<~CloudImageMetadata>
3269 '''
3270 self.metadata = [CloudImageMetadata.from_json(o) for o in metadata or []]
3271
3272
3273 class ImageMetadataFilter(Type):
3274 _toSchema = {'stream': 'stream', 'root_storage_type': 'root-storage-type', 'virt_type': 'virt-type', 'series': 'series', 'region': 'region', 'arches': 'arches'}
3275 _toPy = {'stream': 'stream', 'arches': 'arches', 'series': 'series', 'virt-type': 'virt_type', 'region': 'region', 'root-storage-type': 'root_storage_type'}
3276 def __init__(self, arches=None, region=None, root_storage_type=None, series=None, stream=None, virt_type=None):
3277 '''
3278 arches : typing.Sequence<+T_co>[str]
3279 region : str
3280 root_storage_type : str
3281 series : typing.Sequence<+T_co>[str]
3282 stream : str
3283 virt_type : str
3284 '''
3285 self.arches = arches
3286 self.region = region
3287 self.root_storage_type = root_storage_type
3288 self.series = series
3289 self.stream = stream
3290 self.virt_type = virt_type
3291
3292
3293 class ListCloudImageMetadataResult(Type):
3294 _toSchema = {'result': 'result'}
3295 _toPy = {'result': 'result'}
3296 def __init__(self, result=None):
3297 '''
3298 result : typing.Sequence<+T_co>[~CloudImageMetadata]<~CloudImageMetadata>
3299 '''
3300 self.result = [CloudImageMetadata.from_json(o) for o in result or []]
3301
3302
3303 class MetadataImageIds(Type):
3304 _toSchema = {'image_ids': 'image-ids'}
3305 _toPy = {'image-ids': 'image_ids'}
3306 def __init__(self, image_ids=None):
3307 '''
3308 image_ids : typing.Sequence<+T_co>[str]
3309 '''
3310 self.image_ids = image_ids
3311
3312
3313 class MetadataSaveParams(Type):
3314 _toSchema = {'metadata': 'metadata'}
3315 _toPy = {'metadata': 'metadata'}
3316 def __init__(self, metadata=None):
3317 '''
3318 metadata : typing.Sequence<+T_co>[~CloudImageMetadataList]<~CloudImageMetadataList>
3319 '''
3320 self.metadata = [CloudImageMetadataList.from_json(o) for o in metadata or []]
3321
3322
3323 class EntityStatusArgs(Type):
3324 _toSchema = {'info': 'info', 'data': 'data', 'tag': 'tag', 'status': 'status'}
3325 _toPy = {'info': 'info', 'data': 'data', 'tag': 'tag', 'status': 'status'}
3326 def __init__(self, data=None, info=None, status=None, tag=None):
3327 '''
3328 data : typing.Mapping<~KT, +VT_co>[str, typing.Any]
3329 info : str
3330 status : str
3331 tag : str
3332 '''
3333 self.data = data
3334 self.info = info
3335 self.status = status
3336 self.tag = tag
3337
3338
3339 class MachineAddresses(Type):
3340 _toSchema = {'addresses': 'addresses', 'tag': 'tag'}
3341 _toPy = {'addresses': 'addresses', 'tag': 'tag'}
3342 def __init__(self, addresses=None, tag=None):
3343 '''
3344 addresses : typing.Sequence<+T_co>[~Address]<~Address>
3345 tag : str
3346 '''
3347 self.addresses = [Address.from_json(o) for o in addresses or []]
3348 self.tag = tag
3349
3350
3351 class MachineAddressesResult(Type):
3352 _toSchema = {'addresses': 'addresses', 'error': 'error'}
3353 _toPy = {'addresses': 'addresses', 'error': 'error'}
3354 def __init__(self, addresses=None, error=None):
3355 '''
3356 addresses : typing.Sequence<+T_co>[~Address]<~Address>
3357 error : Error
3358 '''
3359 self.addresses = [Address.from_json(o) for o in addresses or []]
3360 self.error = Error.from_json(error) if error else None
3361
3362
3363 class MachineAddressesResults(Type):
3364 _toSchema = {'results': 'results'}
3365 _toPy = {'results': 'results'}
3366 def __init__(self, results=None):
3367 '''
3368 results : typing.Sequence<+T_co>[~MachineAddressesResult]<~MachineAddressesResult>
3369 '''
3370 self.results = [MachineAddressesResult.from_json(o) for o in results or []]
3371
3372
3373 class SetMachinesAddresses(Type):
3374 _toSchema = {'machine_addresses': 'machine-addresses'}
3375 _toPy = {'machine-addresses': 'machine_addresses'}
3376 def __init__(self, machine_addresses=None):
3377 '''
3378 machine_addresses : typing.Sequence<+T_co>[~MachineAddresses]<~MachineAddresses>
3379 '''
3380 self.machine_addresses = [MachineAddresses.from_json(o) for o in machine_addresses or []]
3381
3382
3383 class SetStatus(Type):
3384 _toSchema = {'entities': 'entities'}
3385 _toPy = {'entities': 'entities'}
3386 def __init__(self, entities=None):
3387 '''
3388 entities : typing.Sequence<+T_co>[~EntityStatusArgs]<~EntityStatusArgs>
3389 '''
3390 self.entities = [EntityStatusArgs.from_json(o) for o in entities or []]
3391
3392
3393 class StatusResult(Type):
3394 _toSchema = {'info': 'info', 'data': 'data', 'since': 'since', 'error': 'error', 'life': 'life', 'status': 'status', 'id_': 'id'}
3395 _toPy = {'info': 'info', 'data': 'data', 'since': 'since', 'error': 'error', 'life': 'life', 'status': 'status', 'id': 'id_'}
3396 def __init__(self, data=None, error=None, id_=None, info=None, life=None, since=None, status=None):
3397 '''
3398 data : typing.Mapping<~KT, +VT_co>[str, typing.Any]
3399 error : Error
3400 id_ : str
3401 info : str
3402 life : str
3403 since : str
3404 status : str
3405 '''
3406 self.data = data
3407 self.error = Error.from_json(error) if error else None
3408 self.id_ = id_
3409 self.info = info
3410 self.life = life
3411 self.since = since
3412 self.status = status
3413
3414
3415 class StatusResults(Type):
3416 _toSchema = {'results': 'results'}
3417 _toPy = {'results': 'results'}
3418 def __init__(self, results=None):
3419 '''
3420 results : typing.Sequence<+T_co>[~StatusResult]<~StatusResult>
3421 '''
3422 self.results = [StatusResult.from_json(o) for o in results or []]
3423
3424
3425 class ListSSHKeys(Type):
3426 _toSchema = {'entities': 'entities', 'mode': 'mode'}
3427 _toPy = {'entities': 'entities', 'mode': 'mode'}
3428 def __init__(self, entities=None, mode=None):
3429 '''
3430 entities : Entities
3431 mode : bool
3432 '''
3433 self.entities = Entities.from_json(entities) if entities else None
3434 self.mode = mode
3435
3436
3437 class ModifyUserSSHKeys(Type):
3438 _toSchema = {'ssh_keys': 'ssh-keys', 'user': 'user'}
3439 _toPy = {'user': 'user', 'ssh-keys': 'ssh_keys'}
3440 def __init__(self, ssh_keys=None, user=None):
3441 '''
3442 ssh_keys : typing.Sequence<+T_co>[str]
3443 user : str
3444 '''
3445 self.ssh_keys = ssh_keys
3446 self.user = user
3447
3448
3449 class ApplicationTag(Type):
3450 _toSchema = {'name': 'Name'}
3451 _toPy = {'Name': 'name'}
3452 def __init__(self, name=None):
3453 '''
3454 name : str
3455 '''
3456 self.name = name
3457
3458
3459 class ClaimLeadershipBulkParams(Type):
3460 _toSchema = {'params': 'params'}
3461 _toPy = {'params': 'params'}
3462 def __init__(self, params=None):
3463 '''
3464 params : typing.Sequence<+T_co>[~ClaimLeadershipParams]<~ClaimLeadershipParams>
3465 '''
3466 self.params = [ClaimLeadershipParams.from_json(o) for o in params or []]
3467
3468
3469 class ClaimLeadershipBulkResults(Type):
3470 _toSchema = {'results': 'results'}
3471 _toPy = {'results': 'results'}
3472 def __init__(self, results=None):
3473 '''
3474 results : typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult>
3475 '''
3476 self.results = [ErrorResult.from_json(o) for o in results or []]
3477
3478
3479 class ClaimLeadershipParams(Type):
3480 _toSchema = {'unit_tag': 'unit-tag', 'duration': 'duration', 'application_tag': 'application-tag'}
3481 _toPy = {'application-tag': 'application_tag', 'unit-tag': 'unit_tag', 'duration': 'duration'}
3482 def __init__(self, application_tag=None, duration=None, unit_tag=None):
3483 '''
3484 application_tag : str
3485 duration : float
3486 unit_tag : str
3487 '''
3488 self.application_tag = application_tag
3489 self.duration = duration
3490 self.unit_tag = unit_tag
3491
3492
3493 class LogForwardingGetLastSentParams(Type):
3494 _toSchema = {'ids': 'ids'}
3495 _toPy = {'ids': 'ids'}
3496 def __init__(self, ids=None):
3497 '''
3498 ids : typing.Sequence<+T_co>[~LogForwardingID]<~LogForwardingID>
3499 '''
3500 self.ids = [LogForwardingID.from_json(o) for o in ids or []]
3501
3502
3503 class LogForwardingGetLastSentResult(Type):
3504 _toSchema = {'record_id': 'record-id', 'record_timestamp': 'record-timestamp', 'err': 'err'}
3505 _toPy = {'record-timestamp': 'record_timestamp', 'record-id': 'record_id', 'err': 'err'}
3506 def __init__(self, err=None, record_id=None, record_timestamp=None):
3507 '''
3508 err : Error
3509 record_id : int
3510 record_timestamp : int
3511 '''
3512 self.err = Error.from_json(err) if err else None
3513 self.record_id = record_id
3514 self.record_timestamp = record_timestamp
3515
3516
3517 class LogForwardingGetLastSentResults(Type):
3518 _toSchema = {'results': 'results'}
3519 _toPy = {'results': 'results'}
3520 def __init__(self, results=None):
3521 '''
3522 results : typing.Sequence<+T_co>[~LogForwardingGetLastSentResult]<~LogForwardingGetLastSentResult>
3523 '''
3524 self.results = [LogForwardingGetLastSentResult.from_json(o) for o in results or []]
3525
3526
3527 class LogForwardingID(Type):
3528 _toSchema = {'model': 'model', 'sink': 'sink'}
3529 _toPy = {'model': 'model', 'sink': 'sink'}
3530 def __init__(self, model=None, sink=None):
3531 '''
3532 model : str
3533 sink : str
3534 '''
3535 self.model = model
3536 self.sink = sink
3537
3538
3539 class LogForwardingSetLastSentParam(Type):
3540 _toSchema = {'record_id': 'record-id', 'logforwardingid': 'LogForwardingID', 'record_timestamp': 'record-timestamp'}
3541 _toPy = {'record-id': 'record_id', 'LogForwardingID': 'logforwardingid', 'record-timestamp': 'record_timestamp'}
3542 def __init__(self, logforwardingid=None, record_id=None, record_timestamp=None):
3543 '''
3544 logforwardingid : LogForwardingID
3545 record_id : int
3546 record_timestamp : int
3547 '''
3548 self.logforwardingid = LogForwardingID.from_json(logforwardingid) if logforwardingid else None
3549 self.record_id = record_id
3550 self.record_timestamp = record_timestamp
3551
3552
3553 class LogForwardingSetLastSentParams(Type):
3554 _toSchema = {'params': 'params'}
3555 _toPy = {'params': 'params'}
3556 def __init__(self, params=None):
3557 '''
3558 params : typing.Sequence<+T_co>[~LogForwardingSetLastSentParam]<~LogForwardingSetLastSentParam>
3559 '''
3560 self.params = [LogForwardingSetLastSentParam.from_json(o) for o in params or []]
3561
3562
3563 class ActionExecutionResult(Type):
3564 _toSchema = {'status': 'status', 'action_tag': 'action-tag', 'results': 'results', 'message': 'message'}
3565 _toPy = {'status': 'status', 'results': 'results', 'action-tag': 'action_tag', 'message': 'message'}
3566 def __init__(self, action_tag=None, message=None, results=None, status=None):
3567 '''
3568 action_tag : str
3569 message : str
3570 results : typing.Mapping<~KT, +VT_co>[str, typing.Any]
3571 status : str
3572 '''
3573 self.action_tag = action_tag
3574 self.message = message
3575 self.results = results
3576 self.status = status
3577
3578
3579 class ActionExecutionResults(Type):
3580 _toSchema = {'results': 'results'}
3581 _toPy = {'results': 'results'}
3582 def __init__(self, results=None):
3583 '''
3584 results : typing.Sequence<+T_co>[~ActionExecutionResult]<~ActionExecutionResult>
3585 '''
3586 self.results = [ActionExecutionResult.from_json(o) for o in results or []]
3587
3588
3589 class EntitiesResult(Type):
3590 _toSchema = {'entities': 'entities', 'error': 'error'}
3591 _toPy = {'entities': 'entities', 'error': 'error'}
3592 def __init__(self, entities=None, error=None):
3593 '''
3594 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
3595 error : Error
3596 '''
3597 self.entities = [Entity.from_json(o) for o in entities or []]
3598 self.error = Error.from_json(error) if error else None
3599
3600
3601 class EntitiesResults(Type):
3602 _toSchema = {'results': 'results'}
3603 _toPy = {'results': 'results'}
3604 def __init__(self, results=None):
3605 '''
3606 results : typing.Sequence<+T_co>[~EntitiesResult]<~EntitiesResult>
3607 '''
3608 self.results = [EntitiesResult.from_json(o) for o in results or []]
3609
3610
3611 class ProviderInterfaceInfo(Type):
3612 _toSchema = {'provider_id': 'provider-id', 'mac_address': 'mac-address', 'interface_name': 'interface-name'}
3613 _toPy = {'interface-name': 'interface_name', 'mac-address': 'mac_address', 'provider-id': 'provider_id'}
3614 def __init__(self, interface_name=None, mac_address=None, provider_id=None):
3615 '''
3616 interface_name : str
3617 mac_address : str
3618 provider_id : str
3619 '''
3620 self.interface_name = interface_name
3621 self.mac_address = mac_address
3622 self.provider_id = provider_id
3623
3624
3625 class ProviderInterfaceInfoResult(Type):
3626 _toSchema = {'interfaces': 'interfaces', 'machine_tag': 'machine-tag', 'error': 'error'}
3627 _toPy = {'interfaces': 'interfaces', 'machine-tag': 'machine_tag', 'error': 'error'}
3628 def __init__(self, error=None, interfaces=None, machine_tag=None):
3629 '''
3630 error : Error
3631 interfaces : typing.Sequence<+T_co>[~ProviderInterfaceInfo]<~ProviderInterfaceInfo>
3632 machine_tag : str
3633 '''
3634 self.error = Error.from_json(error) if error else None
3635 self.interfaces = [ProviderInterfaceInfo.from_json(o) for o in interfaces or []]
3636 self.machine_tag = machine_tag
3637
3638
3639 class ProviderInterfaceInfoResults(Type):
3640 _toSchema = {'results': 'results'}
3641 _toPy = {'results': 'results'}
3642 def __init__(self, results=None):
3643 '''
3644 results : typing.Sequence<+T_co>[~ProviderInterfaceInfoResult]<~ProviderInterfaceInfoResult>
3645 '''
3646 self.results = [ProviderInterfaceInfoResult.from_json(o) for o in results or []]
3647
3648
3649 class JobsResult(Type):
3650 _toSchema = {'jobs': 'jobs', 'error': 'error'}
3651 _toPy = {'jobs': 'jobs', 'error': 'error'}
3652 def __init__(self, error=None, jobs=None):
3653 '''
3654 error : Error
3655 jobs : typing.Sequence<+T_co>[str]
3656 '''
3657 self.error = Error.from_json(error) if error else None
3658 self.jobs = jobs
3659
3660
3661 class JobsResults(Type):
3662 _toSchema = {'results': 'results'}
3663 _toPy = {'results': 'results'}
3664 def __init__(self, results=None):
3665 '''
3666 results : typing.Sequence<+T_co>[~JobsResult]<~JobsResult>
3667 '''
3668 self.results = [JobsResult.from_json(o) for o in results or []]
3669
3670
3671 class NetworkConfig(Type):
3672 _toSchema = {'provider_address_id': 'provider-address-id', 'provider_id': 'provider-id', 'cidr': 'cidr', 'config_type': 'config-type', 'disabled': 'disabled', 'address': 'address', 'provider_vlan_id': 'provider-vlan-id', 'dns_servers': 'dns-servers', 'interface_type': 'interface-type', 'mac_address': 'mac-address', 'no_auto_start': 'no-auto-start', 'dns_search_domains': 'dns-search-domains', 'provider_subnet_id': 'provider-subnet-id', 'device_index': 'device-index', 'interface_name': 'interface-name', 'parent_interface_name': 'parent-interface-name', 'mtu': 'mtu', 'gateway_address': 'gateway-address', 'provider_space_id': 'provider-space-id', 'vlan_tag': 'vlan-tag'}
3673 _toPy = {'provider-vlan-id': 'provider_vlan_id', 'interface-name': 'interface_name', 'gateway-address': 'gateway_address', 'no-auto-start': 'no_auto_start', 'address': 'address', 'parent-interface-name': 'parent_interface_name', 'provider-subnet-id': 'provider_subnet_id', 'dns-search-domains': 'dns_search_domains', 'dns-servers': 'dns_servers', 'interface-type': 'interface_type', 'provider-space-id': 'provider_space_id', 'mac-address': 'mac_address', 'device-index': 'device_index', 'disabled': 'disabled', 'config-type': 'config_type', 'provider-address-id': 'provider_address_id', 'mtu': 'mtu', 'cidr': 'cidr', 'vlan-tag': 'vlan_tag', 'provider-id': 'provider_id'}
3674 def __init__(self, address=None, cidr=None, config_type=None, device_index=None, disabled=None, dns_search_domains=None, dns_servers=None, gateway_address=None, interface_name=None, interface_type=None, mac_address=None, mtu=None, no_auto_start=None, parent_interface_name=None, provider_address_id=None, provider_id=None, provider_space_id=None, provider_subnet_id=None, provider_vlan_id=None, vlan_tag=None):
3675 '''
3676 address : str
3677 cidr : str
3678 config_type : str
3679 device_index : int
3680 disabled : bool
3681 dns_search_domains : typing.Sequence<+T_co>[str]
3682 dns_servers : typing.Sequence<+T_co>[str]
3683 gateway_address : str
3684 interface_name : str
3685 interface_type : str
3686 mac_address : str
3687 mtu : int
3688 no_auto_start : bool
3689 parent_interface_name : str
3690 provider_address_id : str
3691 provider_id : str
3692 provider_space_id : str
3693 provider_subnet_id : str
3694 provider_vlan_id : str
3695 vlan_tag : int
3696 '''
3697 self.address = address
3698 self.cidr = cidr
3699 self.config_type = config_type
3700 self.device_index = device_index
3701 self.disabled = disabled
3702 self.dns_search_domains = dns_search_domains
3703 self.dns_servers = dns_servers
3704 self.gateway_address = gateway_address
3705 self.interface_name = interface_name
3706 self.interface_type = interface_type
3707 self.mac_address = mac_address
3708 self.mtu = mtu
3709 self.no_auto_start = no_auto_start
3710 self.parent_interface_name = parent_interface_name
3711 self.provider_address_id = provider_address_id
3712 self.provider_id = provider_id
3713 self.provider_space_id = provider_space_id
3714 self.provider_subnet_id = provider_subnet_id
3715 self.provider_vlan_id = provider_vlan_id
3716 self.vlan_tag = vlan_tag
3717
3718
3719 class SetMachineNetworkConfig(Type):
3720 _toSchema = {'config': 'config', 'tag': 'tag'}
3721 _toPy = {'config': 'config', 'tag': 'tag'}
3722 def __init__(self, config=None, tag=None):
3723 '''
3724 config : typing.Sequence<+T_co>[~NetworkConfig]<~NetworkConfig>
3725 tag : str
3726 '''
3727 self.config = [NetworkConfig.from_json(o) for o in config or []]
3728 self.tag = tag
3729
3730
3731 class MeterStatusResult(Type):
3732 _toSchema = {'info': 'info', 'code': 'code', 'error': 'error'}
3733 _toPy = {'info': 'info', 'code': 'code', 'error': 'error'}
3734 def __init__(self, code=None, error=None, info=None):
3735 '''
3736 code : str
3737 error : Error
3738 info : str
3739 '''
3740 self.code = code
3741 self.error = Error.from_json(error) if error else None
3742 self.info = info
3743
3744
3745 class MeterStatusResults(Type):
3746 _toSchema = {'results': 'results'}
3747 _toPy = {'results': 'results'}
3748 def __init__(self, results=None):
3749 '''
3750 results : typing.Sequence<+T_co>[~MeterStatusResult]<~MeterStatusResult>
3751 '''
3752 self.results = [MeterStatusResult.from_json(o) for o in results or []]
3753
3754
3755 class Metric(Type):
3756 _toSchema = {'time': 'time', 'value': 'value', 'key': 'key'}
3757 _toPy = {'time': 'time', 'value': 'value', 'key': 'key'}
3758 def __init__(self, key=None, time=None, value=None):
3759 '''
3760 key : str
3761 time : str
3762 value : str
3763 '''
3764 self.key = key
3765 self.time = time
3766 self.value = value
3767
3768
3769 class MetricBatch(Type):
3770 _toSchema = {'uuid': 'uuid', 'created': 'created', 'charm_url': 'charm-url', 'metrics': 'metrics'}
3771 _toPy = {'uuid': 'uuid', 'charm-url': 'charm_url', 'created': 'created', 'metrics': 'metrics'}
3772 def __init__(self, charm_url=None, created=None, metrics=None, uuid=None):
3773 '''
3774 charm_url : str
3775 created : str
3776 metrics : typing.Sequence<+T_co>[~Metric]<~Metric>
3777 uuid : str
3778 '''
3779 self.charm_url = charm_url
3780 self.created = created
3781 self.metrics = [Metric.from_json(o) for o in metrics or []]
3782 self.uuid = uuid
3783
3784
3785 class MetricBatchParam(Type):
3786 _toSchema = {'batch': 'batch', 'tag': 'tag'}
3787 _toPy = {'batch': 'batch', 'tag': 'tag'}
3788 def __init__(self, batch=None, tag=None):
3789 '''
3790 batch : MetricBatch
3791 tag : str
3792 '''
3793 self.batch = MetricBatch.from_json(batch) if batch else None
3794 self.tag = tag
3795
3796
3797 class MetricBatchParams(Type):
3798 _toSchema = {'batches': 'batches'}
3799 _toPy = {'batches': 'batches'}
3800 def __init__(self, batches=None):
3801 '''
3802 batches : typing.Sequence<+T_co>[~MetricBatchParam]<~MetricBatchParam>
3803 '''
3804 self.batches = [MetricBatchParam.from_json(o) for o in batches or []]
3805
3806
3807 class EntityMetrics(Type):
3808 _toSchema = {'metrics': 'metrics', 'error': 'error'}
3809 _toPy = {'metrics': 'metrics', 'error': 'error'}
3810 def __init__(self, error=None, metrics=None):
3811 '''
3812 error : Error
3813 metrics : typing.Sequence<+T_co>[~MetricResult]<~MetricResult>
3814 '''
3815 self.error = Error.from_json(error) if error else None
3816 self.metrics = [MetricResult.from_json(o) for o in metrics or []]
3817
3818
3819 class MeterStatusParam(Type):
3820 _toSchema = {'info': 'info', 'tag': 'tag', 'code': 'code'}
3821 _toPy = {'info': 'info', 'tag': 'tag', 'code': 'code'}
3822 def __init__(self, code=None, info=None, tag=None):
3823 '''
3824 code : str
3825 info : str
3826 tag : str
3827 '''
3828 self.code = code
3829 self.info = info
3830 self.tag = tag
3831
3832
3833 class MeterStatusParams(Type):
3834 _toSchema = {'statues': 'statues'}
3835 _toPy = {'statues': 'statues'}
3836 def __init__(self, statues=None):
3837 '''
3838 statues : typing.Sequence<+T_co>[~MeterStatusParam]<~MeterStatusParam>
3839 '''
3840 self.statues = [MeterStatusParam.from_json(o) for o in statues or []]
3841
3842
3843 class MetricResult(Type):
3844 _toSchema = {'time': 'time', 'value': 'value', 'key': 'key'}
3845 _toPy = {'time': 'time', 'value': 'value', 'key': 'key'}
3846 def __init__(self, key=None, time=None, value=None):
3847 '''
3848 key : str
3849 time : str
3850 value : str
3851 '''
3852 self.key = key
3853 self.time = time
3854 self.value = value
3855
3856
3857 class MetricResults(Type):
3858 _toSchema = {'results': 'results'}
3859 _toPy = {'results': 'results'}
3860 def __init__(self, results=None):
3861 '''
3862 results : typing.Sequence<+T_co>[~EntityMetrics]<~EntityMetrics>
3863 '''
3864 self.results = [EntityMetrics.from_json(o) for o in results or []]
3865
3866
3867 class PhaseResult(Type):
3868 _toSchema = {'phase': 'phase', 'error': 'error'}
3869 _toPy = {'phase': 'phase', 'error': 'error'}
3870 def __init__(self, error=None, phase=None):
3871 '''
3872 error : Error
3873 phase : str
3874 '''
3875 self.error = Error.from_json(error) if error else None
3876 self.phase = phase
3877
3878
3879 class PhaseResults(Type):
3880 _toSchema = {'results': 'results'}
3881 _toPy = {'results': 'results'}
3882 def __init__(self, results=None):
3883 '''
3884 results : typing.Sequence<+T_co>[~PhaseResult]<~PhaseResult>
3885 '''
3886 self.results = [PhaseResult.from_json(o) for o in results or []]
3887
3888
3889 class MasterMigrationStatus(Type):
3890 _toSchema = {'phase': 'phase', 'phase_changed_time': 'phase-changed-time', 'migration_id': 'migration-id', 'spec': 'spec'}
3891 _toPy = {'phase': 'phase', 'phase-changed-time': 'phase_changed_time', 'migration-id': 'migration_id', 'spec': 'spec'}
3892 def __init__(self, migration_id=None, phase=None, phase_changed_time=None, spec=None):
3893 '''
3894 migration_id : str
3895 phase : str
3896 phase_changed_time : str
3897 spec : MigrationSpec
3898 '''
3899 self.migration_id = migration_id
3900 self.phase = phase
3901 self.phase_changed_time = phase_changed_time
3902 self.spec = MigrationSpec.from_json(spec) if spec else None
3903
3904
3905 class MigrationModelInfo(Type):
3906 _toSchema = {'agent_version': 'agent-version', 'uuid': 'uuid', 'name': 'name'}
3907 _toPy = {'name': 'name', 'uuid': 'uuid', 'agent-version': 'agent_version'}
3908 def __init__(self, agent_version=None, name=None, uuid=None):
3909 '''
3910 agent_version : Number
3911 name : str
3912 uuid : str
3913 '''
3914 self.agent_version = Number.from_json(agent_version) if agent_version else None
3915 self.name = name
3916 self.uuid = uuid
3917
3918
3919 class MinionReports(Type):
3920 _toSchema = {'unknown_sample': 'unknown-sample', 'phase': 'phase', 'failed': 'failed', 'success_count': 'success-count', 'migration_id': 'migration-id', 'unknown_count': 'unknown-count'}
3921 _toPy = {'phase': 'phase', 'failed': 'failed', 'success-count': 'success_count', 'migration-id': 'migration_id', 'unknown-sample': 'unknown_sample', 'unknown-count': 'unknown_count'}
3922 def __init__(self, failed=None, migration_id=None, phase=None, success_count=None, unknown_count=None, unknown_sample=None):
3923 '''
3924 failed : typing.Sequence<+T_co>[str]
3925 migration_id : str
3926 phase : str
3927 success_count : int
3928 unknown_count : int
3929 unknown_sample : typing.Sequence<+T_co>[str]
3930 '''
3931 self.failed = failed
3932 self.migration_id = migration_id
3933 self.phase = phase
3934 self.success_count = success_count
3935 self.unknown_count = unknown_count
3936 self.unknown_sample = unknown_sample
3937
3938
3939 class SerializedModel(Type):
3940 _toSchema = {'charms': 'charms', 'bytes_': 'bytes', 'tools': 'tools'}
3941 _toPy = {'charms': 'charms', 'tools': 'tools', 'bytes': 'bytes_'}
3942 def __init__(self, bytes_=None, charms=None, tools=None):
3943 '''
3944 bytes_ : typing.Sequence<+T_co>[int]
3945 charms : typing.Sequence<+T_co>[str]
3946 tools : typing.Sequence<+T_co>[~SerializedModelTools]<~SerializedModelTools>
3947 '''
3948 self.bytes_ = bytes_
3949 self.charms = charms
3950 self.tools = [SerializedModelTools.from_json(o) for o in tools or []]
3951
3952
3953 class SerializedModelTools(Type):
3954 _toSchema = {'uri': 'uri', 'version': 'version'}
3955 _toPy = {'uri': 'uri', 'version': 'version'}
3956 def __init__(self, uri=None, version=None):
3957 '''
3958 uri : str
3959 version : str
3960 '''
3961 self.uri = uri
3962 self.version = version
3963
3964
3965 class SetMigrationPhaseArgs(Type):
3966 _toSchema = {'phase': 'phase'}
3967 _toPy = {'phase': 'phase'}
3968 def __init__(self, phase=None):
3969 '''
3970 phase : str
3971 '''
3972 self.phase = phase
3973
3974
3975 class SetMigrationStatusMessageArgs(Type):
3976 _toSchema = {'message': 'message'}
3977 _toPy = {'message': 'message'}
3978 def __init__(self, message=None):
3979 '''
3980 message : str
3981 '''
3982 self.message = message
3983
3984
3985 class MinionReport(Type):
3986 _toSchema = {'success': 'success', 'phase': 'phase', 'migration_id': 'migration-id'}
3987 _toPy = {'success': 'success', 'phase': 'phase', 'migration-id': 'migration_id'}
3988 def __init__(self, migration_id=None, phase=None, success=None):
3989 '''
3990 migration_id : str
3991 phase : str
3992 success : bool
3993 '''
3994 self.migration_id = migration_id
3995 self.phase = phase
3996 self.success = success
3997
3998
3999 class MigrationStatus(Type):
4000 _toSchema = {'target_ca_cert': 'target-ca-cert', 'phase': 'phase', 'target_api_addrs': 'target-api-addrs', 'source_api_addrs': 'source-api-addrs', 'attempt': 'attempt', 'migration_id': 'migration-id', 'source_ca_cert': 'source-ca-cert'}
4001 _toPy = {'phase': 'phase', 'source-ca-cert': 'source_ca_cert', 'target-api-addrs': 'target_api_addrs', 'target-ca-cert': 'target_ca_cert', 'source-api-addrs': 'source_api_addrs', 'attempt': 'attempt', 'migration-id': 'migration_id'}
4002 def __init__(self, attempt=None, migration_id=None, phase=None, source_api_addrs=None, source_ca_cert=None, target_api_addrs=None, target_ca_cert=None):
4003 '''
4004 attempt : int
4005 migration_id : str
4006 phase : str
4007 source_api_addrs : typing.Sequence<+T_co>[str]
4008 source_ca_cert : str
4009 target_api_addrs : typing.Sequence<+T_co>[str]
4010 target_ca_cert : str
4011 '''
4012 self.attempt = attempt
4013 self.migration_id = migration_id
4014 self.phase = phase
4015 self.source_api_addrs = source_api_addrs
4016 self.source_ca_cert = source_ca_cert
4017 self.target_api_addrs = target_api_addrs
4018 self.target_ca_cert = target_ca_cert
4019
4020
4021 class ModelArgs(Type):
4022 _toSchema = {'model_tag': 'model-tag'}
4023 _toPy = {'model-tag': 'model_tag'}
4024 def __init__(self, model_tag=None):
4025 '''
4026 model_tag : str
4027 '''
4028 self.model_tag = model_tag
4029
4030
4031 class TargetPrechecksArgs(Type):
4032 _toSchema = {'build': 'Build', 'patch': 'Patch', 'tag': 'Tag', 'minor': 'Minor', 'major': 'Major'}
4033 _toPy = {'Tag': 'tag', 'Major': 'major', 'Patch': 'patch', 'Minor': 'minor', 'Build': 'build'}
4034 def __init__(self, build=None, major=None, minor=None, patch=None, tag=None):
4035 '''
4036 build : int
4037 major : int
4038 minor : int
4039 patch : int
4040 tag : str
4041 '''
4042 self.build = build
4043 self.major = major
4044 self.minor = minor
4045 self.patch = patch
4046 self.tag = tag
4047
4048
4049 class MapResult(Type):
4050 _toSchema = {'result': 'result', 'error': 'error'}
4051 _toPy = {'result': 'result', 'error': 'error'}
4052 def __init__(self, error=None, result=None):
4053 '''
4054 error : Error
4055 result : typing.Mapping<~KT, +VT_co>[str, typing.Any]
4056 '''
4057 self.error = Error.from_json(error) if error else None
4058 self.result = result
4059
4060
4061 class MapResults(Type):
4062 _toSchema = {'results': 'results'}
4063 _toPy = {'results': 'results'}
4064 def __init__(self, results=None):
4065 '''
4066 results : typing.Sequence<+T_co>[~MapResult]<~MapResult>
4067 '''
4068 self.results = [MapResult.from_json(o) for o in results or []]
4069
4070
4071 class ModelCreateArgs(Type):
4072 _toSchema = {'config': 'config', 'cloud_tag': 'cloud-tag', 'owner_tag': 'owner-tag', 'region': 'region', 'name': 'name', 'credential': 'credential'}
4073 _toPy = {'config': 'config', 'region': 'region', 'name': 'name', 'owner-tag': 'owner_tag', 'cloud-tag': 'cloud_tag', 'credential': 'credential'}
4074 def __init__(self, cloud_tag=None, config=None, credential=None, name=None, owner_tag=None, region=None):
4075 '''
4076 cloud_tag : str
4077 config : typing.Mapping<~KT, +VT_co>[str, typing.Any]
4078 credential : str
4079 name : str
4080 owner_tag : str
4081 region : str
4082 '''
4083 self.cloud_tag = cloud_tag
4084 self.config = config
4085 self.credential = credential
4086 self.name = name
4087 self.owner_tag = owner_tag
4088 self.region = region
4089
4090
4091 class ModelInfoResult(Type):
4092 _toSchema = {'result': 'result', 'error': 'error'}
4093 _toPy = {'result': 'result', 'error': 'error'}
4094 def __init__(self, error=None, result=None):
4095 '''
4096 error : Error
4097 result : ModelInfo
4098 '''
4099 self.error = Error.from_json(error) if error else None
4100 self.result = ModelInfo.from_json(result) if result else None
4101
4102
4103 class ModelInfoResults(Type):
4104 _toSchema = {'results': 'results'}
4105 _toPy = {'results': 'results'}
4106 def __init__(self, results=None):
4107 '''
4108 results : typing.Sequence<+T_co>[~ModelInfoResult]<~ModelInfoResult>
4109 '''
4110 self.results = [ModelInfoResult.from_json(o) for o in results or []]
4111
4112
4113 class ModifyModelAccess(Type):
4114 _toSchema = {'model_tag': 'model-tag', 'access': 'access', 'action': 'action', 'user_tag': 'user-tag'}
4115 _toPy = {'model-tag': 'model_tag', 'access': 'access', 'action': 'action', 'user-tag': 'user_tag'}
4116 def __init__(self, access=None, action=None, model_tag=None, user_tag=None):
4117 '''
4118 access : str
4119 action : str
4120 model_tag : str
4121 user_tag : str
4122 '''
4123 self.access = access
4124 self.action = action
4125 self.model_tag = model_tag
4126 self.user_tag = user_tag
4127
4128
4129 class ModifyModelAccessRequest(Type):
4130 _toSchema = {'changes': 'changes'}
4131 _toPy = {'changes': 'changes'}
4132 def __init__(self, changes=None):
4133 '''
4134 changes : typing.Sequence<+T_co>[~ModifyModelAccess]<~ModifyModelAccess>
4135 '''
4136 self.changes = [ModifyModelAccess.from_json(o) for o in changes or []]
4137
4138
4139 class ConstraintsResult(Type):
4140 _toSchema = {'constraints': 'constraints', 'error': 'error'}
4141 _toPy = {'constraints': 'constraints', 'error': 'error'}
4142 def __init__(self, constraints=None, error=None):
4143 '''
4144 constraints : Value
4145 error : Error
4146 '''
4147 self.constraints = Value.from_json(constraints) if constraints else None
4148 self.error = Error.from_json(error) if error else None
4149
4150
4151 class ConstraintsResults(Type):
4152 _toSchema = {'results': 'results'}
4153 _toPy = {'results': 'results'}
4154 def __init__(self, results=None):
4155 '''
4156 results : typing.Sequence<+T_co>[~ConstraintsResult]<~ConstraintsResult>
4157 '''
4158 self.results = [ConstraintsResult.from_json(o) for o in results or []]
4159
4160
4161 class ContainerConfig(Type):
4162 _toSchema = {'updatebehavior': 'UpdateBehavior', 'authorized_keys': 'authorized-keys', 'apt_mirror': 'apt-mirror', 'proxy': 'proxy', 'ssl_hostname_verification': 'ssl-hostname-verification', 'provider_type': 'provider-type', 'apt_proxy': 'apt-proxy'}
4163 _toPy = {'ssl-hostname-verification': 'ssl_hostname_verification', 'apt-proxy': 'apt_proxy', 'proxy': 'proxy', 'apt-mirror': 'apt_mirror', 'UpdateBehavior': 'updatebehavior', 'authorized-keys': 'authorized_keys', 'provider-type': 'provider_type'}
4164 def __init__(self, updatebehavior=None, apt_mirror=None, apt_proxy=None, authorized_keys=None, provider_type=None, proxy=None, ssl_hostname_verification=None):
4165 '''
4166 updatebehavior : UpdateBehavior
4167 apt_mirror : str
4168 apt_proxy : Settings
4169 authorized_keys : str
4170 provider_type : str
4171 proxy : Settings
4172 ssl_hostname_verification : bool
4173 '''
4174 self.updatebehavior = UpdateBehavior.from_json(updatebehavior) if updatebehavior else None
4175 self.apt_mirror = apt_mirror
4176 self.apt_proxy = Settings.from_json(apt_proxy) if apt_proxy else None
4177 self.authorized_keys = authorized_keys
4178 self.provider_type = provider_type
4179 self.proxy = Settings.from_json(proxy) if proxy else None
4180 self.ssl_hostname_verification = ssl_hostname_verification
4181
4182
4183 class ContainerManagerConfig(Type):
4184 _toSchema = {'config': 'config'}
4185 _toPy = {'config': 'config'}
4186 def __init__(self, config=None):
4187 '''
4188 config : typing.Mapping<~KT, +VT_co>[str, str]
4189 '''
4190 self.config = config
4191
4192
4193 class ContainerManagerConfigParams(Type):
4194 _toSchema = {'type_': 'type'}
4195 _toPy = {'type': 'type_'}
4196 def __init__(self, type_=None):
4197 '''
4198 type_ : str
4199 '''
4200 self.type_ = type_
4201
4202
4203 class DistributionGroupResult(Type):
4204 _toSchema = {'result': 'result', 'error': 'error'}
4205 _toPy = {'result': 'result', 'error': 'error'}
4206 def __init__(self, error=None, result=None):
4207 '''
4208 error : Error
4209 result : typing.Sequence<+T_co>[str]
4210 '''
4211 self.error = Error.from_json(error) if error else None
4212 self.result = result
4213
4214
4215 class DistributionGroupResults(Type):
4216 _toSchema = {'results': 'results'}
4217 _toPy = {'results': 'results'}
4218 def __init__(self, results=None):
4219 '''
4220 results : typing.Sequence<+T_co>[~DistributionGroupResult]<~DistributionGroupResult>
4221 '''
4222 self.results = [DistributionGroupResult.from_json(o) for o in results or []]
4223
4224
4225 class InstanceInfo(Type):
4226 _toSchema = {'volumes': 'volumes', 'nonce': 'nonce', 'characteristics': 'characteristics', 'instance_id': 'instance-id', 'network_config': 'network-config', 'tag': 'tag', 'volume_attachments': 'volume-attachments'}
4227 _toPy = {'network-config': 'network_config', 'nonce': 'nonce', 'characteristics': 'characteristics', 'instance-id': 'instance_id', 'tag': 'tag', 'volumes': 'volumes', 'volume-attachments': 'volume_attachments'}
4228 def __init__(self, characteristics=None, instance_id=None, network_config=None, nonce=None, tag=None, volume_attachments=None, volumes=None):
4229 '''
4230 characteristics : HardwareCharacteristics
4231 instance_id : str
4232 network_config : typing.Sequence<+T_co>[~NetworkConfig]<~NetworkConfig>
4233 nonce : str
4234 tag : str
4235 volume_attachments : typing.Mapping<~KT, +VT_co>[str, ~VolumeAttachmentInfo]<~VolumeAttachmentInfo>
4236 volumes : typing.Sequence<+T_co>[~Volume]<~Volume>
4237 '''
4238 self.characteristics = HardwareCharacteristics.from_json(characteristics) if characteristics else None
4239 self.instance_id = instance_id
4240 self.network_config = [NetworkConfig.from_json(o) for o in network_config or []]
4241 self.nonce = nonce
4242 self.tag = tag
4243 self.volume_attachments = volume_attachments
4244 self.volumes = [Volume.from_json(o) for o in volumes or []]
4245
4246
4247 class InstancesInfo(Type):
4248 _toSchema = {'machines': 'machines'}
4249 _toPy = {'machines': 'machines'}
4250 def __init__(self, machines=None):
4251 '''
4252 machines : typing.Sequence<+T_co>[~InstanceInfo]<~InstanceInfo>
4253 '''
4254 self.machines = [InstanceInfo.from_json(o) for o in machines or []]
4255
4256
4257 class MachineContainers(Type):
4258 _toSchema = {'machine_tag': 'machine-tag', 'container_types': 'container-types'}
4259 _toPy = {'machine-tag': 'machine_tag', 'container-types': 'container_types'}
4260 def __init__(self, container_types=None, machine_tag=None):
4261 '''
4262 container_types : typing.Sequence<+T_co>[str]
4263 machine_tag : str
4264 '''
4265 self.container_types = container_types
4266 self.machine_tag = machine_tag
4267
4268
4269 class MachineContainersParams(Type):
4270 _toSchema = {'params': 'params'}
4271 _toPy = {'params': 'params'}
4272 def __init__(self, params=None):
4273 '''
4274 params : typing.Sequence<+T_co>[~MachineContainers]<~MachineContainers>
4275 '''
4276 self.params = [MachineContainers.from_json(o) for o in params or []]
4277
4278
4279 class MachineNetworkConfigResult(Type):
4280 _toSchema = {'info': 'info', 'error': 'error'}
4281 _toPy = {'info': 'info', 'error': 'error'}
4282 def __init__(self, error=None, info=None):
4283 '''
4284 error : Error
4285 info : typing.Sequence<+T_co>[~NetworkConfig]<~NetworkConfig>
4286 '''
4287 self.error = Error.from_json(error) if error else None
4288 self.info = [NetworkConfig.from_json(o) for o in info or []]
4289
4290
4291 class MachineNetworkConfigResults(Type):
4292 _toSchema = {'results': 'results'}
4293 _toPy = {'results': 'results'}
4294 def __init__(self, results=None):
4295 '''
4296 results : typing.Sequence<+T_co>[~MachineNetworkConfigResult]<~MachineNetworkConfigResult>
4297 '''
4298 self.results = [MachineNetworkConfigResult.from_json(o) for o in results or []]
4299
4300
4301 class ProvisioningInfo(Type):
4302 _toSchema = {'tags': 'tags', 'volumes': 'volumes', 'controller_config': 'controller-config', 'constraints': 'constraints', 'series': 'series', 'placement': 'placement', 'endpoint_bindings': 'endpoint-bindings', 'subnets_to_zones': 'subnets-to-zones', 'image_metadata': 'image-metadata', 'jobs': 'jobs'}
4303 _toPy = {'image-metadata': 'image_metadata', 'volumes': 'volumes', 'constraints': 'constraints', 'series': 'series', 'subnets-to-zones': 'subnets_to_zones', 'placement': 'placement', 'controller-config': 'controller_config', 'endpoint-bindings': 'endpoint_bindings', 'jobs': 'jobs', 'tags': 'tags'}
4304 def __init__(self, constraints=None, controller_config=None, endpoint_bindings=None, image_metadata=None, jobs=None, placement=None, series=None, subnets_to_zones=None, tags=None, volumes=None):
4305 '''
4306 constraints : Value
4307 controller_config : typing.Mapping<~KT, +VT_co>[str, typing.Any]
4308 endpoint_bindings : typing.Mapping<~KT, +VT_co>[str, str]
4309 image_metadata : typing.Sequence<+T_co>[~CloudImageMetadata]<~CloudImageMetadata>
4310 jobs : typing.Sequence<+T_co>[str]
4311 placement : str
4312 series : str
4313 subnets_to_zones : typing.Sequence<+T_co>[str]
4314 tags : typing.Mapping<~KT, +VT_co>[str, str]
4315 volumes : typing.Sequence<+T_co>[~VolumeParams]<~VolumeParams>
4316 '''
4317 self.constraints = Value.from_json(constraints) if constraints else None
4318 self.controller_config = controller_config
4319 self.endpoint_bindings = endpoint_bindings
4320 self.image_metadata = [CloudImageMetadata.from_json(o) for o in image_metadata or []]
4321 self.jobs = jobs
4322 self.placement = placement
4323 self.series = series
4324 self.subnets_to_zones = subnets_to_zones
4325 self.tags = tags
4326 self.volumes = [VolumeParams.from_json(o) for o in volumes or []]
4327
4328
4329 class ProvisioningInfoResult(Type):
4330 _toSchema = {'result': 'result', 'error': 'error'}
4331 _toPy = {'result': 'result', 'error': 'error'}
4332 def __init__(self, error=None, result=None):
4333 '''
4334 error : Error
4335 result : ProvisioningInfo
4336 '''
4337 self.error = Error.from_json(error) if error else None
4338 self.result = ProvisioningInfo.from_json(result) if result else None
4339
4340
4341 class ProvisioningInfoResults(Type):
4342 _toSchema = {'results': 'results'}
4343 _toPy = {'results': 'results'}
4344 def __init__(self, results=None):
4345 '''
4346 results : typing.Sequence<+T_co>[~ProvisioningInfoResult]<~ProvisioningInfoResult>
4347 '''
4348 self.results = [ProvisioningInfoResult.from_json(o) for o in results or []]
4349
4350
4351 class Settings(Type):
4352 _toSchema = {'https': 'Https', 'ftp': 'Ftp', 'noproxy': 'NoProxy', 'http': 'Http'}
4353 _toPy = {'Http': 'http', 'Https': 'https', 'Ftp': 'ftp', 'NoProxy': 'noproxy'}
4354 def __init__(self, ftp=None, http=None, https=None, noproxy=None):
4355 '''
4356 ftp : str
4357 http : str
4358 https : str
4359 noproxy : str
4360 '''
4361 self.ftp = ftp
4362 self.http = http
4363 self.https = https
4364 self.noproxy = noproxy
4365
4366
4367 class ToolsResult(Type):
4368 _toSchema = {'disable_ssl_hostname_verification': 'disable-ssl-hostname-verification', 'tools': 'tools', 'error': 'error'}
4369 _toPy = {'disable-ssl-hostname-verification': 'disable_ssl_hostname_verification', 'tools': 'tools', 'error': 'error'}
4370 def __init__(self, disable_ssl_hostname_verification=None, error=None, tools=None):
4371 '''
4372 disable_ssl_hostname_verification : bool
4373 error : Error
4374 tools : typing.Sequence<+T_co>[~Tools]<~Tools>
4375 '''
4376 self.disable_ssl_hostname_verification = disable_ssl_hostname_verification
4377 self.error = Error.from_json(error) if error else None
4378 self.tools = [Tools.from_json(o) for o in tools or []]
4379
4380
4381 class ToolsResults(Type):
4382 _toSchema = {'results': 'results'}
4383 _toPy = {'results': 'results'}
4384 def __init__(self, results=None):
4385 '''
4386 results : typing.Sequence<+T_co>[~ToolsResult]<~ToolsResult>
4387 '''
4388 self.results = [ToolsResult.from_json(o) for o in results or []]
4389
4390
4391 class UpdateBehavior(Type):
4392 _toSchema = {'enable_os_upgrade': 'enable-os-upgrade', 'enable_os_refresh_update': 'enable-os-refresh-update'}
4393 _toPy = {'enable-os-refresh-update': 'enable_os_refresh_update', 'enable-os-upgrade': 'enable_os_upgrade'}
4394 def __init__(self, enable_os_refresh_update=None, enable_os_upgrade=None):
4395 '''
4396 enable_os_refresh_update : bool
4397 enable_os_upgrade : bool
4398 '''
4399 self.enable_os_refresh_update = enable_os_refresh_update
4400 self.enable_os_upgrade = enable_os_upgrade
4401
4402
4403 class Volume(Type):
4404 _toSchema = {'info': 'info', 'volume_tag': 'volume-tag'}
4405 _toPy = {'info': 'info', 'volume-tag': 'volume_tag'}
4406 def __init__(self, info=None, volume_tag=None):
4407 '''
4408 info : VolumeInfo
4409 volume_tag : str
4410 '''
4411 self.info = VolumeInfo.from_json(info) if info else None
4412 self.volume_tag = volume_tag
4413
4414
4415 class VolumeAttachmentInfo(Type):
4416 _toSchema = {'bus_address': 'bus-address', 'device_name': 'device-name', 'device_link': 'device-link', 'read_only': 'read-only'}
4417 _toPy = {'device-link': 'device_link', 'read-only': 'read_only', 'device-name': 'device_name', 'bus-address': 'bus_address'}
4418 def __init__(self, bus_address=None, device_link=None, device_name=None, read_only=None):
4419 '''
4420 bus_address : str
4421 device_link : str
4422 device_name : str
4423 read_only : bool
4424 '''
4425 self.bus_address = bus_address
4426 self.device_link = device_link
4427 self.device_name = device_name
4428 self.read_only = read_only
4429
4430
4431 class VolumeAttachmentParams(Type):
4432 _toSchema = {'read_only': 'read-only', 'volume_id': 'volume-id', 'instance_id': 'instance-id', 'provider': 'provider', 'volume_tag': 'volume-tag', 'machine_tag': 'machine-tag'}
4433 _toPy = {'instance-id': 'instance_id', 'volume-id': 'volume_id', 'read-only': 'read_only', 'machine-tag': 'machine_tag', 'provider': 'provider', 'volume-tag': 'volume_tag'}
4434 def __init__(self, instance_id=None, machine_tag=None, provider=None, read_only=None, volume_id=None, volume_tag=None):
4435 '''
4436 instance_id : str
4437 machine_tag : str
4438 provider : str
4439 read_only : bool
4440 volume_id : str
4441 volume_tag : str
4442 '''
4443 self.instance_id = instance_id
4444 self.machine_tag = machine_tag
4445 self.provider = provider
4446 self.read_only = read_only
4447 self.volume_id = volume_id
4448 self.volume_tag = volume_tag
4449
4450
4451 class VolumeInfo(Type):
4452 _toSchema = {'hardware_id': 'hardware-id', 'persistent': 'persistent', 'volume_id': 'volume-id', 'size': 'size'}
4453 _toPy = {'persistent': 'persistent', 'size': 'size', 'volume-id': 'volume_id', 'hardware-id': 'hardware_id'}
4454 def __init__(self, hardware_id=None, persistent=None, size=None, volume_id=None):
4455 '''
4456 hardware_id : str
4457 persistent : bool
4458 size : int
4459 volume_id : str
4460 '''
4461 self.hardware_id = hardware_id
4462 self.persistent = persistent
4463 self.size = size
4464 self.volume_id = volume_id
4465
4466
4467 class VolumeParams(Type):
4468 _toSchema = {'attachment': 'attachment', 'size': 'size', 'tags': 'tags', 'attributes': 'attributes', 'provider': 'provider', 'volume_tag': 'volume-tag'}
4469 _toPy = {'attachment': 'attachment', 'size': 'size', 'tags': 'tags', 'attributes': 'attributes', 'provider': 'provider', 'volume-tag': 'volume_tag'}
4470 def __init__(self, attachment=None, attributes=None, provider=None, size=None, tags=None, volume_tag=None):
4471 '''
4472 attachment : VolumeAttachmentParams
4473 attributes : typing.Mapping<~KT, +VT_co>[str, typing.Any]
4474 provider : str
4475 size : int
4476 tags : typing.Mapping<~KT, +VT_co>[str, str]
4477 volume_tag : str
4478 '''
4479 self.attachment = VolumeAttachmentParams.from_json(attachment) if attachment else None
4480 self.attributes = attributes
4481 self.provider = provider
4482 self.size = size
4483 self.tags = tags
4484 self.volume_tag = volume_tag
4485
4486
4487 class WatchContainer(Type):
4488 _toSchema = {'machine_tag': 'machine-tag', 'container_type': 'container-type'}
4489 _toPy = {'machine-tag': 'machine_tag', 'container-type': 'container_type'}
4490 def __init__(self, container_type=None, machine_tag=None):
4491 '''
4492 container_type : str
4493 machine_tag : str
4494 '''
4495 self.container_type = container_type
4496 self.machine_tag = machine_tag
4497
4498
4499 class WatchContainers(Type):
4500 _toSchema = {'params': 'params'}
4501 _toPy = {'params': 'params'}
4502 def __init__(self, params=None):
4503 '''
4504 params : typing.Sequence<+T_co>[~WatchContainer]<~WatchContainer>
4505 '''
4506 self.params = [WatchContainer.from_json(o) for o in params or []]
4507
4508
4509 class ProxyConfig(Type):
4510 _toSchema = {'https': 'https', 'ftp': 'ftp', 'no_proxy': 'no-proxy', 'http': 'http'}
4511 _toPy = {'https': 'https', 'ftp': 'ftp', 'no-proxy': 'no_proxy', 'http': 'http'}
4512 def __init__(self, ftp=None, http=None, https=None, no_proxy=None):
4513 '''
4514 ftp : str
4515 http : str
4516 https : str
4517 no_proxy : str
4518 '''
4519 self.ftp = ftp
4520 self.http = http
4521 self.https = https
4522 self.no_proxy = no_proxy
4523
4524
4525 class ProxyConfigResult(Type):
4526 _toSchema = {'proxy_settings': 'proxy-settings', 'apt_proxy_settings': 'apt-proxy-settings', 'error': 'error'}
4527 _toPy = {'proxy-settings': 'proxy_settings', 'error': 'error', 'apt-proxy-settings': 'apt_proxy_settings'}
4528 def __init__(self, apt_proxy_settings=None, error=None, proxy_settings=None):
4529 '''
4530 apt_proxy_settings : ProxyConfig
4531 error : Error
4532 proxy_settings : ProxyConfig
4533 '''
4534 self.apt_proxy_settings = ProxyConfig.from_json(apt_proxy_settings) if apt_proxy_settings else None
4535 self.error = Error.from_json(error) if error else None
4536 self.proxy_settings = ProxyConfig.from_json(proxy_settings) if proxy_settings else None
4537
4538
4539 class ProxyConfigResults(Type):
4540 _toSchema = {'results': 'results'}
4541 _toPy = {'results': 'results'}
4542 def __init__(self, results=None):
4543 '''
4544 results : typing.Sequence<+T_co>[~ProxyConfigResult]<~ProxyConfigResult>
4545 '''
4546 self.results = [ProxyConfigResult.from_json(o) for o in results or []]
4547
4548
4549 class RebootActionResult(Type):
4550 _toSchema = {'result': 'result', 'error': 'error'}
4551 _toPy = {'result': 'result', 'error': 'error'}
4552 def __init__(self, error=None, result=None):
4553 '''
4554 error : Error
4555 result : str
4556 '''
4557 self.error = Error.from_json(error) if error else None
4558 self.result = result
4559
4560
4561 class RebootActionResults(Type):
4562 _toSchema = {'results': 'results'}
4563 _toPy = {'results': 'results'}
4564 def __init__(self, results=None):
4565 '''
4566 results : typing.Sequence<+T_co>[~RebootActionResult]<~RebootActionResult>
4567 '''
4568 self.results = [RebootActionResult.from_json(o) for o in results or []]
4569
4570
4571 class RelationUnitsChange(Type):
4572 _toSchema = {'departed': 'departed', 'changed': 'changed'}
4573 _toPy = {'departed': 'departed', 'changed': 'changed'}
4574 def __init__(self, changed=None, departed=None):
4575 '''
4576 changed : typing.Mapping<~KT, +VT_co>[str, ~UnitSettings]<~UnitSettings>
4577 departed : typing.Sequence<+T_co>[str]
4578 '''
4579 self.changed = changed
4580 self.departed = departed
4581
4582
4583 class RelationUnitsWatchResult(Type):
4584 _toSchema = {'changes': 'changes', 'watcher_id': 'watcher-id', 'error': 'error'}
4585 _toPy = {'watcher-id': 'watcher_id', 'changes': 'changes', 'error': 'error'}
4586 def __init__(self, changes=None, error=None, watcher_id=None):
4587 '''
4588 changes : RelationUnitsChange
4589 error : Error
4590 watcher_id : str
4591 '''
4592 self.changes = RelationUnitsChange.from_json(changes) if changes else None
4593 self.error = Error.from_json(error) if error else None
4594 self.watcher_id = watcher_id
4595
4596
4597 class UnitSettings(Type):
4598 _toSchema = {'version': 'version'}
4599 _toPy = {'version': 'version'}
4600 def __init__(self, version=None):
4601 '''
4602 version : int
4603 '''
4604 self.version = version
4605
4606
4607 class RetryStrategy(Type):
4608 _toSchema = {'max_retry_time': 'max-retry-time', 'should_retry': 'should-retry', 'jitter_retry_time': 'jitter-retry-time', 'min_retry_time': 'min-retry-time', 'retry_time_factor': 'retry-time-factor'}
4609 _toPy = {'max-retry-time': 'max_retry_time', 'min-retry-time': 'min_retry_time', 'jitter-retry-time': 'jitter_retry_time', 'should-retry': 'should_retry', 'retry-time-factor': 'retry_time_factor'}
4610 def __init__(self, jitter_retry_time=None, max_retry_time=None, min_retry_time=None, retry_time_factor=None, should_retry=None):
4611 '''
4612 jitter_retry_time : bool
4613 max_retry_time : int
4614 min_retry_time : int
4615 retry_time_factor : int
4616 should_retry : bool
4617 '''
4618 self.jitter_retry_time = jitter_retry_time
4619 self.max_retry_time = max_retry_time
4620 self.min_retry_time = min_retry_time
4621 self.retry_time_factor = retry_time_factor
4622 self.should_retry = should_retry
4623
4624
4625 class RetryStrategyResult(Type):
4626 _toSchema = {'result': 'result', 'error': 'error'}
4627 _toPy = {'result': 'result', 'error': 'error'}
4628 def __init__(self, error=None, result=None):
4629 '''
4630 error : Error
4631 result : RetryStrategy
4632 '''
4633 self.error = Error.from_json(error) if error else None
4634 self.result = RetryStrategy.from_json(result) if result else None
4635
4636
4637 class RetryStrategyResults(Type):
4638 _toSchema = {'results': 'results'}
4639 _toPy = {'results': 'results'}
4640 def __init__(self, results=None):
4641 '''
4642 results : typing.Sequence<+T_co>[~RetryStrategyResult]<~RetryStrategyResult>
4643 '''
4644 self.results = [RetryStrategyResult.from_json(o) for o in results or []]
4645
4646
4647 class SSHAddressResult(Type):
4648 _toSchema = {'error': 'error', 'address': 'address'}
4649 _toPy = {'error': 'error', 'address': 'address'}
4650 def __init__(self, address=None, error=None):
4651 '''
4652 address : str
4653 error : Error
4654 '''
4655 self.address = address
4656 self.error = Error.from_json(error) if error else None
4657
4658
4659 class SSHAddressResults(Type):
4660 _toSchema = {'results': 'results'}
4661 _toPy = {'results': 'results'}
4662 def __init__(self, results=None):
4663 '''
4664 results : typing.Sequence<+T_co>[~SSHAddressResult]<~SSHAddressResult>
4665 '''
4666 self.results = [SSHAddressResult.from_json(o) for o in results or []]
4667
4668
4669 class SSHProxyResult(Type):
4670 _toSchema = {'use_proxy': 'use-proxy'}
4671 _toPy = {'use-proxy': 'use_proxy'}
4672 def __init__(self, use_proxy=None):
4673 '''
4674 use_proxy : bool
4675 '''
4676 self.use_proxy = use_proxy
4677
4678
4679 class SSHPublicKeysResult(Type):
4680 _toSchema = {'public_keys': 'public-keys', 'error': 'error'}
4681 _toPy = {'public-keys': 'public_keys', 'error': 'error'}
4682 def __init__(self, error=None, public_keys=None):
4683 '''
4684 error : Error
4685 public_keys : typing.Sequence<+T_co>[str]
4686 '''
4687 self.error = Error.from_json(error) if error else None
4688 self.public_keys = public_keys
4689
4690
4691 class SSHPublicKeysResults(Type):
4692 _toSchema = {'results': 'results'}
4693 _toPy = {'results': 'results'}
4694 def __init__(self, results=None):
4695 '''
4696 results : typing.Sequence<+T_co>[~SSHPublicKeysResult]<~SSHPublicKeysResult>
4697 '''
4698 self.results = [SSHPublicKeysResult.from_json(o) for o in results or []]
4699
4700
4701 class SingularClaim(Type):
4702 _toSchema = {'model_tag': 'model-tag', 'duration': 'duration', 'controller_tag': 'controller-tag'}
4703 _toPy = {'model-tag': 'model_tag', 'controller-tag': 'controller_tag', 'duration': 'duration'}
4704 def __init__(self, controller_tag=None, duration=None, model_tag=None):
4705 '''
4706 controller_tag : str
4707 duration : int
4708 model_tag : str
4709 '''
4710 self.controller_tag = controller_tag
4711 self.duration = duration
4712 self.model_tag = model_tag
4713
4714
4715 class SingularClaims(Type):
4716 _toSchema = {'claims': 'claims'}
4717 _toPy = {'claims': 'claims'}
4718 def __init__(self, claims=None):
4719 '''
4720 claims : typing.Sequence<+T_co>[~SingularClaim]<~SingularClaim>
4721 '''
4722 self.claims = [SingularClaim.from_json(o) for o in claims or []]
4723
4724
4725 class ListSpacesResults(Type):
4726 _toSchema = {'results': 'results'}
4727 _toPy = {'results': 'results'}
4728 def __init__(self, results=None):
4729 '''
4730 results : typing.Sequence<+T_co>[~Space]<~Space>
4731 '''
4732 self.results = [Space.from_json(o) for o in results or []]
4733
4734
4735 class Space(Type):
4736 _toSchema = {'name': 'name', 'subnets': 'subnets', 'error': 'error'}
4737 _toPy = {'name': 'name', 'subnets': 'subnets', 'error': 'error'}
4738 def __init__(self, error=None, name=None, subnets=None):
4739 '''
4740 error : Error
4741 name : str
4742 subnets : typing.Sequence<+T_co>[~Subnet]<~Subnet>
4743 '''
4744 self.error = Error.from_json(error) if error else None
4745 self.name = name
4746 self.subnets = [Subnet.from_json(o) for o in subnets or []]
4747
4748
4749 class StatusHistoryPruneArgs(Type):
4750 _toSchema = {'max_history_time': 'max-history-time', 'max_history_mb': 'max-history-mb'}
4751 _toPy = {'max-history-mb': 'max_history_mb', 'max-history-time': 'max_history_time'}
4752 def __init__(self, max_history_mb=None, max_history_time=None):
4753 '''
4754 max_history_mb : int
4755 max_history_time : int
4756 '''
4757 self.max_history_mb = max_history_mb
4758 self.max_history_time = max_history_time
4759
4760
4761 class FilesystemAttachmentInfo(Type):
4762 _toSchema = {'read_only': 'read-only', 'mount_point': 'mount-point'}
4763 _toPy = {'read-only': 'read_only', 'mount-point': 'mount_point'}
4764 def __init__(self, mount_point=None, read_only=None):
4765 '''
4766 mount_point : str
4767 read_only : bool
4768 '''
4769 self.mount_point = mount_point
4770 self.read_only = read_only
4771
4772
4773 class FilesystemDetails(Type):
4774 _toSchema = {'info': 'info', 'machine_attachments': 'machine-attachments', 'status': 'status', 'storage': 'storage', 'filesystem_tag': 'filesystem-tag', 'volume_tag': 'volume-tag'}
4775 _toPy = {'info': 'info', 'status': 'status', 'storage': 'storage', 'machine-attachments': 'machine_attachments', 'volume-tag': 'volume_tag', 'filesystem-tag': 'filesystem_tag'}
4776 def __init__(self, filesystem_tag=None, info=None, machine_attachments=None, status=None, storage=None, volume_tag=None):
4777 '''
4778 filesystem_tag : str
4779 info : FilesystemInfo
4780 machine_attachments : typing.Mapping<~KT, +VT_co>[str, ~FilesystemAttachmentInfo]<~FilesystemAttachmentInfo>
4781 status : EntityStatus
4782 storage : StorageDetails
4783 volume_tag : str
4784 '''
4785 self.filesystem_tag = filesystem_tag
4786 self.info = FilesystemInfo.from_json(info) if info else None
4787 self.machine_attachments = machine_attachments
4788 self.status = EntityStatus.from_json(status) if status else None
4789 self.storage = StorageDetails.from_json(storage) if storage else None
4790 self.volume_tag = volume_tag
4791
4792
4793 class FilesystemDetailsListResult(Type):
4794 _toSchema = {'result': 'result', 'error': 'error'}
4795 _toPy = {'result': 'result', 'error': 'error'}
4796 def __init__(self, error=None, result=None):
4797 '''
4798 error : Error
4799 result : typing.Sequence<+T_co>[~FilesystemDetails]<~FilesystemDetails>
4800 '''
4801 self.error = Error.from_json(error) if error else None
4802 self.result = [FilesystemDetails.from_json(o) for o in result or []]
4803
4804
4805 class FilesystemDetailsListResults(Type):
4806 _toSchema = {'results': 'results'}
4807 _toPy = {'results': 'results'}
4808 def __init__(self, results=None):
4809 '''
4810 results : typing.Sequence<+T_co>[~FilesystemDetailsListResult]<~FilesystemDetailsListResult>
4811 '''
4812 self.results = [FilesystemDetailsListResult.from_json(o) for o in results or []]
4813
4814
4815 class FilesystemFilter(Type):
4816 _toSchema = {'machines': 'machines'}
4817 _toPy = {'machines': 'machines'}
4818 def __init__(self, machines=None):
4819 '''
4820 machines : typing.Sequence<+T_co>[str]
4821 '''
4822 self.machines = machines
4823
4824
4825 class FilesystemFilters(Type):
4826 _toSchema = {'filters': 'filters'}
4827 _toPy = {'filters': 'filters'}
4828 def __init__(self, filters=None):
4829 '''
4830 filters : typing.Sequence<+T_co>[~FilesystemFilter]<~FilesystemFilter>
4831 '''
4832 self.filters = [FilesystemFilter.from_json(o) for o in filters or []]
4833
4834
4835 class FilesystemInfo(Type):
4836 _toSchema = {'size': 'size', 'filesystem_id': 'filesystem-id'}
4837 _toPy = {'size': 'size', 'filesystem-id': 'filesystem_id'}
4838 def __init__(self, filesystem_id=None, size=None):
4839 '''
4840 filesystem_id : str
4841 size : int
4842 '''
4843 self.filesystem_id = filesystem_id
4844 self.size = size
4845
4846
4847 class StorageAddParams(Type):
4848 _toSchema = {'name': 'name', 'unit': 'unit', 'storage': 'storage'}
4849 _toPy = {'name': 'name', 'unit': 'unit', 'storage': 'storage'}
4850 def __init__(self, name=None, storage=None, unit=None):
4851 '''
4852 name : str
4853 storage : StorageConstraints
4854 unit : str
4855 '''
4856 self.name = name
4857 self.storage = StorageConstraints.from_json(storage) if storage else None
4858 self.unit = unit
4859
4860
4861 class StorageAttachmentDetails(Type):
4862 _toSchema = {'unit_tag': 'unit-tag', 'machine_tag': 'machine-tag', 'storage_tag': 'storage-tag', 'location': 'location'}
4863 _toPy = {'unit-tag': 'unit_tag', 'machine-tag': 'machine_tag', 'storage-tag': 'storage_tag', 'location': 'location'}
4864 def __init__(self, location=None, machine_tag=None, storage_tag=None, unit_tag=None):
4865 '''
4866 location : str
4867 machine_tag : str
4868 storage_tag : str
4869 unit_tag : str
4870 '''
4871 self.location = location
4872 self.machine_tag = machine_tag
4873 self.storage_tag = storage_tag
4874 self.unit_tag = unit_tag
4875
4876
4877 class StorageConstraints(Type):
4878 _toSchema = {'size': 'size', 'pool': 'pool', 'count': 'count'}
4879 _toPy = {'size': 'size', 'pool': 'pool', 'count': 'count'}
4880 def __init__(self, count=None, pool=None, size=None):
4881 '''
4882 count : int
4883 pool : str
4884 size : int
4885 '''
4886 self.count = count
4887 self.pool = pool
4888 self.size = size
4889
4890
4891 class StorageDetails(Type):
4892 _toSchema = {'kind': 'kind', 'owner_tag': 'owner-tag', 'status': 'status', 'persistent': 'persistent', 'storage_tag': 'storage-tag', 'attachments': 'attachments'}
4893 _toPy = {'kind': 'kind', 'storage-tag': 'storage_tag', 'status': 'status', 'owner-tag': 'owner_tag', 'persistent': 'persistent', 'attachments': 'attachments'}
4894 def __init__(self, attachments=None, kind=None, owner_tag=None, persistent=None, status=None, storage_tag=None):
4895 '''
4896 attachments : typing.Mapping<~KT, +VT_co>[str, ~StorageAttachmentDetails]<~StorageAttachmentDetails>
4897 kind : int
4898 owner_tag : str
4899 persistent : bool
4900 status : EntityStatus
4901 storage_tag : str
4902 '''
4903 self.attachments = attachments
4904 self.kind = kind
4905 self.owner_tag = owner_tag
4906 self.persistent = persistent
4907 self.status = EntityStatus.from_json(status) if status else None
4908 self.storage_tag = storage_tag
4909
4910
4911 class StorageDetailsListResult(Type):
4912 _toSchema = {'result': 'result', 'error': 'error'}
4913 _toPy = {'result': 'result', 'error': 'error'}
4914 def __init__(self, error=None, result=None):
4915 '''
4916 error : Error
4917 result : typing.Sequence<+T_co>[~StorageDetails]<~StorageDetails>
4918 '''
4919 self.error = Error.from_json(error) if error else None
4920 self.result = [StorageDetails.from_json(o) for o in result or []]
4921
4922
4923 class StorageDetailsListResults(Type):
4924 _toSchema = {'results': 'results'}
4925 _toPy = {'results': 'results'}
4926 def __init__(self, results=None):
4927 '''
4928 results : typing.Sequence<+T_co>[~StorageDetailsListResult]<~StorageDetailsListResult>
4929 '''
4930 self.results = [StorageDetailsListResult.from_json(o) for o in results or []]
4931
4932
4933 class StorageDetailsResult(Type):
4934 _toSchema = {'result': 'result', 'error': 'error'}
4935 _toPy = {'result': 'result', 'error': 'error'}
4936 def __init__(self, error=None, result=None):
4937 '''
4938 error : Error
4939 result : StorageDetails
4940 '''
4941 self.error = Error.from_json(error) if error else None
4942 self.result = StorageDetails.from_json(result) if result else None
4943
4944
4945 class StorageDetailsResults(Type):
4946 _toSchema = {'results': 'results'}
4947 _toPy = {'results': 'results'}
4948 def __init__(self, results=None):
4949 '''
4950 results : typing.Sequence<+T_co>[~StorageDetailsResult]<~StorageDetailsResult>
4951 '''
4952 self.results = [StorageDetailsResult.from_json(o) for o in results or []]
4953
4954
4955 class StorageFilter(Type):
4956 _toSchema = {}
4957 _toPy = {}
4958 def __init__(self):
4959 '''
4960
4961 '''
4962 pass
4963
4964
4965 class StorageFilters(Type):
4966 _toSchema = {'filters': 'filters'}
4967 _toPy = {'filters': 'filters'}
4968 def __init__(self, filters=None):
4969 '''
4970 filters : typing.Sequence<+T_co>[~StorageFilter]<~StorageFilter>
4971 '''
4972 self.filters = [StorageFilter.from_json(o) for o in filters or []]
4973
4974
4975 class StoragePool(Type):
4976 _toSchema = {'name': 'name', 'attrs': 'attrs', 'provider': 'provider'}
4977 _toPy = {'name': 'name', 'attrs': 'attrs', 'provider': 'provider'}
4978 def __init__(self, attrs=None, name=None, provider=None):
4979 '''
4980 attrs : typing.Mapping<~KT, +VT_co>[str, typing.Any]
4981 name : str
4982 provider : str
4983 '''
4984 self.attrs = attrs
4985 self.name = name
4986 self.provider = provider
4987
4988
4989 class StoragePoolFilter(Type):
4990 _toSchema = {'names': 'names', 'providers': 'providers'}
4991 _toPy = {'names': 'names', 'providers': 'providers'}
4992 def __init__(self, names=None, providers=None):
4993 '''
4994 names : typing.Sequence<+T_co>[str]
4995 providers : typing.Sequence<+T_co>[str]
4996 '''
4997 self.names = names
4998 self.providers = providers
4999
5000
5001 class StoragePoolFilters(Type):
5002 _toSchema = {'filters': 'filters'}
5003 _toPy = {'filters': 'filters'}
5004 def __init__(self, filters=None):
5005 '''
5006 filters : typing.Sequence<+T_co>[~StoragePoolFilter]<~StoragePoolFilter>
5007 '''
5008 self.filters = [StoragePoolFilter.from_json(o) for o in filters or []]
5009
5010
5011 class StoragePoolsResult(Type):
5012 _toSchema = {'storage_pools': 'storage-pools', 'error': 'error'}
5013 _toPy = {'storage-pools': 'storage_pools', 'error': 'error'}
5014 def __init__(self, error=None, storage_pools=None):
5015 '''
5016 error : Error
5017 storage_pools : typing.Sequence<+T_co>[~StoragePool]<~StoragePool>
5018 '''
5019 self.error = Error.from_json(error) if error else None
5020 self.storage_pools = [StoragePool.from_json(o) for o in storage_pools or []]
5021
5022
5023 class StoragePoolsResults(Type):
5024 _toSchema = {'results': 'results'}
5025 _toPy = {'results': 'results'}
5026 def __init__(self, results=None):
5027 '''
5028 results : typing.Sequence<+T_co>[~StoragePoolsResult]<~StoragePoolsResult>
5029 '''
5030 self.results = [StoragePoolsResult.from_json(o) for o in results or []]
5031
5032
5033 class StoragesAddParams(Type):
5034 _toSchema = {'storages': 'storages'}
5035 _toPy = {'storages': 'storages'}
5036 def __init__(self, storages=None):
5037 '''
5038 storages : typing.Sequence<+T_co>[~StorageAddParams]<~StorageAddParams>
5039 '''
5040 self.storages = [StorageAddParams.from_json(o) for o in storages or []]
5041
5042
5043 class VolumeDetails(Type):
5044 _toSchema = {'info': 'info', 'machine_attachments': 'machine-attachments', 'volume_tag': 'volume-tag', 'status': 'status', 'storage': 'storage'}
5045 _toPy = {'info': 'info', 'status': 'status', 'machine-attachments': 'machine_attachments', 'volume-tag': 'volume_tag', 'storage': 'storage'}
5046 def __init__(self, info=None, machine_attachments=None, status=None, storage=None, volume_tag=None):
5047 '''
5048 info : VolumeInfo
5049 machine_attachments : typing.Mapping<~KT, +VT_co>[str, ~VolumeAttachmentInfo]<~VolumeAttachmentInfo>
5050 status : EntityStatus
5051 storage : StorageDetails
5052 volume_tag : str
5053 '''
5054 self.info = VolumeInfo.from_json(info) if info else None
5055 self.machine_attachments = machine_attachments
5056 self.status = EntityStatus.from_json(status) if status else None
5057 self.storage = StorageDetails.from_json(storage) if storage else None
5058 self.volume_tag = volume_tag
5059
5060
5061 class VolumeDetailsListResult(Type):
5062 _toSchema = {'result': 'result', 'error': 'error'}
5063 _toPy = {'result': 'result', 'error': 'error'}
5064 def __init__(self, error=None, result=None):
5065 '''
5066 error : Error
5067 result : typing.Sequence<+T_co>[~VolumeDetails]<~VolumeDetails>
5068 '''
5069 self.error = Error.from_json(error) if error else None
5070 self.result = [VolumeDetails.from_json(o) for o in result or []]
5071
5072
5073 class VolumeDetailsListResults(Type):
5074 _toSchema = {'results': 'results'}
5075 _toPy = {'results': 'results'}
5076 def __init__(self, results=None):
5077 '''
5078 results : typing.Sequence<+T_co>[~VolumeDetailsListResult]<~VolumeDetailsListResult>
5079 '''
5080 self.results = [VolumeDetailsListResult.from_json(o) for o in results or []]
5081
5082
5083 class VolumeFilter(Type):
5084 _toSchema = {'machines': 'machines'}
5085 _toPy = {'machines': 'machines'}
5086 def __init__(self, machines=None):
5087 '''
5088 machines : typing.Sequence<+T_co>[str]
5089 '''
5090 self.machines = machines
5091
5092
5093 class VolumeFilters(Type):
5094 _toSchema = {'filters': 'filters'}
5095 _toPy = {'filters': 'filters'}
5096 def __init__(self, filters=None):
5097 '''
5098 filters : typing.Sequence<+T_co>[~VolumeFilter]<~VolumeFilter>
5099 '''
5100 self.filters = [VolumeFilter.from_json(o) for o in filters or []]
5101
5102
5103 class BlockDeviceResult(Type):
5104 _toSchema = {'result': 'result', 'error': 'error'}
5105 _toPy = {'result': 'result', 'error': 'error'}
5106 def __init__(self, error=None, result=None):
5107 '''
5108 error : Error
5109 result : BlockDevice
5110 '''
5111 self.error = Error.from_json(error) if error else None
5112 self.result = BlockDevice.from_json(result) if result else None
5113
5114
5115 class BlockDeviceResults(Type):
5116 _toSchema = {'results': 'results'}
5117 _toPy = {'results': 'results'}
5118 def __init__(self, results=None):
5119 '''
5120 results : typing.Sequence<+T_co>[~BlockDeviceResult]<~BlockDeviceResult>
5121 '''
5122 self.results = [BlockDeviceResult.from_json(o) for o in results or []]
5123
5124
5125 class Filesystem(Type):
5126 _toSchema = {'info': 'info', 'filesystem_tag': 'filesystem-tag', 'volume_tag': 'volume-tag'}
5127 _toPy = {'info': 'info', 'volume-tag': 'volume_tag', 'filesystem-tag': 'filesystem_tag'}
5128 def __init__(self, filesystem_tag=None, info=None, volume_tag=None):
5129 '''
5130 filesystem_tag : str
5131 info : FilesystemInfo
5132 volume_tag : str
5133 '''
5134 self.filesystem_tag = filesystem_tag
5135 self.info = FilesystemInfo.from_json(info) if info else None
5136 self.volume_tag = volume_tag
5137
5138
5139 class FilesystemAttachment(Type):
5140 _toSchema = {'info': 'info', 'filesystem_tag': 'filesystem-tag', 'machine_tag': 'machine-tag'}
5141 _toPy = {'info': 'info', 'machine-tag': 'machine_tag', 'filesystem-tag': 'filesystem_tag'}
5142 def __init__(self, filesystem_tag=None, info=None, machine_tag=None):
5143 '''
5144 filesystem_tag : str
5145 info : FilesystemAttachmentInfo
5146 machine_tag : str
5147 '''
5148 self.filesystem_tag = filesystem_tag
5149 self.info = FilesystemAttachmentInfo.from_json(info) if info else None
5150 self.machine_tag = machine_tag
5151
5152
5153 class FilesystemAttachmentParams(Type):
5154 _toSchema = {'read_only': 'read-only', 'machine_tag': 'machine-tag', 'instance_id': 'instance-id', 'filesystem_id': 'filesystem-id', 'filesystem_tag': 'filesystem-tag', 'mount_point': 'mount-point', 'provider': 'provider'}
5155 _toPy = {'instance-id': 'instance_id', 'provider': 'provider', 'read-only': 'read_only', 'machine-tag': 'machine_tag', 'filesystem-id': 'filesystem_id', 'mount-point': 'mount_point', 'filesystem-tag': 'filesystem_tag'}
5156 def __init__(self, filesystem_id=None, filesystem_tag=None, instance_id=None, machine_tag=None, mount_point=None, provider=None, read_only=None):
5157 '''
5158 filesystem_id : str
5159 filesystem_tag : str
5160 instance_id : str
5161 machine_tag : str
5162 mount_point : str
5163 provider : str
5164 read_only : bool
5165 '''
5166 self.filesystem_id = filesystem_id
5167 self.filesystem_tag = filesystem_tag
5168 self.instance_id = instance_id
5169 self.machine_tag = machine_tag
5170 self.mount_point = mount_point
5171 self.provider = provider
5172 self.read_only = read_only
5173
5174
5175 class FilesystemAttachmentParamsResult(Type):
5176 _toSchema = {'result': 'result', 'error': 'error'}
5177 _toPy = {'result': 'result', 'error': 'error'}
5178 def __init__(self, error=None, result=None):
5179 '''
5180 error : Error
5181 result : FilesystemAttachmentParams
5182 '''
5183 self.error = Error.from_json(error) if error else None
5184 self.result = FilesystemAttachmentParams.from_json(result) if result else None
5185
5186
5187 class FilesystemAttachmentParamsResults(Type):
5188 _toSchema = {'results': 'results'}
5189 _toPy = {'results': 'results'}
5190 def __init__(self, results=None):
5191 '''
5192 results : typing.Sequence<+T_co>[~FilesystemAttachmentParamsResult]<~FilesystemAttachmentParamsResult>
5193 '''
5194 self.results = [FilesystemAttachmentParamsResult.from_json(o) for o in results or []]
5195
5196
5197 class FilesystemAttachmentResult(Type):
5198 _toSchema = {'result': 'result', 'error': 'error'}
5199 _toPy = {'result': 'result', 'error': 'error'}
5200 def __init__(self, error=None, result=None):
5201 '''
5202 error : Error
5203 result : FilesystemAttachment
5204 '''
5205 self.error = Error.from_json(error) if error else None
5206 self.result = FilesystemAttachment.from_json(result) if result else None
5207
5208
5209 class FilesystemAttachmentResults(Type):
5210 _toSchema = {'results': 'results'}
5211 _toPy = {'results': 'results'}
5212 def __init__(self, results=None):
5213 '''
5214 results : typing.Sequence<+T_co>[~FilesystemAttachmentResult]<~FilesystemAttachmentResult>
5215 '''
5216 self.results = [FilesystemAttachmentResult.from_json(o) for o in results or []]
5217
5218
5219 class FilesystemAttachments(Type):
5220 _toSchema = {'filesystem_attachments': 'filesystem-attachments'}
5221 _toPy = {'filesystem-attachments': 'filesystem_attachments'}
5222 def __init__(self, filesystem_attachments=None):
5223 '''
5224 filesystem_attachments : typing.Sequence<+T_co>[~FilesystemAttachment]<~FilesystemAttachment>
5225 '''
5226 self.filesystem_attachments = [FilesystemAttachment.from_json(o) for o in filesystem_attachments or []]
5227
5228
5229 class FilesystemParams(Type):
5230 _toSchema = {'attachment': 'attachment', 'size': 'size', 'tags': 'tags', 'attributes': 'attributes', 'filesystem_tag': 'filesystem-tag', 'volume_tag': 'volume-tag', 'provider': 'provider'}
5231 _toPy = {'attachment': 'attachment', 'size': 'size', 'tags': 'tags', 'attributes': 'attributes', 'provider': 'provider', 'volume-tag': 'volume_tag', 'filesystem-tag': 'filesystem_tag'}
5232 def __init__(self, attachment=None, attributes=None, filesystem_tag=None, provider=None, size=None, tags=None, volume_tag=None):
5233 '''
5234 attachment : FilesystemAttachmentParams
5235 attributes : typing.Mapping<~KT, +VT_co>[str, typing.Any]
5236 filesystem_tag : str
5237 provider : str
5238 size : int
5239 tags : typing.Mapping<~KT, +VT_co>[str, str]
5240 volume_tag : str
5241 '''
5242 self.attachment = FilesystemAttachmentParams.from_json(attachment) if attachment else None
5243 self.attributes = attributes
5244 self.filesystem_tag = filesystem_tag
5245 self.provider = provider
5246 self.size = size
5247 self.tags = tags
5248 self.volume_tag = volume_tag
5249
5250
5251 class FilesystemParamsResult(Type):
5252 _toSchema = {'result': 'result', 'error': 'error'}
5253 _toPy = {'result': 'result', 'error': 'error'}
5254 def __init__(self, error=None, result=None):
5255 '''
5256 error : Error
5257 result : FilesystemParams
5258 '''
5259 self.error = Error.from_json(error) if error else None
5260 self.result = FilesystemParams.from_json(result) if result else None
5261
5262
5263 class FilesystemParamsResults(Type):
5264 _toSchema = {'results': 'results'}
5265 _toPy = {'results': 'results'}
5266 def __init__(self, results=None):
5267 '''
5268 results : typing.Sequence<+T_co>[~FilesystemParamsResult]<~FilesystemParamsResult>
5269 '''
5270 self.results = [FilesystemParamsResult.from_json(o) for o in results or []]
5271
5272
5273 class FilesystemResult(Type):
5274 _toSchema = {'result': 'result', 'error': 'error'}
5275 _toPy = {'result': 'result', 'error': 'error'}
5276 def __init__(self, error=None, result=None):
5277 '''
5278 error : Error
5279 result : Filesystem
5280 '''
5281 self.error = Error.from_json(error) if error else None
5282 self.result = Filesystem.from_json(result) if result else None
5283
5284
5285 class FilesystemResults(Type):
5286 _toSchema = {'results': 'results'}
5287 _toPy = {'results': 'results'}
5288 def __init__(self, results=None):
5289 '''
5290 results : typing.Sequence<+T_co>[~FilesystemResult]<~FilesystemResult>
5291 '''
5292 self.results = [FilesystemResult.from_json(o) for o in results or []]
5293
5294
5295 class Filesystems(Type):
5296 _toSchema = {'filesystems': 'filesystems'}
5297 _toPy = {'filesystems': 'filesystems'}
5298 def __init__(self, filesystems=None):
5299 '''
5300 filesystems : typing.Sequence<+T_co>[~Filesystem]<~Filesystem>
5301 '''
5302 self.filesystems = [Filesystem.from_json(o) for o in filesystems or []]
5303
5304
5305 class MachineStorageIds(Type):
5306 _toSchema = {'ids': 'ids'}
5307 _toPy = {'ids': 'ids'}
5308 def __init__(self, ids=None):
5309 '''
5310 ids : typing.Sequence<+T_co>[~MachineStorageId]<~MachineStorageId>
5311 '''
5312 self.ids = [MachineStorageId.from_json(o) for o in ids or []]
5313
5314
5315 class MachineStorageIdsWatchResults(Type):
5316 _toSchema = {'results': 'results'}
5317 _toPy = {'results': 'results'}
5318 def __init__(self, results=None):
5319 '''
5320 results : typing.Sequence<+T_co>[~MachineStorageIdsWatchResult]<~MachineStorageIdsWatchResult>
5321 '''
5322 self.results = [MachineStorageIdsWatchResult.from_json(o) for o in results or []]
5323
5324
5325 class VolumeAttachment(Type):
5326 _toSchema = {'info': 'info', 'machine_tag': 'machine-tag', 'volume_tag': 'volume-tag'}
5327 _toPy = {'info': 'info', 'machine-tag': 'machine_tag', 'volume-tag': 'volume_tag'}
5328 def __init__(self, info=None, machine_tag=None, volume_tag=None):
5329 '''
5330 info : VolumeAttachmentInfo
5331 machine_tag : str
5332 volume_tag : str
5333 '''
5334 self.info = VolumeAttachmentInfo.from_json(info) if info else None
5335 self.machine_tag = machine_tag
5336 self.volume_tag = volume_tag
5337
5338
5339 class VolumeAttachmentParamsResult(Type):
5340 _toSchema = {'result': 'result', 'error': 'error'}
5341 _toPy = {'result': 'result', 'error': 'error'}
5342 def __init__(self, error=None, result=None):
5343 '''
5344 error : Error
5345 result : VolumeAttachmentParams
5346 '''
5347 self.error = Error.from_json(error) if error else None
5348 self.result = VolumeAttachmentParams.from_json(result) if result else None
5349
5350
5351 class VolumeAttachmentParamsResults(Type):
5352 _toSchema = {'results': 'results'}
5353 _toPy = {'results': 'results'}
5354 def __init__(self, results=None):
5355 '''
5356 results : typing.Sequence<+T_co>[~VolumeAttachmentParamsResult]<~VolumeAttachmentParamsResult>
5357 '''
5358 self.results = [VolumeAttachmentParamsResult.from_json(o) for o in results or []]
5359
5360
5361 class VolumeAttachmentResult(Type):
5362 _toSchema = {'result': 'result', 'error': 'error'}
5363 _toPy = {'result': 'result', 'error': 'error'}
5364 def __init__(self, error=None, result=None):
5365 '''
5366 error : Error
5367 result : VolumeAttachment
5368 '''
5369 self.error = Error.from_json(error) if error else None
5370 self.result = VolumeAttachment.from_json(result) if result else None
5371
5372
5373 class VolumeAttachmentResults(Type):
5374 _toSchema = {'results': 'results'}
5375 _toPy = {'results': 'results'}
5376 def __init__(self, results=None):
5377 '''
5378 results : typing.Sequence<+T_co>[~VolumeAttachmentResult]<~VolumeAttachmentResult>
5379 '''
5380 self.results = [VolumeAttachmentResult.from_json(o) for o in results or []]
5381
5382
5383 class VolumeAttachments(Type):
5384 _toSchema = {'volume_attachments': 'volume-attachments'}
5385 _toPy = {'volume-attachments': 'volume_attachments'}
5386 def __init__(self, volume_attachments=None):
5387 '''
5388 volume_attachments : typing.Sequence<+T_co>[~VolumeAttachment]<~VolumeAttachment>
5389 '''
5390 self.volume_attachments = [VolumeAttachment.from_json(o) for o in volume_attachments or []]
5391
5392
5393 class VolumeParamsResult(Type):
5394 _toSchema = {'result': 'result', 'error': 'error'}
5395 _toPy = {'result': 'result', 'error': 'error'}
5396 def __init__(self, error=None, result=None):
5397 '''
5398 error : Error
5399 result : VolumeParams
5400 '''
5401 self.error = Error.from_json(error) if error else None
5402 self.result = VolumeParams.from_json(result) if result else None
5403
5404
5405 class VolumeParamsResults(Type):
5406 _toSchema = {'results': 'results'}
5407 _toPy = {'results': 'results'}
5408 def __init__(self, results=None):
5409 '''
5410 results : typing.Sequence<+T_co>[~VolumeParamsResult]<~VolumeParamsResult>
5411 '''
5412 self.results = [VolumeParamsResult.from_json(o) for o in results or []]
5413
5414
5415 class VolumeResult(Type):
5416 _toSchema = {'result': 'result', 'error': 'error'}
5417 _toPy = {'result': 'result', 'error': 'error'}
5418 def __init__(self, error=None, result=None):
5419 '''
5420 error : Error
5421 result : Volume
5422 '''
5423 self.error = Error.from_json(error) if error else None
5424 self.result = Volume.from_json(result) if result else None
5425
5426
5427 class VolumeResults(Type):
5428 _toSchema = {'results': 'results'}
5429 _toPy = {'results': 'results'}
5430 def __init__(self, results=None):
5431 '''
5432 results : typing.Sequence<+T_co>[~VolumeResult]<~VolumeResult>
5433 '''
5434 self.results = [VolumeResult.from_json(o) for o in results or []]
5435
5436
5437 class Volumes(Type):
5438 _toSchema = {'volumes': 'volumes'}
5439 _toPy = {'volumes': 'volumes'}
5440 def __init__(self, volumes=None):
5441 '''
5442 volumes : typing.Sequence<+T_co>[~Volume]<~Volume>
5443 '''
5444 self.volumes = [Volume.from_json(o) for o in volumes or []]
5445
5446
5447 class SpaceResult(Type):
5448 _toSchema = {'tag': 'tag', 'error': 'error'}
5449 _toPy = {'tag': 'tag', 'error': 'error'}
5450 def __init__(self, error=None, tag=None):
5451 '''
5452 error : Error
5453 tag : str
5454 '''
5455 self.error = Error.from_json(error) if error else None
5456 self.tag = tag
5457
5458
5459 class SpaceResults(Type):
5460 _toSchema = {'results': 'results'}
5461 _toPy = {'results': 'results'}
5462 def __init__(self, results=None):
5463 '''
5464 results : typing.Sequence<+T_co>[~SpaceResult]<~SpaceResult>
5465 '''
5466 self.results = [SpaceResult.from_json(o) for o in results or []]
5467
5468
5469 class ZoneResult(Type):
5470 _toSchema = {'name': 'name', 'available': 'available', 'error': 'error'}
5471 _toPy = {'name': 'name', 'available': 'available', 'error': 'error'}
5472 def __init__(self, available=None, error=None, name=None):
5473 '''
5474 available : bool
5475 error : Error
5476 name : str
5477 '''
5478 self.available = available
5479 self.error = Error.from_json(error) if error else None
5480 self.name = name
5481
5482
5483 class ZoneResults(Type):
5484 _toSchema = {'results': 'results'}
5485 _toPy = {'results': 'results'}
5486 def __init__(self, results=None):
5487 '''
5488 results : typing.Sequence<+T_co>[~ZoneResult]<~ZoneResult>
5489 '''
5490 self.results = [ZoneResult.from_json(o) for o in results or []]
5491
5492
5493 class UndertakerModelInfo(Type):
5494 _toSchema = {'is_system': 'is-system', 'life': 'life', 'uuid': 'uuid', 'global_name': 'global-name', 'name': 'name'}
5495 _toPy = {'global-name': 'global_name', 'is-system': 'is_system', 'uuid': 'uuid', 'life': 'life', 'name': 'name'}
5496 def __init__(self, global_name=None, is_system=None, life=None, name=None, uuid=None):
5497 '''
5498 global_name : str
5499 is_system : bool
5500 life : str
5501 name : str
5502 uuid : str
5503 '''
5504 self.global_name = global_name
5505 self.is_system = is_system
5506 self.life = life
5507 self.name = name
5508 self.uuid = uuid
5509
5510
5511 class UndertakerModelInfoResult(Type):
5512 _toSchema = {'result': 'result', 'error': 'error'}
5513 _toPy = {'result': 'result', 'error': 'error'}
5514 def __init__(self, error=None, result=None):
5515 '''
5516 error : Error
5517 result : UndertakerModelInfo
5518 '''
5519 self.error = Error.from_json(error) if error else None
5520 self.result = UndertakerModelInfo.from_json(result) if result else None
5521
5522
5523 class ApplicationStatusResult(Type):
5524 _toSchema = {'application': 'application', 'units': 'units', 'error': 'error'}
5525 _toPy = {'application': 'application', 'units': 'units', 'error': 'error'}
5526 def __init__(self, application=None, error=None, units=None):
5527 '''
5528 application : StatusResult
5529 error : Error
5530 units : typing.Mapping<~KT, +VT_co>[str, ~StatusResult]<~StatusResult>
5531 '''
5532 self.application = StatusResult.from_json(application) if application else None
5533 self.error = Error.from_json(error) if error else None
5534 self.units = units
5535
5536
5537 class ApplicationStatusResults(Type):
5538 _toSchema = {'results': 'results'}
5539 _toPy = {'results': 'results'}
5540 def __init__(self, results=None):
5541 '''
5542 results : typing.Sequence<+T_co>[~ApplicationStatusResult]<~ApplicationStatusResult>
5543 '''
5544 self.results = [ApplicationStatusResult.from_json(o) for o in results or []]
5545
5546
5547 class CharmURLs(Type):
5548 _toSchema = {'urls': 'urls'}
5549 _toPy = {'urls': 'urls'}
5550 def __init__(self, urls=None):
5551 '''
5552 urls : typing.Sequence<+T_co>[~CharmURL]<~CharmURL>
5553 '''
5554 self.urls = [CharmURL.from_json(o) for o in urls or []]
5555
5556
5557 class ConfigSettingsResult(Type):
5558 _toSchema = {'settings': 'settings', 'error': 'error'}
5559 _toPy = {'settings': 'settings', 'error': 'error'}
5560 def __init__(self, error=None, settings=None):
5561 '''
5562 error : Error
5563 settings : typing.Mapping<~KT, +VT_co>[str, typing.Any]
5564 '''
5565 self.error = Error.from_json(error) if error else None
5566 self.settings = settings
5567
5568
5569 class ConfigSettingsResults(Type):
5570 _toSchema = {'results': 'results'}
5571 _toPy = {'results': 'results'}
5572 def __init__(self, results=None):
5573 '''
5574 results : typing.Sequence<+T_co>[~ConfigSettingsResult]<~ConfigSettingsResult>
5575 '''
5576 self.results = [ConfigSettingsResult.from_json(o) for o in results or []]
5577
5578
5579 class Endpoint(Type):
5580 _toSchema = {'relation': 'relation', 'application_name': 'application-name'}
5581 _toPy = {'relation': 'relation', 'application-name': 'application_name'}
5582 def __init__(self, application_name=None, relation=None):
5583 '''
5584 application_name : str
5585 relation : CharmRelation
5586 '''
5587 self.application_name = application_name
5588 self.relation = CharmRelation.from_json(relation) if relation else None
5589
5590
5591 class EntitiesCharmURL(Type):
5592 _toSchema = {'entities': 'entities'}
5593 _toPy = {'entities': 'entities'}
5594 def __init__(self, entities=None):
5595 '''
5596 entities : typing.Sequence<+T_co>[~EntityCharmURL]<~EntityCharmURL>
5597 '''
5598 self.entities = [EntityCharmURL.from_json(o) for o in entities or []]
5599
5600
5601 class EntitiesPortRanges(Type):
5602 _toSchema = {'entities': 'entities'}
5603 _toPy = {'entities': 'entities'}
5604 def __init__(self, entities=None):
5605 '''
5606 entities : typing.Sequence<+T_co>[~EntityPortRange]<~EntityPortRange>
5607 '''
5608 self.entities = [EntityPortRange.from_json(o) for o in entities or []]
5609
5610
5611 class EntityCharmURL(Type):
5612 _toSchema = {'tag': 'tag', 'charm_url': 'charm-url'}
5613 _toPy = {'charm-url': 'charm_url', 'tag': 'tag'}
5614 def __init__(self, charm_url=None, tag=None):
5615 '''
5616 charm_url : str
5617 tag : str
5618 '''
5619 self.charm_url = charm_url
5620 self.tag = tag
5621
5622
5623 class EntityPortRange(Type):
5624 _toSchema = {'from_port': 'from-port', 'to_port': 'to-port', 'tag': 'tag', 'protocol': 'protocol'}
5625 _toPy = {'from-port': 'from_port', 'tag': 'tag', 'protocol': 'protocol', 'to-port': 'to_port'}
5626 def __init__(self, from_port=None, protocol=None, tag=None, to_port=None):
5627 '''
5628 from_port : int
5629 protocol : str
5630 tag : str
5631 to_port : int
5632 '''
5633 self.from_port = from_port
5634 self.protocol = protocol
5635 self.tag = tag
5636 self.to_port = to_port
5637
5638
5639 class EntityWorkloadVersion(Type):
5640 _toSchema = {'tag': 'tag', 'workload_version': 'workload-version'}
5641 _toPy = {'tag': 'tag', 'workload-version': 'workload_version'}
5642 def __init__(self, tag=None, workload_version=None):
5643 '''
5644 tag : str
5645 workload_version : str
5646 '''
5647 self.tag = tag
5648 self.workload_version = workload_version
5649
5650
5651 class EntityWorkloadVersions(Type):
5652 _toSchema = {'entities': 'entities'}
5653 _toPy = {'entities': 'entities'}
5654 def __init__(self, entities=None):
5655 '''
5656 entities : typing.Sequence<+T_co>[~EntityWorkloadVersion]<~EntityWorkloadVersion>
5657 '''
5658 self.entities = [EntityWorkloadVersion.from_json(o) for o in entities or []]
5659
5660
5661 class GetLeadershipSettingsBulkResults(Type):
5662 _toSchema = {'results': 'results'}
5663 _toPy = {'results': 'results'}
5664 def __init__(self, results=None):
5665 '''
5666 results : typing.Sequence<+T_co>[~GetLeadershipSettingsResult]<~GetLeadershipSettingsResult>
5667 '''
5668 self.results = [GetLeadershipSettingsResult.from_json(o) for o in results or []]
5669
5670
5671 class GetLeadershipSettingsResult(Type):
5672 _toSchema = {'settings': 'settings', 'error': 'error'}
5673 _toPy = {'settings': 'settings', 'error': 'error'}
5674 def __init__(self, error=None, settings=None):
5675 '''
5676 error : Error
5677 settings : typing.Mapping<~KT, +VT_co>[str, str]
5678 '''
5679 self.error = Error.from_json(error) if error else None
5680 self.settings = settings
5681
5682
5683 class IntResult(Type):
5684 _toSchema = {'result': 'result', 'error': 'error'}
5685 _toPy = {'result': 'result', 'error': 'error'}
5686 def __init__(self, error=None, result=None):
5687 '''
5688 error : Error
5689 result : int
5690 '''
5691 self.error = Error.from_json(error) if error else None
5692 self.result = result
5693
5694
5695 class IntResults(Type):
5696 _toSchema = {'results': 'results'}
5697 _toPy = {'results': 'results'}
5698 def __init__(self, results=None):
5699 '''
5700 results : typing.Sequence<+T_co>[~IntResult]<~IntResult>
5701 '''
5702 self.results = [IntResult.from_json(o) for o in results or []]
5703
5704
5705 class MergeLeadershipSettingsBulkParams(Type):
5706 _toSchema = {'params': 'params'}
5707 _toPy = {'params': 'params'}
5708 def __init__(self, params=None):
5709 '''
5710 params : typing.Sequence<+T_co>[~MergeLeadershipSettingsParam]<~MergeLeadershipSettingsParam>
5711 '''
5712 self.params = [MergeLeadershipSettingsParam.from_json(o) for o in params or []]
5713
5714
5715 class MergeLeadershipSettingsParam(Type):
5716 _toSchema = {'settings': 'settings', 'application_tag': 'application-tag'}
5717 _toPy = {'application-tag': 'application_tag', 'settings': 'settings'}
5718 def __init__(self, application_tag=None, settings=None):
5719 '''
5720 application_tag : str
5721 settings : typing.Mapping<~KT, +VT_co>[str, str]
5722 '''
5723 self.application_tag = application_tag
5724 self.settings = settings
5725
5726
5727 class ModelResult(Type):
5728 _toSchema = {'name': 'name', 'uuid': 'uuid', 'error': 'error'}
5729 _toPy = {'name': 'name', 'uuid': 'uuid', 'error': 'error'}
5730 def __init__(self, error=None, name=None, uuid=None):
5731 '''
5732 error : Error
5733 name : str
5734 uuid : str
5735 '''
5736 self.error = Error.from_json(error) if error else None
5737 self.name = name
5738 self.uuid = uuid
5739
5740
5741 class RelationIds(Type):
5742 _toSchema = {'relation_ids': 'relation-ids'}
5743 _toPy = {'relation-ids': 'relation_ids'}
5744 def __init__(self, relation_ids=None):
5745 '''
5746 relation_ids : typing.Sequence<+T_co>[int]
5747 '''
5748 self.relation_ids = relation_ids
5749
5750
5751 class RelationResult(Type):
5752 _toSchema = {'life': 'life', 'endpoint': 'endpoint', 'id_': 'id', 'key': 'key', 'error': 'error'}
5753 _toPy = {'life': 'life', 'endpoint': 'endpoint', 'id': 'id_', 'key': 'key', 'error': 'error'}
5754 def __init__(self, endpoint=None, error=None, id_=None, key=None, life=None):
5755 '''
5756 endpoint : Endpoint
5757 error : Error
5758 id_ : int
5759 key : str
5760 life : str
5761 '''
5762 self.endpoint = Endpoint.from_json(endpoint) if endpoint else None
5763 self.error = Error.from_json(error) if error else None
5764 self.id_ = id_
5765 self.key = key
5766 self.life = life
5767
5768
5769 class RelationResults(Type):
5770 _toSchema = {'results': 'results'}
5771 _toPy = {'results': 'results'}
5772 def __init__(self, results=None):
5773 '''
5774 results : typing.Sequence<+T_co>[~RelationResult]<~RelationResult>
5775 '''
5776 self.results = [RelationResult.from_json(o) for o in results or []]
5777
5778
5779 class RelationUnit(Type):
5780 _toSchema = {'relation': 'relation', 'unit': 'unit'}
5781 _toPy = {'relation': 'relation', 'unit': 'unit'}
5782 def __init__(self, relation=None, unit=None):
5783 '''
5784 relation : str
5785 unit : str
5786 '''
5787 self.relation = relation
5788 self.unit = unit
5789
5790
5791 class RelationUnitPair(Type):
5792 _toSchema = {'relation': 'relation', 'local_unit': 'local-unit', 'remote_unit': 'remote-unit'}
5793 _toPy = {'remote-unit': 'remote_unit', 'local-unit': 'local_unit', 'relation': 'relation'}
5794 def __init__(self, local_unit=None, relation=None, remote_unit=None):
5795 '''
5796 local_unit : str
5797 relation : str
5798 remote_unit : str
5799 '''
5800 self.local_unit = local_unit
5801 self.relation = relation
5802 self.remote_unit = remote_unit
5803
5804
5805 class RelationUnitPairs(Type):
5806 _toSchema = {'relation_unit_pairs': 'relation-unit-pairs'}
5807 _toPy = {'relation-unit-pairs': 'relation_unit_pairs'}
5808 def __init__(self, relation_unit_pairs=None):
5809 '''
5810 relation_unit_pairs : typing.Sequence<+T_co>[~RelationUnitPair]<~RelationUnitPair>
5811 '''
5812 self.relation_unit_pairs = [RelationUnitPair.from_json(o) for o in relation_unit_pairs or []]
5813
5814
5815 class RelationUnitSettings(Type):
5816 _toSchema = {'relation': 'relation', 'settings': 'settings', 'unit': 'unit'}
5817 _toPy = {'relation': 'relation', 'settings': 'settings', 'unit': 'unit'}
5818 def __init__(self, relation=None, settings=None, unit=None):
5819 '''
5820 relation : str
5821 settings : typing.Mapping<~KT, +VT_co>[str, str]
5822 unit : str
5823 '''
5824 self.relation = relation
5825 self.settings = settings
5826 self.unit = unit
5827
5828
5829 class RelationUnits(Type):
5830 _toSchema = {'relation_units': 'relation-units'}
5831 _toPy = {'relation-units': 'relation_units'}
5832 def __init__(self, relation_units=None):
5833 '''
5834 relation_units : typing.Sequence<+T_co>[~RelationUnit]<~RelationUnit>
5835 '''
5836 self.relation_units = [RelationUnit.from_json(o) for o in relation_units or []]
5837
5838
5839 class RelationUnitsSettings(Type):
5840 _toSchema = {'relation_units': 'relation-units'}
5841 _toPy = {'relation-units': 'relation_units'}
5842 def __init__(self, relation_units=None):
5843 '''
5844 relation_units : typing.Sequence<+T_co>[~RelationUnitSettings]<~RelationUnitSettings>
5845 '''
5846 self.relation_units = [RelationUnitSettings.from_json(o) for o in relation_units or []]
5847
5848
5849 class RelationUnitsWatchResults(Type):
5850 _toSchema = {'results': 'results'}
5851 _toPy = {'results': 'results'}
5852 def __init__(self, results=None):
5853 '''
5854 results : typing.Sequence<+T_co>[~RelationUnitsWatchResult]<~RelationUnitsWatchResult>
5855 '''
5856 self.results = [RelationUnitsWatchResult.from_json(o) for o in results or []]
5857
5858
5859 class ResolvedModeResult(Type):
5860 _toSchema = {'mode': 'mode', 'error': 'error'}
5861 _toPy = {'mode': 'mode', 'error': 'error'}
5862 def __init__(self, error=None, mode=None):
5863 '''
5864 error : Error
5865 mode : str
5866 '''
5867 self.error = Error.from_json(error) if error else None
5868 self.mode = mode
5869
5870
5871 class ResolvedModeResults(Type):
5872 _toSchema = {'results': 'results'}
5873 _toPy = {'results': 'results'}
5874 def __init__(self, results=None):
5875 '''
5876 results : typing.Sequence<+T_co>[~ResolvedModeResult]<~ResolvedModeResult>
5877 '''
5878 self.results = [ResolvedModeResult.from_json(o) for o in results or []]
5879
5880
5881 class SettingsResult(Type):
5882 _toSchema = {'settings': 'settings', 'error': 'error'}
5883 _toPy = {'settings': 'settings', 'error': 'error'}
5884 def __init__(self, error=None, settings=None):
5885 '''
5886 error : Error
5887 settings : typing.Mapping<~KT, +VT_co>[str, str]
5888 '''
5889 self.error = Error.from_json(error) if error else None
5890 self.settings = settings
5891
5892
5893 class SettingsResults(Type):
5894 _toSchema = {'results': 'results'}
5895 _toPy = {'results': 'results'}
5896 def __init__(self, results=None):
5897 '''
5898 results : typing.Sequence<+T_co>[~SettingsResult]<~SettingsResult>
5899 '''
5900 self.results = [SettingsResult.from_json(o) for o in results or []]
5901
5902
5903 class StorageAttachment(Type):
5904 _toSchema = {'kind': 'kind', 'owner_tag': 'owner-tag', 'location': 'location', 'life': 'life', 'storage_tag': 'storage-tag', 'unit_tag': 'unit-tag'}
5905 _toPy = {'kind': 'kind', 'storage-tag': 'storage_tag', 'location': 'location', 'life': 'life', 'owner-tag': 'owner_tag', 'unit-tag': 'unit_tag'}
5906 def __init__(self, kind=None, life=None, location=None, owner_tag=None, storage_tag=None, unit_tag=None):
5907 '''
5908 kind : int
5909 life : str
5910 location : str
5911 owner_tag : str
5912 storage_tag : str
5913 unit_tag : str
5914 '''
5915 self.kind = kind
5916 self.life = life
5917 self.location = location
5918 self.owner_tag = owner_tag
5919 self.storage_tag = storage_tag
5920 self.unit_tag = unit_tag
5921
5922
5923 class StorageAttachmentId(Type):
5924 _toSchema = {'storage_tag': 'storage-tag', 'unit_tag': 'unit-tag'}
5925 _toPy = {'unit-tag': 'unit_tag', 'storage-tag': 'storage_tag'}
5926 def __init__(self, storage_tag=None, unit_tag=None):
5927 '''
5928 storage_tag : str
5929 unit_tag : str
5930 '''
5931 self.storage_tag = storage_tag
5932 self.unit_tag = unit_tag
5933
5934
5935 class StorageAttachmentIds(Type):
5936 _toSchema = {'ids': 'ids'}
5937 _toPy = {'ids': 'ids'}
5938 def __init__(self, ids=None):
5939 '''
5940 ids : typing.Sequence<+T_co>[~StorageAttachmentId]<~StorageAttachmentId>
5941 '''
5942 self.ids = [StorageAttachmentId.from_json(o) for o in ids or []]
5943
5944
5945 class StorageAttachmentIdsResult(Type):
5946 _toSchema = {'result': 'result', 'error': 'error'}
5947 _toPy = {'result': 'result', 'error': 'error'}
5948 def __init__(self, error=None, result=None):
5949 '''
5950 error : Error
5951 result : StorageAttachmentIds
5952 '''
5953 self.error = Error.from_json(error) if error else None
5954 self.result = StorageAttachmentIds.from_json(result) if result else None
5955
5956
5957 class StorageAttachmentIdsResults(Type):
5958 _toSchema = {'results': 'results'}
5959 _toPy = {'results': 'results'}
5960 def __init__(self, results=None):
5961 '''
5962 results : typing.Sequence<+T_co>[~StorageAttachmentIdsResult]<~StorageAttachmentIdsResult>
5963 '''
5964 self.results = [StorageAttachmentIdsResult.from_json(o) for o in results or []]
5965
5966
5967 class StorageAttachmentResult(Type):
5968 _toSchema = {'result': 'result', 'error': 'error'}
5969 _toPy = {'result': 'result', 'error': 'error'}
5970 def __init__(self, error=None, result=None):
5971 '''
5972 error : Error
5973 result : StorageAttachment
5974 '''
5975 self.error = Error.from_json(error) if error else None
5976 self.result = StorageAttachment.from_json(result) if result else None
5977
5978
5979 class StorageAttachmentResults(Type):
5980 _toSchema = {'results': 'results'}
5981 _toPy = {'results': 'results'}
5982 def __init__(self, results=None):
5983 '''
5984 results : typing.Sequence<+T_co>[~StorageAttachmentResult]<~StorageAttachmentResult>
5985 '''
5986 self.results = [StorageAttachmentResult.from_json(o) for o in results or []]
5987
5988
5989 class StringBoolResult(Type):
5990 _toSchema = {'result': 'result', 'ok': 'ok', 'error': 'error'}
5991 _toPy = {'result': 'result', 'ok': 'ok', 'error': 'error'}
5992 def __init__(self, error=None, ok=None, result=None):
5993 '''
5994 error : Error
5995 ok : bool
5996 result : str
5997 '''
5998 self.error = Error.from_json(error) if error else None
5999 self.ok = ok
6000 self.result = result
6001
6002
6003 class StringBoolResults(Type):
6004 _toSchema = {'results': 'results'}
6005 _toPy = {'results': 'results'}
6006 def __init__(self, results=None):
6007 '''
6008 results : typing.Sequence<+T_co>[~StringBoolResult]<~StringBoolResult>
6009 '''
6010 self.results = [StringBoolResult.from_json(o) for o in results or []]
6011
6012
6013 class UnitNetworkConfig(Type):
6014 _toSchema = {'binding_name': 'binding-name', 'unit_tag': 'unit-tag'}
6015 _toPy = {'binding-name': 'binding_name', 'unit-tag': 'unit_tag'}
6016 def __init__(self, binding_name=None, unit_tag=None):
6017 '''
6018 binding_name : str
6019 unit_tag : str
6020 '''
6021 self.binding_name = binding_name
6022 self.unit_tag = unit_tag
6023
6024
6025 class UnitNetworkConfigResult(Type):
6026 _toSchema = {'info': 'info', 'error': 'error'}
6027 _toPy = {'info': 'info', 'error': 'error'}
6028 def __init__(self, error=None, info=None):
6029 '''
6030 error : Error
6031 info : typing.Sequence<+T_co>[~NetworkConfig]<~NetworkConfig>
6032 '''
6033 self.error = Error.from_json(error) if error else None
6034 self.info = [NetworkConfig.from_json(o) for o in info or []]
6035
6036
6037 class UnitNetworkConfigResults(Type):
6038 _toSchema = {'results': 'results'}
6039 _toPy = {'results': 'results'}
6040 def __init__(self, results=None):
6041 '''
6042 results : typing.Sequence<+T_co>[~UnitNetworkConfigResult]<~UnitNetworkConfigResult>
6043 '''
6044 self.results = [UnitNetworkConfigResult.from_json(o) for o in results or []]
6045
6046
6047 class UnitsNetworkConfig(Type):
6048 _toSchema = {'args': 'args'}
6049 _toPy = {'args': 'args'}
6050 def __init__(self, args=None):
6051 '''
6052 args : typing.Sequence<+T_co>[~UnitNetworkConfig]<~UnitNetworkConfig>
6053 '''
6054 self.args = [UnitNetworkConfig.from_json(o) for o in args or []]
6055
6056
6057 class EntitiesVersion(Type):
6058 _toSchema = {'agent_tools': 'agent-tools'}
6059 _toPy = {'agent-tools': 'agent_tools'}
6060 def __init__(self, agent_tools=None):
6061 '''
6062 agent_tools : typing.Sequence<+T_co>[~EntityVersion]<~EntityVersion>
6063 '''
6064 self.agent_tools = [EntityVersion.from_json(o) for o in agent_tools or []]
6065
6066
6067 class EntityVersion(Type):
6068 _toSchema = {'tag': 'tag', 'tools': 'tools'}
6069 _toPy = {'tag': 'tag', 'tools': 'tools'}
6070 def __init__(self, tag=None, tools=None):
6071 '''
6072 tag : str
6073 tools : Version
6074 '''
6075 self.tag = tag
6076 self.tools = Version.from_json(tools) if tools else None
6077
6078
6079 class VersionResult(Type):
6080 _toSchema = {'version': 'version', 'error': 'error'}
6081 _toPy = {'version': 'version', 'error': 'error'}
6082 def __init__(self, error=None, version=None):
6083 '''
6084 error : Error
6085 version : Number
6086 '''
6087 self.error = Error.from_json(error) if error else None
6088 self.version = Number.from_json(version) if version else None
6089
6090
6091 class VersionResults(Type):
6092 _toSchema = {'results': 'results'}
6093 _toPy = {'results': 'results'}
6094 def __init__(self, results=None):
6095 '''
6096 results : typing.Sequence<+T_co>[~VersionResult]<~VersionResult>
6097 '''
6098 self.results = [VersionResult.from_json(o) for o in results or []]
6099
6100
6101 class AddUser(Type):
6102 _toSchema = {'display_name': 'display-name', 'username': 'username', 'password': 'password'}
6103 _toPy = {'display-name': 'display_name', 'password': 'password', 'username': 'username'}
6104 def __init__(self, display_name=None, password=None, username=None):
6105 '''
6106 display_name : str
6107 password : str
6108 username : str
6109 '''
6110 self.display_name = display_name
6111 self.password = password
6112 self.username = username
6113
6114
6115 class AddUserResult(Type):
6116 _toSchema = {'secret_key': 'secret-key', 'tag': 'tag', 'error': 'error'}
6117 _toPy = {'tag': 'tag', 'secret-key': 'secret_key', 'error': 'error'}
6118 def __init__(self, error=None, secret_key=None, tag=None):
6119 '''
6120 error : Error
6121 secret_key : typing.Sequence<+T_co>[int]
6122 tag : str
6123 '''
6124 self.error = Error.from_json(error) if error else None
6125 self.secret_key = secret_key
6126 self.tag = tag
6127
6128
6129 class AddUserResults(Type):
6130 _toSchema = {'results': 'results'}
6131 _toPy = {'results': 'results'}
6132 def __init__(self, results=None):
6133 '''
6134 results : typing.Sequence<+T_co>[~AddUserResult]<~AddUserResult>
6135 '''
6136 self.results = [AddUserResult.from_json(o) for o in results or []]
6137
6138
6139 class AddUsers(Type):
6140 _toSchema = {'users': 'users'}
6141 _toPy = {'users': 'users'}
6142 def __init__(self, users=None):
6143 '''
6144 users : typing.Sequence<+T_co>[~AddUser]<~AddUser>
6145 '''
6146 self.users = [AddUser.from_json(o) for o in users or []]
6147
6148
6149 class MacaroonResult(Type):
6150 _toSchema = {'result': 'result', 'error': 'error'}
6151 _toPy = {'result': 'result', 'error': 'error'}
6152 def __init__(self, error=None, result=None):
6153 '''
6154 error : Error
6155 result : Macaroon
6156 '''
6157 self.error = Error.from_json(error) if error else None
6158 self.result = Macaroon.from_json(result) if result else None
6159
6160
6161 class MacaroonResults(Type):
6162 _toSchema = {'results': 'results'}
6163 _toPy = {'results': 'results'}
6164 def __init__(self, results=None):
6165 '''
6166 results : typing.Sequence<+T_co>[~MacaroonResult]<~MacaroonResult>
6167 '''
6168 self.results = [MacaroonResult.from_json(o) for o in results or []]
6169
6170
6171 class UserInfo(Type):
6172 _toSchema = {'display_name': 'display-name', 'username': 'username', 'last_connection': 'last-connection', 'disabled': 'disabled', 'access': 'access', 'created_by': 'created-by', 'date_created': 'date-created'}
6173 _toPy = {'last-connection': 'last_connection', 'username': 'username', 'disabled': 'disabled', 'date-created': 'date_created', 'created-by': 'created_by', 'access': 'access', 'display-name': 'display_name'}
6174 def __init__(self, access=None, created_by=None, date_created=None, disabled=None, display_name=None, last_connection=None, username=None):
6175 '''
6176 access : str
6177 created_by : str
6178 date_created : str
6179 disabled : bool
6180 display_name : str
6181 last_connection : str
6182 username : str
6183 '''
6184 self.access = access
6185 self.created_by = created_by
6186 self.date_created = date_created
6187 self.disabled = disabled
6188 self.display_name = display_name
6189 self.last_connection = last_connection
6190 self.username = username
6191
6192
6193 class UserInfoRequest(Type):
6194 _toSchema = {'include_disabled': 'include-disabled', 'entities': 'entities'}
6195 _toPy = {'entities': 'entities', 'include-disabled': 'include_disabled'}
6196 def __init__(self, entities=None, include_disabled=None):
6197 '''
6198 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
6199 include_disabled : bool
6200 '''
6201 self.entities = [Entity.from_json(o) for o in entities or []]
6202 self.include_disabled = include_disabled
6203
6204
6205 class UserInfoResult(Type):
6206 _toSchema = {'result': 'result', 'error': 'error'}
6207 _toPy = {'result': 'result', 'error': 'error'}
6208 def __init__(self, error=None, result=None):
6209 '''
6210 error : Error
6211 result : UserInfo
6212 '''
6213 self.error = Error.from_json(error) if error else None
6214 self.result = UserInfo.from_json(result) if result else None
6215
6216
6217 class UserInfoResults(Type):
6218 _toSchema = {'results': 'results'}
6219 _toPy = {'results': 'results'}
6220 def __init__(self, results=None):
6221 '''
6222 results : typing.Sequence<+T_co>[~UserInfoResult]<~UserInfoResult>
6223 '''
6224 self.results = [UserInfoResult.from_json(o) for o in results or []]
6225
6226
6227 class ActionFacade(Type):
6228 name = 'Action'
6229 version = 2
6230 schema = {'definitions': {'Action': {'additionalProperties': False,
6231 'properties': {'name': {'type': 'string'},
6232 'parameters': {'patternProperties': {'.*': {'additionalProperties': True,
6233 'type': 'object'}},
6234 'type': 'object'},
6235 'receiver': {'type': 'string'},
6236 'tag': {'type': 'string'}},
6237 'required': ['tag', 'receiver', 'name'],
6238 'type': 'object'},
6239 'ActionResult': {'additionalProperties': False,
6240 'properties': {'action': {'$ref': '#/definitions/Action'},
6241 'completed': {'format': 'date-time',
6242 'type': 'string'},
6243 'enqueued': {'format': 'date-time',
6244 'type': 'string'},
6245 'error': {'$ref': '#/definitions/Error'},
6246 'message': {'type': 'string'},
6247 'output': {'patternProperties': {'.*': {'additionalProperties': True,
6248 'type': 'object'}},
6249 'type': 'object'},
6250 'started': {'format': 'date-time',
6251 'type': 'string'},
6252 'status': {'type': 'string'}},
6253 'type': 'object'},
6254 'ActionResults': {'additionalProperties': False,
6255 'properties': {'results': {'items': {'$ref': '#/definitions/ActionResult'},
6256 'type': 'array'}},
6257 'type': 'object'},
6258 'ActionSpec': {'additionalProperties': False,
6259 'properties': {'description': {'type': 'string'},
6260 'params': {'patternProperties': {'.*': {'additionalProperties': True,
6261 'type': 'object'}},
6262 'type': 'object'}},
6263 'required': ['description', 'params'],
6264 'type': 'object'},
6265 'Actions': {'additionalProperties': False,
6266 'properties': {'actions': {'items': {'$ref': '#/definitions/Action'},
6267 'type': 'array'}},
6268 'type': 'object'},
6269 'ActionsByName': {'additionalProperties': False,
6270 'properties': {'actions': {'items': {'$ref': '#/definitions/ActionResult'},
6271 'type': 'array'},
6272 'error': {'$ref': '#/definitions/Error'},
6273 'name': {'type': 'string'}},
6274 'type': 'object'},
6275 'ActionsByNames': {'additionalProperties': False,
6276 'properties': {'actions': {'items': {'$ref': '#/definitions/ActionsByName'},
6277 'type': 'array'}},
6278 'type': 'object'},
6279 'ActionsByReceiver': {'additionalProperties': False,
6280 'properties': {'actions': {'items': {'$ref': '#/definitions/ActionResult'},
6281 'type': 'array'},
6282 'error': {'$ref': '#/definitions/Error'},
6283 'receiver': {'type': 'string'}},
6284 'type': 'object'},
6285 'ActionsByReceivers': {'additionalProperties': False,
6286 'properties': {'actions': {'items': {'$ref': '#/definitions/ActionsByReceiver'},
6287 'type': 'array'}},
6288 'type': 'object'},
6289 'ApplicationCharmActionsResult': {'additionalProperties': False,
6290 'properties': {'actions': {'patternProperties': {'.*': {'$ref': '#/definitions/ActionSpec'}},
6291 'type': 'object'},
6292 'application-tag': {'type': 'string'},
6293 'error': {'$ref': '#/definitions/Error'}},
6294 'type': 'object'},
6295 'ApplicationsCharmActionsResults': {'additionalProperties': False,
6296 'properties': {'results': {'items': {'$ref': '#/definitions/ApplicationCharmActionsResult'},
6297 'type': 'array'}},
6298 'type': 'object'},
6299 'Entities': {'additionalProperties': False,
6300 'properties': {'entities': {'items': {'$ref': '#/definitions/Entity'},
6301 'type': 'array'}},
6302 'required': ['entities'],
6303 'type': 'object'},
6304 'Entity': {'additionalProperties': False,
6305 'properties': {'tag': {'type': 'string'}},
6306 'required': ['tag'],
6307 'type': 'object'},
6308 'Error': {'additionalProperties': False,
6309 'properties': {'code': {'type': 'string'},
6310 'info': {'$ref': '#/definitions/ErrorInfo'},
6311 'message': {'type': 'string'}},
6312 'required': ['message', 'code'],
6313 'type': 'object'},
6314 'ErrorInfo': {'additionalProperties': False,
6315 'properties': {'macaroon': {'$ref': '#/definitions/Macaroon'},
6316 'macaroon-path': {'type': 'string'}},
6317 'type': 'object'},
6318 'FindActionsByNames': {'additionalProperties': False,
6319 'properties': {'names': {'items': {'type': 'string'},
6320 'type': 'array'}},
6321 'type': 'object'},
6322 'FindTags': {'additionalProperties': False,
6323 'properties': {'prefixes': {'items': {'type': 'string'},
6324 'type': 'array'}},
6325 'required': ['prefixes'],
6326 'type': 'object'},
6327 'FindTagsResults': {'additionalProperties': False,
6328 'properties': {'matches': {'patternProperties': {'.*': {'items': {'$ref': '#/definitions/Entity'},
6329 'type': 'array'}},
6330 'type': 'object'}},
6331 'required': ['matches'],
6332 'type': 'object'},
6333 'Macaroon': {'additionalProperties': False, 'type': 'object'},
6334 'RunParams': {'additionalProperties': False,
6335 'properties': {'applications': {'items': {'type': 'string'},
6336 'type': 'array'},
6337 'commands': {'type': 'string'},
6338 'machines': {'items': {'type': 'string'},
6339 'type': 'array'},
6340 'timeout': {'type': 'integer'},
6341 'units': {'items': {'type': 'string'},
6342 'type': 'array'}},
6343 'required': ['commands', 'timeout'],
6344 'type': 'object'}},
6345 'properties': {'Actions': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
6346 'Result': {'$ref': '#/definitions/ActionResults'}},
6347 'type': 'object'},
6348 'ApplicationsCharmsActions': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
6349 'Result': {'$ref': '#/definitions/ApplicationsCharmActionsResults'}},
6350 'type': 'object'},
6351 'Cancel': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
6352 'Result': {'$ref': '#/definitions/ActionResults'}},
6353 'type': 'object'},
6354 'Enqueue': {'properties': {'Params': {'$ref': '#/definitions/Actions'},
6355 'Result': {'$ref': '#/definitions/ActionResults'}},
6356 'type': 'object'},
6357 'FindActionTagsByPrefix': {'properties': {'Params': {'$ref': '#/definitions/FindTags'},
6358 'Result': {'$ref': '#/definitions/FindTagsResults'}},
6359 'type': 'object'},
6360 'FindActionsByNames': {'properties': {'Params': {'$ref': '#/definitions/FindActionsByNames'},
6361 'Result': {'$ref': '#/definitions/ActionsByNames'}},
6362 'type': 'object'},
6363 'ListAll': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
6364 'Result': {'$ref': '#/definitions/ActionsByReceivers'}},
6365 'type': 'object'},
6366 'ListCompleted': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
6367 'Result': {'$ref': '#/definitions/ActionsByReceivers'}},
6368 'type': 'object'},
6369 'ListPending': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
6370 'Result': {'$ref': '#/definitions/ActionsByReceivers'}},
6371 'type': 'object'},
6372 'ListRunning': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
6373 'Result': {'$ref': '#/definitions/ActionsByReceivers'}},
6374 'type': 'object'},
6375 'Run': {'properties': {'Params': {'$ref': '#/definitions/RunParams'},
6376 'Result': {'$ref': '#/definitions/ActionResults'}},
6377 'type': 'object'},
6378 'RunOnAllMachines': {'properties': {'Params': {'$ref': '#/definitions/RunParams'},
6379 'Result': {'$ref': '#/definitions/ActionResults'}},
6380 'type': 'object'}},
6381 'type': 'object'}
6382
6383
6384 @ReturnMapping(ActionResults)
6385 async def Actions(self, entities):
6386 '''
6387 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
6388 Returns -> typing.Sequence<+T_co>[~ActionResult]<~ActionResult>
6389 '''
6390 # map input types to rpc msg
6391 params = dict()
6392 msg = dict(type='Action', request='Actions', version=2, params=params)
6393 params['entities'] = entities
6394 reply = await self.rpc(msg)
6395 return reply
6396
6397
6398
6399 @ReturnMapping(ApplicationsCharmActionsResults)
6400 async def ApplicationsCharmsActions(self, entities):
6401 '''
6402 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
6403 Returns -> typing.Sequence<+T_co>[~ApplicationCharmActionsResult]<~ApplicationCharmActionsResult>
6404 '''
6405 # map input types to rpc msg
6406 params = dict()
6407 msg = dict(type='Action', request='ApplicationsCharmsActions', version=2, params=params)
6408 params['entities'] = entities
6409 reply = await self.rpc(msg)
6410 return reply
6411
6412
6413
6414 @ReturnMapping(ActionResults)
6415 async def Cancel(self, entities):
6416 '''
6417 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
6418 Returns -> typing.Sequence<+T_co>[~ActionResult]<~ActionResult>
6419 '''
6420 # map input types to rpc msg
6421 params = dict()
6422 msg = dict(type='Action', request='Cancel', version=2, params=params)
6423 params['entities'] = entities
6424 reply = await self.rpc(msg)
6425 return reply
6426
6427
6428
6429 @ReturnMapping(ActionResults)
6430 async def Enqueue(self, actions):
6431 '''
6432 actions : typing.Sequence<+T_co>[~Action]<~Action>
6433 Returns -> typing.Sequence<+T_co>[~ActionResult]<~ActionResult>
6434 '''
6435 # map input types to rpc msg
6436 params = dict()
6437 msg = dict(type='Action', request='Enqueue', version=2, params=params)
6438 params['actions'] = actions
6439 reply = await self.rpc(msg)
6440 return reply
6441
6442
6443
6444 @ReturnMapping(FindTagsResults)
6445 async def FindActionTagsByPrefix(self, prefixes):
6446 '''
6447 prefixes : typing.Sequence<+T_co>[str]
6448 Returns -> typing.Sequence<+T_co>[~Entity]<~Entity>
6449 '''
6450 # map input types to rpc msg
6451 params = dict()
6452 msg = dict(type='Action', request='FindActionTagsByPrefix', version=2, params=params)
6453 params['prefixes'] = prefixes
6454 reply = await self.rpc(msg)
6455 return reply
6456
6457
6458
6459 @ReturnMapping(ActionsByNames)
6460 async def FindActionsByNames(self, names):
6461 '''
6462 names : typing.Sequence<+T_co>[str]
6463 Returns -> typing.Sequence<+T_co>[~ActionsByName]<~ActionsByName>
6464 '''
6465 # map input types to rpc msg
6466 params = dict()
6467 msg = dict(type='Action', request='FindActionsByNames', version=2, params=params)
6468 params['names'] = names
6469 reply = await self.rpc(msg)
6470 return reply
6471
6472
6473
6474 @ReturnMapping(ActionsByReceivers)
6475 async def ListAll(self, entities):
6476 '''
6477 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
6478 Returns -> typing.Sequence<+T_co>[~ActionsByReceiver]<~ActionsByReceiver>
6479 '''
6480 # map input types to rpc msg
6481 params = dict()
6482 msg = dict(type='Action', request='ListAll', version=2, params=params)
6483 params['entities'] = entities
6484 reply = await self.rpc(msg)
6485 return reply
6486
6487
6488
6489 @ReturnMapping(ActionsByReceivers)
6490 async def ListCompleted(self, entities):
6491 '''
6492 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
6493 Returns -> typing.Sequence<+T_co>[~ActionsByReceiver]<~ActionsByReceiver>
6494 '''
6495 # map input types to rpc msg
6496 params = dict()
6497 msg = dict(type='Action', request='ListCompleted', version=2, params=params)
6498 params['entities'] = entities
6499 reply = await self.rpc(msg)
6500 return reply
6501
6502
6503
6504 @ReturnMapping(ActionsByReceivers)
6505 async def ListPending(self, entities):
6506 '''
6507 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
6508 Returns -> typing.Sequence<+T_co>[~ActionsByReceiver]<~ActionsByReceiver>
6509 '''
6510 # map input types to rpc msg
6511 params = dict()
6512 msg = dict(type='Action', request='ListPending', version=2, params=params)
6513 params['entities'] = entities
6514 reply = await self.rpc(msg)
6515 return reply
6516
6517
6518
6519 @ReturnMapping(ActionsByReceivers)
6520 async def ListRunning(self, entities):
6521 '''
6522 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
6523 Returns -> typing.Sequence<+T_co>[~ActionsByReceiver]<~ActionsByReceiver>
6524 '''
6525 # map input types to rpc msg
6526 params = dict()
6527 msg = dict(type='Action', request='ListRunning', version=2, params=params)
6528 params['entities'] = entities
6529 reply = await self.rpc(msg)
6530 return reply
6531
6532
6533
6534 @ReturnMapping(ActionResults)
6535 async def Run(self, applications, commands, machines, timeout, units):
6536 '''
6537 applications : typing.Sequence<+T_co>[str]
6538 commands : str
6539 machines : typing.Sequence<+T_co>[str]
6540 timeout : int
6541 units : typing.Sequence<+T_co>[str]
6542 Returns -> typing.Sequence<+T_co>[~ActionResult]<~ActionResult>
6543 '''
6544 # map input types to rpc msg
6545 params = dict()
6546 msg = dict(type='Action', request='Run', version=2, params=params)
6547 params['applications'] = applications
6548 params['commands'] = commands
6549 params['machines'] = machines
6550 params['timeout'] = timeout
6551 params['units'] = units
6552 reply = await self.rpc(msg)
6553 return reply
6554
6555
6556
6557 @ReturnMapping(ActionResults)
6558 async def RunOnAllMachines(self, applications, commands, machines, timeout, units):
6559 '''
6560 applications : typing.Sequence<+T_co>[str]
6561 commands : str
6562 machines : typing.Sequence<+T_co>[str]
6563 timeout : int
6564 units : typing.Sequence<+T_co>[str]
6565 Returns -> typing.Sequence<+T_co>[~ActionResult]<~ActionResult>
6566 '''
6567 # map input types to rpc msg
6568 params = dict()
6569 msg = dict(type='Action', request='RunOnAllMachines', version=2, params=params)
6570 params['applications'] = applications
6571 params['commands'] = commands
6572 params['machines'] = machines
6573 params['timeout'] = timeout
6574 params['units'] = units
6575 reply = await self.rpc(msg)
6576 return reply
6577
6578
6579 class AgentFacade(Type):
6580 name = 'Agent'
6581 version = 2
6582 schema = {'definitions': {'AgentGetEntitiesResult': {'additionalProperties': False,
6583 'properties': {'container-type': {'type': 'string'},
6584 'error': {'$ref': '#/definitions/Error'},
6585 'jobs': {'items': {'type': 'string'},
6586 'type': 'array'},
6587 'life': {'type': 'string'}},
6588 'required': ['life',
6589 'jobs',
6590 'container-type'],
6591 'type': 'object'},
6592 'AgentGetEntitiesResults': {'additionalProperties': False,
6593 'properties': {'entities': {'items': {'$ref': '#/definitions/AgentGetEntitiesResult'},
6594 'type': 'array'}},
6595 'required': ['entities'],
6596 'type': 'object'},
6597 'CloudCredential': {'additionalProperties': False,
6598 'properties': {'attrs': {'patternProperties': {'.*': {'type': 'string'}},
6599 'type': 'object'},
6600 'auth-type': {'type': 'string'},
6601 'redacted': {'items': {'type': 'string'},
6602 'type': 'array'}},
6603 'required': ['auth-type'],
6604 'type': 'object'},
6605 'CloudSpec': {'additionalProperties': False,
6606 'properties': {'credential': {'$ref': '#/definitions/CloudCredential'},
6607 'endpoint': {'type': 'string'},
6608 'identity-endpoint': {'type': 'string'},
6609 'name': {'type': 'string'},
6610 'region': {'type': 'string'},
6611 'storage-endpoint': {'type': 'string'},
6612 'type': {'type': 'string'}},
6613 'required': ['type', 'name'],
6614 'type': 'object'},
6615 'CloudSpecResult': {'additionalProperties': False,
6616 'properties': {'error': {'$ref': '#/definitions/Error'},
6617 'result': {'$ref': '#/definitions/CloudSpec'}},
6618 'type': 'object'},
6619 'CloudSpecResults': {'additionalProperties': False,
6620 'properties': {'results': {'items': {'$ref': '#/definitions/CloudSpecResult'},
6621 'type': 'array'}},
6622 'type': 'object'},
6623 'ControllerConfigResult': {'additionalProperties': False,
6624 'properties': {'config': {'patternProperties': {'.*': {'additionalProperties': True,
6625 'type': 'object'}},
6626 'type': 'object'}},
6627 'required': ['config'],
6628 'type': 'object'},
6629 'Entities': {'additionalProperties': False,
6630 'properties': {'entities': {'items': {'$ref': '#/definitions/Entity'},
6631 'type': 'array'}},
6632 'required': ['entities'],
6633 'type': 'object'},
6634 'Entity': {'additionalProperties': False,
6635 'properties': {'tag': {'type': 'string'}},
6636 'required': ['tag'],
6637 'type': 'object'},
6638 'EntityPassword': {'additionalProperties': False,
6639 'properties': {'password': {'type': 'string'},
6640 'tag': {'type': 'string'}},
6641 'required': ['tag', 'password'],
6642 'type': 'object'},
6643 'EntityPasswords': {'additionalProperties': False,
6644 'properties': {'changes': {'items': {'$ref': '#/definitions/EntityPassword'},
6645 'type': 'array'}},
6646 'required': ['changes'],
6647 'type': 'object'},
6648 'Error': {'additionalProperties': False,
6649 'properties': {'code': {'type': 'string'},
6650 'info': {'$ref': '#/definitions/ErrorInfo'},
6651 'message': {'type': 'string'}},
6652 'required': ['message', 'code'],
6653 'type': 'object'},
6654 'ErrorInfo': {'additionalProperties': False,
6655 'properties': {'macaroon': {'$ref': '#/definitions/Macaroon'},
6656 'macaroon-path': {'type': 'string'}},
6657 'type': 'object'},
6658 'ErrorResult': {'additionalProperties': False,
6659 'properties': {'error': {'$ref': '#/definitions/Error'}},
6660 'type': 'object'},
6661 'ErrorResults': {'additionalProperties': False,
6662 'properties': {'results': {'items': {'$ref': '#/definitions/ErrorResult'},
6663 'type': 'array'}},
6664 'required': ['results'],
6665 'type': 'object'},
6666 'IsMasterResult': {'additionalProperties': False,
6667 'properties': {'master': {'type': 'boolean'}},
6668 'required': ['master'],
6669 'type': 'object'},
6670 'Macaroon': {'additionalProperties': False, 'type': 'object'},
6671 'ModelConfigResult': {'additionalProperties': False,
6672 'properties': {'config': {'patternProperties': {'.*': {'additionalProperties': True,
6673 'type': 'object'}},
6674 'type': 'object'}},
6675 'required': ['config'],
6676 'type': 'object'},
6677 'NotifyWatchResult': {'additionalProperties': False,
6678 'properties': {'NotifyWatcherId': {'type': 'string'},
6679 'error': {'$ref': '#/definitions/Error'}},
6680 'required': ['NotifyWatcherId'],
6681 'type': 'object'},
6682 'StateServingInfo': {'additionalProperties': False,
6683 'properties': {'api-port': {'type': 'integer'},
6684 'ca-private-key': {'type': 'string'},
6685 'cert': {'type': 'string'},
6686 'private-key': {'type': 'string'},
6687 'shared-secret': {'type': 'string'},
6688 'state-port': {'type': 'integer'},
6689 'system-identity': {'type': 'string'}},
6690 'required': ['api-port',
6691 'state-port',
6692 'cert',
6693 'private-key',
6694 'ca-private-key',
6695 'shared-secret',
6696 'system-identity'],
6697 'type': 'object'}},
6698 'properties': {'ClearReboot': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
6699 'Result': {'$ref': '#/definitions/ErrorResults'}},
6700 'type': 'object'},
6701 'CloudSpec': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
6702 'Result': {'$ref': '#/definitions/CloudSpecResults'}},
6703 'type': 'object'},
6704 'ControllerConfig': {'properties': {'Result': {'$ref': '#/definitions/ControllerConfigResult'}},
6705 'type': 'object'},
6706 'GetEntities': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
6707 'Result': {'$ref': '#/definitions/AgentGetEntitiesResults'}},
6708 'type': 'object'},
6709 'IsMaster': {'properties': {'Result': {'$ref': '#/definitions/IsMasterResult'}},
6710 'type': 'object'},
6711 'ModelConfig': {'properties': {'Result': {'$ref': '#/definitions/ModelConfigResult'}},
6712 'type': 'object'},
6713 'SetPasswords': {'properties': {'Params': {'$ref': '#/definitions/EntityPasswords'},
6714 'Result': {'$ref': '#/definitions/ErrorResults'}},
6715 'type': 'object'},
6716 'StateServingInfo': {'properties': {'Result': {'$ref': '#/definitions/StateServingInfo'}},
6717 'type': 'object'},
6718 'WatchForModelConfigChanges': {'properties': {'Result': {'$ref': '#/definitions/NotifyWatchResult'}},
6719 'type': 'object'}},
6720 'type': 'object'}
6721
6722
6723 @ReturnMapping(ErrorResults)
6724 async def ClearReboot(self, entities):
6725 '''
6726 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
6727 Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult>
6728 '''
6729 # map input types to rpc msg
6730 params = dict()
6731 msg = dict(type='Agent', request='ClearReboot', version=2, params=params)
6732 params['entities'] = entities
6733 reply = await self.rpc(msg)
6734 return reply
6735
6736
6737
6738 @ReturnMapping(CloudSpecResults)
6739 async def CloudSpec(self, entities):
6740 '''
6741 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
6742 Returns -> typing.Sequence<+T_co>[~CloudSpecResult]<~CloudSpecResult>
6743 '''
6744 # map input types to rpc msg
6745 params = dict()
6746 msg = dict(type='Agent', request='CloudSpec', version=2, params=params)
6747 params['entities'] = entities
6748 reply = await self.rpc(msg)
6749 return reply
6750
6751
6752
6753 @ReturnMapping(ControllerConfigResult)
6754 async def ControllerConfig(self):
6755 '''
6756
6757 Returns -> typing.Mapping<~KT, +VT_co>[str, typing.Any]
6758 '''
6759 # map input types to rpc msg
6760 params = dict()
6761 msg = dict(type='Agent', request='ControllerConfig', version=2, params=params)
6762
6763 reply = await self.rpc(msg)
6764 return reply
6765
6766
6767
6768 @ReturnMapping(AgentGetEntitiesResults)
6769 async def GetEntities(self, entities):
6770 '''
6771 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
6772 Returns -> typing.Sequence<+T_co>[~AgentGetEntitiesResult]<~AgentGetEntitiesResult>
6773 '''
6774 # map input types to rpc msg
6775 params = dict()
6776 msg = dict(type='Agent', request='GetEntities', version=2, params=params)
6777 params['entities'] = entities
6778 reply = await self.rpc(msg)
6779 return reply
6780
6781
6782
6783 @ReturnMapping(IsMasterResult)
6784 async def IsMaster(self):
6785 '''
6786
6787 Returns -> bool
6788 '''
6789 # map input types to rpc msg
6790 params = dict()
6791 msg = dict(type='Agent', request='IsMaster', version=2, params=params)
6792
6793 reply = await self.rpc(msg)
6794 return reply
6795
6796
6797
6798 @ReturnMapping(ModelConfigResult)
6799 async def ModelConfig(self):
6800 '''
6801
6802 Returns -> typing.Mapping<~KT, +VT_co>[str, typing.Any]
6803 '''
6804 # map input types to rpc msg
6805 params = dict()
6806 msg = dict(type='Agent', request='ModelConfig', version=2, params=params)
6807
6808 reply = await self.rpc(msg)
6809 return reply
6810
6811
6812
6813 @ReturnMapping(ErrorResults)
6814 async def SetPasswords(self, changes):
6815 '''
6816 changes : typing.Sequence<+T_co>[~EntityPassword]<~EntityPassword>
6817 Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult>
6818 '''
6819 # map input types to rpc msg
6820 params = dict()
6821 msg = dict(type='Agent', request='SetPasswords', version=2, params=params)
6822 params['changes'] = changes
6823 reply = await self.rpc(msg)
6824 return reply
6825
6826
6827
6828 @ReturnMapping(StateServingInfo)
6829 async def StateServingInfo(self):
6830 '''
6831
6832 Returns -> typing.Union[int, str]
6833 '''
6834 # map input types to rpc msg
6835 params = dict()
6836 msg = dict(type='Agent', request='StateServingInfo', version=2, params=params)
6837
6838 reply = await self.rpc(msg)
6839 return reply
6840
6841
6842
6843 @ReturnMapping(NotifyWatchResult)
6844 async def WatchForModelConfigChanges(self):
6845 '''
6846
6847 Returns -> typing.Union[str, _ForwardRef('Error')]
6848 '''
6849 # map input types to rpc msg
6850 params = dict()
6851 msg = dict(type='Agent', request='WatchForModelConfigChanges', version=2, params=params)
6852
6853 reply = await self.rpc(msg)
6854 return reply
6855
6856
6857 class AgentToolsFacade(Type):
6858 name = 'AgentTools'
6859 version = 1
6860 schema = {'properties': {'UpdateToolsAvailable': {'type': 'object'}}, 'type': 'object'}
6861
6862
6863 @ReturnMapping(None)
6864 async def UpdateToolsAvailable(self):
6865 '''
6866
6867 Returns -> None
6868 '''
6869 # map input types to rpc msg
6870 params = dict()
6871 msg = dict(type='AgentTools', request='UpdateToolsAvailable', version=1, params=params)
6872
6873 reply = await self.rpc(msg)
6874 return reply
6875
6876
6877 class AllModelWatcherFacade(Type):
6878 name = 'AllModelWatcher'
6879 version = 2
6880 schema = {'definitions': {'AllWatcherNextResults': {'additionalProperties': False,
6881 'properties': {'deltas': {'items': {'$ref': '#/definitions/Delta'},
6882 'type': 'array'}},
6883 'required': ['deltas'],
6884 'type': 'object'},
6885 'Delta': {'additionalProperties': False,
6886 'properties': {'entity': {'additionalProperties': True,
6887 'type': 'object'},
6888 'removed': {'type': 'boolean'}},
6889 'required': ['removed', 'entity'],
6890 'type': 'object'}},
6891 'properties': {'Next': {'properties': {'Result': {'$ref': '#/definitions/AllWatcherNextResults'}},
6892 'type': 'object'},
6893 'Stop': {'type': 'object'}},
6894 'type': 'object'}
6895
6896
6897 @ReturnMapping(AllWatcherNextResults)
6898 async def Next(self):
6899 '''
6900
6901 Returns -> typing.Sequence<+T_co>[~Delta]<~Delta>
6902 '''
6903 # map input types to rpc msg
6904 params = dict()
6905 msg = dict(type='AllModelWatcher', request='Next', version=2, params=params)
6906
6907 reply = await self.rpc(msg)
6908 return reply
6909
6910
6911
6912 @ReturnMapping(None)
6913 async def Stop(self):
6914 '''
6915
6916 Returns -> None
6917 '''
6918 # map input types to rpc msg
6919 params = dict()
6920 msg = dict(type='AllModelWatcher', request='Stop', version=2, params=params)
6921
6922 reply = await self.rpc(msg)
6923 return reply
6924
6925
6926 class AllWatcherFacade(Type):
6927 name = 'AllWatcher'
6928 version = 1
6929 schema = {'definitions': {'AllWatcherNextResults': {'additionalProperties': False,
6930 'properties': {'deltas': {'items': {'$ref': '#/definitions/Delta'},
6931 'type': 'array'}},
6932 'required': ['deltas'],
6933 'type': 'object'},
6934 'Delta': {'additionalProperties': False,
6935 'properties': {'entity': {'additionalProperties': True,
6936 'type': 'object'},
6937 'removed': {'type': 'boolean'}},
6938 'required': ['removed', 'entity'],
6939 'type': 'object'}},
6940 'properties': {'Next': {'properties': {'Result': {'$ref': '#/definitions/AllWatcherNextResults'}},
6941 'type': 'object'},
6942 'Stop': {'type': 'object'}},
6943 'type': 'object'}
6944
6945
6946 @ReturnMapping(AllWatcherNextResults)
6947 async def Next(self):
6948 '''
6949
6950 Returns -> typing.Sequence<+T_co>[~Delta]<~Delta>
6951 '''
6952 # map input types to rpc msg
6953 params = dict()
6954 msg = dict(type='AllWatcher', request='Next', version=1, params=params)
6955
6956 reply = await self.rpc(msg)
6957 return reply
6958
6959
6960
6961 @ReturnMapping(None)
6962 async def Stop(self):
6963 '''
6964
6965 Returns -> None
6966 '''
6967 # map input types to rpc msg
6968 params = dict()
6969 msg = dict(type='AllWatcher', request='Stop', version=1, params=params)
6970
6971 reply = await self.rpc(msg)
6972 return reply
6973
6974
6975 class AnnotationsFacade(Type):
6976 name = 'Annotations'
6977 version = 2
6978 schema = {'definitions': {'AnnotationsGetResult': {'additionalProperties': False,
6979 'properties': {'annotations': {'patternProperties': {'.*': {'type': 'string'}},
6980 'type': 'object'},
6981 'entity': {'type': 'string'},
6982 'error': {'$ref': '#/definitions/ErrorResult'}},
6983 'required': ['entity', 'annotations'],
6984 'type': 'object'},
6985 'AnnotationsGetResults': {'additionalProperties': False,
6986 'properties': {'results': {'items': {'$ref': '#/definitions/AnnotationsGetResult'},
6987 'type': 'array'}},
6988 'required': ['results'],
6989 'type': 'object'},
6990 'AnnotationsSet': {'additionalProperties': False,
6991 'properties': {'annotations': {'items': {'$ref': '#/definitions/EntityAnnotations'},
6992 'type': 'array'}},
6993 'required': ['annotations'],
6994 'type': 'object'},
6995 'Entities': {'additionalProperties': False,
6996 'properties': {'entities': {'items': {'$ref': '#/definitions/Entity'},
6997 'type': 'array'}},
6998 'required': ['entities'],
6999 'type': 'object'},
7000 'Entity': {'additionalProperties': False,
7001 'properties': {'tag': {'type': 'string'}},
7002 'required': ['tag'],
7003 'type': 'object'},
7004 'EntityAnnotations': {'additionalProperties': False,
7005 'properties': {'annotations': {'patternProperties': {'.*': {'type': 'string'}},
7006 'type': 'object'},
7007 'entity': {'type': 'string'}},
7008 'required': ['entity', 'annotations'],
7009 'type': 'object'},
7010 'Error': {'additionalProperties': False,
7011 'properties': {'code': {'type': 'string'},
7012 'info': {'$ref': '#/definitions/ErrorInfo'},
7013 'message': {'type': 'string'}},
7014 'required': ['message', 'code'],
7015 'type': 'object'},
7016 'ErrorInfo': {'additionalProperties': False,
7017 'properties': {'macaroon': {'$ref': '#/definitions/Macaroon'},
7018 'macaroon-path': {'type': 'string'}},
7019 'type': 'object'},
7020 'ErrorResult': {'additionalProperties': False,
7021 'properties': {'error': {'$ref': '#/definitions/Error'}},
7022 'type': 'object'},
7023 'ErrorResults': {'additionalProperties': False,
7024 'properties': {'results': {'items': {'$ref': '#/definitions/ErrorResult'},
7025 'type': 'array'}},
7026 'required': ['results'],
7027 'type': 'object'},
7028 'Macaroon': {'additionalProperties': False, 'type': 'object'}},
7029 'properties': {'Get': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
7030 'Result': {'$ref': '#/definitions/AnnotationsGetResults'}},
7031 'type': 'object'},
7032 'Set': {'properties': {'Params': {'$ref': '#/definitions/AnnotationsSet'},
7033 'Result': {'$ref': '#/definitions/ErrorResults'}},
7034 'type': 'object'}},
7035 'type': 'object'}
7036
7037
7038 @ReturnMapping(AnnotationsGetResults)
7039 async def Get(self, entities):
7040 '''
7041 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
7042 Returns -> typing.Sequence<+T_co>[~AnnotationsGetResult]<~AnnotationsGetResult>
7043 '''
7044 # map input types to rpc msg
7045 params = dict()
7046 msg = dict(type='Annotations', request='Get', version=2, params=params)
7047 params['entities'] = entities
7048 reply = await self.rpc(msg)
7049 return reply
7050
7051
7052
7053 @ReturnMapping(ErrorResults)
7054 async def Set(self, annotations):
7055 '''
7056 annotations : typing.Sequence<+T_co>[~EntityAnnotations]<~EntityAnnotations>
7057 Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult>
7058 '''
7059 # map input types to rpc msg
7060 params = dict()
7061 msg = dict(type='Annotations', request='Set', version=2, params=params)
7062 params['annotations'] = annotations
7063 reply = await self.rpc(msg)
7064 return reply
7065
7066
7067 class ApplicationFacade(Type):
7068 name = 'Application'
7069 version = 1
7070 schema = {'definitions': {'AddApplicationUnits': {'additionalProperties': False,
7071 'properties': {'application': {'type': 'string'},
7072 'num-units': {'type': 'integer'},
7073 'placement': {'items': {'$ref': '#/definitions/Placement'},
7074 'type': 'array'}},
7075 'required': ['application',
7076 'num-units',
7077 'placement'],
7078 'type': 'object'},
7079 'AddApplicationUnitsResults': {'additionalProperties': False,
7080 'properties': {'units': {'items': {'type': 'string'},
7081 'type': 'array'}},
7082 'required': ['units'],
7083 'type': 'object'},
7084 'AddRelation': {'additionalProperties': False,
7085 'properties': {'endpoints': {'items': {'type': 'string'},
7086 'type': 'array'}},
7087 'required': ['endpoints'],
7088 'type': 'object'},
7089 'AddRelationResults': {'additionalProperties': False,
7090 'properties': {'endpoints': {'patternProperties': {'.*': {'$ref': '#/definitions/CharmRelation'}},
7091 'type': 'object'}},
7092 'required': ['endpoints'],
7093 'type': 'object'},
7094 'ApplicationCharmRelations': {'additionalProperties': False,
7095 'properties': {'application': {'type': 'string'}},
7096 'required': ['application'],
7097 'type': 'object'},
7098 'ApplicationCharmRelationsResults': {'additionalProperties': False,
7099 'properties': {'charm-relations': {'items': {'type': 'string'},
7100 'type': 'array'}},
7101 'required': ['charm-relations'],
7102 'type': 'object'},
7103 'ApplicationDeploy': {'additionalProperties': False,
7104 'properties': {'application': {'type': 'string'},
7105 'channel': {'type': 'string'},
7106 'charm-url': {'type': 'string'},
7107 'config': {'patternProperties': {'.*': {'type': 'string'}},
7108 'type': 'object'},
7109 'config-yaml': {'type': 'string'},
7110 'constraints': {'$ref': '#/definitions/Value'},
7111 'endpoint-bindings': {'patternProperties': {'.*': {'type': 'string'}},
7112 'type': 'object'},
7113 'num-units': {'type': 'integer'},
7114 'placement': {'items': {'$ref': '#/definitions/Placement'},
7115 'type': 'array'},
7116 'resources': {'patternProperties': {'.*': {'type': 'string'}},
7117 'type': 'object'},
7118 'series': {'type': 'string'},
7119 'storage': {'patternProperties': {'.*': {'$ref': '#/definitions/Constraints'}},
7120 'type': 'object'}},
7121 'required': ['application',
7122 'series',
7123 'charm-url',
7124 'channel',
7125 'num-units',
7126 'config-yaml',
7127 'constraints'],
7128 'type': 'object'},
7129 'ApplicationDestroy': {'additionalProperties': False,
7130 'properties': {'application': {'type': 'string'}},
7131 'required': ['application'],
7132 'type': 'object'},
7133 'ApplicationExpose': {'additionalProperties': False,
7134 'properties': {'application': {'type': 'string'}},
7135 'required': ['application'],
7136 'type': 'object'},
7137 'ApplicationGet': {'additionalProperties': False,
7138 'properties': {'application': {'type': 'string'}},
7139 'required': ['application'],
7140 'type': 'object'},
7141 'ApplicationGetResults': {'additionalProperties': False,
7142 'properties': {'application': {'type': 'string'},
7143 'charm': {'type': 'string'},
7144 'config': {'patternProperties': {'.*': {'additionalProperties': True,
7145 'type': 'object'}},
7146 'type': 'object'},
7147 'constraints': {'$ref': '#/definitions/Value'},
7148 'series': {'type': 'string'}},
7149 'required': ['application',
7150 'charm',
7151 'config',
7152 'constraints',
7153 'series'],
7154 'type': 'object'},
7155 'ApplicationMetricCredential': {'additionalProperties': False,
7156 'properties': {'application': {'type': 'string'},
7157 'metrics-credentials': {'items': {'type': 'integer'},
7158 'type': 'array'}},
7159 'required': ['application',
7160 'metrics-credentials'],
7161 'type': 'object'},
7162 'ApplicationMetricCredentials': {'additionalProperties': False,
7163 'properties': {'creds': {'items': {'$ref': '#/definitions/ApplicationMetricCredential'},
7164 'type': 'array'}},
7165 'required': ['creds'],
7166 'type': 'object'},
7167 'ApplicationSet': {'additionalProperties': False,
7168 'properties': {'application': {'type': 'string'},
7169 'options': {'patternProperties': {'.*': {'type': 'string'}},
7170 'type': 'object'}},
7171 'required': ['application', 'options'],
7172 'type': 'object'},
7173 'ApplicationSetCharm': {'additionalProperties': False,
7174 'properties': {'application': {'type': 'string'},
7175 'channel': {'type': 'string'},
7176 'charm-url': {'type': 'string'},
7177 'force-series': {'type': 'boolean'},
7178 'force-units': {'type': 'boolean'},
7179 'resource-ids': {'patternProperties': {'.*': {'type': 'string'}},
7180 'type': 'object'}},
7181 'required': ['application',
7182 'charm-url',
7183 'channel',
7184 'force-units',
7185 'force-series'],
7186 'type': 'object'},
7187 'ApplicationUnexpose': {'additionalProperties': False,
7188 'properties': {'application': {'type': 'string'}},
7189 'required': ['application'],
7190 'type': 'object'},
7191 'ApplicationUnset': {'additionalProperties': False,
7192 'properties': {'application': {'type': 'string'},
7193 'options': {'items': {'type': 'string'},
7194 'type': 'array'}},
7195 'required': ['application', 'options'],
7196 'type': 'object'},
7197 'ApplicationUpdate': {'additionalProperties': False,
7198 'properties': {'application': {'type': 'string'},
7199 'charm-url': {'type': 'string'},
7200 'constraints': {'$ref': '#/definitions/Value'},
7201 'force-charm-url': {'type': 'boolean'},
7202 'force-series': {'type': 'boolean'},
7203 'min-units': {'type': 'integer'},
7204 'settings': {'patternProperties': {'.*': {'type': 'string'}},
7205 'type': 'object'},
7206 'settings-yaml': {'type': 'string'}},
7207 'required': ['application',
7208 'charm-url',
7209 'force-charm-url',
7210 'force-series',
7211 'settings-yaml'],
7212 'type': 'object'},
7213 'ApplicationsDeploy': {'additionalProperties': False,
7214 'properties': {'applications': {'items': {'$ref': '#/definitions/ApplicationDeploy'},
7215 'type': 'array'}},
7216 'required': ['applications'],
7217 'type': 'object'},
7218 'CharmRelation': {'additionalProperties': False,
7219 'properties': {'interface': {'type': 'string'},
7220 'limit': {'type': 'integer'},
7221 'name': {'type': 'string'},
7222 'optional': {'type': 'boolean'},
7223 'role': {'type': 'string'},
7224 'scope': {'type': 'string'}},
7225 'required': ['name',
7226 'role',
7227 'interface',
7228 'optional',
7229 'limit',
7230 'scope'],
7231 'type': 'object'},
7232 'Constraints': {'additionalProperties': False,
7233 'properties': {'Count': {'type': 'integer'},
7234 'Pool': {'type': 'string'},
7235 'Size': {'type': 'integer'}},
7236 'required': ['Pool', 'Size', 'Count'],
7237 'type': 'object'},
7238 'DestroyApplicationUnits': {'additionalProperties': False,
7239 'properties': {'unit-names': {'items': {'type': 'string'},
7240 'type': 'array'}},
7241 'required': ['unit-names'],
7242 'type': 'object'},
7243 'DestroyRelation': {'additionalProperties': False,
7244 'properties': {'endpoints': {'items': {'type': 'string'},
7245 'type': 'array'}},
7246 'required': ['endpoints'],
7247 'type': 'object'},
7248 'Error': {'additionalProperties': False,
7249 'properties': {'code': {'type': 'string'},
7250 'info': {'$ref': '#/definitions/ErrorInfo'},
7251 'message': {'type': 'string'}},
7252 'required': ['message', 'code'],
7253 'type': 'object'},
7254 'ErrorInfo': {'additionalProperties': False,
7255 'properties': {'macaroon': {'$ref': '#/definitions/Macaroon'},
7256 'macaroon-path': {'type': 'string'}},
7257 'type': 'object'},
7258 'ErrorResult': {'additionalProperties': False,
7259 'properties': {'error': {'$ref': '#/definitions/Error'}},
7260 'type': 'object'},
7261 'ErrorResults': {'additionalProperties': False,
7262 'properties': {'results': {'items': {'$ref': '#/definitions/ErrorResult'},
7263 'type': 'array'}},
7264 'required': ['results'],
7265 'type': 'object'},
7266 'GetApplicationConstraints': {'additionalProperties': False,
7267 'properties': {'application': {'type': 'string'}},
7268 'required': ['application'],
7269 'type': 'object'},
7270 'GetConstraintsResults': {'additionalProperties': False,
7271 'properties': {'constraints': {'$ref': '#/definitions/Value'}},
7272 'required': ['constraints'],
7273 'type': 'object'},
7274 'Macaroon': {'additionalProperties': False, 'type': 'object'},
7275 'Placement': {'additionalProperties': False,
7276 'properties': {'directive': {'type': 'string'},
7277 'scope': {'type': 'string'}},
7278 'required': ['scope', 'directive'],
7279 'type': 'object'},
7280 'SetConstraints': {'additionalProperties': False,
7281 'properties': {'application': {'type': 'string'},
7282 'constraints': {'$ref': '#/definitions/Value'}},
7283 'required': ['application', 'constraints'],
7284 'type': 'object'},
7285 'StringResult': {'additionalProperties': False,
7286 'properties': {'error': {'$ref': '#/definitions/Error'},
7287 'result': {'type': 'string'}},
7288 'required': ['result'],
7289 'type': 'object'},
7290 'Value': {'additionalProperties': False,
7291 'properties': {'arch': {'type': 'string'},
7292 'container': {'type': 'string'},
7293 'cpu-cores': {'type': 'integer'},
7294 'cpu-power': {'type': 'integer'},
7295 'instance-type': {'type': 'string'},
7296 'mem': {'type': 'integer'},
7297 'root-disk': {'type': 'integer'},
7298 'spaces': {'items': {'type': 'string'},
7299 'type': 'array'},
7300 'tags': {'items': {'type': 'string'},
7301 'type': 'array'},
7302 'virt-type': {'type': 'string'}},
7303 'type': 'object'}},
7304 'properties': {'AddRelation': {'properties': {'Params': {'$ref': '#/definitions/AddRelation'},
7305 'Result': {'$ref': '#/definitions/AddRelationResults'}},
7306 'type': 'object'},
7307 'AddUnits': {'properties': {'Params': {'$ref': '#/definitions/AddApplicationUnits'},
7308 'Result': {'$ref': '#/definitions/AddApplicationUnitsResults'}},
7309 'type': 'object'},
7310 'CharmRelations': {'properties': {'Params': {'$ref': '#/definitions/ApplicationCharmRelations'},
7311 'Result': {'$ref': '#/definitions/ApplicationCharmRelationsResults'}},
7312 'type': 'object'},
7313 'Deploy': {'properties': {'Params': {'$ref': '#/definitions/ApplicationsDeploy'},
7314 'Result': {'$ref': '#/definitions/ErrorResults'}},
7315 'type': 'object'},
7316 'Destroy': {'properties': {'Params': {'$ref': '#/definitions/ApplicationDestroy'}},
7317 'type': 'object'},
7318 'DestroyRelation': {'properties': {'Params': {'$ref': '#/definitions/DestroyRelation'}},
7319 'type': 'object'},
7320 'DestroyUnits': {'properties': {'Params': {'$ref': '#/definitions/DestroyApplicationUnits'}},
7321 'type': 'object'},
7322 'Expose': {'properties': {'Params': {'$ref': '#/definitions/ApplicationExpose'}},
7323 'type': 'object'},
7324 'Get': {'properties': {'Params': {'$ref': '#/definitions/ApplicationGet'},
7325 'Result': {'$ref': '#/definitions/ApplicationGetResults'}},
7326 'type': 'object'},
7327 'GetCharmURL': {'properties': {'Params': {'$ref': '#/definitions/ApplicationGet'},
7328 'Result': {'$ref': '#/definitions/StringResult'}},
7329 'type': 'object'},
7330 'GetConstraints': {'properties': {'Params': {'$ref': '#/definitions/GetApplicationConstraints'},
7331 'Result': {'$ref': '#/definitions/GetConstraintsResults'}},
7332 'type': 'object'},
7333 'Set': {'properties': {'Params': {'$ref': '#/definitions/ApplicationSet'}},
7334 'type': 'object'},
7335 'SetCharm': {'properties': {'Params': {'$ref': '#/definitions/ApplicationSetCharm'}},
7336 'type': 'object'},
7337 'SetConstraints': {'properties': {'Params': {'$ref': '#/definitions/SetConstraints'}},
7338 'type': 'object'},
7339 'SetMetricCredentials': {'properties': {'Params': {'$ref': '#/definitions/ApplicationMetricCredentials'},
7340 'Result': {'$ref': '#/definitions/ErrorResults'}},
7341 'type': 'object'},
7342 'Unexpose': {'properties': {'Params': {'$ref': '#/definitions/ApplicationUnexpose'}},
7343 'type': 'object'},
7344 'Unset': {'properties': {'Params': {'$ref': '#/definitions/ApplicationUnset'}},
7345 'type': 'object'},
7346 'Update': {'properties': {'Params': {'$ref': '#/definitions/ApplicationUpdate'}},
7347 'type': 'object'}},
7348 'type': 'object'}
7349
7350
7351 @ReturnMapping(AddRelationResults)
7352 async def AddRelation(self, endpoints):
7353 '''
7354 endpoints : typing.Sequence<+T_co>[str]
7355 Returns -> typing.Mapping<~KT, +VT_co>[str, ~CharmRelation]<~CharmRelation>
7356 '''
7357 # map input types to rpc msg
7358 params = dict()
7359 msg = dict(type='Application', request='AddRelation', version=1, params=params)
7360 params['endpoints'] = endpoints
7361 reply = await self.rpc(msg)
7362 return reply
7363
7364
7365
7366 @ReturnMapping(AddApplicationUnitsResults)
7367 async def AddUnits(self, application, num_units, placement):
7368 '''
7369 application : str
7370 num_units : int
7371 placement : typing.Sequence<+T_co>[~Placement]<~Placement>
7372 Returns -> typing.Sequence<+T_co>[str]
7373 '''
7374 # map input types to rpc msg
7375 params = dict()
7376 msg = dict(type='Application', request='AddUnits', version=1, params=params)
7377 params['application'] = application
7378 params['num-units'] = num_units
7379 params['placement'] = placement
7380 reply = await self.rpc(msg)
7381 return reply
7382
7383
7384
7385 @ReturnMapping(ApplicationCharmRelationsResults)
7386 async def CharmRelations(self, application):
7387 '''
7388 application : str
7389 Returns -> typing.Sequence<+T_co>[str]
7390 '''
7391 # map input types to rpc msg
7392 params = dict()
7393 msg = dict(type='Application', request='CharmRelations', version=1, params=params)
7394 params['application'] = application
7395 reply = await self.rpc(msg)
7396 return reply
7397
7398
7399
7400 @ReturnMapping(ErrorResults)
7401 async def Deploy(self, applications):
7402 '''
7403 applications : typing.Sequence<+T_co>[~ApplicationDeploy]<~ApplicationDeploy>
7404 Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult>
7405 '''
7406 # map input types to rpc msg
7407 params = dict()
7408 msg = dict(type='Application', request='Deploy', version=1, params=params)
7409 params['applications'] = applications
7410 reply = await self.rpc(msg)
7411 return reply
7412
7413
7414
7415 @ReturnMapping(None)
7416 async def Destroy(self, application):
7417 '''
7418 application : str
7419 Returns -> None
7420 '''
7421 # map input types to rpc msg
7422 params = dict()
7423 msg = dict(type='Application', request='Destroy', version=1, params=params)
7424 params['application'] = application
7425 reply = await self.rpc(msg)
7426 return reply
7427
7428
7429
7430 @ReturnMapping(None)
7431 async def DestroyRelation(self, endpoints):
7432 '''
7433 endpoints : typing.Sequence<+T_co>[str]
7434 Returns -> None
7435 '''
7436 # map input types to rpc msg
7437 params = dict()
7438 msg = dict(type='Application', request='DestroyRelation', version=1, params=params)
7439 params['endpoints'] = endpoints
7440 reply = await self.rpc(msg)
7441 return reply
7442
7443
7444
7445 @ReturnMapping(None)
7446 async def DestroyUnits(self, unit_names):
7447 '''
7448 unit_names : typing.Sequence<+T_co>[str]
7449 Returns -> None
7450 '''
7451 # map input types to rpc msg
7452 params = dict()
7453 msg = dict(type='Application', request='DestroyUnits', version=1, params=params)
7454 params['unit-names'] = unit_names
7455 reply = await self.rpc(msg)
7456 return reply
7457
7458
7459
7460 @ReturnMapping(None)
7461 async def Expose(self, application):
7462 '''
7463 application : str
7464 Returns -> None
7465 '''
7466 # map input types to rpc msg
7467 params = dict()
7468 msg = dict(type='Application', request='Expose', version=1, params=params)
7469 params['application'] = application
7470 reply = await self.rpc(msg)
7471 return reply
7472
7473
7474
7475 @ReturnMapping(ApplicationGetResults)
7476 async def Get(self, application):
7477 '''
7478 application : str
7479 Returns -> typing.Union[str, typing.Mapping<~KT, +VT_co>[str, typing.Any], _ForwardRef('Value')]
7480 '''
7481 # map input types to rpc msg
7482 params = dict()
7483 msg = dict(type='Application', request='Get', version=1, params=params)
7484 params['application'] = application
7485 reply = await self.rpc(msg)
7486 return reply
7487
7488
7489
7490 @ReturnMapping(StringResult)
7491 async def GetCharmURL(self, application):
7492 '''
7493 application : str
7494 Returns -> typing.Union[_ForwardRef('Error'), str]
7495 '''
7496 # map input types to rpc msg
7497 params = dict()
7498 msg = dict(type='Application', request='GetCharmURL', version=1, params=params)
7499 params['application'] = application
7500 reply = await self.rpc(msg)
7501 return reply
7502
7503
7504
7505 @ReturnMapping(GetConstraintsResults)
7506 async def GetConstraints(self, application):
7507 '''
7508 application : str
7509 Returns -> Value
7510 '''
7511 # map input types to rpc msg
7512 params = dict()
7513 msg = dict(type='Application', request='GetConstraints', version=1, params=params)
7514 params['application'] = application
7515 reply = await self.rpc(msg)
7516 return reply
7517
7518
7519
7520 @ReturnMapping(None)
7521 async def Set(self, application, options):
7522 '''
7523 application : str
7524 options : typing.Mapping<~KT, +VT_co>[str, str]
7525 Returns -> None
7526 '''
7527 # map input types to rpc msg
7528 params = dict()
7529 msg = dict(type='Application', request='Set', version=1, params=params)
7530 params['application'] = application
7531 params['options'] = options
7532 reply = await self.rpc(msg)
7533 return reply
7534
7535
7536
7537 @ReturnMapping(None)
7538 async def SetCharm(self, application, channel, charm_url, force_series, force_units, resource_ids):
7539 '''
7540 application : str
7541 channel : str
7542 charm_url : str
7543 force_series : bool
7544 force_units : bool
7545 resource_ids : typing.Mapping<~KT, +VT_co>[str, str]
7546 Returns -> None
7547 '''
7548 # map input types to rpc msg
7549 params = dict()
7550 msg = dict(type='Application', request='SetCharm', version=1, params=params)
7551 params['application'] = application
7552 params['channel'] = channel
7553 params['charm-url'] = charm_url
7554 params['force-series'] = force_series
7555 params['force-units'] = force_units
7556 params['resource-ids'] = resource_ids
7557 reply = await self.rpc(msg)
7558 return reply
7559
7560
7561
7562 @ReturnMapping(None)
7563 async def SetConstraints(self, application, constraints):
7564 '''
7565 application : str
7566 constraints : Value
7567 Returns -> None
7568 '''
7569 # map input types to rpc msg
7570 params = dict()
7571 msg = dict(type='Application', request='SetConstraints', version=1, params=params)
7572 params['application'] = application
7573 params['constraints'] = constraints
7574 reply = await self.rpc(msg)
7575 return reply
7576
7577
7578
7579 @ReturnMapping(ErrorResults)
7580 async def SetMetricCredentials(self, creds):
7581 '''
7582 creds : typing.Sequence<+T_co>[~ApplicationMetricCredential]<~ApplicationMetricCredential>
7583 Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult>
7584 '''
7585 # map input types to rpc msg
7586 params = dict()
7587 msg = dict(type='Application', request='SetMetricCredentials', version=1, params=params)
7588 params['creds'] = creds
7589 reply = await self.rpc(msg)
7590 return reply
7591
7592
7593
7594 @ReturnMapping(None)
7595 async def Unexpose(self, application):
7596 '''
7597 application : str
7598 Returns -> None
7599 '''
7600 # map input types to rpc msg
7601 params = dict()
7602 msg = dict(type='Application', request='Unexpose', version=1, params=params)
7603 params['application'] = application
7604 reply = await self.rpc(msg)
7605 return reply
7606
7607
7608
7609 @ReturnMapping(None)
7610 async def Unset(self, application, options):
7611 '''
7612 application : str
7613 options : typing.Sequence<+T_co>[str]
7614 Returns -> None
7615 '''
7616 # map input types to rpc msg
7617 params = dict()
7618 msg = dict(type='Application', request='Unset', version=1, params=params)
7619 params['application'] = application
7620 params['options'] = options
7621 reply = await self.rpc(msg)
7622 return reply
7623
7624
7625
7626 @ReturnMapping(None)
7627 async def Update(self, application, charm_url, constraints, force_charm_url, force_series, min_units, settings, settings_yaml):
7628 '''
7629 application : str
7630 charm_url : str
7631 constraints : Value
7632 force_charm_url : bool
7633 force_series : bool
7634 min_units : int
7635 settings : typing.Mapping<~KT, +VT_co>[str, str]
7636 settings_yaml : str
7637 Returns -> None
7638 '''
7639 # map input types to rpc msg
7640 params = dict()
7641 msg = dict(type='Application', request='Update', version=1, params=params)
7642 params['application'] = application
7643 params['charm-url'] = charm_url
7644 params['constraints'] = constraints
7645 params['force-charm-url'] = force_charm_url
7646 params['force-series'] = force_series
7647 params['min-units'] = min_units
7648 params['settings'] = settings
7649 params['settings-yaml'] = settings_yaml
7650 reply = await self.rpc(msg)
7651 return reply
7652
7653
7654 class ApplicationScalerFacade(Type):
7655 name = 'ApplicationScaler'
7656 version = 1
7657 schema = {'definitions': {'Entities': {'additionalProperties': False,
7658 'properties': {'entities': {'items': {'$ref': '#/definitions/Entity'},
7659 'type': 'array'}},
7660 'required': ['entities'],
7661 'type': 'object'},
7662 'Entity': {'additionalProperties': False,
7663 'properties': {'tag': {'type': 'string'}},
7664 'required': ['tag'],
7665 'type': 'object'},
7666 'Error': {'additionalProperties': False,
7667 'properties': {'code': {'type': 'string'},
7668 'info': {'$ref': '#/definitions/ErrorInfo'},
7669 'message': {'type': 'string'}},
7670 'required': ['message', 'code'],
7671 'type': 'object'},
7672 'ErrorInfo': {'additionalProperties': False,
7673 'properties': {'macaroon': {'$ref': '#/definitions/Macaroon'},
7674 'macaroon-path': {'type': 'string'}},
7675 'type': 'object'},
7676 'ErrorResult': {'additionalProperties': False,
7677 'properties': {'error': {'$ref': '#/definitions/Error'}},
7678 'type': 'object'},
7679 'ErrorResults': {'additionalProperties': False,
7680 'properties': {'results': {'items': {'$ref': '#/definitions/ErrorResult'},
7681 'type': 'array'}},
7682 'required': ['results'],
7683 'type': 'object'},
7684 'Macaroon': {'additionalProperties': False, 'type': 'object'},
7685 'StringsWatchResult': {'additionalProperties': False,
7686 'properties': {'changes': {'items': {'type': 'string'},
7687 'type': 'array'},
7688 'error': {'$ref': '#/definitions/Error'},
7689 'watcher-id': {'type': 'string'}},
7690 'required': ['watcher-id'],
7691 'type': 'object'}},
7692 'properties': {'Rescale': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
7693 'Result': {'$ref': '#/definitions/ErrorResults'}},
7694 'type': 'object'},
7695 'Watch': {'properties': {'Result': {'$ref': '#/definitions/StringsWatchResult'}},
7696 'type': 'object'}},
7697 'type': 'object'}
7698
7699
7700 @ReturnMapping(ErrorResults)
7701 async def Rescale(self, entities):
7702 '''
7703 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
7704 Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult>
7705 '''
7706 # map input types to rpc msg
7707 params = dict()
7708 msg = dict(type='ApplicationScaler', request='Rescale', version=1, params=params)
7709 params['entities'] = entities
7710 reply = await self.rpc(msg)
7711 return reply
7712
7713
7714
7715 @ReturnMapping(StringsWatchResult)
7716 async def Watch(self):
7717 '''
7718
7719 Returns -> typing.Union[typing.Sequence<+T_co>[str], _ForwardRef('Error')]
7720 '''
7721 # map input types to rpc msg
7722 params = dict()
7723 msg = dict(type='ApplicationScaler', request='Watch', version=1, params=params)
7724
7725 reply = await self.rpc(msg)
7726 return reply
7727
7728
7729 class BackupsFacade(Type):
7730 name = 'Backups'
7731 version = 1
7732 schema = {'definitions': {'BackupsCreateArgs': {'additionalProperties': False,
7733 'properties': {'notes': {'type': 'string'}},
7734 'required': ['notes'],
7735 'type': 'object'},
7736 'BackupsInfoArgs': {'additionalProperties': False,
7737 'properties': {'id': {'type': 'string'}},
7738 'required': ['id'],
7739 'type': 'object'},
7740 'BackupsListArgs': {'additionalProperties': False,
7741 'type': 'object'},
7742 'BackupsListResult': {'additionalProperties': False,
7743 'properties': {'list': {'items': {'$ref': '#/definitions/BackupsMetadataResult'},
7744 'type': 'array'}},
7745 'required': ['list'],
7746 'type': 'object'},
7747 'BackupsMetadataResult': {'additionalProperties': False,
7748 'properties': {'ca-cert': {'type': 'string'},
7749 'ca-private-key': {'type': 'string'},
7750 'checksum': {'type': 'string'},
7751 'checksum-format': {'type': 'string'},
7752 'finished': {'format': 'date-time',
7753 'type': 'string'},
7754 'hostname': {'type': 'string'},
7755 'id': {'type': 'string'},
7756 'machine': {'type': 'string'},
7757 'model': {'type': 'string'},
7758 'notes': {'type': 'string'},
7759 'series': {'type': 'string'},
7760 'size': {'type': 'integer'},
7761 'started': {'format': 'date-time',
7762 'type': 'string'},
7763 'stored': {'format': 'date-time',
7764 'type': 'string'},
7765 'version': {'$ref': '#/definitions/Number'}},
7766 'required': ['id',
7767 'checksum',
7768 'checksum-format',
7769 'size',
7770 'stored',
7771 'started',
7772 'finished',
7773 'notes',
7774 'model',
7775 'machine',
7776 'hostname',
7777 'version',
7778 'series',
7779 'ca-cert',
7780 'ca-private-key'],
7781 'type': 'object'},
7782 'BackupsRemoveArgs': {'additionalProperties': False,
7783 'properties': {'id': {'type': 'string'}},
7784 'required': ['id'],
7785 'type': 'object'},
7786 'Number': {'additionalProperties': False,
7787 'properties': {'Build': {'type': 'integer'},
7788 'Major': {'type': 'integer'},
7789 'Minor': {'type': 'integer'},
7790 'Patch': {'type': 'integer'},
7791 'Tag': {'type': 'string'}},
7792 'required': ['Major',
7793 'Minor',
7794 'Tag',
7795 'Patch',
7796 'Build'],
7797 'type': 'object'},
7798 'RestoreArgs': {'additionalProperties': False,
7799 'properties': {'backup-id': {'type': 'string'}},
7800 'required': ['backup-id'],
7801 'type': 'object'}},
7802 'properties': {'Create': {'properties': {'Params': {'$ref': '#/definitions/BackupsCreateArgs'},
7803 'Result': {'$ref': '#/definitions/BackupsMetadataResult'}},
7804 'type': 'object'},
7805 'FinishRestore': {'type': 'object'},
7806 'Info': {'properties': {'Params': {'$ref': '#/definitions/BackupsInfoArgs'},
7807 'Result': {'$ref': '#/definitions/BackupsMetadataResult'}},
7808 'type': 'object'},
7809 'List': {'properties': {'Params': {'$ref': '#/definitions/BackupsListArgs'},
7810 'Result': {'$ref': '#/definitions/BackupsListResult'}},
7811 'type': 'object'},
7812 'PrepareRestore': {'type': 'object'},
7813 'Remove': {'properties': {'Params': {'$ref': '#/definitions/BackupsRemoveArgs'}},
7814 'type': 'object'},
7815 'Restore': {'properties': {'Params': {'$ref': '#/definitions/RestoreArgs'}},
7816 'type': 'object'}},
7817 'type': 'object'}
7818
7819
7820 @ReturnMapping(BackupsMetadataResult)
7821 async def Create(self, notes):
7822 '''
7823 notes : str
7824 Returns -> typing.Union[str, int, _ForwardRef('Number')]
7825 '''
7826 # map input types to rpc msg
7827 params = dict()
7828 msg = dict(type='Backups', request='Create', version=1, params=params)
7829 params['notes'] = notes
7830 reply = await self.rpc(msg)
7831 return reply
7832
7833
7834
7835 @ReturnMapping(None)
7836 async def FinishRestore(self):
7837 '''
7838
7839 Returns -> None
7840 '''
7841 # map input types to rpc msg
7842 params = dict()
7843 msg = dict(type='Backups', request='FinishRestore', version=1, params=params)
7844
7845 reply = await self.rpc(msg)
7846 return reply
7847
7848
7849
7850 @ReturnMapping(BackupsMetadataResult)
7851 async def Info(self, id_):
7852 '''
7853 id_ : str
7854 Returns -> typing.Union[str, int, _ForwardRef('Number')]
7855 '''
7856 # map input types to rpc msg
7857 params = dict()
7858 msg = dict(type='Backups', request='Info', version=1, params=params)
7859 params['id'] = id_
7860 reply = await self.rpc(msg)
7861 return reply
7862
7863
7864
7865 @ReturnMapping(BackupsListResult)
7866 async def List(self):
7867 '''
7868
7869 Returns -> typing.Sequence<+T_co>[~BackupsMetadataResult]<~BackupsMetadataResult>
7870 '''
7871 # map input types to rpc msg
7872 params = dict()
7873 msg = dict(type='Backups', request='List', version=1, params=params)
7874
7875 reply = await self.rpc(msg)
7876 return reply
7877
7878
7879
7880 @ReturnMapping(None)
7881 async def PrepareRestore(self):
7882 '''
7883
7884 Returns -> None
7885 '''
7886 # map input types to rpc msg
7887 params = dict()
7888 msg = dict(type='Backups', request='PrepareRestore', version=1, params=params)
7889
7890 reply = await self.rpc(msg)
7891 return reply
7892
7893
7894
7895 @ReturnMapping(None)
7896 async def Remove(self, id_):
7897 '''
7898 id_ : str
7899 Returns -> None
7900 '''
7901 # map input types to rpc msg
7902 params = dict()
7903 msg = dict(type='Backups', request='Remove', version=1, params=params)
7904 params['id'] = id_
7905 reply = await self.rpc(msg)
7906 return reply
7907
7908
7909
7910 @ReturnMapping(None)
7911 async def Restore(self, backup_id):
7912 '''
7913 backup_id : str
7914 Returns -> None
7915 '''
7916 # map input types to rpc msg
7917 params = dict()
7918 msg = dict(type='Backups', request='Restore', version=1, params=params)
7919 params['backup-id'] = backup_id
7920 reply = await self.rpc(msg)
7921 return reply
7922
7923
7924 class BlockFacade(Type):
7925 name = 'Block'
7926 version = 2
7927 schema = {'definitions': {'Block': {'additionalProperties': False,
7928 'properties': {'id': {'type': 'string'},
7929 'message': {'type': 'string'},
7930 'tag': {'type': 'string'},
7931 'type': {'type': 'string'}},
7932 'required': ['id', 'tag', 'type'],
7933 'type': 'object'},
7934 'BlockResult': {'additionalProperties': False,
7935 'properties': {'error': {'$ref': '#/definitions/Error'},
7936 'result': {'$ref': '#/definitions/Block'}},
7937 'required': ['result'],
7938 'type': 'object'},
7939 'BlockResults': {'additionalProperties': False,
7940 'properties': {'results': {'items': {'$ref': '#/definitions/BlockResult'},
7941 'type': 'array'}},
7942 'type': 'object'},
7943 'BlockSwitchParams': {'additionalProperties': False,
7944 'properties': {'message': {'type': 'string'},
7945 'type': {'type': 'string'}},
7946 'required': ['type'],
7947 'type': 'object'},
7948 'Error': {'additionalProperties': False,
7949 'properties': {'code': {'type': 'string'},
7950 'info': {'$ref': '#/definitions/ErrorInfo'},
7951 'message': {'type': 'string'}},
7952 'required': ['message', 'code'],
7953 'type': 'object'},
7954 'ErrorInfo': {'additionalProperties': False,
7955 'properties': {'macaroon': {'$ref': '#/definitions/Macaroon'},
7956 'macaroon-path': {'type': 'string'}},
7957 'type': 'object'},
7958 'ErrorResult': {'additionalProperties': False,
7959 'properties': {'error': {'$ref': '#/definitions/Error'}},
7960 'type': 'object'},
7961 'Macaroon': {'additionalProperties': False, 'type': 'object'}},
7962 'properties': {'List': {'properties': {'Result': {'$ref': '#/definitions/BlockResults'}},
7963 'type': 'object'},
7964 'SwitchBlockOff': {'properties': {'Params': {'$ref': '#/definitions/BlockSwitchParams'},
7965 'Result': {'$ref': '#/definitions/ErrorResult'}},
7966 'type': 'object'},
7967 'SwitchBlockOn': {'properties': {'Params': {'$ref': '#/definitions/BlockSwitchParams'},
7968 'Result': {'$ref': '#/definitions/ErrorResult'}},
7969 'type': 'object'}},
7970 'type': 'object'}
7971
7972
7973 @ReturnMapping(BlockResults)
7974 async def List(self):
7975 '''
7976
7977 Returns -> typing.Sequence<+T_co>[~BlockResult]<~BlockResult>
7978 '''
7979 # map input types to rpc msg
7980 params = dict()
7981 msg = dict(type='Block', request='List', version=2, params=params)
7982
7983 reply = await self.rpc(msg)
7984 return reply
7985
7986
7987
7988 @ReturnMapping(ErrorResult)
7989 async def SwitchBlockOff(self, message, type_):
7990 '''
7991 message : str
7992 type_ : str
7993 Returns -> Error
7994 '''
7995 # map input types to rpc msg
7996 params = dict()
7997 msg = dict(type='Block', request='SwitchBlockOff', version=2, params=params)
7998 params['message'] = message
7999 params['type'] = type_
8000 reply = await self.rpc(msg)
8001 return reply
8002
8003
8004
8005 @ReturnMapping(ErrorResult)
8006 async def SwitchBlockOn(self, message, type_):
8007 '''
8008 message : str
8009 type_ : str
8010 Returns -> Error
8011 '''
8012 # map input types to rpc msg
8013 params = dict()
8014 msg = dict(type='Block', request='SwitchBlockOn', version=2, params=params)
8015 params['message'] = message
8016 params['type'] = type_
8017 reply = await self.rpc(msg)
8018 return reply
8019
8020
8021 class CharmRevisionUpdaterFacade(Type):
8022 name = 'CharmRevisionUpdater'
8023 version = 2
8024 schema = {'definitions': {'Error': {'additionalProperties': False,
8025 'properties': {'code': {'type': 'string'},
8026 'info': {'$ref': '#/definitions/ErrorInfo'},
8027 'message': {'type': 'string'}},
8028 'required': ['message', 'code'],
8029 'type': 'object'},
8030 'ErrorInfo': {'additionalProperties': False,
8031 'properties': {'macaroon': {'$ref': '#/definitions/Macaroon'},
8032 'macaroon-path': {'type': 'string'}},
8033 'type': 'object'},
8034 'ErrorResult': {'additionalProperties': False,
8035 'properties': {'error': {'$ref': '#/definitions/Error'}},
8036 'type': 'object'},
8037 'Macaroon': {'additionalProperties': False, 'type': 'object'}},
8038 'properties': {'UpdateLatestRevisions': {'properties': {'Result': {'$ref': '#/definitions/ErrorResult'}},
8039 'type': 'object'}},
8040 'type': 'object'}
8041
8042
8043 @ReturnMapping(ErrorResult)
8044 async def UpdateLatestRevisions(self):
8045 '''
8046
8047 Returns -> Error
8048 '''
8049 # map input types to rpc msg
8050 params = dict()
8051 msg = dict(type='CharmRevisionUpdater', request='UpdateLatestRevisions', version=2, params=params)
8052
8053 reply = await self.rpc(msg)
8054 return reply
8055
8056
8057 class CharmsFacade(Type):
8058 name = 'Charms'
8059 version = 2
8060 schema = {'definitions': {'CharmActionSpec': {'additionalProperties': False,
8061 'properties': {'description': {'type': 'string'},
8062 'params': {'patternProperties': {'.*': {'additionalProperties': True,
8063 'type': 'object'}},
8064 'type': 'object'}},
8065 'required': ['description', 'params'],
8066 'type': 'object'},
8067 'CharmActions': {'additionalProperties': False,
8068 'properties': {'specs': {'patternProperties': {'.*': {'$ref': '#/definitions/CharmActionSpec'}},
8069 'type': 'object'}},
8070 'type': 'object'},
8071 'CharmInfo': {'additionalProperties': False,
8072 'properties': {'actions': {'$ref': '#/definitions/CharmActions'},
8073 'config': {'patternProperties': {'.*': {'$ref': '#/definitions/CharmOption'}},
8074 'type': 'object'},
8075 'meta': {'$ref': '#/definitions/CharmMeta'},
8076 'metrics': {'$ref': '#/definitions/CharmMetrics'},
8077 'revision': {'type': 'integer'},
8078 'url': {'type': 'string'}},
8079 'required': ['revision', 'url', 'config'],
8080 'type': 'object'},
8081 'CharmMeta': {'additionalProperties': False,
8082 'properties': {'categories': {'items': {'type': 'string'},
8083 'type': 'array'},
8084 'description': {'type': 'string'},
8085 'extra-bindings': {'patternProperties': {'.*': {'type': 'string'}},
8086 'type': 'object'},
8087 'min-juju-version': {'type': 'string'},
8088 'name': {'type': 'string'},
8089 'payload-classes': {'patternProperties': {'.*': {'$ref': '#/definitions/CharmPayloadClass'}},
8090 'type': 'object'},
8091 'peers': {'patternProperties': {'.*': {'$ref': '#/definitions/CharmRelation'}},
8092 'type': 'object'},
8093 'provides': {'patternProperties': {'.*': {'$ref': '#/definitions/CharmRelation'}},
8094 'type': 'object'},
8095 'requires': {'patternProperties': {'.*': {'$ref': '#/definitions/CharmRelation'}},
8096 'type': 'object'},
8097 'resources': {'patternProperties': {'.*': {'$ref': '#/definitions/CharmResourceMeta'}},
8098 'type': 'object'},
8099 'series': {'items': {'type': 'string'},
8100 'type': 'array'},
8101 'storage': {'patternProperties': {'.*': {'$ref': '#/definitions/CharmStorage'}},
8102 'type': 'object'},
8103 'subordinate': {'type': 'boolean'},
8104 'summary': {'type': 'string'},
8105 'tags': {'items': {'type': 'string'},
8106 'type': 'array'},
8107 'terms': {'items': {'type': 'string'},
8108 'type': 'array'}},
8109 'required': ['name',
8110 'summary',
8111 'description',
8112 'subordinate'],
8113 'type': 'object'},
8114 'CharmMetric': {'additionalProperties': False,
8115 'properties': {'description': {'type': 'string'},
8116 'type': {'type': 'string'}},
8117 'required': ['type', 'description'],
8118 'type': 'object'},
8119 'CharmMetrics': {'additionalProperties': False,
8120 'properties': {'metrics': {'patternProperties': {'.*': {'$ref': '#/definitions/CharmMetric'}},
8121 'type': 'object'}},
8122 'required': ['metrics'],
8123 'type': 'object'},
8124 'CharmOption': {'additionalProperties': False,
8125 'properties': {'default': {'additionalProperties': True,
8126 'type': 'object'},
8127 'description': {'type': 'string'},
8128 'type': {'type': 'string'}},
8129 'required': ['type'],
8130 'type': 'object'},
8131 'CharmPayloadClass': {'additionalProperties': False,
8132 'properties': {'name': {'type': 'string'},
8133 'type': {'type': 'string'}},
8134 'required': ['name', 'type'],
8135 'type': 'object'},
8136 'CharmRelation': {'additionalProperties': False,
8137 'properties': {'interface': {'type': 'string'},
8138 'limit': {'type': 'integer'},
8139 'name': {'type': 'string'},
8140 'optional': {'type': 'boolean'},
8141 'role': {'type': 'string'},
8142 'scope': {'type': 'string'}},
8143 'required': ['name',
8144 'role',
8145 'interface',
8146 'optional',
8147 'limit',
8148 'scope'],
8149 'type': 'object'},
8150 'CharmResourceMeta': {'additionalProperties': False,
8151 'properties': {'description': {'type': 'string'},
8152 'name': {'type': 'string'},
8153 'path': {'type': 'string'},
8154 'type': {'type': 'string'}},
8155 'required': ['name',
8156 'type',
8157 'path',
8158 'description'],
8159 'type': 'object'},
8160 'CharmStorage': {'additionalProperties': False,
8161 'properties': {'count-max': {'type': 'integer'},
8162 'count-min': {'type': 'integer'},
8163 'description': {'type': 'string'},
8164 'location': {'type': 'string'},
8165 'minimum-size': {'type': 'integer'},
8166 'name': {'type': 'string'},
8167 'properties': {'items': {'type': 'string'},
8168 'type': 'array'},
8169 'read-only': {'type': 'boolean'},
8170 'shared': {'type': 'boolean'},
8171 'type': {'type': 'string'}},
8172 'required': ['name',
8173 'description',
8174 'type',
8175 'shared',
8176 'read-only',
8177 'count-min',
8178 'count-max',
8179 'minimum-size'],
8180 'type': 'object'},
8181 'CharmURL': {'additionalProperties': False,
8182 'properties': {'url': {'type': 'string'}},
8183 'required': ['url'],
8184 'type': 'object'},
8185 'CharmsList': {'additionalProperties': False,
8186 'properties': {'names': {'items': {'type': 'string'},
8187 'type': 'array'}},
8188 'required': ['names'],
8189 'type': 'object'},
8190 'CharmsListResult': {'additionalProperties': False,
8191 'properties': {'charm-urls': {'items': {'type': 'string'},
8192 'type': 'array'}},
8193 'required': ['charm-urls'],
8194 'type': 'object'},
8195 'IsMeteredResult': {'additionalProperties': False,
8196 'properties': {'metered': {'type': 'boolean'}},
8197 'required': ['metered'],
8198 'type': 'object'}},
8199 'properties': {'CharmInfo': {'properties': {'Params': {'$ref': '#/definitions/CharmURL'},
8200 'Result': {'$ref': '#/definitions/CharmInfo'}},
8201 'type': 'object'},
8202 'IsMetered': {'properties': {'Params': {'$ref': '#/definitions/CharmURL'},
8203 'Result': {'$ref': '#/definitions/IsMeteredResult'}},
8204 'type': 'object'},
8205 'List': {'properties': {'Params': {'$ref': '#/definitions/CharmsList'},
8206 'Result': {'$ref': '#/definitions/CharmsListResult'}},
8207 'type': 'object'}},
8208 'type': 'object'}
8209
8210
8211 @ReturnMapping(CharmInfo)
8212 async def CharmInfo(self, url):
8213 '''
8214 url : str
8215 Returns -> typing.Union[_ForwardRef('CharmActions'), typing.Mapping<~KT, +VT_co>[str, ~CharmOption]<~CharmOption>, _ForwardRef('CharmMeta'), _ForwardRef('CharmMetrics'), int, str]
8216 '''
8217 # map input types to rpc msg
8218 params = dict()
8219 msg = dict(type='Charms', request='CharmInfo', version=2, params=params)
8220 params['url'] = url
8221 reply = await self.rpc(msg)
8222 return reply
8223
8224
8225
8226 @ReturnMapping(IsMeteredResult)
8227 async def IsMetered(self, url):
8228 '''
8229 url : str
8230 Returns -> bool
8231 '''
8232 # map input types to rpc msg
8233 params = dict()
8234 msg = dict(type='Charms', request='IsMetered', version=2, params=params)
8235 params['url'] = url
8236 reply = await self.rpc(msg)
8237 return reply
8238
8239
8240
8241 @ReturnMapping(CharmsListResult)
8242 async def List(self, names):
8243 '''
8244 names : typing.Sequence<+T_co>[str]
8245 Returns -> typing.Sequence<+T_co>[str]
8246 '''
8247 # map input types to rpc msg
8248 params = dict()
8249 msg = dict(type='Charms', request='List', version=2, params=params)
8250 params['names'] = names
8251 reply = await self.rpc(msg)
8252 return reply
8253
8254
8255 class CleanerFacade(Type):
8256 name = 'Cleaner'
8257 version = 2
8258 schema = {'definitions': {'Error': {'additionalProperties': False,
8259 'properties': {'code': {'type': 'string'},
8260 'info': {'$ref': '#/definitions/ErrorInfo'},
8261 'message': {'type': 'string'}},
8262 'required': ['message', 'code'],
8263 'type': 'object'},
8264 'ErrorInfo': {'additionalProperties': False,
8265 'properties': {'macaroon': {'$ref': '#/definitions/Macaroon'},
8266 'macaroon-path': {'type': 'string'}},
8267 'type': 'object'},
8268 'Macaroon': {'additionalProperties': False, 'type': 'object'},
8269 'NotifyWatchResult': {'additionalProperties': False,
8270 'properties': {'NotifyWatcherId': {'type': 'string'},
8271 'error': {'$ref': '#/definitions/Error'}},
8272 'required': ['NotifyWatcherId'],
8273 'type': 'object'}},
8274 'properties': {'Cleanup': {'type': 'object'},
8275 'WatchCleanups': {'properties': {'Result': {'$ref': '#/definitions/NotifyWatchResult'}},
8276 'type': 'object'}},
8277 'type': 'object'}
8278
8279
8280 @ReturnMapping(None)
8281 async def Cleanup(self):
8282 '''
8283
8284 Returns -> None
8285 '''
8286 # map input types to rpc msg
8287 params = dict()
8288 msg = dict(type='Cleaner', request='Cleanup', version=2, params=params)
8289
8290 reply = await self.rpc(msg)
8291 return reply
8292
8293
8294
8295 @ReturnMapping(NotifyWatchResult)
8296 async def WatchCleanups(self):
8297 '''
8298
8299 Returns -> typing.Union[str, _ForwardRef('Error')]
8300 '''
8301 # map input types to rpc msg
8302 params = dict()
8303 msg = dict(type='Cleaner', request='WatchCleanups', version=2, params=params)
8304
8305 reply = await self.rpc(msg)
8306 return reply
8307
8308
8309 class ClientFacade(Type):
8310 name = 'Client'
8311 version = 1
8312 schema = {'definitions': {'APIHostPortsResult': {'additionalProperties': False,
8313 'properties': {'servers': {'items': {'items': {'$ref': '#/definitions/HostPort'},
8314 'type': 'array'},
8315 'type': 'array'}},
8316 'required': ['servers'],
8317 'type': 'object'},
8318 'AddCharm': {'additionalProperties': False,
8319 'properties': {'channel': {'type': 'string'},
8320 'url': {'type': 'string'}},
8321 'required': ['url', 'channel'],
8322 'type': 'object'},
8323 'AddCharmWithAuthorization': {'additionalProperties': False,
8324 'properties': {'channel': {'type': 'string'},
8325 'macaroon': {'$ref': '#/definitions/Macaroon'},
8326 'url': {'type': 'string'}},
8327 'required': ['url',
8328 'channel',
8329 'macaroon'],
8330 'type': 'object'},
8331 'AddMachineParams': {'additionalProperties': False,
8332 'properties': {'addresses': {'items': {'$ref': '#/definitions/Address'},
8333 'type': 'array'},
8334 'constraints': {'$ref': '#/definitions/Value'},
8335 'container-type': {'type': 'string'},
8336 'disks': {'items': {'$ref': '#/definitions/Constraints'},
8337 'type': 'array'},
8338 'hardware-characteristics': {'$ref': '#/definitions/HardwareCharacteristics'},
8339 'instance-id': {'type': 'string'},
8340 'jobs': {'items': {'type': 'string'},
8341 'type': 'array'},
8342 'nonce': {'type': 'string'},
8343 'parent-id': {'type': 'string'},
8344 'placement': {'$ref': '#/definitions/Placement'},
8345 'series': {'type': 'string'}},
8346 'required': ['series',
8347 'constraints',
8348 'jobs',
8349 'parent-id',
8350 'container-type',
8351 'instance-id',
8352 'nonce',
8353 'hardware-characteristics',
8354 'addresses'],
8355 'type': 'object'},
8356 'AddMachines': {'additionalProperties': False,
8357 'properties': {'params': {'items': {'$ref': '#/definitions/AddMachineParams'},
8358 'type': 'array'}},
8359 'required': ['params'],
8360 'type': 'object'},
8361 'AddMachinesResult': {'additionalProperties': False,
8362 'properties': {'error': {'$ref': '#/definitions/Error'},
8363 'machine': {'type': 'string'}},
8364 'required': ['machine'],
8365 'type': 'object'},
8366 'AddMachinesResults': {'additionalProperties': False,
8367 'properties': {'machines': {'items': {'$ref': '#/definitions/AddMachinesResult'},
8368 'type': 'array'}},
8369 'required': ['machines'],
8370 'type': 'object'},
8371 'Address': {'additionalProperties': False,
8372 'properties': {'scope': {'type': 'string'},
8373 'space-name': {'type': 'string'},
8374 'type': {'type': 'string'},
8375 'value': {'type': 'string'}},
8376 'required': ['value', 'type', 'scope'],
8377 'type': 'object'},
8378 'AgentVersionResult': {'additionalProperties': False,
8379 'properties': {'version': {'$ref': '#/definitions/Number'}},
8380 'required': ['version'],
8381 'type': 'object'},
8382 'AllWatcherId': {'additionalProperties': False,
8383 'properties': {'watcher-id': {'type': 'string'}},
8384 'required': ['watcher-id'],
8385 'type': 'object'},
8386 'ApplicationStatus': {'additionalProperties': False,
8387 'properties': {'can-upgrade-to': {'type': 'string'},
8388 'charm': {'type': 'string'},
8389 'err': {'additionalProperties': True,
8390 'type': 'object'},
8391 'exposed': {'type': 'boolean'},
8392 'life': {'type': 'string'},
8393 'meter-statuses': {'patternProperties': {'.*': {'$ref': '#/definitions/MeterStatus'}},
8394 'type': 'object'},
8395 'relations': {'patternProperties': {'.*': {'items': {'type': 'string'},
8396 'type': 'array'}},
8397 'type': 'object'},
8398 'series': {'type': 'string'},
8399 'status': {'$ref': '#/definitions/DetailedStatus'},
8400 'subordinate-to': {'items': {'type': 'string'},
8401 'type': 'array'},
8402 'units': {'patternProperties': {'.*': {'$ref': '#/definitions/UnitStatus'}},
8403 'type': 'object'},
8404 'workload-version': {'type': 'string'}},
8405 'required': ['charm',
8406 'series',
8407 'exposed',
8408 'life',
8409 'relations',
8410 'can-upgrade-to',
8411 'subordinate-to',
8412 'units',
8413 'meter-statuses',
8414 'status',
8415 'workload-version'],
8416 'type': 'object'},
8417 'Binary': {'additionalProperties': False,
8418 'properties': {'Arch': {'type': 'string'},
8419 'Number': {'$ref': '#/definitions/Number'},
8420 'Series': {'type': 'string'}},
8421 'required': ['Number', 'Series', 'Arch'],
8422 'type': 'object'},
8423 'BundleChangesChange': {'additionalProperties': False,
8424 'properties': {'args': {'items': {'additionalProperties': True,
8425 'type': 'object'},
8426 'type': 'array'},
8427 'id': {'type': 'string'},
8428 'method': {'type': 'string'},
8429 'requires': {'items': {'type': 'string'},
8430 'type': 'array'}},
8431 'required': ['id',
8432 'method',
8433 'args',
8434 'requires'],
8435 'type': 'object'},
8436 'ConfigValue': {'additionalProperties': False,
8437 'properties': {'source': {'type': 'string'},
8438 'value': {'additionalProperties': True,
8439 'type': 'object'}},
8440 'required': ['value', 'source'],
8441 'type': 'object'},
8442 'Constraints': {'additionalProperties': False,
8443 'properties': {'Count': {'type': 'integer'},
8444 'Pool': {'type': 'string'},
8445 'Size': {'type': 'integer'}},
8446 'required': ['Pool', 'Size', 'Count'],
8447 'type': 'object'},
8448 'DestroyMachines': {'additionalProperties': False,
8449 'properties': {'force': {'type': 'boolean'},
8450 'machine-names': {'items': {'type': 'string'},
8451 'type': 'array'}},
8452 'required': ['machine-names', 'force'],
8453 'type': 'object'},
8454 'DetailedStatus': {'additionalProperties': False,
8455 'properties': {'data': {'patternProperties': {'.*': {'additionalProperties': True,
8456 'type': 'object'}},
8457 'type': 'object'},
8458 'err': {'additionalProperties': True,
8459 'type': 'object'},
8460 'info': {'type': 'string'},
8461 'kind': {'type': 'string'},
8462 'life': {'type': 'string'},
8463 'since': {'format': 'date-time',
8464 'type': 'string'},
8465 'status': {'type': 'string'},
8466 'version': {'type': 'string'}},
8467 'required': ['status',
8468 'info',
8469 'data',
8470 'since',
8471 'kind',
8472 'version',
8473 'life'],
8474 'type': 'object'},
8475 'EndpointStatus': {'additionalProperties': False,
8476 'properties': {'application': {'type': 'string'},
8477 'name': {'type': 'string'},
8478 'role': {'type': 'string'},
8479 'subordinate': {'type': 'boolean'}},
8480 'required': ['application',
8481 'name',
8482 'role',
8483 'subordinate'],
8484 'type': 'object'},
8485 'Entities': {'additionalProperties': False,
8486 'properties': {'entities': {'items': {'$ref': '#/definitions/Entity'},
8487 'type': 'array'}},
8488 'required': ['entities'],
8489 'type': 'object'},
8490 'Entity': {'additionalProperties': False,
8491 'properties': {'tag': {'type': 'string'}},
8492 'required': ['tag'],
8493 'type': 'object'},
8494 'EntityStatus': {'additionalProperties': False,
8495 'properties': {'data': {'patternProperties': {'.*': {'additionalProperties': True,
8496 'type': 'object'}},
8497 'type': 'object'},
8498 'info': {'type': 'string'},
8499 'since': {'format': 'date-time',
8500 'type': 'string'},
8501 'status': {'type': 'string'}},
8502 'required': ['status', 'info', 'since'],
8503 'type': 'object'},
8504 'Error': {'additionalProperties': False,
8505 'properties': {'code': {'type': 'string'},
8506 'info': {'$ref': '#/definitions/ErrorInfo'},
8507 'message': {'type': 'string'}},
8508 'required': ['message', 'code'],
8509 'type': 'object'},
8510 'ErrorInfo': {'additionalProperties': False,
8511 'properties': {'macaroon': {'$ref': '#/definitions/Macaroon'},
8512 'macaroon-path': {'type': 'string'}},
8513 'type': 'object'},
8514 'ErrorResult': {'additionalProperties': False,
8515 'properties': {'error': {'$ref': '#/definitions/Error'}},
8516 'type': 'object'},
8517 'ErrorResults': {'additionalProperties': False,
8518 'properties': {'results': {'items': {'$ref': '#/definitions/ErrorResult'},
8519 'type': 'array'}},
8520 'required': ['results'],
8521 'type': 'object'},
8522 'FindToolsParams': {'additionalProperties': False,
8523 'properties': {'arch': {'type': 'string'},
8524 'major': {'type': 'integer'},
8525 'minor': {'type': 'integer'},
8526 'number': {'$ref': '#/definitions/Number'},
8527 'series': {'type': 'string'}},
8528 'required': ['number',
8529 'major',
8530 'minor',
8531 'arch',
8532 'series'],
8533 'type': 'object'},
8534 'FindToolsResult': {'additionalProperties': False,
8535 'properties': {'error': {'$ref': '#/definitions/Error'},
8536 'list': {'items': {'$ref': '#/definitions/Tools'},
8537 'type': 'array'}},
8538 'required': ['list'],
8539 'type': 'object'},
8540 'FullStatus': {'additionalProperties': False,
8541 'properties': {'applications': {'patternProperties': {'.*': {'$ref': '#/definitions/ApplicationStatus'}},
8542 'type': 'object'},
8543 'machines': {'patternProperties': {'.*': {'$ref': '#/definitions/MachineStatus'}},
8544 'type': 'object'},
8545 'model': {'$ref': '#/definitions/ModelStatusInfo'},
8546 'relations': {'items': {'$ref': '#/definitions/RelationStatus'},
8547 'type': 'array'}},
8548 'required': ['model',
8549 'machines',
8550 'applications',
8551 'relations'],
8552 'type': 'object'},
8553 'GetBundleChangesParams': {'additionalProperties': False,
8554 'properties': {'yaml': {'type': 'string'}},
8555 'required': ['yaml'],
8556 'type': 'object'},
8557 'GetBundleChangesResults': {'additionalProperties': False,
8558 'properties': {'changes': {'items': {'$ref': '#/definitions/BundleChangesChange'},
8559 'type': 'array'},
8560 'errors': {'items': {'type': 'string'},
8561 'type': 'array'}},
8562 'type': 'object'},
8563 'GetConstraintsResults': {'additionalProperties': False,
8564 'properties': {'constraints': {'$ref': '#/definitions/Value'}},
8565 'required': ['constraints'],
8566 'type': 'object'},
8567 'HardwareCharacteristics': {'additionalProperties': False,
8568 'properties': {'arch': {'type': 'string'},
8569 'availability-zone': {'type': 'string'},
8570 'cpu-cores': {'type': 'integer'},
8571 'cpu-power': {'type': 'integer'},
8572 'mem': {'type': 'integer'},
8573 'root-disk': {'type': 'integer'},
8574 'tags': {'items': {'type': 'string'},
8575 'type': 'array'}},
8576 'type': 'object'},
8577 'History': {'additionalProperties': False,
8578 'properties': {'error': {'$ref': '#/definitions/Error'},
8579 'statuses': {'items': {'$ref': '#/definitions/DetailedStatus'},
8580 'type': 'array'}},
8581 'required': ['statuses'],
8582 'type': 'object'},
8583 'HostPort': {'additionalProperties': False,
8584 'properties': {'Address': {'$ref': '#/definitions/Address'},
8585 'port': {'type': 'integer'}},
8586 'required': ['Address', 'port'],
8587 'type': 'object'},
8588 'Macaroon': {'additionalProperties': False, 'type': 'object'},
8589 'MachineStatus': {'additionalProperties': False,
8590 'properties': {'agent-status': {'$ref': '#/definitions/DetailedStatus'},
8591 'containers': {'patternProperties': {'.*': {'$ref': '#/definitions/MachineStatus'}},
8592 'type': 'object'},
8593 'dns-name': {'type': 'string'},
8594 'hardware': {'type': 'string'},
8595 'has-vote': {'type': 'boolean'},
8596 'id': {'type': 'string'},
8597 'instance-id': {'type': 'string'},
8598 'instance-status': {'$ref': '#/definitions/DetailedStatus'},
8599 'jobs': {'items': {'type': 'string'},
8600 'type': 'array'},
8601 'series': {'type': 'string'},
8602 'wants-vote': {'type': 'boolean'}},
8603 'required': ['agent-status',
8604 'instance-status',
8605 'dns-name',
8606 'instance-id',
8607 'series',
8608 'id',
8609 'containers',
8610 'hardware',
8611 'jobs',
8612 'has-vote',
8613 'wants-vote'],
8614 'type': 'object'},
8615 'MeterStatus': {'additionalProperties': False,
8616 'properties': {'color': {'type': 'string'},
8617 'message': {'type': 'string'}},
8618 'required': ['color', 'message'],
8619 'type': 'object'},
8620 'ModelConfigResults': {'additionalProperties': False,
8621 'properties': {'config': {'patternProperties': {'.*': {'$ref': '#/definitions/ConfigValue'}},
8622 'type': 'object'}},
8623 'required': ['config'],
8624 'type': 'object'},
8625 'ModelDefaultValues': {'additionalProperties': False,
8626 'properties': {'cloud-region': {'type': 'string'},
8627 'cloud-tag': {'type': 'string'},
8628 'config': {'patternProperties': {'.*': {'additionalProperties': True,
8629 'type': 'object'}},
8630 'type': 'object'}},
8631 'required': ['config'],
8632 'type': 'object'},
8633 'ModelDefaults': {'additionalProperties': False,
8634 'properties': {'controller': {'additionalProperties': True,
8635 'type': 'object'},
8636 'default': {'additionalProperties': True,
8637 'type': 'object'},
8638 'regions': {'items': {'$ref': '#/definitions/RegionDefaults'},
8639 'type': 'array'}},
8640 'type': 'object'},
8641 'ModelDefaultsResult': {'additionalProperties': False,
8642 'properties': {'config': {'patternProperties': {'.*': {'$ref': '#/definitions/ModelDefaults'}},
8643 'type': 'object'}},
8644 'required': ['config'],
8645 'type': 'object'},
8646 'ModelInfo': {'additionalProperties': False,
8647 'properties': {'cloud': {'type': 'string'},
8648 'cloud-credential-tag': {'type': 'string'},
8649 'cloud-region': {'type': 'string'},
8650 'controller-uuid': {'type': 'string'},
8651 'default-series': {'type': 'string'},
8652 'life': {'type': 'string'},
8653 'name': {'type': 'string'},
8654 'owner-tag': {'type': 'string'},
8655 'provider-type': {'type': 'string'},
8656 'status': {'$ref': '#/definitions/EntityStatus'},
8657 'users': {'items': {'$ref': '#/definitions/ModelUserInfo'},
8658 'type': 'array'},
8659 'uuid': {'type': 'string'}},
8660 'required': ['name',
8661 'uuid',
8662 'controller-uuid',
8663 'provider-type',
8664 'default-series',
8665 'cloud',
8666 'owner-tag',
8667 'life',
8668 'status',
8669 'users'],
8670 'type': 'object'},
8671 'ModelSet': {'additionalProperties': False,
8672 'properties': {'config': {'patternProperties': {'.*': {'additionalProperties': True,
8673 'type': 'object'}},
8674 'type': 'object'}},
8675 'required': ['config'],
8676 'type': 'object'},
8677 'ModelStatusInfo': {'additionalProperties': False,
8678 'properties': {'available-version': {'type': 'string'},
8679 'cloud': {'type': 'string'},
8680 'migration': {'type': 'string'},
8681 'name': {'type': 'string'},
8682 'region': {'type': 'string'},
8683 'version': {'type': 'string'}},
8684 'required': ['name',
8685 'cloud',
8686 'version',
8687 'available-version'],
8688 'type': 'object'},
8689 'ModelUnset': {'additionalProperties': False,
8690 'properties': {'keys': {'items': {'type': 'string'},
8691 'type': 'array'}},
8692 'required': ['keys'],
8693 'type': 'object'},
8694 'ModelUnsetKeys': {'additionalProperties': False,
8695 'properties': {'cloud-region': {'type': 'string'},
8696 'cloud-tag': {'type': 'string'},
8697 'keys': {'items': {'type': 'string'},
8698 'type': 'array'}},
8699 'required': ['keys'],
8700 'type': 'object'},
8701 'ModelUserInfo': {'additionalProperties': False,
8702 'properties': {'access': {'type': 'string'},
8703 'display-name': {'type': 'string'},
8704 'last-connection': {'format': 'date-time',
8705 'type': 'string'},
8706 'user': {'type': 'string'}},
8707 'required': ['user',
8708 'display-name',
8709 'last-connection',
8710 'access'],
8711 'type': 'object'},
8712 'ModelUserInfoResult': {'additionalProperties': False,
8713 'properties': {'error': {'$ref': '#/definitions/Error'},
8714 'result': {'$ref': '#/definitions/ModelUserInfo'}},
8715 'type': 'object'},
8716 'ModelUserInfoResults': {'additionalProperties': False,
8717 'properties': {'results': {'items': {'$ref': '#/definitions/ModelUserInfoResult'},
8718 'type': 'array'}},
8719 'required': ['results'],
8720 'type': 'object'},
8721 'Number': {'additionalProperties': False,
8722 'properties': {'Build': {'type': 'integer'},
8723 'Major': {'type': 'integer'},
8724 'Minor': {'type': 'integer'},
8725 'Patch': {'type': 'integer'},
8726 'Tag': {'type': 'string'}},
8727 'required': ['Major',
8728 'Minor',
8729 'Tag',
8730 'Patch',
8731 'Build'],
8732 'type': 'object'},
8733 'Placement': {'additionalProperties': False,
8734 'properties': {'directive': {'type': 'string'},
8735 'scope': {'type': 'string'}},
8736 'required': ['scope', 'directive'],
8737 'type': 'object'},
8738 'PrivateAddress': {'additionalProperties': False,
8739 'properties': {'target': {'type': 'string'}},
8740 'required': ['target'],
8741 'type': 'object'},
8742 'PrivateAddressResults': {'additionalProperties': False,
8743 'properties': {'private-address': {'type': 'string'}},
8744 'required': ['private-address'],
8745 'type': 'object'},
8746 'ProvisioningScriptParams': {'additionalProperties': False,
8747 'properties': {'data-dir': {'type': 'string'},
8748 'disable-package-commands': {'type': 'boolean'},
8749 'machine-id': {'type': 'string'},
8750 'nonce': {'type': 'string'}},
8751 'required': ['machine-id',
8752 'nonce',
8753 'data-dir',
8754 'disable-package-commands'],
8755 'type': 'object'},
8756 'ProvisioningScriptResult': {'additionalProperties': False,
8757 'properties': {'script': {'type': 'string'}},
8758 'required': ['script'],
8759 'type': 'object'},
8760 'PublicAddress': {'additionalProperties': False,
8761 'properties': {'target': {'type': 'string'}},
8762 'required': ['target'],
8763 'type': 'object'},
8764 'PublicAddressResults': {'additionalProperties': False,
8765 'properties': {'public-address': {'type': 'string'}},
8766 'required': ['public-address'],
8767 'type': 'object'},
8768 'RegionDefaults': {'additionalProperties': False,
8769 'properties': {'region-name': {'type': 'string'},
8770 'value': {'additionalProperties': True,
8771 'type': 'object'}},
8772 'required': ['region-name', 'value'],
8773 'type': 'object'},
8774 'RelationStatus': {'additionalProperties': False,
8775 'properties': {'endpoints': {'items': {'$ref': '#/definitions/EndpointStatus'},
8776 'type': 'array'},
8777 'id': {'type': 'integer'},
8778 'interface': {'type': 'string'},
8779 'key': {'type': 'string'},
8780 'scope': {'type': 'string'}},
8781 'required': ['id',
8782 'key',
8783 'interface',
8784 'scope',
8785 'endpoints'],
8786 'type': 'object'},
8787 'ResolveCharmResult': {'additionalProperties': False,
8788 'properties': {'error': {'type': 'string'},
8789 'url': {'type': 'string'}},
8790 'type': 'object'},
8791 'ResolveCharmResults': {'additionalProperties': False,
8792 'properties': {'urls': {'items': {'$ref': '#/definitions/ResolveCharmResult'},
8793 'type': 'array'}},
8794 'required': ['urls'],
8795 'type': 'object'},
8796 'ResolveCharms': {'additionalProperties': False,
8797 'properties': {'references': {'items': {'type': 'string'},
8798 'type': 'array'}},
8799 'required': ['references'],
8800 'type': 'object'},
8801 'Resolved': {'additionalProperties': False,
8802 'properties': {'retry': {'type': 'boolean'},
8803 'unit-name': {'type': 'string'}},
8804 'required': ['unit-name', 'retry'],
8805 'type': 'object'},
8806 'SetConstraints': {'additionalProperties': False,
8807 'properties': {'application': {'type': 'string'},
8808 'constraints': {'$ref': '#/definitions/Value'}},
8809 'required': ['application', 'constraints'],
8810 'type': 'object'},
8811 'SetModelAgentVersion': {'additionalProperties': False,
8812 'properties': {'version': {'$ref': '#/definitions/Number'}},
8813 'required': ['version'],
8814 'type': 'object'},
8815 'SetModelDefaults': {'additionalProperties': False,
8816 'properties': {'config': {'items': {'$ref': '#/definitions/ModelDefaultValues'},
8817 'type': 'array'}},
8818 'required': ['config'],
8819 'type': 'object'},
8820 'StatusHistoryFilter': {'additionalProperties': False,
8821 'properties': {'date': {'format': 'date-time',
8822 'type': 'string'},
8823 'delta': {'type': 'integer'},
8824 'size': {'type': 'integer'}},
8825 'required': ['size', 'date', 'delta'],
8826 'type': 'object'},
8827 'StatusHistoryRequest': {'additionalProperties': False,
8828 'properties': {'filter': {'$ref': '#/definitions/StatusHistoryFilter'},
8829 'historyKind': {'type': 'string'},
8830 'size': {'type': 'integer'},
8831 'tag': {'type': 'string'}},
8832 'required': ['historyKind',
8833 'size',
8834 'filter',
8835 'tag'],
8836 'type': 'object'},
8837 'StatusHistoryRequests': {'additionalProperties': False,
8838 'properties': {'requests': {'items': {'$ref': '#/definitions/StatusHistoryRequest'},
8839 'type': 'array'}},
8840 'required': ['requests'],
8841 'type': 'object'},
8842 'StatusHistoryResult': {'additionalProperties': False,
8843 'properties': {'error': {'$ref': '#/definitions/Error'},
8844 'history': {'$ref': '#/definitions/History'}},
8845 'required': ['history'],
8846 'type': 'object'},
8847 'StatusHistoryResults': {'additionalProperties': False,
8848 'properties': {'results': {'items': {'$ref': '#/definitions/StatusHistoryResult'},
8849 'type': 'array'}},
8850 'required': ['results'],
8851 'type': 'object'},
8852 'StatusParams': {'additionalProperties': False,
8853 'properties': {'patterns': {'items': {'type': 'string'},
8854 'type': 'array'}},
8855 'required': ['patterns'],
8856 'type': 'object'},
8857 'Tools': {'additionalProperties': False,
8858 'properties': {'sha256': {'type': 'string'},
8859 'size': {'type': 'integer'},
8860 'url': {'type': 'string'},
8861 'version': {'$ref': '#/definitions/Binary'}},
8862 'required': ['version', 'url', 'size'],
8863 'type': 'object'},
8864 'UnitStatus': {'additionalProperties': False,
8865 'properties': {'agent-status': {'$ref': '#/definitions/DetailedStatus'},
8866 'charm': {'type': 'string'},
8867 'machine': {'type': 'string'},
8868 'opened-ports': {'items': {'type': 'string'},
8869 'type': 'array'},
8870 'public-address': {'type': 'string'},
8871 'subordinates': {'patternProperties': {'.*': {'$ref': '#/definitions/UnitStatus'}},
8872 'type': 'object'},
8873 'workload-status': {'$ref': '#/definitions/DetailedStatus'},
8874 'workload-version': {'type': 'string'}},
8875 'required': ['agent-status',
8876 'workload-status',
8877 'workload-version',
8878 'machine',
8879 'opened-ports',
8880 'public-address',
8881 'charm',
8882 'subordinates'],
8883 'type': 'object'},
8884 'UnsetModelDefaults': {'additionalProperties': False,
8885 'properties': {'keys': {'items': {'$ref': '#/definitions/ModelUnsetKeys'},
8886 'type': 'array'}},
8887 'required': ['keys'],
8888 'type': 'object'},
8889 'Value': {'additionalProperties': False,
8890 'properties': {'arch': {'type': 'string'},
8891 'container': {'type': 'string'},
8892 'cpu-cores': {'type': 'integer'},
8893 'cpu-power': {'type': 'integer'},
8894 'instance-type': {'type': 'string'},
8895 'mem': {'type': 'integer'},
8896 'root-disk': {'type': 'integer'},
8897 'spaces': {'items': {'type': 'string'},
8898 'type': 'array'},
8899 'tags': {'items': {'type': 'string'},
8900 'type': 'array'},
8901 'virt-type': {'type': 'string'}},
8902 'type': 'object'}},
8903 'properties': {'APIHostPorts': {'properties': {'Result': {'$ref': '#/definitions/APIHostPortsResult'}},
8904 'type': 'object'},
8905 'AbortCurrentUpgrade': {'type': 'object'},
8906 'AddCharm': {'properties': {'Params': {'$ref': '#/definitions/AddCharm'}},
8907 'type': 'object'},
8908 'AddCharmWithAuthorization': {'properties': {'Params': {'$ref': '#/definitions/AddCharmWithAuthorization'}},
8909 'type': 'object'},
8910 'AddMachines': {'properties': {'Params': {'$ref': '#/definitions/AddMachines'},
8911 'Result': {'$ref': '#/definitions/AddMachinesResults'}},
8912 'type': 'object'},
8913 'AddMachinesV2': {'properties': {'Params': {'$ref': '#/definitions/AddMachines'},
8914 'Result': {'$ref': '#/definitions/AddMachinesResults'}},
8915 'type': 'object'},
8916 'AgentVersion': {'properties': {'Result': {'$ref': '#/definitions/AgentVersionResult'}},
8917 'type': 'object'},
8918 'DestroyMachines': {'properties': {'Params': {'$ref': '#/definitions/DestroyMachines'}},
8919 'type': 'object'},
8920 'FindTools': {'properties': {'Params': {'$ref': '#/definitions/FindToolsParams'},
8921 'Result': {'$ref': '#/definitions/FindToolsResult'}},
8922 'type': 'object'},
8923 'FullStatus': {'properties': {'Params': {'$ref': '#/definitions/StatusParams'},
8924 'Result': {'$ref': '#/definitions/FullStatus'}},
8925 'type': 'object'},
8926 'GetBundleChanges': {'properties': {'Params': {'$ref': '#/definitions/GetBundleChangesParams'},
8927 'Result': {'$ref': '#/definitions/GetBundleChangesResults'}},
8928 'type': 'object'},
8929 'GetModelConstraints': {'properties': {'Result': {'$ref': '#/definitions/GetConstraintsResults'}},
8930 'type': 'object'},
8931 'InjectMachines': {'properties': {'Params': {'$ref': '#/definitions/AddMachines'},
8932 'Result': {'$ref': '#/definitions/AddMachinesResults'}},
8933 'type': 'object'},
8934 'ModelDefaults': {'properties': {'Result': {'$ref': '#/definitions/ModelDefaultsResult'}},
8935 'type': 'object'},
8936 'ModelGet': {'properties': {'Result': {'$ref': '#/definitions/ModelConfigResults'}},
8937 'type': 'object'},
8938 'ModelInfo': {'properties': {'Result': {'$ref': '#/definitions/ModelInfo'}},
8939 'type': 'object'},
8940 'ModelSet': {'properties': {'Params': {'$ref': '#/definitions/ModelSet'}},
8941 'type': 'object'},
8942 'ModelUnset': {'properties': {'Params': {'$ref': '#/definitions/ModelUnset'}},
8943 'type': 'object'},
8944 'ModelUserInfo': {'properties': {'Result': {'$ref': '#/definitions/ModelUserInfoResults'}},
8945 'type': 'object'},
8946 'PrivateAddress': {'properties': {'Params': {'$ref': '#/definitions/PrivateAddress'},
8947 'Result': {'$ref': '#/definitions/PrivateAddressResults'}},
8948 'type': 'object'},
8949 'ProvisioningScript': {'properties': {'Params': {'$ref': '#/definitions/ProvisioningScriptParams'},
8950 'Result': {'$ref': '#/definitions/ProvisioningScriptResult'}},
8951 'type': 'object'},
8952 'PublicAddress': {'properties': {'Params': {'$ref': '#/definitions/PublicAddress'},
8953 'Result': {'$ref': '#/definitions/PublicAddressResults'}},
8954 'type': 'object'},
8955 'ResolveCharms': {'properties': {'Params': {'$ref': '#/definitions/ResolveCharms'},
8956 'Result': {'$ref': '#/definitions/ResolveCharmResults'}},
8957 'type': 'object'},
8958 'Resolved': {'properties': {'Params': {'$ref': '#/definitions/Resolved'}},
8959 'type': 'object'},
8960 'RetryProvisioning': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
8961 'Result': {'$ref': '#/definitions/ErrorResults'}},
8962 'type': 'object'},
8963 'SetModelAgentVersion': {'properties': {'Params': {'$ref': '#/definitions/SetModelAgentVersion'}},
8964 'type': 'object'},
8965 'SetModelConstraints': {'properties': {'Params': {'$ref': '#/definitions/SetConstraints'}},
8966 'type': 'object'},
8967 'SetModelDefaults': {'properties': {'Params': {'$ref': '#/definitions/SetModelDefaults'},
8968 'Result': {'$ref': '#/definitions/ErrorResults'}},
8969 'type': 'object'},
8970 'StatusHistory': {'properties': {'Params': {'$ref': '#/definitions/StatusHistoryRequests'},
8971 'Result': {'$ref': '#/definitions/StatusHistoryResults'}},
8972 'type': 'object'},
8973 'UnsetModelDefaults': {'properties': {'Params': {'$ref': '#/definitions/UnsetModelDefaults'},
8974 'Result': {'$ref': '#/definitions/ErrorResults'}},
8975 'type': 'object'},
8976 'WatchAll': {'properties': {'Result': {'$ref': '#/definitions/AllWatcherId'}},
8977 'type': 'object'}},
8978 'type': 'object'}
8979
8980
8981 @ReturnMapping(APIHostPortsResult)
8982 async def APIHostPorts(self):
8983 '''
8984
8985 Returns -> typing.Sequence<+T_co>[~HostPort]<~HostPort>
8986 '''
8987 # map input types to rpc msg
8988 params = dict()
8989 msg = dict(type='Client', request='APIHostPorts', version=1, params=params)
8990
8991 reply = await self.rpc(msg)
8992 return reply
8993
8994
8995
8996 @ReturnMapping(None)
8997 async def AbortCurrentUpgrade(self):
8998 '''
8999
9000 Returns -> None
9001 '''
9002 # map input types to rpc msg
9003 params = dict()
9004 msg = dict(type='Client', request='AbortCurrentUpgrade', version=1, params=params)
9005
9006 reply = await self.rpc(msg)
9007 return reply
9008
9009
9010
9011 @ReturnMapping(None)
9012 async def AddCharm(self, channel, url):
9013 '''
9014 channel : str
9015 url : str
9016 Returns -> None
9017 '''
9018 # map input types to rpc msg
9019 params = dict()
9020 msg = dict(type='Client', request='AddCharm', version=1, params=params)
9021 params['channel'] = channel
9022 params['url'] = url
9023 reply = await self.rpc(msg)
9024 return reply
9025
9026
9027
9028 @ReturnMapping(None)
9029 async def AddCharmWithAuthorization(self, channel, macaroon, url):
9030 '''
9031 channel : str
9032 macaroon : Macaroon
9033 url : str
9034 Returns -> None
9035 '''
9036 # map input types to rpc msg
9037 params = dict()
9038 msg = dict(type='Client', request='AddCharmWithAuthorization', version=1, params=params)
9039 params['channel'] = channel
9040 params['macaroon'] = macaroon
9041 params['url'] = url
9042 reply = await self.rpc(msg)
9043 return reply
9044
9045
9046
9047 @ReturnMapping(AddMachinesResults)
9048 async def AddMachines(self, params):
9049 '''
9050 params : typing.Sequence<+T_co>[~AddMachineParams]<~AddMachineParams>
9051 Returns -> typing.Sequence<+T_co>[~AddMachinesResult]<~AddMachinesResult>
9052 '''
9053 # map input types to rpc msg
9054 params = dict()
9055 msg = dict(type='Client', request='AddMachines', version=1, params=params)
9056 params['params'] = params
9057 reply = await self.rpc(msg)
9058 return reply
9059
9060
9061
9062 @ReturnMapping(AddMachinesResults)
9063 async def AddMachinesV2(self, params):
9064 '''
9065 params : typing.Sequence<+T_co>[~AddMachineParams]<~AddMachineParams>
9066 Returns -> typing.Sequence<+T_co>[~AddMachinesResult]<~AddMachinesResult>
9067 '''
9068 # map input types to rpc msg
9069 params = dict()
9070 msg = dict(type='Client', request='AddMachinesV2', version=1, params=params)
9071 params['params'] = params
9072 reply = await self.rpc(msg)
9073 return reply
9074
9075
9076
9077 @ReturnMapping(AgentVersionResult)
9078 async def AgentVersion(self):
9079 '''
9080
9081 Returns -> Number
9082 '''
9083 # map input types to rpc msg
9084 params = dict()
9085 msg = dict(type='Client', request='AgentVersion', version=1, params=params)
9086
9087 reply = await self.rpc(msg)
9088 return reply
9089
9090
9091
9092 @ReturnMapping(None)
9093 async def DestroyMachines(self, force, machine_names):
9094 '''
9095 force : bool
9096 machine_names : typing.Sequence<+T_co>[str]
9097 Returns -> None
9098 '''
9099 # map input types to rpc msg
9100 params = dict()
9101 msg = dict(type='Client', request='DestroyMachines', version=1, params=params)
9102 params['force'] = force
9103 params['machine-names'] = machine_names
9104 reply = await self.rpc(msg)
9105 return reply
9106
9107
9108
9109 @ReturnMapping(FindToolsResult)
9110 async def FindTools(self, arch, major, minor, number, series):
9111 '''
9112 arch : str
9113 major : int
9114 minor : int
9115 number : Number
9116 series : str
9117 Returns -> typing.Union[_ForwardRef('Error'), typing.Sequence<+T_co>[~Tools]<~Tools>]
9118 '''
9119 # map input types to rpc msg
9120 params = dict()
9121 msg = dict(type='Client', request='FindTools', version=1, params=params)
9122 params['arch'] = arch
9123 params['major'] = major
9124 params['minor'] = minor
9125 params['number'] = number
9126 params['series'] = series
9127 reply = await self.rpc(msg)
9128 return reply
9129
9130
9131
9132 @ReturnMapping(FullStatus)
9133 async def FullStatus(self, patterns):
9134 '''
9135 patterns : typing.Sequence<+T_co>[str]
9136 Returns -> typing.Union[typing.Mapping<~KT, +VT_co>[str, ~MachineStatus]<~MachineStatus>, _ForwardRef('ModelStatusInfo'), typing.Sequence<+T_co>[~RelationStatus]<~RelationStatus>]
9137 '''
9138 # map input types to rpc msg
9139 params = dict()
9140 msg = dict(type='Client', request='FullStatus', version=1, params=params)
9141 params['patterns'] = patterns
9142 reply = await self.rpc(msg)
9143 return reply
9144
9145
9146
9147 @ReturnMapping(GetBundleChangesResults)
9148 async def GetBundleChanges(self, yaml):
9149 '''
9150 yaml : str
9151 Returns -> typing.Sequence<+T_co>[~BundleChangesChange]<~BundleChangesChange>
9152 '''
9153 # map input types to rpc msg
9154 params = dict()
9155 msg = dict(type='Client', request='GetBundleChanges', version=1, params=params)
9156 params['yaml'] = yaml
9157 reply = await self.rpc(msg)
9158 return reply
9159
9160
9161
9162 @ReturnMapping(GetConstraintsResults)
9163 async def GetModelConstraints(self):
9164 '''
9165
9166 Returns -> Value
9167 '''
9168 # map input types to rpc msg
9169 params = dict()
9170 msg = dict(type='Client', request='GetModelConstraints', version=1, params=params)
9171
9172 reply = await self.rpc(msg)
9173 return reply
9174
9175
9176
9177 @ReturnMapping(AddMachinesResults)
9178 async def InjectMachines(self, params):
9179 '''
9180 params : typing.Sequence<+T_co>[~AddMachineParams]<~AddMachineParams>
9181 Returns -> typing.Sequence<+T_co>[~AddMachinesResult]<~AddMachinesResult>
9182 '''
9183 # map input types to rpc msg
9184 params = dict()
9185 msg = dict(type='Client', request='InjectMachines', version=1, params=params)
9186 params['params'] = params
9187 reply = await self.rpc(msg)
9188 return reply
9189
9190
9191
9192 @ReturnMapping(ModelDefaultsResult)
9193 async def ModelDefaults(self):
9194 '''
9195
9196 Returns -> typing.Mapping<~KT, +VT_co>[str, ~ModelDefaults]<~ModelDefaults>
9197 '''
9198 # map input types to rpc msg
9199 params = dict()
9200 msg = dict(type='Client', request='ModelDefaults', version=1, params=params)
9201
9202 reply = await self.rpc(msg)
9203 return reply
9204
9205
9206
9207 @ReturnMapping(ModelConfigResults)
9208 async def ModelGet(self):
9209 '''
9210
9211 Returns -> typing.Mapping<~KT, +VT_co>[str, ~ConfigValue]<~ConfigValue>
9212 '''
9213 # map input types to rpc msg
9214 params = dict()
9215 msg = dict(type='Client', request='ModelGet', version=1, params=params)
9216
9217 reply = await self.rpc(msg)
9218 return reply
9219
9220
9221
9222 @ReturnMapping(ModelInfo)
9223 async def ModelInfo(self):
9224 '''
9225
9226 Returns -> typing.Union[_ForwardRef('EntityStatus'), typing.Sequence<+T_co>[~ModelUserInfo]<~ModelUserInfo>]
9227 '''
9228 # map input types to rpc msg
9229 params = dict()
9230 msg = dict(type='Client', request='ModelInfo', version=1, params=params)
9231
9232 reply = await self.rpc(msg)
9233 return reply
9234
9235
9236
9237 @ReturnMapping(None)
9238 async def ModelSet(self, config):
9239 '''
9240 config : typing.Mapping<~KT, +VT_co>[str, typing.Any]
9241 Returns -> None
9242 '''
9243 # map input types to rpc msg
9244 params = dict()
9245 msg = dict(type='Client', request='ModelSet', version=1, params=params)
9246 params['config'] = config
9247 reply = await self.rpc(msg)
9248 return reply
9249
9250
9251
9252 @ReturnMapping(None)
9253 async def ModelUnset(self, keys):
9254 '''
9255 keys : typing.Sequence<+T_co>[str]
9256 Returns -> None
9257 '''
9258 # map input types to rpc msg
9259 params = dict()
9260 msg = dict(type='Client', request='ModelUnset', version=1, params=params)
9261 params['keys'] = keys
9262 reply = await self.rpc(msg)
9263 return reply
9264
9265
9266
9267 @ReturnMapping(ModelUserInfoResults)
9268 async def ModelUserInfo(self):
9269 '''
9270
9271 Returns -> typing.Sequence<+T_co>[~ModelUserInfoResult]<~ModelUserInfoResult>
9272 '''
9273 # map input types to rpc msg
9274 params = dict()
9275 msg = dict(type='Client', request='ModelUserInfo', version=1, params=params)
9276
9277 reply = await self.rpc(msg)
9278 return reply
9279
9280
9281
9282 @ReturnMapping(PrivateAddressResults)
9283 async def PrivateAddress(self, target):
9284 '''
9285 target : str
9286 Returns -> str
9287 '''
9288 # map input types to rpc msg
9289 params = dict()
9290 msg = dict(type='Client', request='PrivateAddress', version=1, params=params)
9291 params['target'] = target
9292 reply = await self.rpc(msg)
9293 return reply
9294
9295
9296
9297 @ReturnMapping(ProvisioningScriptResult)
9298 async def ProvisioningScript(self, data_dir, disable_package_commands, machine_id, nonce):
9299 '''
9300 data_dir : str
9301 disable_package_commands : bool
9302 machine_id : str
9303 nonce : str
9304 Returns -> str
9305 '''
9306 # map input types to rpc msg
9307 params = dict()
9308 msg = dict(type='Client', request='ProvisioningScript', version=1, params=params)
9309 params['data-dir'] = data_dir
9310 params['disable-package-commands'] = disable_package_commands
9311 params['machine-id'] = machine_id
9312 params['nonce'] = nonce
9313 reply = await self.rpc(msg)
9314 return reply
9315
9316
9317
9318 @ReturnMapping(PublicAddressResults)
9319 async def PublicAddress(self, target):
9320 '''
9321 target : str
9322 Returns -> str
9323 '''
9324 # map input types to rpc msg
9325 params = dict()
9326 msg = dict(type='Client', request='PublicAddress', version=1, params=params)
9327 params['target'] = target
9328 reply = await self.rpc(msg)
9329 return reply
9330
9331
9332
9333 @ReturnMapping(ResolveCharmResults)
9334 async def ResolveCharms(self, references):
9335 '''
9336 references : typing.Sequence<+T_co>[str]
9337 Returns -> typing.Sequence<+T_co>[~ResolveCharmResult]<~ResolveCharmResult>
9338 '''
9339 # map input types to rpc msg
9340 params = dict()
9341 msg = dict(type='Client', request='ResolveCharms', version=1, params=params)
9342 params['references'] = references
9343 reply = await self.rpc(msg)
9344 return reply
9345
9346
9347
9348 @ReturnMapping(None)
9349 async def Resolved(self, retry, unit_name):
9350 '''
9351 retry : bool
9352 unit_name : str
9353 Returns -> None
9354 '''
9355 # map input types to rpc msg
9356 params = dict()
9357 msg = dict(type='Client', request='Resolved', version=1, params=params)
9358 params['retry'] = retry
9359 params['unit-name'] = unit_name
9360 reply = await self.rpc(msg)
9361 return reply
9362
9363
9364
9365 @ReturnMapping(ErrorResults)
9366 async def RetryProvisioning(self, entities):
9367 '''
9368 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
9369 Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult>
9370 '''
9371 # map input types to rpc msg
9372 params = dict()
9373 msg = dict(type='Client', request='RetryProvisioning', version=1, params=params)
9374 params['entities'] = entities
9375 reply = await self.rpc(msg)
9376 return reply
9377
9378
9379
9380 @ReturnMapping(None)
9381 async def SetModelAgentVersion(self, build, major, minor, patch, tag):
9382 '''
9383 build : int
9384 major : int
9385 minor : int
9386 patch : int
9387 tag : str
9388 Returns -> None
9389 '''
9390 # map input types to rpc msg
9391 params = dict()
9392 msg = dict(type='Client', request='SetModelAgentVersion', version=1, params=params)
9393 params['Build'] = build
9394 params['Major'] = major
9395 params['Minor'] = minor
9396 params['Patch'] = patch
9397 params['Tag'] = tag
9398 reply = await self.rpc(msg)
9399 return reply
9400
9401
9402
9403 @ReturnMapping(None)
9404 async def SetModelConstraints(self, application, constraints):
9405 '''
9406 application : str
9407 constraints : Value
9408 Returns -> None
9409 '''
9410 # map input types to rpc msg
9411 params = dict()
9412 msg = dict(type='Client', request='SetModelConstraints', version=1, params=params)
9413 params['application'] = application
9414 params['constraints'] = constraints
9415 reply = await self.rpc(msg)
9416 return reply
9417
9418
9419
9420 @ReturnMapping(ErrorResults)
9421 async def SetModelDefaults(self, config):
9422 '''
9423 config : typing.Sequence<+T_co>[~ModelDefaultValues]<~ModelDefaultValues>
9424 Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult>
9425 '''
9426 # map input types to rpc msg
9427 params = dict()
9428 msg = dict(type='Client', request='SetModelDefaults', version=1, params=params)
9429 params['config'] = config
9430 reply = await self.rpc(msg)
9431 return reply
9432
9433
9434
9435 @ReturnMapping(StatusHistoryResults)
9436 async def StatusHistory(self, requests):
9437 '''
9438 requests : typing.Sequence<+T_co>[~StatusHistoryRequest]<~StatusHistoryRequest>
9439 Returns -> typing.Sequence<+T_co>[~StatusHistoryResult]<~StatusHistoryResult>
9440 '''
9441 # map input types to rpc msg
9442 params = dict()
9443 msg = dict(type='Client', request='StatusHistory', version=1, params=params)
9444 params['requests'] = requests
9445 reply = await self.rpc(msg)
9446 return reply
9447
9448
9449
9450 @ReturnMapping(ErrorResults)
9451 async def UnsetModelDefaults(self, keys):
9452 '''
9453 keys : typing.Sequence<+T_co>[~ModelUnsetKeys]<~ModelUnsetKeys>
9454 Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult>
9455 '''
9456 # map input types to rpc msg
9457 params = dict()
9458 msg = dict(type='Client', request='UnsetModelDefaults', version=1, params=params)
9459 params['keys'] = keys
9460 reply = await self.rpc(msg)
9461 return reply
9462
9463
9464
9465 @ReturnMapping(AllWatcherId)
9466 async def WatchAll(self):
9467 '''
9468
9469 Returns -> str
9470 '''
9471 # map input types to rpc msg
9472 params = dict()
9473 msg = dict(type='Client', request='WatchAll', version=1, params=params)
9474
9475 reply = await self.rpc(msg)
9476 return reply
9477
9478
9479 class CloudFacade(Type):
9480 name = 'Cloud'
9481 version = 1
9482 schema = {'definitions': {'Cloud': {'additionalProperties': False,
9483 'properties': {'auth-types': {'items': {'type': 'string'},
9484 'type': 'array'},
9485 'endpoint': {'type': 'string'},
9486 'identity-endpoint': {'type': 'string'},
9487 'regions': {'items': {'$ref': '#/definitions/CloudRegion'},
9488 'type': 'array'},
9489 'storage-endpoint': {'type': 'string'},
9490 'type': {'type': 'string'}},
9491 'required': ['type'],
9492 'type': 'object'},
9493 'CloudCredential': {'additionalProperties': False,
9494 'properties': {'attrs': {'patternProperties': {'.*': {'type': 'string'}},
9495 'type': 'object'},
9496 'auth-type': {'type': 'string'},
9497 'redacted': {'items': {'type': 'string'},
9498 'type': 'array'}},
9499 'required': ['auth-type'],
9500 'type': 'object'},
9501 'CloudCredentialResult': {'additionalProperties': False,
9502 'properties': {'error': {'$ref': '#/definitions/Error'},
9503 'result': {'$ref': '#/definitions/CloudCredential'}},
9504 'type': 'object'},
9505 'CloudCredentialResults': {'additionalProperties': False,
9506 'properties': {'results': {'items': {'$ref': '#/definitions/CloudCredentialResult'},
9507 'type': 'array'}},
9508 'type': 'object'},
9509 'CloudRegion': {'additionalProperties': False,
9510 'properties': {'endpoint': {'type': 'string'},
9511 'identity-endpoint': {'type': 'string'},
9512 'name': {'type': 'string'},
9513 'storage-endpoint': {'type': 'string'}},
9514 'required': ['name'],
9515 'type': 'object'},
9516 'CloudResult': {'additionalProperties': False,
9517 'properties': {'cloud': {'$ref': '#/definitions/Cloud'},
9518 'error': {'$ref': '#/definitions/Error'}},
9519 'type': 'object'},
9520 'CloudResults': {'additionalProperties': False,
9521 'properties': {'results': {'items': {'$ref': '#/definitions/CloudResult'},
9522 'type': 'array'}},
9523 'type': 'object'},
9524 'CloudsResult': {'additionalProperties': False,
9525 'properties': {'clouds': {'patternProperties': {'.*': {'$ref': '#/definitions/Cloud'}},
9526 'type': 'object'}},
9527 'type': 'object'},
9528 'Entities': {'additionalProperties': False,
9529 'properties': {'entities': {'items': {'$ref': '#/definitions/Entity'},
9530 'type': 'array'}},
9531 'required': ['entities'],
9532 'type': 'object'},
9533 'Entity': {'additionalProperties': False,
9534 'properties': {'tag': {'type': 'string'}},
9535 'required': ['tag'],
9536 'type': 'object'},
9537 'Error': {'additionalProperties': False,
9538 'properties': {'code': {'type': 'string'},
9539 'info': {'$ref': '#/definitions/ErrorInfo'},
9540 'message': {'type': 'string'}},
9541 'required': ['message', 'code'],
9542 'type': 'object'},
9543 'ErrorInfo': {'additionalProperties': False,
9544 'properties': {'macaroon': {'$ref': '#/definitions/Macaroon'},
9545 'macaroon-path': {'type': 'string'}},
9546 'type': 'object'},
9547 'ErrorResult': {'additionalProperties': False,
9548 'properties': {'error': {'$ref': '#/definitions/Error'}},
9549 'type': 'object'},
9550 'ErrorResults': {'additionalProperties': False,
9551 'properties': {'results': {'items': {'$ref': '#/definitions/ErrorResult'},
9552 'type': 'array'}},
9553 'required': ['results'],
9554 'type': 'object'},
9555 'Macaroon': {'additionalProperties': False, 'type': 'object'},
9556 'StringResult': {'additionalProperties': False,
9557 'properties': {'error': {'$ref': '#/definitions/Error'},
9558 'result': {'type': 'string'}},
9559 'required': ['result'],
9560 'type': 'object'},
9561 'StringsResult': {'additionalProperties': False,
9562 'properties': {'error': {'$ref': '#/definitions/Error'},
9563 'result': {'items': {'type': 'string'},
9564 'type': 'array'}},
9565 'type': 'object'},
9566 'StringsResults': {'additionalProperties': False,
9567 'properties': {'results': {'items': {'$ref': '#/definitions/StringsResult'},
9568 'type': 'array'}},
9569 'required': ['results'],
9570 'type': 'object'},
9571 'UpdateCloudCredential': {'additionalProperties': False,
9572 'properties': {'credential': {'$ref': '#/definitions/CloudCredential'},
9573 'tag': {'type': 'string'}},
9574 'required': ['tag', 'credential'],
9575 'type': 'object'},
9576 'UpdateCloudCredentials': {'additionalProperties': False,
9577 'properties': {'credentials': {'items': {'$ref': '#/definitions/UpdateCloudCredential'},
9578 'type': 'array'}},
9579 'type': 'object'},
9580 'UserCloud': {'additionalProperties': False,
9581 'properties': {'cloud-tag': {'type': 'string'},
9582 'user-tag': {'type': 'string'}},
9583 'required': ['user-tag', 'cloud-tag'],
9584 'type': 'object'},
9585 'UserClouds': {'additionalProperties': False,
9586 'properties': {'user-clouds': {'items': {'$ref': '#/definitions/UserCloud'},
9587 'type': 'array'}},
9588 'type': 'object'}},
9589 'properties': {'Cloud': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
9590 'Result': {'$ref': '#/definitions/CloudResults'}},
9591 'type': 'object'},
9592 'Clouds': {'properties': {'Result': {'$ref': '#/definitions/CloudsResult'}},
9593 'type': 'object'},
9594 'Credential': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
9595 'Result': {'$ref': '#/definitions/CloudCredentialResults'}},
9596 'type': 'object'},
9597 'DefaultCloud': {'properties': {'Result': {'$ref': '#/definitions/StringResult'}},
9598 'type': 'object'},
9599 'RevokeCredentials': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
9600 'Result': {'$ref': '#/definitions/ErrorResults'}},
9601 'type': 'object'},
9602 'UpdateCredentials': {'properties': {'Params': {'$ref': '#/definitions/UpdateCloudCredentials'},
9603 'Result': {'$ref': '#/definitions/ErrorResults'}},
9604 'type': 'object'},
9605 'UserCredentials': {'properties': {'Params': {'$ref': '#/definitions/UserClouds'},
9606 'Result': {'$ref': '#/definitions/StringsResults'}},
9607 'type': 'object'}},
9608 'type': 'object'}
9609
9610
9611 @ReturnMapping(CloudResults)
9612 async def Cloud(self, entities):
9613 '''
9614 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
9615 Returns -> typing.Sequence<+T_co>[~CloudResult]<~CloudResult>
9616 '''
9617 # map input types to rpc msg
9618 params = dict()
9619 msg = dict(type='Cloud', request='Cloud', version=1, params=params)
9620 params['entities'] = entities
9621 reply = await self.rpc(msg)
9622 return reply
9623
9624
9625
9626 @ReturnMapping(CloudsResult)
9627 async def Clouds(self):
9628 '''
9629
9630 Returns -> typing.Mapping<~KT, +VT_co>[str, ~Cloud]<~Cloud>
9631 '''
9632 # map input types to rpc msg
9633 params = dict()
9634 msg = dict(type='Cloud', request='Clouds', version=1, params=params)
9635
9636 reply = await self.rpc(msg)
9637 return reply
9638
9639
9640
9641 @ReturnMapping(CloudCredentialResults)
9642 async def Credential(self, entities):
9643 '''
9644 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
9645 Returns -> typing.Sequence<+T_co>[~CloudCredentialResult]<~CloudCredentialResult>
9646 '''
9647 # map input types to rpc msg
9648 params = dict()
9649 msg = dict(type='Cloud', request='Credential', version=1, params=params)
9650 params['entities'] = entities
9651 reply = await self.rpc(msg)
9652 return reply
9653
9654
9655
9656 @ReturnMapping(StringResult)
9657 async def DefaultCloud(self):
9658 '''
9659
9660 Returns -> typing.Union[_ForwardRef('Error'), str]
9661 '''
9662 # map input types to rpc msg
9663 params = dict()
9664 msg = dict(type='Cloud', request='DefaultCloud', version=1, params=params)
9665
9666 reply = await self.rpc(msg)
9667 return reply
9668
9669
9670
9671 @ReturnMapping(ErrorResults)
9672 async def RevokeCredentials(self, entities):
9673 '''
9674 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
9675 Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult>
9676 '''
9677 # map input types to rpc msg
9678 params = dict()
9679 msg = dict(type='Cloud', request='RevokeCredentials', version=1, params=params)
9680 params['entities'] = entities
9681 reply = await self.rpc(msg)
9682 return reply
9683
9684
9685
9686 @ReturnMapping(ErrorResults)
9687 async def UpdateCredentials(self, credentials):
9688 '''
9689 credentials : typing.Sequence<+T_co>[~UpdateCloudCredential]<~UpdateCloudCredential>
9690 Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult>
9691 '''
9692 # map input types to rpc msg
9693 params = dict()
9694 msg = dict(type='Cloud', request='UpdateCredentials', version=1, params=params)
9695 params['credentials'] = credentials
9696 reply = await self.rpc(msg)
9697 return reply
9698
9699
9700
9701 @ReturnMapping(StringsResults)
9702 async def UserCredentials(self, user_clouds):
9703 '''
9704 user_clouds : typing.Sequence<+T_co>[~UserCloud]<~UserCloud>
9705 Returns -> typing.Sequence<+T_co>[~StringsResult]<~StringsResult>
9706 '''
9707 # map input types to rpc msg
9708 params = dict()
9709 msg = dict(type='Cloud', request='UserCredentials', version=1, params=params)
9710 params['user-clouds'] = user_clouds
9711 reply = await self.rpc(msg)
9712 return reply
9713
9714
9715 class ControllerFacade(Type):
9716 name = 'Controller'
9717 version = 3
9718 schema = {'definitions': {'AllWatcherId': {'additionalProperties': False,
9719 'properties': {'watcher-id': {'type': 'string'}},
9720 'required': ['watcher-id'],
9721 'type': 'object'},
9722 'CloudCredential': {'additionalProperties': False,
9723 'properties': {'attrs': {'patternProperties': {'.*': {'type': 'string'}},
9724 'type': 'object'},
9725 'auth-type': {'type': 'string'},
9726 'redacted': {'items': {'type': 'string'},
9727 'type': 'array'}},
9728 'required': ['auth-type'],
9729 'type': 'object'},
9730 'CloudSpec': {'additionalProperties': False,
9731 'properties': {'credential': {'$ref': '#/definitions/CloudCredential'},
9732 'endpoint': {'type': 'string'},
9733 'identity-endpoint': {'type': 'string'},
9734 'name': {'type': 'string'},
9735 'region': {'type': 'string'},
9736 'storage-endpoint': {'type': 'string'},
9737 'type': {'type': 'string'}},
9738 'required': ['type', 'name'],
9739 'type': 'object'},
9740 'CloudSpecResult': {'additionalProperties': False,
9741 'properties': {'error': {'$ref': '#/definitions/Error'},
9742 'result': {'$ref': '#/definitions/CloudSpec'}},
9743 'type': 'object'},
9744 'CloudSpecResults': {'additionalProperties': False,
9745 'properties': {'results': {'items': {'$ref': '#/definitions/CloudSpecResult'},
9746 'type': 'array'}},
9747 'type': 'object'},
9748 'ConfigValue': {'additionalProperties': False,
9749 'properties': {'source': {'type': 'string'},
9750 'value': {'additionalProperties': True,
9751 'type': 'object'}},
9752 'required': ['value', 'source'],
9753 'type': 'object'},
9754 'ControllerConfigResult': {'additionalProperties': False,
9755 'properties': {'config': {'patternProperties': {'.*': {'additionalProperties': True,
9756 'type': 'object'}},
9757 'type': 'object'}},
9758 'required': ['config'],
9759 'type': 'object'},
9760 'DestroyControllerArgs': {'additionalProperties': False,
9761 'properties': {'destroy-models': {'type': 'boolean'}},
9762 'required': ['destroy-models'],
9763 'type': 'object'},
9764 'Entities': {'additionalProperties': False,
9765 'properties': {'entities': {'items': {'$ref': '#/definitions/Entity'},
9766 'type': 'array'}},
9767 'required': ['entities'],
9768 'type': 'object'},
9769 'Entity': {'additionalProperties': False,
9770 'properties': {'tag': {'type': 'string'}},
9771 'required': ['tag'],
9772 'type': 'object'},
9773 'Error': {'additionalProperties': False,
9774 'properties': {'code': {'type': 'string'},
9775 'info': {'$ref': '#/definitions/ErrorInfo'},
9776 'message': {'type': 'string'}},
9777 'required': ['message', 'code'],
9778 'type': 'object'},
9779 'ErrorInfo': {'additionalProperties': False,
9780 'properties': {'macaroon': {'$ref': '#/definitions/Macaroon'},
9781 'macaroon-path': {'type': 'string'}},
9782 'type': 'object'},
9783 'ErrorResult': {'additionalProperties': False,
9784 'properties': {'error': {'$ref': '#/definitions/Error'}},
9785 'type': 'object'},
9786 'ErrorResults': {'additionalProperties': False,
9787 'properties': {'results': {'items': {'$ref': '#/definitions/ErrorResult'},
9788 'type': 'array'}},
9789 'required': ['results'],
9790 'type': 'object'},
9791 'InitiateMigrationArgs': {'additionalProperties': False,
9792 'properties': {'specs': {'items': {'$ref': '#/definitions/MigrationSpec'},
9793 'type': 'array'}},
9794 'required': ['specs'],
9795 'type': 'object'},
9796 'InitiateMigrationResult': {'additionalProperties': False,
9797 'properties': {'error': {'$ref': '#/definitions/Error'},
9798 'migration-id': {'type': 'string'},
9799 'model-tag': {'type': 'string'}},
9800 'required': ['model-tag',
9801 'migration-id'],
9802 'type': 'object'},
9803 'InitiateMigrationResults': {'additionalProperties': False,
9804 'properties': {'results': {'items': {'$ref': '#/definitions/InitiateMigrationResult'},
9805 'type': 'array'}},
9806 'required': ['results'],
9807 'type': 'object'},
9808 'Macaroon': {'additionalProperties': False, 'type': 'object'},
9809 'MigrationSpec': {'additionalProperties': False,
9810 'properties': {'model-tag': {'type': 'string'},
9811 'target-info': {'$ref': '#/definitions/MigrationTargetInfo'}},
9812 'required': ['model-tag', 'target-info'],
9813 'type': 'object'},
9814 'MigrationTargetInfo': {'additionalProperties': False,
9815 'properties': {'addrs': {'items': {'type': 'string'},
9816 'type': 'array'},
9817 'auth-tag': {'type': 'string'},
9818 'ca-cert': {'type': 'string'},
9819 'controller-tag': {'type': 'string'},
9820 'macaroon': {'type': 'string'},
9821 'password': {'type': 'string'}},
9822 'required': ['controller-tag',
9823 'addrs',
9824 'ca-cert',
9825 'auth-tag'],
9826 'type': 'object'},
9827 'Model': {'additionalProperties': False,
9828 'properties': {'name': {'type': 'string'},
9829 'owner-tag': {'type': 'string'},
9830 'uuid': {'type': 'string'}},
9831 'required': ['name', 'uuid', 'owner-tag'],
9832 'type': 'object'},
9833 'ModelBlockInfo': {'additionalProperties': False,
9834 'properties': {'blocks': {'items': {'type': 'string'},
9835 'type': 'array'},
9836 'model-uuid': {'type': 'string'},
9837 'name': {'type': 'string'},
9838 'owner-tag': {'type': 'string'}},
9839 'required': ['name',
9840 'model-uuid',
9841 'owner-tag',
9842 'blocks'],
9843 'type': 'object'},
9844 'ModelBlockInfoList': {'additionalProperties': False,
9845 'properties': {'models': {'items': {'$ref': '#/definitions/ModelBlockInfo'},
9846 'type': 'array'}},
9847 'type': 'object'},
9848 'ModelConfigResults': {'additionalProperties': False,
9849 'properties': {'config': {'patternProperties': {'.*': {'$ref': '#/definitions/ConfigValue'}},
9850 'type': 'object'}},
9851 'required': ['config'],
9852 'type': 'object'},
9853 'ModelStatus': {'additionalProperties': False,
9854 'properties': {'application-count': {'type': 'integer'},
9855 'hosted-machine-count': {'type': 'integer'},
9856 'life': {'type': 'string'},
9857 'model-tag': {'type': 'string'},
9858 'owner-tag': {'type': 'string'}},
9859 'required': ['model-tag',
9860 'life',
9861 'hosted-machine-count',
9862 'application-count',
9863 'owner-tag'],
9864 'type': 'object'},
9865 'ModelStatusResults': {'additionalProperties': False,
9866 'properties': {'models': {'items': {'$ref': '#/definitions/ModelStatus'},
9867 'type': 'array'}},
9868 'required': ['models'],
9869 'type': 'object'},
9870 'ModifyControllerAccess': {'additionalProperties': False,
9871 'properties': {'access': {'type': 'string'},
9872 'action': {'type': 'string'},
9873 'user-tag': {'type': 'string'}},
9874 'required': ['user-tag',
9875 'action',
9876 'access'],
9877 'type': 'object'},
9878 'ModifyControllerAccessRequest': {'additionalProperties': False,
9879 'properties': {'changes': {'items': {'$ref': '#/definitions/ModifyControllerAccess'},
9880 'type': 'array'}},
9881 'required': ['changes'],
9882 'type': 'object'},
9883 'RemoveBlocksArgs': {'additionalProperties': False,
9884 'properties': {'all': {'type': 'boolean'}},
9885 'required': ['all'],
9886 'type': 'object'},
9887 'UserAccess': {'additionalProperties': False,
9888 'properties': {'access': {'type': 'string'},
9889 'user-tag': {'type': 'string'}},
9890 'required': ['user-tag', 'access'],
9891 'type': 'object'},
9892 'UserAccessResult': {'additionalProperties': False,
9893 'properties': {'error': {'$ref': '#/definitions/Error'},
9894 'result': {'$ref': '#/definitions/UserAccess'}},
9895 'type': 'object'},
9896 'UserAccessResults': {'additionalProperties': False,
9897 'properties': {'results': {'items': {'$ref': '#/definitions/UserAccessResult'},
9898 'type': 'array'}},
9899 'type': 'object'},
9900 'UserModel': {'additionalProperties': False,
9901 'properties': {'last-connection': {'format': 'date-time',
9902 'type': 'string'},
9903 'model': {'$ref': '#/definitions/Model'}},
9904 'required': ['model', 'last-connection'],
9905 'type': 'object'},
9906 'UserModelList': {'additionalProperties': False,
9907 'properties': {'user-models': {'items': {'$ref': '#/definitions/UserModel'},
9908 'type': 'array'}},
9909 'required': ['user-models'],
9910 'type': 'object'}},
9911 'properties': {'AllModels': {'properties': {'Result': {'$ref': '#/definitions/UserModelList'}},
9912 'type': 'object'},
9913 'CloudSpec': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
9914 'Result': {'$ref': '#/definitions/CloudSpecResults'}},
9915 'type': 'object'},
9916 'ControllerConfig': {'properties': {'Result': {'$ref': '#/definitions/ControllerConfigResult'}},
9917 'type': 'object'},
9918 'DestroyController': {'properties': {'Params': {'$ref': '#/definitions/DestroyControllerArgs'}},
9919 'type': 'object'},
9920 'GetControllerAccess': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
9921 'Result': {'$ref': '#/definitions/UserAccessResults'}},
9922 'type': 'object'},
9923 'InitiateMigration': {'properties': {'Params': {'$ref': '#/definitions/InitiateMigrationArgs'},
9924 'Result': {'$ref': '#/definitions/InitiateMigrationResults'}},
9925 'type': 'object'},
9926 'ListBlockedModels': {'properties': {'Result': {'$ref': '#/definitions/ModelBlockInfoList'}},
9927 'type': 'object'},
9928 'ModelConfig': {'properties': {'Result': {'$ref': '#/definitions/ModelConfigResults'}},
9929 'type': 'object'},
9930 'ModelStatus': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
9931 'Result': {'$ref': '#/definitions/ModelStatusResults'}},
9932 'type': 'object'},
9933 'ModifyControllerAccess': {'properties': {'Params': {'$ref': '#/definitions/ModifyControllerAccessRequest'},
9934 'Result': {'$ref': '#/definitions/ErrorResults'}},
9935 'type': 'object'},
9936 'RemoveBlocks': {'properties': {'Params': {'$ref': '#/definitions/RemoveBlocksArgs'}},
9937 'type': 'object'},
9938 'WatchAllModels': {'properties': {'Result': {'$ref': '#/definitions/AllWatcherId'}},
9939 'type': 'object'}},
9940 'type': 'object'}
9941
9942
9943 @ReturnMapping(UserModelList)
9944 async def AllModels(self):
9945 '''
9946
9947 Returns -> typing.Sequence<+T_co>[~UserModel]<~UserModel>
9948 '''
9949 # map input types to rpc msg
9950 params = dict()
9951 msg = dict(type='Controller', request='AllModels', version=3, params=params)
9952
9953 reply = await self.rpc(msg)
9954 return reply
9955
9956
9957
9958 @ReturnMapping(CloudSpecResults)
9959 async def CloudSpec(self, entities):
9960 '''
9961 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
9962 Returns -> typing.Sequence<+T_co>[~CloudSpecResult]<~CloudSpecResult>
9963 '''
9964 # map input types to rpc msg
9965 params = dict()
9966 msg = dict(type='Controller', request='CloudSpec', version=3, params=params)
9967 params['entities'] = entities
9968 reply = await self.rpc(msg)
9969 return reply
9970
9971
9972
9973 @ReturnMapping(ControllerConfigResult)
9974 async def ControllerConfig(self):
9975 '''
9976
9977 Returns -> typing.Mapping<~KT, +VT_co>[str, typing.Any]
9978 '''
9979 # map input types to rpc msg
9980 params = dict()
9981 msg = dict(type='Controller', request='ControllerConfig', version=3, params=params)
9982
9983 reply = await self.rpc(msg)
9984 return reply
9985
9986
9987
9988 @ReturnMapping(None)
9989 async def DestroyController(self, destroy_models):
9990 '''
9991 destroy_models : bool
9992 Returns -> None
9993 '''
9994 # map input types to rpc msg
9995 params = dict()
9996 msg = dict(type='Controller', request='DestroyController', version=3, params=params)
9997 params['destroy-models'] = destroy_models
9998 reply = await self.rpc(msg)
9999 return reply
10000
10001
10002
10003 @ReturnMapping(UserAccessResults)
10004 async def GetControllerAccess(self, entities):
10005 '''
10006 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
10007 Returns -> typing.Sequence<+T_co>[~UserAccessResult]<~UserAccessResult>
10008 '''
10009 # map input types to rpc msg
10010 params = dict()
10011 msg = dict(type='Controller', request='GetControllerAccess', version=3, params=params)
10012 params['entities'] = entities
10013 reply = await self.rpc(msg)
10014 return reply
10015
10016
10017
10018 @ReturnMapping(InitiateMigrationResults)
10019 async def InitiateMigration(self, specs):
10020 '''
10021 specs : typing.Sequence<+T_co>[~MigrationSpec]<~MigrationSpec>
10022 Returns -> typing.Sequence<+T_co>[~InitiateMigrationResult]<~InitiateMigrationResult>
10023 '''
10024 # map input types to rpc msg
10025 params = dict()
10026 msg = dict(type='Controller', request='InitiateMigration', version=3, params=params)
10027 params['specs'] = specs
10028 reply = await self.rpc(msg)
10029 return reply
10030
10031
10032
10033 @ReturnMapping(ModelBlockInfoList)
10034 async def ListBlockedModels(self):
10035 '''
10036
10037 Returns -> typing.Sequence<+T_co>[~ModelBlockInfo]<~ModelBlockInfo>
10038 '''
10039 # map input types to rpc msg
10040 params = dict()
10041 msg = dict(type='Controller', request='ListBlockedModels', version=3, params=params)
10042
10043 reply = await self.rpc(msg)
10044 return reply
10045
10046
10047
10048 @ReturnMapping(ModelConfigResults)
10049 async def ModelConfig(self):
10050 '''
10051
10052 Returns -> typing.Mapping<~KT, +VT_co>[str, ~ConfigValue]<~ConfigValue>
10053 '''
10054 # map input types to rpc msg
10055 params = dict()
10056 msg = dict(type='Controller', request='ModelConfig', version=3, params=params)
10057
10058 reply = await self.rpc(msg)
10059 return reply
10060
10061
10062
10063 @ReturnMapping(ModelStatusResults)
10064 async def ModelStatus(self, entities):
10065 '''
10066 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
10067 Returns -> typing.Sequence<+T_co>[~ModelStatus]<~ModelStatus>
10068 '''
10069 # map input types to rpc msg
10070 params = dict()
10071 msg = dict(type='Controller', request='ModelStatus', version=3, params=params)
10072 params['entities'] = entities
10073 reply = await self.rpc(msg)
10074 return reply
10075
10076
10077
10078 @ReturnMapping(ErrorResults)
10079 async def ModifyControllerAccess(self, changes):
10080 '''
10081 changes : typing.Sequence<+T_co>[~ModifyControllerAccess]<~ModifyControllerAccess>
10082 Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult>
10083 '''
10084 # map input types to rpc msg
10085 params = dict()
10086 msg = dict(type='Controller', request='ModifyControllerAccess', version=3, params=params)
10087 params['changes'] = changes
10088 reply = await self.rpc(msg)
10089 return reply
10090
10091
10092
10093 @ReturnMapping(None)
10094 async def RemoveBlocks(self, all_):
10095 '''
10096 all_ : bool
10097 Returns -> None
10098 '''
10099 # map input types to rpc msg
10100 params = dict()
10101 msg = dict(type='Controller', request='RemoveBlocks', version=3, params=params)
10102 params['all'] = all_
10103 reply = await self.rpc(msg)
10104 return reply
10105
10106
10107
10108 @ReturnMapping(AllWatcherId)
10109 async def WatchAllModels(self):
10110 '''
10111
10112 Returns -> str
10113 '''
10114 # map input types to rpc msg
10115 params = dict()
10116 msg = dict(type='Controller', request='WatchAllModels', version=3, params=params)
10117
10118 reply = await self.rpc(msg)
10119 return reply
10120
10121
10122 class DeployerFacade(Type):
10123 name = 'Deployer'
10124 version = 1
10125 schema = {'definitions': {'APIHostPortsResult': {'additionalProperties': False,
10126 'properties': {'servers': {'items': {'items': {'$ref': '#/definitions/HostPort'},
10127 'type': 'array'},
10128 'type': 'array'}},
10129 'required': ['servers'],
10130 'type': 'object'},
10131 'Address': {'additionalProperties': False,
10132 'properties': {'scope': {'type': 'string'},
10133 'space-name': {'type': 'string'},
10134 'type': {'type': 'string'},
10135 'value': {'type': 'string'}},
10136 'required': ['value', 'type', 'scope'],
10137 'type': 'object'},
10138 'BytesResult': {'additionalProperties': False,
10139 'properties': {'result': {'items': {'type': 'integer'},
10140 'type': 'array'}},
10141 'required': ['result'],
10142 'type': 'object'},
10143 'DeployerConnectionValues': {'additionalProperties': False,
10144 'properties': {'api-addresses': {'items': {'type': 'string'},
10145 'type': 'array'},
10146 'state-addresses': {'items': {'type': 'string'},
10147 'type': 'array'}},
10148 'required': ['state-addresses',
10149 'api-addresses'],
10150 'type': 'object'},
10151 'Entities': {'additionalProperties': False,
10152 'properties': {'entities': {'items': {'$ref': '#/definitions/Entity'},
10153 'type': 'array'}},
10154 'required': ['entities'],
10155 'type': 'object'},
10156 'Entity': {'additionalProperties': False,
10157 'properties': {'tag': {'type': 'string'}},
10158 'required': ['tag'],
10159 'type': 'object'},
10160 'EntityPassword': {'additionalProperties': False,
10161 'properties': {'password': {'type': 'string'},
10162 'tag': {'type': 'string'}},
10163 'required': ['tag', 'password'],
10164 'type': 'object'},
10165 'EntityPasswords': {'additionalProperties': False,
10166 'properties': {'changes': {'items': {'$ref': '#/definitions/EntityPassword'},
10167 'type': 'array'}},
10168 'required': ['changes'],
10169 'type': 'object'},
10170 'Error': {'additionalProperties': False,
10171 'properties': {'code': {'type': 'string'},
10172 'info': {'$ref': '#/definitions/ErrorInfo'},
10173 'message': {'type': 'string'}},
10174 'required': ['message', 'code'],
10175 'type': 'object'},
10176 'ErrorInfo': {'additionalProperties': False,
10177 'properties': {'macaroon': {'$ref': '#/definitions/Macaroon'},
10178 'macaroon-path': {'type': 'string'}},
10179 'type': 'object'},
10180 'ErrorResult': {'additionalProperties': False,
10181 'properties': {'error': {'$ref': '#/definitions/Error'}},
10182 'type': 'object'},
10183 'ErrorResults': {'additionalProperties': False,
10184 'properties': {'results': {'items': {'$ref': '#/definitions/ErrorResult'},
10185 'type': 'array'}},
10186 'required': ['results'],
10187 'type': 'object'},
10188 'HostPort': {'additionalProperties': False,
10189 'properties': {'Address': {'$ref': '#/definitions/Address'},
10190 'port': {'type': 'integer'}},
10191 'required': ['Address', 'port'],
10192 'type': 'object'},
10193 'LifeResult': {'additionalProperties': False,
10194 'properties': {'error': {'$ref': '#/definitions/Error'},
10195 'life': {'type': 'string'}},
10196 'required': ['life'],
10197 'type': 'object'},
10198 'LifeResults': {'additionalProperties': False,
10199 'properties': {'results': {'items': {'$ref': '#/definitions/LifeResult'},
10200 'type': 'array'}},
10201 'required': ['results'],
10202 'type': 'object'},
10203 'Macaroon': {'additionalProperties': False, 'type': 'object'},
10204 'NotifyWatchResult': {'additionalProperties': False,
10205 'properties': {'NotifyWatcherId': {'type': 'string'},
10206 'error': {'$ref': '#/definitions/Error'}},
10207 'required': ['NotifyWatcherId'],
10208 'type': 'object'},
10209 'StringResult': {'additionalProperties': False,
10210 'properties': {'error': {'$ref': '#/definitions/Error'},
10211 'result': {'type': 'string'}},
10212 'required': ['result'],
10213 'type': 'object'},
10214 'StringsResult': {'additionalProperties': False,
10215 'properties': {'error': {'$ref': '#/definitions/Error'},
10216 'result': {'items': {'type': 'string'},
10217 'type': 'array'}},
10218 'type': 'object'},
10219 'StringsWatchResult': {'additionalProperties': False,
10220 'properties': {'changes': {'items': {'type': 'string'},
10221 'type': 'array'},
10222 'error': {'$ref': '#/definitions/Error'},
10223 'watcher-id': {'type': 'string'}},
10224 'required': ['watcher-id'],
10225 'type': 'object'},
10226 'StringsWatchResults': {'additionalProperties': False,
10227 'properties': {'results': {'items': {'$ref': '#/definitions/StringsWatchResult'},
10228 'type': 'array'}},
10229 'required': ['results'],
10230 'type': 'object'}},
10231 'properties': {'APIAddresses': {'properties': {'Result': {'$ref': '#/definitions/StringsResult'}},
10232 'type': 'object'},
10233 'APIHostPorts': {'properties': {'Result': {'$ref': '#/definitions/APIHostPortsResult'}},
10234 'type': 'object'},
10235 'CACert': {'properties': {'Result': {'$ref': '#/definitions/BytesResult'}},
10236 'type': 'object'},
10237 'ConnectionInfo': {'properties': {'Result': {'$ref': '#/definitions/DeployerConnectionValues'}},
10238 'type': 'object'},
10239 'Life': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
10240 'Result': {'$ref': '#/definitions/LifeResults'}},
10241 'type': 'object'},
10242 'ModelUUID': {'properties': {'Result': {'$ref': '#/definitions/StringResult'}},
10243 'type': 'object'},
10244 'Remove': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
10245 'Result': {'$ref': '#/definitions/ErrorResults'}},
10246 'type': 'object'},
10247 'SetPasswords': {'properties': {'Params': {'$ref': '#/definitions/EntityPasswords'},
10248 'Result': {'$ref': '#/definitions/ErrorResults'}},
10249 'type': 'object'},
10250 'StateAddresses': {'properties': {'Result': {'$ref': '#/definitions/StringsResult'}},
10251 'type': 'object'},
10252 'WatchAPIHostPorts': {'properties': {'Result': {'$ref': '#/definitions/NotifyWatchResult'}},
10253 'type': 'object'},
10254 'WatchUnits': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
10255 'Result': {'$ref': '#/definitions/StringsWatchResults'}},
10256 'type': 'object'}},
10257 'type': 'object'}
10258
10259
10260 @ReturnMapping(StringsResult)
10261 async def APIAddresses(self):
10262 '''
10263
10264 Returns -> typing.Union[_ForwardRef('Error'), typing.Sequence<+T_co>[str]]
10265 '''
10266 # map input types to rpc msg
10267 params = dict()
10268 msg = dict(type='Deployer', request='APIAddresses', version=1, params=params)
10269
10270 reply = await self.rpc(msg)
10271 return reply
10272
10273
10274
10275 @ReturnMapping(APIHostPortsResult)
10276 async def APIHostPorts(self):
10277 '''
10278
10279 Returns -> typing.Sequence<+T_co>[~HostPort]<~HostPort>
10280 '''
10281 # map input types to rpc msg
10282 params = dict()
10283 msg = dict(type='Deployer', request='APIHostPorts', version=1, params=params)
10284
10285 reply = await self.rpc(msg)
10286 return reply
10287
10288
10289
10290 @ReturnMapping(BytesResult)
10291 async def CACert(self):
10292 '''
10293
10294 Returns -> typing.Sequence<+T_co>[int]
10295 '''
10296 # map input types to rpc msg
10297 params = dict()
10298 msg = dict(type='Deployer', request='CACert', version=1, params=params)
10299
10300 reply = await self.rpc(msg)
10301 return reply
10302
10303
10304
10305 @ReturnMapping(DeployerConnectionValues)
10306 async def ConnectionInfo(self):
10307 '''
10308
10309 Returns -> typing.Sequence<+T_co>[str]
10310 '''
10311 # map input types to rpc msg
10312 params = dict()
10313 msg = dict(type='Deployer', request='ConnectionInfo', version=1, params=params)
10314
10315 reply = await self.rpc(msg)
10316 return reply
10317
10318
10319
10320 @ReturnMapping(LifeResults)
10321 async def Life(self, entities):
10322 '''
10323 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
10324 Returns -> typing.Sequence<+T_co>[~LifeResult]<~LifeResult>
10325 '''
10326 # map input types to rpc msg
10327 params = dict()
10328 msg = dict(type='Deployer', request='Life', version=1, params=params)
10329 params['entities'] = entities
10330 reply = await self.rpc(msg)
10331 return reply
10332
10333
10334
10335 @ReturnMapping(StringResult)
10336 async def ModelUUID(self):
10337 '''
10338
10339 Returns -> typing.Union[_ForwardRef('Error'), str]
10340 '''
10341 # map input types to rpc msg
10342 params = dict()
10343 msg = dict(type='Deployer', request='ModelUUID', version=1, params=params)
10344
10345 reply = await self.rpc(msg)
10346 return reply
10347
10348
10349
10350 @ReturnMapping(ErrorResults)
10351 async def Remove(self, entities):
10352 '''
10353 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
10354 Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult>
10355 '''
10356 # map input types to rpc msg
10357 params = dict()
10358 msg = dict(type='Deployer', request='Remove', version=1, params=params)
10359 params['entities'] = entities
10360 reply = await self.rpc(msg)
10361 return reply
10362
10363
10364
10365 @ReturnMapping(ErrorResults)
10366 async def SetPasswords(self, changes):
10367 '''
10368 changes : typing.Sequence<+T_co>[~EntityPassword]<~EntityPassword>
10369 Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult>
10370 '''
10371 # map input types to rpc msg
10372 params = dict()
10373 msg = dict(type='Deployer', request='SetPasswords', version=1, params=params)
10374 params['changes'] = changes
10375 reply = await self.rpc(msg)
10376 return reply
10377
10378
10379
10380 @ReturnMapping(StringsResult)
10381 async def StateAddresses(self):
10382 '''
10383
10384 Returns -> typing.Union[_ForwardRef('Error'), typing.Sequence<+T_co>[str]]
10385 '''
10386 # map input types to rpc msg
10387 params = dict()
10388 msg = dict(type='Deployer', request='StateAddresses', version=1, params=params)
10389
10390 reply = await self.rpc(msg)
10391 return reply
10392
10393
10394
10395 @ReturnMapping(NotifyWatchResult)
10396 async def WatchAPIHostPorts(self):
10397 '''
10398
10399 Returns -> typing.Union[str, _ForwardRef('Error')]
10400 '''
10401 # map input types to rpc msg
10402 params = dict()
10403 msg = dict(type='Deployer', request='WatchAPIHostPorts', version=1, params=params)
10404
10405 reply = await self.rpc(msg)
10406 return reply
10407
10408
10409
10410 @ReturnMapping(StringsWatchResults)
10411 async def WatchUnits(self, entities):
10412 '''
10413 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
10414 Returns -> typing.Sequence<+T_co>[~StringsWatchResult]<~StringsWatchResult>
10415 '''
10416 # map input types to rpc msg
10417 params = dict()
10418 msg = dict(type='Deployer', request='WatchUnits', version=1, params=params)
10419 params['entities'] = entities
10420 reply = await self.rpc(msg)
10421 return reply
10422
10423
10424 class DiscoverSpacesFacade(Type):
10425 name = 'DiscoverSpaces'
10426 version = 2
10427 schema = {'definitions': {'AddSubnetParams': {'additionalProperties': False,
10428 'properties': {'space-tag': {'type': 'string'},
10429 'subnet-provider-id': {'type': 'string'},
10430 'subnet-tag': {'type': 'string'},
10431 'zones': {'items': {'type': 'string'},
10432 'type': 'array'}},
10433 'required': ['space-tag'],
10434 'type': 'object'},
10435 'AddSubnetsParams': {'additionalProperties': False,
10436 'properties': {'subnets': {'items': {'$ref': '#/definitions/AddSubnetParams'},
10437 'type': 'array'}},
10438 'required': ['subnets'],
10439 'type': 'object'},
10440 'CreateSpaceParams': {'additionalProperties': False,
10441 'properties': {'provider-id': {'type': 'string'},
10442 'public': {'type': 'boolean'},
10443 'space-tag': {'type': 'string'},
10444 'subnet-tags': {'items': {'type': 'string'},
10445 'type': 'array'}},
10446 'required': ['subnet-tags',
10447 'space-tag',
10448 'public'],
10449 'type': 'object'},
10450 'CreateSpacesParams': {'additionalProperties': False,
10451 'properties': {'spaces': {'items': {'$ref': '#/definitions/CreateSpaceParams'},
10452 'type': 'array'}},
10453 'required': ['spaces'],
10454 'type': 'object'},
10455 'DiscoverSpacesResults': {'additionalProperties': False,
10456 'properties': {'results': {'items': {'$ref': '#/definitions/ProviderSpace'},
10457 'type': 'array'}},
10458 'required': ['results'],
10459 'type': 'object'},
10460 'Error': {'additionalProperties': False,
10461 'properties': {'code': {'type': 'string'},
10462 'info': {'$ref': '#/definitions/ErrorInfo'},
10463 'message': {'type': 'string'}},
10464 'required': ['message', 'code'],
10465 'type': 'object'},
10466 'ErrorInfo': {'additionalProperties': False,
10467 'properties': {'macaroon': {'$ref': '#/definitions/Macaroon'},
10468 'macaroon-path': {'type': 'string'}},
10469 'type': 'object'},
10470 'ErrorResult': {'additionalProperties': False,
10471 'properties': {'error': {'$ref': '#/definitions/Error'}},
10472 'type': 'object'},
10473 'ErrorResults': {'additionalProperties': False,
10474 'properties': {'results': {'items': {'$ref': '#/definitions/ErrorResult'},
10475 'type': 'array'}},
10476 'required': ['results'],
10477 'type': 'object'},
10478 'ListSubnetsResults': {'additionalProperties': False,
10479 'properties': {'results': {'items': {'$ref': '#/definitions/Subnet'},
10480 'type': 'array'}},
10481 'required': ['results'],
10482 'type': 'object'},
10483 'Macaroon': {'additionalProperties': False, 'type': 'object'},
10484 'ModelConfigResult': {'additionalProperties': False,
10485 'properties': {'config': {'patternProperties': {'.*': {'additionalProperties': True,
10486 'type': 'object'}},
10487 'type': 'object'}},
10488 'required': ['config'],
10489 'type': 'object'},
10490 'ProviderSpace': {'additionalProperties': False,
10491 'properties': {'error': {'$ref': '#/definitions/Error'},
10492 'name': {'type': 'string'},
10493 'provider-id': {'type': 'string'},
10494 'subnets': {'items': {'$ref': '#/definitions/Subnet'},
10495 'type': 'array'}},
10496 'required': ['name',
10497 'provider-id',
10498 'subnets'],
10499 'type': 'object'},
10500 'Subnet': {'additionalProperties': False,
10501 'properties': {'cidr': {'type': 'string'},
10502 'life': {'type': 'string'},
10503 'provider-id': {'type': 'string'},
10504 'space-tag': {'type': 'string'},
10505 'status': {'type': 'string'},
10506 'vlan-tag': {'type': 'integer'},
10507 'zones': {'items': {'type': 'string'},
10508 'type': 'array'}},
10509 'required': ['cidr',
10510 'vlan-tag',
10511 'life',
10512 'space-tag',
10513 'zones'],
10514 'type': 'object'},
10515 'SubnetsFilters': {'additionalProperties': False,
10516 'properties': {'space-tag': {'type': 'string'},
10517 'zone': {'type': 'string'}},
10518 'type': 'object'}},
10519 'properties': {'AddSubnets': {'properties': {'Params': {'$ref': '#/definitions/AddSubnetsParams'},
10520 'Result': {'$ref': '#/definitions/ErrorResults'}},
10521 'type': 'object'},
10522 'CreateSpaces': {'properties': {'Params': {'$ref': '#/definitions/CreateSpacesParams'},
10523 'Result': {'$ref': '#/definitions/ErrorResults'}},
10524 'type': 'object'},
10525 'ListSpaces': {'properties': {'Result': {'$ref': '#/definitions/DiscoverSpacesResults'}},
10526 'type': 'object'},
10527 'ListSubnets': {'properties': {'Params': {'$ref': '#/definitions/SubnetsFilters'},
10528 'Result': {'$ref': '#/definitions/ListSubnetsResults'}},
10529 'type': 'object'},
10530 'ModelConfig': {'properties': {'Result': {'$ref': '#/definitions/ModelConfigResult'}},
10531 'type': 'object'}},
10532 'type': 'object'}
10533
10534
10535 @ReturnMapping(ErrorResults)
10536 async def AddSubnets(self, subnets):
10537 '''
10538 subnets : typing.Sequence<+T_co>[~AddSubnetParams]<~AddSubnetParams>
10539 Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult>
10540 '''
10541 # map input types to rpc msg
10542 params = dict()
10543 msg = dict(type='DiscoverSpaces', request='AddSubnets', version=2, params=params)
10544 params['subnets'] = subnets
10545 reply = await self.rpc(msg)
10546 return reply
10547
10548
10549
10550 @ReturnMapping(ErrorResults)
10551 async def CreateSpaces(self, spaces):
10552 '''
10553 spaces : typing.Sequence<+T_co>[~CreateSpaceParams]<~CreateSpaceParams>
10554 Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult>
10555 '''
10556 # map input types to rpc msg
10557 params = dict()
10558 msg = dict(type='DiscoverSpaces', request='CreateSpaces', version=2, params=params)
10559 params['spaces'] = spaces
10560 reply = await self.rpc(msg)
10561 return reply
10562
10563
10564
10565 @ReturnMapping(DiscoverSpacesResults)
10566 async def ListSpaces(self):
10567 '''
10568
10569 Returns -> typing.Sequence<+T_co>[~ProviderSpace]<~ProviderSpace>
10570 '''
10571 # map input types to rpc msg
10572 params = dict()
10573 msg = dict(type='DiscoverSpaces', request='ListSpaces', version=2, params=params)
10574
10575 reply = await self.rpc(msg)
10576 return reply
10577
10578
10579
10580 @ReturnMapping(ListSubnetsResults)
10581 async def ListSubnets(self, space_tag, zone):
10582 '''
10583 space_tag : str
10584 zone : str
10585 Returns -> typing.Sequence<+T_co>[~Subnet]<~Subnet>
10586 '''
10587 # map input types to rpc msg
10588 params = dict()
10589 msg = dict(type='DiscoverSpaces', request='ListSubnets', version=2, params=params)
10590 params['space-tag'] = space_tag
10591 params['zone'] = zone
10592 reply = await self.rpc(msg)
10593 return reply
10594
10595
10596
10597 @ReturnMapping(ModelConfigResult)
10598 async def ModelConfig(self):
10599 '''
10600
10601 Returns -> typing.Mapping<~KT, +VT_co>[str, typing.Any]
10602 '''
10603 # map input types to rpc msg
10604 params = dict()
10605 msg = dict(type='DiscoverSpaces', request='ModelConfig', version=2, params=params)
10606
10607 reply = await self.rpc(msg)
10608 return reply
10609
10610
10611 class DiskManagerFacade(Type):
10612 name = 'DiskManager'
10613 version = 2
10614 schema = {'definitions': {'BlockDevice': {'additionalProperties': False,
10615 'properties': {'BusAddress': {'type': 'string'},
10616 'DeviceLinks': {'items': {'type': 'string'},
10617 'type': 'array'},
10618 'DeviceName': {'type': 'string'},
10619 'FilesystemType': {'type': 'string'},
10620 'HardwareId': {'type': 'string'},
10621 'InUse': {'type': 'boolean'},
10622 'Label': {'type': 'string'},
10623 'MountPoint': {'type': 'string'},
10624 'Size': {'type': 'integer'},
10625 'UUID': {'type': 'string'}},
10626 'required': ['DeviceName',
10627 'DeviceLinks',
10628 'Label',
10629 'UUID',
10630 'HardwareId',
10631 'BusAddress',
10632 'Size',
10633 'FilesystemType',
10634 'InUse',
10635 'MountPoint'],
10636 'type': 'object'},
10637 'Error': {'additionalProperties': False,
10638 'properties': {'code': {'type': 'string'},
10639 'info': {'$ref': '#/definitions/ErrorInfo'},
10640 'message': {'type': 'string'}},
10641 'required': ['message', 'code'],
10642 'type': 'object'},
10643 'ErrorInfo': {'additionalProperties': False,
10644 'properties': {'macaroon': {'$ref': '#/definitions/Macaroon'},
10645 'macaroon-path': {'type': 'string'}},
10646 'type': 'object'},
10647 'ErrorResult': {'additionalProperties': False,
10648 'properties': {'error': {'$ref': '#/definitions/Error'}},
10649 'type': 'object'},
10650 'ErrorResults': {'additionalProperties': False,
10651 'properties': {'results': {'items': {'$ref': '#/definitions/ErrorResult'},
10652 'type': 'array'}},
10653 'required': ['results'],
10654 'type': 'object'},
10655 'Macaroon': {'additionalProperties': False, 'type': 'object'},
10656 'MachineBlockDevices': {'additionalProperties': False,
10657 'properties': {'block-devices': {'items': {'$ref': '#/definitions/BlockDevice'},
10658 'type': 'array'},
10659 'machine': {'type': 'string'}},
10660 'required': ['machine'],
10661 'type': 'object'},
10662 'SetMachineBlockDevices': {'additionalProperties': False,
10663 'properties': {'machine-block-devices': {'items': {'$ref': '#/definitions/MachineBlockDevices'},
10664 'type': 'array'}},
10665 'required': ['machine-block-devices'],
10666 'type': 'object'}},
10667 'properties': {'SetMachineBlockDevices': {'properties': {'Params': {'$ref': '#/definitions/SetMachineBlockDevices'},
10668 'Result': {'$ref': '#/definitions/ErrorResults'}},
10669 'type': 'object'}},
10670 'type': 'object'}
10671
10672
10673 @ReturnMapping(ErrorResults)
10674 async def SetMachineBlockDevices(self, machine_block_devices):
10675 '''
10676 machine_block_devices : typing.Sequence<+T_co>[~MachineBlockDevices]<~MachineBlockDevices>
10677 Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult>
10678 '''
10679 # map input types to rpc msg
10680 params = dict()
10681 msg = dict(type='DiskManager', request='SetMachineBlockDevices', version=2, params=params)
10682 params['machine-block-devices'] = machine_block_devices
10683 reply = await self.rpc(msg)
10684 return reply
10685
10686
10687 class EntityWatcherFacade(Type):
10688 name = 'EntityWatcher'
10689 version = 2
10690 schema = {'definitions': {'EntitiesWatchResult': {'additionalProperties': False,
10691 'properties': {'changes': {'items': {'type': 'string'},
10692 'type': 'array'},
10693 'error': {'$ref': '#/definitions/Error'},
10694 'watcher-id': {'type': 'string'}},
10695 'required': ['watcher-id'],
10696 'type': 'object'},
10697 'Error': {'additionalProperties': False,
10698 'properties': {'code': {'type': 'string'},
10699 'info': {'$ref': '#/definitions/ErrorInfo'},
10700 'message': {'type': 'string'}},
10701 'required': ['message', 'code'],
10702 'type': 'object'},
10703 'ErrorInfo': {'additionalProperties': False,
10704 'properties': {'macaroon': {'$ref': '#/definitions/Macaroon'},
10705 'macaroon-path': {'type': 'string'}},
10706 'type': 'object'},
10707 'Macaroon': {'additionalProperties': False, 'type': 'object'}},
10708 'properties': {'Next': {'properties': {'Result': {'$ref': '#/definitions/EntitiesWatchResult'}},
10709 'type': 'object'},
10710 'Stop': {'type': 'object'}},
10711 'type': 'object'}
10712
10713
10714 @ReturnMapping(EntitiesWatchResult)
10715 async def Next(self):
10716 '''
10717
10718 Returns -> typing.Union[typing.Sequence<+T_co>[str], _ForwardRef('Error')]
10719 '''
10720 # map input types to rpc msg
10721 params = dict()
10722 msg = dict(type='EntityWatcher', request='Next', version=2, params=params)
10723
10724 reply = await self.rpc(msg)
10725 return reply
10726
10727
10728
10729 @ReturnMapping(None)
10730 async def Stop(self):
10731 '''
10732
10733 Returns -> None
10734 '''
10735 # map input types to rpc msg
10736 params = dict()
10737 msg = dict(type='EntityWatcher', request='Stop', version=2, params=params)
10738
10739 reply = await self.rpc(msg)
10740 return reply
10741
10742
10743 class FilesystemAttachmentsWatcherFacade(Type):
10744 name = 'FilesystemAttachmentsWatcher'
10745 version = 2
10746 schema = {'definitions': {'Error': {'additionalProperties': False,
10747 'properties': {'code': {'type': 'string'},
10748 'info': {'$ref': '#/definitions/ErrorInfo'},
10749 'message': {'type': 'string'}},
10750 'required': ['message', 'code'],
10751 'type': 'object'},
10752 'ErrorInfo': {'additionalProperties': False,
10753 'properties': {'macaroon': {'$ref': '#/definitions/Macaroon'},
10754 'macaroon-path': {'type': 'string'}},
10755 'type': 'object'},
10756 'Macaroon': {'additionalProperties': False, 'type': 'object'},
10757 'MachineStorageId': {'additionalProperties': False,
10758 'properties': {'attachment-tag': {'type': 'string'},
10759 'machine-tag': {'type': 'string'}},
10760 'required': ['machine-tag',
10761 'attachment-tag'],
10762 'type': 'object'},
10763 'MachineStorageIdsWatchResult': {'additionalProperties': False,
10764 'properties': {'changes': {'items': {'$ref': '#/definitions/MachineStorageId'},
10765 'type': 'array'},
10766 'error': {'$ref': '#/definitions/Error'},
10767 'watcher-id': {'type': 'string'}},
10768 'required': ['watcher-id',
10769 'changes'],
10770 'type': 'object'}},
10771 'properties': {'Next': {'properties': {'Result': {'$ref': '#/definitions/MachineStorageIdsWatchResult'}},
10772 'type': 'object'},
10773 'Stop': {'type': 'object'}},
10774 'type': 'object'}
10775
10776
10777 @ReturnMapping(MachineStorageIdsWatchResult)
10778 async def Next(self):
10779 '''
10780
10781 Returns -> typing.Union[typing.Sequence<+T_co>[~MachineStorageId]<~MachineStorageId>, _ForwardRef('Error')]
10782 '''
10783 # map input types to rpc msg
10784 params = dict()
10785 msg = dict(type='FilesystemAttachmentsWatcher', request='Next', version=2, params=params)
10786
10787 reply = await self.rpc(msg)
10788 return reply
10789
10790
10791
10792 @ReturnMapping(None)
10793 async def Stop(self):
10794 '''
10795
10796 Returns -> None
10797 '''
10798 # map input types to rpc msg
10799 params = dict()
10800 msg = dict(type='FilesystemAttachmentsWatcher', request='Stop', version=2, params=params)
10801
10802 reply = await self.rpc(msg)
10803 return reply
10804
10805
10806 class FirewallerFacade(Type):
10807 name = 'Firewaller'
10808 version = 3
10809 schema = {'definitions': {'BoolResult': {'additionalProperties': False,
10810 'properties': {'error': {'$ref': '#/definitions/Error'},
10811 'result': {'type': 'boolean'}},
10812 'required': ['result'],
10813 'type': 'object'},
10814 'BoolResults': {'additionalProperties': False,
10815 'properties': {'results': {'items': {'$ref': '#/definitions/BoolResult'},
10816 'type': 'array'}},
10817 'required': ['results'],
10818 'type': 'object'},
10819 'CloudCredential': {'additionalProperties': False,
10820 'properties': {'attrs': {'patternProperties': {'.*': {'type': 'string'}},
10821 'type': 'object'},
10822 'auth-type': {'type': 'string'},
10823 'redacted': {'items': {'type': 'string'},
10824 'type': 'array'}},
10825 'required': ['auth-type'],
10826 'type': 'object'},
10827 'CloudSpec': {'additionalProperties': False,
10828 'properties': {'credential': {'$ref': '#/definitions/CloudCredential'},
10829 'endpoint': {'type': 'string'},
10830 'identity-endpoint': {'type': 'string'},
10831 'name': {'type': 'string'},
10832 'region': {'type': 'string'},
10833 'storage-endpoint': {'type': 'string'},
10834 'type': {'type': 'string'}},
10835 'required': ['type', 'name'],
10836 'type': 'object'},
10837 'CloudSpecResult': {'additionalProperties': False,
10838 'properties': {'error': {'$ref': '#/definitions/Error'},
10839 'result': {'$ref': '#/definitions/CloudSpec'}},
10840 'type': 'object'},
10841 'CloudSpecResults': {'additionalProperties': False,
10842 'properties': {'results': {'items': {'$ref': '#/definitions/CloudSpecResult'},
10843 'type': 'array'}},
10844 'type': 'object'},
10845 'Entities': {'additionalProperties': False,
10846 'properties': {'entities': {'items': {'$ref': '#/definitions/Entity'},
10847 'type': 'array'}},
10848 'required': ['entities'],
10849 'type': 'object'},
10850 'Entity': {'additionalProperties': False,
10851 'properties': {'tag': {'type': 'string'}},
10852 'required': ['tag'],
10853 'type': 'object'},
10854 'Error': {'additionalProperties': False,
10855 'properties': {'code': {'type': 'string'},
10856 'info': {'$ref': '#/definitions/ErrorInfo'},
10857 'message': {'type': 'string'}},
10858 'required': ['message', 'code'],
10859 'type': 'object'},
10860 'ErrorInfo': {'additionalProperties': False,
10861 'properties': {'macaroon': {'$ref': '#/definitions/Macaroon'},
10862 'macaroon-path': {'type': 'string'}},
10863 'type': 'object'},
10864 'LifeResult': {'additionalProperties': False,
10865 'properties': {'error': {'$ref': '#/definitions/Error'},
10866 'life': {'type': 'string'}},
10867 'required': ['life'],
10868 'type': 'object'},
10869 'LifeResults': {'additionalProperties': False,
10870 'properties': {'results': {'items': {'$ref': '#/definitions/LifeResult'},
10871 'type': 'array'}},
10872 'required': ['results'],
10873 'type': 'object'},
10874 'Macaroon': {'additionalProperties': False, 'type': 'object'},
10875 'MachinePortRange': {'additionalProperties': False,
10876 'properties': {'port-range': {'$ref': '#/definitions/PortRange'},
10877 'relation-tag': {'type': 'string'},
10878 'unit-tag': {'type': 'string'}},
10879 'required': ['unit-tag',
10880 'relation-tag',
10881 'port-range'],
10882 'type': 'object'},
10883 'MachinePorts': {'additionalProperties': False,
10884 'properties': {'machine-tag': {'type': 'string'},
10885 'subnet-tag': {'type': 'string'}},
10886 'required': ['machine-tag', 'subnet-tag'],
10887 'type': 'object'},
10888 'MachinePortsParams': {'additionalProperties': False,
10889 'properties': {'params': {'items': {'$ref': '#/definitions/MachinePorts'},
10890 'type': 'array'}},
10891 'required': ['params'],
10892 'type': 'object'},
10893 'MachinePortsResult': {'additionalProperties': False,
10894 'properties': {'error': {'$ref': '#/definitions/Error'},
10895 'ports': {'items': {'$ref': '#/definitions/MachinePortRange'},
10896 'type': 'array'}},
10897 'required': ['ports'],
10898 'type': 'object'},
10899 'MachinePortsResults': {'additionalProperties': False,
10900 'properties': {'results': {'items': {'$ref': '#/definitions/MachinePortsResult'},
10901 'type': 'array'}},
10902 'required': ['results'],
10903 'type': 'object'},
10904 'ModelConfigResult': {'additionalProperties': False,
10905 'properties': {'config': {'patternProperties': {'.*': {'additionalProperties': True,
10906 'type': 'object'}},
10907 'type': 'object'}},
10908 'required': ['config'],
10909 'type': 'object'},
10910 'NotifyWatchResult': {'additionalProperties': False,
10911 'properties': {'NotifyWatcherId': {'type': 'string'},
10912 'error': {'$ref': '#/definitions/Error'}},
10913 'required': ['NotifyWatcherId'],
10914 'type': 'object'},
10915 'NotifyWatchResults': {'additionalProperties': False,
10916 'properties': {'results': {'items': {'$ref': '#/definitions/NotifyWatchResult'},
10917 'type': 'array'}},
10918 'required': ['results'],
10919 'type': 'object'},
10920 'PortRange': {'additionalProperties': False,
10921 'properties': {'from-port': {'type': 'integer'},
10922 'protocol': {'type': 'string'},
10923 'to-port': {'type': 'integer'}},
10924 'required': ['from-port', 'to-port', 'protocol'],
10925 'type': 'object'},
10926 'StringResult': {'additionalProperties': False,
10927 'properties': {'error': {'$ref': '#/definitions/Error'},
10928 'result': {'type': 'string'}},
10929 'required': ['result'],
10930 'type': 'object'},
10931 'StringResults': {'additionalProperties': False,
10932 'properties': {'results': {'items': {'$ref': '#/definitions/StringResult'},
10933 'type': 'array'}},
10934 'required': ['results'],
10935 'type': 'object'},
10936 'StringsResult': {'additionalProperties': False,
10937 'properties': {'error': {'$ref': '#/definitions/Error'},
10938 'result': {'items': {'type': 'string'},
10939 'type': 'array'}},
10940 'type': 'object'},
10941 'StringsResults': {'additionalProperties': False,
10942 'properties': {'results': {'items': {'$ref': '#/definitions/StringsResult'},
10943 'type': 'array'}},
10944 'required': ['results'],
10945 'type': 'object'},
10946 'StringsWatchResult': {'additionalProperties': False,
10947 'properties': {'changes': {'items': {'type': 'string'},
10948 'type': 'array'},
10949 'error': {'$ref': '#/definitions/Error'},
10950 'watcher-id': {'type': 'string'}},
10951 'required': ['watcher-id'],
10952 'type': 'object'},
10953 'StringsWatchResults': {'additionalProperties': False,
10954 'properties': {'results': {'items': {'$ref': '#/definitions/StringsWatchResult'},
10955 'type': 'array'}},
10956 'required': ['results'],
10957 'type': 'object'}},
10958 'properties': {'CloudSpec': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
10959 'Result': {'$ref': '#/definitions/CloudSpecResults'}},
10960 'type': 'object'},
10961 'GetAssignedMachine': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
10962 'Result': {'$ref': '#/definitions/StringResults'}},
10963 'type': 'object'},
10964 'GetExposed': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
10965 'Result': {'$ref': '#/definitions/BoolResults'}},
10966 'type': 'object'},
10967 'GetMachineActiveSubnets': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
10968 'Result': {'$ref': '#/definitions/StringsResults'}},
10969 'type': 'object'},
10970 'GetMachinePorts': {'properties': {'Params': {'$ref': '#/definitions/MachinePortsParams'},
10971 'Result': {'$ref': '#/definitions/MachinePortsResults'}},
10972 'type': 'object'},
10973 'InstanceId': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
10974 'Result': {'$ref': '#/definitions/StringResults'}},
10975 'type': 'object'},
10976 'Life': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
10977 'Result': {'$ref': '#/definitions/LifeResults'}},
10978 'type': 'object'},
10979 'ModelConfig': {'properties': {'Result': {'$ref': '#/definitions/ModelConfigResult'}},
10980 'type': 'object'},
10981 'Watch': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
10982 'Result': {'$ref': '#/definitions/NotifyWatchResults'}},
10983 'type': 'object'},
10984 'WatchForModelConfigChanges': {'properties': {'Result': {'$ref': '#/definitions/NotifyWatchResult'}},
10985 'type': 'object'},
10986 'WatchModelMachines': {'properties': {'Result': {'$ref': '#/definitions/StringsWatchResult'}},
10987 'type': 'object'},
10988 'WatchOpenedPorts': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
10989 'Result': {'$ref': '#/definitions/StringsWatchResults'}},
10990 'type': 'object'},
10991 'WatchUnits': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
10992 'Result': {'$ref': '#/definitions/StringsWatchResults'}},
10993 'type': 'object'}},
10994 'type': 'object'}
10995
10996
10997 @ReturnMapping(CloudSpecResults)
10998 async def CloudSpec(self, entities):
10999 '''
11000 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
11001 Returns -> typing.Sequence<+T_co>[~CloudSpecResult]<~CloudSpecResult>
11002 '''
11003 # map input types to rpc msg
11004 params = dict()
11005 msg = dict(type='Firewaller', request='CloudSpec', version=3, params=params)
11006 params['entities'] = entities
11007 reply = await self.rpc(msg)
11008 return reply
11009
11010
11011
11012 @ReturnMapping(StringResults)
11013 async def GetAssignedMachine(self, entities):
11014 '''
11015 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
11016 Returns -> typing.Sequence<+T_co>[~StringResult]<~StringResult>
11017 '''
11018 # map input types to rpc msg
11019 params = dict()
11020 msg = dict(type='Firewaller', request='GetAssignedMachine', version=3, params=params)
11021 params['entities'] = entities
11022 reply = await self.rpc(msg)
11023 return reply
11024
11025
11026
11027 @ReturnMapping(BoolResults)
11028 async def GetExposed(self, entities):
11029 '''
11030 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
11031 Returns -> typing.Sequence<+T_co>[~BoolResult]<~BoolResult>
11032 '''
11033 # map input types to rpc msg
11034 params = dict()
11035 msg = dict(type='Firewaller', request='GetExposed', version=3, params=params)
11036 params['entities'] = entities
11037 reply = await self.rpc(msg)
11038 return reply
11039
11040
11041
11042 @ReturnMapping(StringsResults)
11043 async def GetMachineActiveSubnets(self, entities):
11044 '''
11045 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
11046 Returns -> typing.Sequence<+T_co>[~StringsResult]<~StringsResult>
11047 '''
11048 # map input types to rpc msg
11049 params = dict()
11050 msg = dict(type='Firewaller', request='GetMachineActiveSubnets', version=3, params=params)
11051 params['entities'] = entities
11052 reply = await self.rpc(msg)
11053 return reply
11054
11055
11056
11057 @ReturnMapping(MachinePortsResults)
11058 async def GetMachinePorts(self, params):
11059 '''
11060 params : typing.Sequence<+T_co>[~MachinePorts]<~MachinePorts>
11061 Returns -> typing.Sequence<+T_co>[~MachinePortsResult]<~MachinePortsResult>
11062 '''
11063 # map input types to rpc msg
11064 params = dict()
11065 msg = dict(type='Firewaller', request='GetMachinePorts', version=3, params=params)
11066 params['params'] = params
11067 reply = await self.rpc(msg)
11068 return reply
11069
11070
11071
11072 @ReturnMapping(StringResults)
11073 async def InstanceId(self, entities):
11074 '''
11075 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
11076 Returns -> typing.Sequence<+T_co>[~StringResult]<~StringResult>
11077 '''
11078 # map input types to rpc msg
11079 params = dict()
11080 msg = dict(type='Firewaller', request='InstanceId', version=3, params=params)
11081 params['entities'] = entities
11082 reply = await self.rpc(msg)
11083 return reply
11084
11085
11086
11087 @ReturnMapping(LifeResults)
11088 async def Life(self, entities):
11089 '''
11090 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
11091 Returns -> typing.Sequence<+T_co>[~LifeResult]<~LifeResult>
11092 '''
11093 # map input types to rpc msg
11094 params = dict()
11095 msg = dict(type='Firewaller', request='Life', version=3, params=params)
11096 params['entities'] = entities
11097 reply = await self.rpc(msg)
11098 return reply
11099
11100
11101
11102 @ReturnMapping(ModelConfigResult)
11103 async def ModelConfig(self):
11104 '''
11105
11106 Returns -> typing.Mapping<~KT, +VT_co>[str, typing.Any]
11107 '''
11108 # map input types to rpc msg
11109 params = dict()
11110 msg = dict(type='Firewaller', request='ModelConfig', version=3, params=params)
11111
11112 reply = await self.rpc(msg)
11113 return reply
11114
11115
11116
11117 @ReturnMapping(NotifyWatchResults)
11118 async def Watch(self, entities):
11119 '''
11120 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
11121 Returns -> typing.Sequence<+T_co>[~NotifyWatchResult]<~NotifyWatchResult>
11122 '''
11123 # map input types to rpc msg
11124 params = dict()
11125 msg = dict(type='Firewaller', request='Watch', version=3, params=params)
11126 params['entities'] = entities
11127 reply = await self.rpc(msg)
11128 return reply
11129
11130
11131
11132 @ReturnMapping(NotifyWatchResult)
11133 async def WatchForModelConfigChanges(self):
11134 '''
11135
11136 Returns -> typing.Union[str, _ForwardRef('Error')]
11137 '''
11138 # map input types to rpc msg
11139 params = dict()
11140 msg = dict(type='Firewaller', request='WatchForModelConfigChanges', version=3, params=params)
11141
11142 reply = await self.rpc(msg)
11143 return reply
11144
11145
11146
11147 @ReturnMapping(StringsWatchResult)
11148 async def WatchModelMachines(self):
11149 '''
11150
11151 Returns -> typing.Union[typing.Sequence<+T_co>[str], _ForwardRef('Error')]
11152 '''
11153 # map input types to rpc msg
11154 params = dict()
11155 msg = dict(type='Firewaller', request='WatchModelMachines', version=3, params=params)
11156
11157 reply = await self.rpc(msg)
11158 return reply
11159
11160
11161
11162 @ReturnMapping(StringsWatchResults)
11163 async def WatchOpenedPorts(self, entities):
11164 '''
11165 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
11166 Returns -> typing.Sequence<+T_co>[~StringsWatchResult]<~StringsWatchResult>
11167 '''
11168 # map input types to rpc msg
11169 params = dict()
11170 msg = dict(type='Firewaller', request='WatchOpenedPorts', version=3, params=params)
11171 params['entities'] = entities
11172 reply = await self.rpc(msg)
11173 return reply
11174
11175
11176
11177 @ReturnMapping(StringsWatchResults)
11178 async def WatchUnits(self, entities):
11179 '''
11180 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
11181 Returns -> typing.Sequence<+T_co>[~StringsWatchResult]<~StringsWatchResult>
11182 '''
11183 # map input types to rpc msg
11184 params = dict()
11185 msg = dict(type='Firewaller', request='WatchUnits', version=3, params=params)
11186 params['entities'] = entities
11187 reply = await self.rpc(msg)
11188 return reply
11189
11190
11191 class HighAvailabilityFacade(Type):
11192 name = 'HighAvailability'
11193 version = 2
11194 schema = {'definitions': {'Address': {'additionalProperties': False,
11195 'properties': {'Scope': {'type': 'string'},
11196 'SpaceName': {'type': 'string'},
11197 'SpaceProviderId': {'type': 'string'},
11198 'Type': {'type': 'string'},
11199 'Value': {'type': 'string'}},
11200 'required': ['Value',
11201 'Type',
11202 'Scope',
11203 'SpaceName',
11204 'SpaceProviderId'],
11205 'type': 'object'},
11206 'ControllersChangeResult': {'additionalProperties': False,
11207 'properties': {'error': {'$ref': '#/definitions/Error'},
11208 'result': {'$ref': '#/definitions/ControllersChanges'}},
11209 'required': ['result'],
11210 'type': 'object'},
11211 'ControllersChangeResults': {'additionalProperties': False,
11212 'properties': {'results': {'items': {'$ref': '#/definitions/ControllersChangeResult'},
11213 'type': 'array'}},
11214 'required': ['results'],
11215 'type': 'object'},
11216 'ControllersChanges': {'additionalProperties': False,
11217 'properties': {'added': {'items': {'type': 'string'},
11218 'type': 'array'},
11219 'converted': {'items': {'type': 'string'},
11220 'type': 'array'},
11221 'demoted': {'items': {'type': 'string'},
11222 'type': 'array'},
11223 'maintained': {'items': {'type': 'string'},
11224 'type': 'array'},
11225 'promoted': {'items': {'type': 'string'},
11226 'type': 'array'},
11227 'removed': {'items': {'type': 'string'},
11228 'type': 'array'}},
11229 'type': 'object'},
11230 'ControllersSpec': {'additionalProperties': False,
11231 'properties': {'constraints': {'$ref': '#/definitions/Value'},
11232 'model-tag': {'type': 'string'},
11233 'num-controllers': {'type': 'integer'},
11234 'placement': {'items': {'type': 'string'},
11235 'type': 'array'},
11236 'series': {'type': 'string'}},
11237 'required': ['model-tag',
11238 'num-controllers'],
11239 'type': 'object'},
11240 'ControllersSpecs': {'additionalProperties': False,
11241 'properties': {'specs': {'items': {'$ref': '#/definitions/ControllersSpec'},
11242 'type': 'array'}},
11243 'required': ['specs'],
11244 'type': 'object'},
11245 'Error': {'additionalProperties': False,
11246 'properties': {'code': {'type': 'string'},
11247 'info': {'$ref': '#/definitions/ErrorInfo'},
11248 'message': {'type': 'string'}},
11249 'required': ['message', 'code'],
11250 'type': 'object'},
11251 'ErrorInfo': {'additionalProperties': False,
11252 'properties': {'macaroon': {'$ref': '#/definitions/Macaroon'},
11253 'macaroon-path': {'type': 'string'}},
11254 'type': 'object'},
11255 'HAMember': {'additionalProperties': False,
11256 'properties': {'public-address': {'$ref': '#/definitions/Address'},
11257 'series': {'type': 'string'},
11258 'tag': {'type': 'string'}},
11259 'required': ['tag', 'public-address', 'series'],
11260 'type': 'object'},
11261 'Macaroon': {'additionalProperties': False, 'type': 'object'},
11262 'Member': {'additionalProperties': False,
11263 'properties': {'Address': {'type': 'string'},
11264 'Arbiter': {'type': 'boolean'},
11265 'BuildIndexes': {'type': 'boolean'},
11266 'Hidden': {'type': 'boolean'},
11267 'Id': {'type': 'integer'},
11268 'Priority': {'type': 'number'},
11269 'SlaveDelay': {'type': 'integer'},
11270 'Tags': {'patternProperties': {'.*': {'type': 'string'}},
11271 'type': 'object'},
11272 'Votes': {'type': 'integer'}},
11273 'required': ['Id',
11274 'Address',
11275 'Arbiter',
11276 'BuildIndexes',
11277 'Hidden',
11278 'Priority',
11279 'Tags',
11280 'SlaveDelay',
11281 'Votes'],
11282 'type': 'object'},
11283 'MongoUpgradeResults': {'additionalProperties': False,
11284 'properties': {'ha-members': {'items': {'$ref': '#/definitions/HAMember'},
11285 'type': 'array'},
11286 'master': {'$ref': '#/definitions/HAMember'},
11287 'rs-members': {'items': {'$ref': '#/definitions/Member'},
11288 'type': 'array'}},
11289 'required': ['rs-members',
11290 'master',
11291 'ha-members'],
11292 'type': 'object'},
11293 'ResumeReplicationParams': {'additionalProperties': False,
11294 'properties': {'members': {'items': {'$ref': '#/definitions/Member'},
11295 'type': 'array'}},
11296 'required': ['members'],
11297 'type': 'object'},
11298 'UpgradeMongoParams': {'additionalProperties': False,
11299 'properties': {'target': {'$ref': '#/definitions/Version'}},
11300 'required': ['target'],
11301 'type': 'object'},
11302 'Value': {'additionalProperties': False,
11303 'properties': {'arch': {'type': 'string'},
11304 'container': {'type': 'string'},
11305 'cpu-cores': {'type': 'integer'},
11306 'cpu-power': {'type': 'integer'},
11307 'instance-type': {'type': 'string'},
11308 'mem': {'type': 'integer'},
11309 'root-disk': {'type': 'integer'},
11310 'spaces': {'items': {'type': 'string'},
11311 'type': 'array'},
11312 'tags': {'items': {'type': 'string'},
11313 'type': 'array'},
11314 'virt-type': {'type': 'string'}},
11315 'type': 'object'},
11316 'Version': {'additionalProperties': False,
11317 'properties': {'Major': {'type': 'integer'},
11318 'Minor': {'type': 'integer'},
11319 'Patch': {'type': 'string'},
11320 'StorageEngine': {'type': 'string'}},
11321 'required': ['Major',
11322 'Minor',
11323 'Patch',
11324 'StorageEngine'],
11325 'type': 'object'}},
11326 'properties': {'EnableHA': {'properties': {'Params': {'$ref': '#/definitions/ControllersSpecs'},
11327 'Result': {'$ref': '#/definitions/ControllersChangeResults'}},
11328 'type': 'object'},
11329 'ResumeHAReplicationAfterUpgrade': {'properties': {'Params': {'$ref': '#/definitions/ResumeReplicationParams'}},
11330 'type': 'object'},
11331 'StopHAReplicationForUpgrade': {'properties': {'Params': {'$ref': '#/definitions/UpgradeMongoParams'},
11332 'Result': {'$ref': '#/definitions/MongoUpgradeResults'}},
11333 'type': 'object'}},
11334 'type': 'object'}
11335
11336
11337 @ReturnMapping(ControllersChangeResults)
11338 async def EnableHA(self, specs):
11339 '''
11340 specs : typing.Sequence<+T_co>[~ControllersSpec]<~ControllersSpec>
11341 Returns -> typing.Sequence<+T_co>[~ControllersChangeResult]<~ControllersChangeResult>
11342 '''
11343 # map input types to rpc msg
11344 params = dict()
11345 msg = dict(type='HighAvailability', request='EnableHA', version=2, params=params)
11346 params['specs'] = specs
11347 reply = await self.rpc(msg)
11348 return reply
11349
11350
11351
11352 @ReturnMapping(None)
11353 async def ResumeHAReplicationAfterUpgrade(self, members):
11354 '''
11355 members : typing.Sequence<+T_co>[~Member]<~Member>
11356 Returns -> None
11357 '''
11358 # map input types to rpc msg
11359 params = dict()
11360 msg = dict(type='HighAvailability', request='ResumeHAReplicationAfterUpgrade', version=2, params=params)
11361 params['members'] = members
11362 reply = await self.rpc(msg)
11363 return reply
11364
11365
11366
11367 @ReturnMapping(MongoUpgradeResults)
11368 async def StopHAReplicationForUpgrade(self, major, minor, patch, storageengine):
11369 '''
11370 major : int
11371 minor : int
11372 patch : str
11373 storageengine : str
11374 Returns -> typing.Union[_ForwardRef('HAMember'), typing.Sequence<+T_co>[~Member]<~Member>]
11375 '''
11376 # map input types to rpc msg
11377 params = dict()
11378 msg = dict(type='HighAvailability', request='StopHAReplicationForUpgrade', version=2, params=params)
11379 params['Major'] = major
11380 params['Minor'] = minor
11381 params['Patch'] = patch
11382 params['StorageEngine'] = storageengine
11383 reply = await self.rpc(msg)
11384 return reply
11385
11386
11387 class HostKeyReporterFacade(Type):
11388 name = 'HostKeyReporter'
11389 version = 1
11390 schema = {'definitions': {'Error': {'additionalProperties': False,
11391 'properties': {'code': {'type': 'string'},
11392 'info': {'$ref': '#/definitions/ErrorInfo'},
11393 'message': {'type': 'string'}},
11394 'required': ['message', 'code'],
11395 'type': 'object'},
11396 'ErrorInfo': {'additionalProperties': False,
11397 'properties': {'macaroon': {'$ref': '#/definitions/Macaroon'},
11398 'macaroon-path': {'type': 'string'}},
11399 'type': 'object'},
11400 'ErrorResult': {'additionalProperties': False,
11401 'properties': {'error': {'$ref': '#/definitions/Error'}},
11402 'type': 'object'},
11403 'ErrorResults': {'additionalProperties': False,
11404 'properties': {'results': {'items': {'$ref': '#/definitions/ErrorResult'},
11405 'type': 'array'}},
11406 'required': ['results'],
11407 'type': 'object'},
11408 'Macaroon': {'additionalProperties': False, 'type': 'object'},
11409 'SSHHostKeySet': {'additionalProperties': False,
11410 'properties': {'entity-keys': {'items': {'$ref': '#/definitions/SSHHostKeys'},
11411 'type': 'array'}},
11412 'required': ['entity-keys'],
11413 'type': 'object'},
11414 'SSHHostKeys': {'additionalProperties': False,
11415 'properties': {'public-keys': {'items': {'type': 'string'},
11416 'type': 'array'},
11417 'tag': {'type': 'string'}},
11418 'required': ['tag', 'public-keys'],
11419 'type': 'object'}},
11420 'properties': {'ReportKeys': {'properties': {'Params': {'$ref': '#/definitions/SSHHostKeySet'},
11421 'Result': {'$ref': '#/definitions/ErrorResults'}},
11422 'type': 'object'}},
11423 'type': 'object'}
11424
11425
11426 @ReturnMapping(ErrorResults)
11427 async def ReportKeys(self, entity_keys):
11428 '''
11429 entity_keys : typing.Sequence<+T_co>[~SSHHostKeys]<~SSHHostKeys>
11430 Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult>
11431 '''
11432 # map input types to rpc msg
11433 params = dict()
11434 msg = dict(type='HostKeyReporter', request='ReportKeys', version=1, params=params)
11435 params['entity-keys'] = entity_keys
11436 reply = await self.rpc(msg)
11437 return reply
11438
11439
11440 class ImageManagerFacade(Type):
11441 name = 'ImageManager'
11442 version = 2
11443 schema = {'definitions': {'Error': {'additionalProperties': False,
11444 'properties': {'code': {'type': 'string'},
11445 'info': {'$ref': '#/definitions/ErrorInfo'},
11446 'message': {'type': 'string'}},
11447 'required': ['message', 'code'],
11448 'type': 'object'},
11449 'ErrorInfo': {'additionalProperties': False,
11450 'properties': {'macaroon': {'$ref': '#/definitions/Macaroon'},
11451 'macaroon-path': {'type': 'string'}},
11452 'type': 'object'},
11453 'ErrorResult': {'additionalProperties': False,
11454 'properties': {'error': {'$ref': '#/definitions/Error'}},
11455 'type': 'object'},
11456 'ErrorResults': {'additionalProperties': False,
11457 'properties': {'results': {'items': {'$ref': '#/definitions/ErrorResult'},
11458 'type': 'array'}},
11459 'required': ['results'],
11460 'type': 'object'},
11461 'ImageFilterParams': {'additionalProperties': False,
11462 'properties': {'images': {'items': {'$ref': '#/definitions/ImageSpec'},
11463 'type': 'array'}},
11464 'required': ['images'],
11465 'type': 'object'},
11466 'ImageMetadata': {'additionalProperties': False,
11467 'properties': {'arch': {'type': 'string'},
11468 'created': {'format': 'date-time',
11469 'type': 'string'},
11470 'kind': {'type': 'string'},
11471 'series': {'type': 'string'},
11472 'url': {'type': 'string'}},
11473 'required': ['kind',
11474 'arch',
11475 'series',
11476 'url',
11477 'created'],
11478 'type': 'object'},
11479 'ImageSpec': {'additionalProperties': False,
11480 'properties': {'arch': {'type': 'string'},
11481 'kind': {'type': 'string'},
11482 'series': {'type': 'string'}},
11483 'required': ['kind', 'arch', 'series'],
11484 'type': 'object'},
11485 'ListImageResult': {'additionalProperties': False,
11486 'properties': {'result': {'items': {'$ref': '#/definitions/ImageMetadata'},
11487 'type': 'array'}},
11488 'required': ['result'],
11489 'type': 'object'},
11490 'Macaroon': {'additionalProperties': False, 'type': 'object'}},
11491 'properties': {'DeleteImages': {'properties': {'Params': {'$ref': '#/definitions/ImageFilterParams'},
11492 'Result': {'$ref': '#/definitions/ErrorResults'}},
11493 'type': 'object'},
11494 'ListImages': {'properties': {'Params': {'$ref': '#/definitions/ImageFilterParams'},
11495 'Result': {'$ref': '#/definitions/ListImageResult'}},
11496 'type': 'object'}},
11497 'type': 'object'}
11498
11499
11500 @ReturnMapping(ErrorResults)
11501 async def DeleteImages(self, images):
11502 '''
11503 images : typing.Sequence<+T_co>[~ImageSpec]<~ImageSpec>
11504 Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult>
11505 '''
11506 # map input types to rpc msg
11507 params = dict()
11508 msg = dict(type='ImageManager', request='DeleteImages', version=2, params=params)
11509 params['images'] = images
11510 reply = await self.rpc(msg)
11511 return reply
11512
11513
11514
11515 @ReturnMapping(ListImageResult)
11516 async def ListImages(self, images):
11517 '''
11518 images : typing.Sequence<+T_co>[~ImageSpec]<~ImageSpec>
11519 Returns -> typing.Sequence<+T_co>[~ImageMetadata]<~ImageMetadata>
11520 '''
11521 # map input types to rpc msg
11522 params = dict()
11523 msg = dict(type='ImageManager', request='ListImages', version=2, params=params)
11524 params['images'] = images
11525 reply = await self.rpc(msg)
11526 return reply
11527
11528
11529 class ImageMetadataFacade(Type):
11530 name = 'ImageMetadata'
11531 version = 2
11532 schema = {'definitions': {'CloudImageMetadata': {'additionalProperties': False,
11533 'properties': {'arch': {'type': 'string'},
11534 'image-id': {'type': 'string'},
11535 'priority': {'type': 'integer'},
11536 'region': {'type': 'string'},
11537 'root-storage-size': {'type': 'integer'},
11538 'root-storage-type': {'type': 'string'},
11539 'series': {'type': 'string'},
11540 'source': {'type': 'string'},
11541 'stream': {'type': 'string'},
11542 'version': {'type': 'string'},
11543 'virt-type': {'type': 'string'}},
11544 'required': ['image-id',
11545 'region',
11546 'version',
11547 'series',
11548 'arch',
11549 'source',
11550 'priority'],
11551 'type': 'object'},
11552 'CloudImageMetadataList': {'additionalProperties': False,
11553 'properties': {'metadata': {'items': {'$ref': '#/definitions/CloudImageMetadata'},
11554 'type': 'array'}},
11555 'type': 'object'},
11556 'Error': {'additionalProperties': False,
11557 'properties': {'code': {'type': 'string'},
11558 'info': {'$ref': '#/definitions/ErrorInfo'},
11559 'message': {'type': 'string'}},
11560 'required': ['message', 'code'],
11561 'type': 'object'},
11562 'ErrorInfo': {'additionalProperties': False,
11563 'properties': {'macaroon': {'$ref': '#/definitions/Macaroon'},
11564 'macaroon-path': {'type': 'string'}},
11565 'type': 'object'},
11566 'ErrorResult': {'additionalProperties': False,
11567 'properties': {'error': {'$ref': '#/definitions/Error'}},
11568 'type': 'object'},
11569 'ErrorResults': {'additionalProperties': False,
11570 'properties': {'results': {'items': {'$ref': '#/definitions/ErrorResult'},
11571 'type': 'array'}},
11572 'required': ['results'],
11573 'type': 'object'},
11574 'ImageMetadataFilter': {'additionalProperties': False,
11575 'properties': {'arches': {'items': {'type': 'string'},
11576 'type': 'array'},
11577 'region': {'type': 'string'},
11578 'root-storage-type': {'type': 'string'},
11579 'series': {'items': {'type': 'string'},
11580 'type': 'array'},
11581 'stream': {'type': 'string'},
11582 'virt-type': {'type': 'string'}},
11583 'type': 'object'},
11584 'ListCloudImageMetadataResult': {'additionalProperties': False,
11585 'properties': {'result': {'items': {'$ref': '#/definitions/CloudImageMetadata'},
11586 'type': 'array'}},
11587 'required': ['result'],
11588 'type': 'object'},
11589 'Macaroon': {'additionalProperties': False, 'type': 'object'},
11590 'MetadataImageIds': {'additionalProperties': False,
11591 'properties': {'image-ids': {'items': {'type': 'string'},
11592 'type': 'array'}},
11593 'required': ['image-ids'],
11594 'type': 'object'},
11595 'MetadataSaveParams': {'additionalProperties': False,
11596 'properties': {'metadata': {'items': {'$ref': '#/definitions/CloudImageMetadataList'},
11597 'type': 'array'}},
11598 'type': 'object'}},
11599 'properties': {'Delete': {'properties': {'Params': {'$ref': '#/definitions/MetadataImageIds'},
11600 'Result': {'$ref': '#/definitions/ErrorResults'}},
11601 'type': 'object'},
11602 'List': {'properties': {'Params': {'$ref': '#/definitions/ImageMetadataFilter'},
11603 'Result': {'$ref': '#/definitions/ListCloudImageMetadataResult'}},
11604 'type': 'object'},
11605 'Save': {'properties': {'Params': {'$ref': '#/definitions/MetadataSaveParams'},
11606 'Result': {'$ref': '#/definitions/ErrorResults'}},
11607 'type': 'object'},
11608 'UpdateFromPublishedImages': {'type': 'object'}},
11609 'type': 'object'}
11610
11611
11612 @ReturnMapping(ErrorResults)
11613 async def Delete(self, image_ids):
11614 '''
11615 image_ids : typing.Sequence<+T_co>[str]
11616 Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult>
11617 '''
11618 # map input types to rpc msg
11619 params = dict()
11620 msg = dict(type='ImageMetadata', request='Delete', version=2, params=params)
11621 params['image-ids'] = image_ids
11622 reply = await self.rpc(msg)
11623 return reply
11624
11625
11626
11627 @ReturnMapping(ListCloudImageMetadataResult)
11628 async def List(self, arches, region, root_storage_type, series, stream, virt_type):
11629 '''
11630 arches : typing.Sequence<+T_co>[str]
11631 region : str
11632 root_storage_type : str
11633 series : typing.Sequence<+T_co>[str]
11634 stream : str
11635 virt_type : str
11636 Returns -> typing.Sequence<+T_co>[~CloudImageMetadata]<~CloudImageMetadata>
11637 '''
11638 # map input types to rpc msg
11639 params = dict()
11640 msg = dict(type='ImageMetadata', request='List', version=2, params=params)
11641 params['arches'] = arches
11642 params['region'] = region
11643 params['root-storage-type'] = root_storage_type
11644 params['series'] = series
11645 params['stream'] = stream
11646 params['virt-type'] = virt_type
11647 reply = await self.rpc(msg)
11648 return reply
11649
11650
11651
11652 @ReturnMapping(ErrorResults)
11653 async def Save(self, metadata):
11654 '''
11655 metadata : typing.Sequence<+T_co>[~CloudImageMetadataList]<~CloudImageMetadataList>
11656 Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult>
11657 '''
11658 # map input types to rpc msg
11659 params = dict()
11660 msg = dict(type='ImageMetadata', request='Save', version=2, params=params)
11661 params['metadata'] = metadata
11662 reply = await self.rpc(msg)
11663 return reply
11664
11665
11666
11667 @ReturnMapping(None)
11668 async def UpdateFromPublishedImages(self):
11669 '''
11670
11671 Returns -> None
11672 '''
11673 # map input types to rpc msg
11674 params = dict()
11675 msg = dict(type='ImageMetadata', request='UpdateFromPublishedImages', version=2, params=params)
11676
11677 reply = await self.rpc(msg)
11678 return reply
11679
11680
11681 class InstancePollerFacade(Type):
11682 name = 'InstancePoller'
11683 version = 3
11684 schema = {'definitions': {'Address': {'additionalProperties': False,
11685 'properties': {'scope': {'type': 'string'},
11686 'space-name': {'type': 'string'},
11687 'type': {'type': 'string'},
11688 'value': {'type': 'string'}},
11689 'required': ['value', 'type', 'scope'],
11690 'type': 'object'},
11691 'BoolResult': {'additionalProperties': False,
11692 'properties': {'error': {'$ref': '#/definitions/Error'},
11693 'result': {'type': 'boolean'}},
11694 'required': ['result'],
11695 'type': 'object'},
11696 'BoolResults': {'additionalProperties': False,
11697 'properties': {'results': {'items': {'$ref': '#/definitions/BoolResult'},
11698 'type': 'array'}},
11699 'required': ['results'],
11700 'type': 'object'},
11701 'Entities': {'additionalProperties': False,
11702 'properties': {'entities': {'items': {'$ref': '#/definitions/Entity'},
11703 'type': 'array'}},
11704 'required': ['entities'],
11705 'type': 'object'},
11706 'Entity': {'additionalProperties': False,
11707 'properties': {'tag': {'type': 'string'}},
11708 'required': ['tag'],
11709 'type': 'object'},
11710 'EntityStatusArgs': {'additionalProperties': False,
11711 'properties': {'data': {'patternProperties': {'.*': {'additionalProperties': True,
11712 'type': 'object'}},
11713 'type': 'object'},
11714 'info': {'type': 'string'},
11715 'status': {'type': 'string'},
11716 'tag': {'type': 'string'}},
11717 'required': ['tag',
11718 'status',
11719 'info',
11720 'data'],
11721 'type': 'object'},
11722 'Error': {'additionalProperties': False,
11723 'properties': {'code': {'type': 'string'},
11724 'info': {'$ref': '#/definitions/ErrorInfo'},
11725 'message': {'type': 'string'}},
11726 'required': ['message', 'code'],
11727 'type': 'object'},
11728 'ErrorInfo': {'additionalProperties': False,
11729 'properties': {'macaroon': {'$ref': '#/definitions/Macaroon'},
11730 'macaroon-path': {'type': 'string'}},
11731 'type': 'object'},
11732 'ErrorResult': {'additionalProperties': False,
11733 'properties': {'error': {'$ref': '#/definitions/Error'}},
11734 'type': 'object'},
11735 'ErrorResults': {'additionalProperties': False,
11736 'properties': {'results': {'items': {'$ref': '#/definitions/ErrorResult'},
11737 'type': 'array'}},
11738 'required': ['results'],
11739 'type': 'object'},
11740 'LifeResult': {'additionalProperties': False,
11741 'properties': {'error': {'$ref': '#/definitions/Error'},
11742 'life': {'type': 'string'}},
11743 'required': ['life'],
11744 'type': 'object'},
11745 'LifeResults': {'additionalProperties': False,
11746 'properties': {'results': {'items': {'$ref': '#/definitions/LifeResult'},
11747 'type': 'array'}},
11748 'required': ['results'],
11749 'type': 'object'},
11750 'Macaroon': {'additionalProperties': False, 'type': 'object'},
11751 'MachineAddresses': {'additionalProperties': False,
11752 'properties': {'addresses': {'items': {'$ref': '#/definitions/Address'},
11753 'type': 'array'},
11754 'tag': {'type': 'string'}},
11755 'required': ['tag', 'addresses'],
11756 'type': 'object'},
11757 'MachineAddressesResult': {'additionalProperties': False,
11758 'properties': {'addresses': {'items': {'$ref': '#/definitions/Address'},
11759 'type': 'array'},
11760 'error': {'$ref': '#/definitions/Error'}},
11761 'required': ['addresses'],
11762 'type': 'object'},
11763 'MachineAddressesResults': {'additionalProperties': False,
11764 'properties': {'results': {'items': {'$ref': '#/definitions/MachineAddressesResult'},
11765 'type': 'array'}},
11766 'required': ['results'],
11767 'type': 'object'},
11768 'ModelConfigResult': {'additionalProperties': False,
11769 'properties': {'config': {'patternProperties': {'.*': {'additionalProperties': True,
11770 'type': 'object'}},
11771 'type': 'object'}},
11772 'required': ['config'],
11773 'type': 'object'},
11774 'NotifyWatchResult': {'additionalProperties': False,
11775 'properties': {'NotifyWatcherId': {'type': 'string'},
11776 'error': {'$ref': '#/definitions/Error'}},
11777 'required': ['NotifyWatcherId'],
11778 'type': 'object'},
11779 'SetMachinesAddresses': {'additionalProperties': False,
11780 'properties': {'machine-addresses': {'items': {'$ref': '#/definitions/MachineAddresses'},
11781 'type': 'array'}},
11782 'required': ['machine-addresses'],
11783 'type': 'object'},
11784 'SetStatus': {'additionalProperties': False,
11785 'properties': {'entities': {'items': {'$ref': '#/definitions/EntityStatusArgs'},
11786 'type': 'array'}},
11787 'required': ['entities'],
11788 'type': 'object'},
11789 'StatusResult': {'additionalProperties': False,
11790 'properties': {'data': {'patternProperties': {'.*': {'additionalProperties': True,
11791 'type': 'object'}},
11792 'type': 'object'},
11793 'error': {'$ref': '#/definitions/Error'},
11794 'id': {'type': 'string'},
11795 'info': {'type': 'string'},
11796 'life': {'type': 'string'},
11797 'since': {'format': 'date-time',
11798 'type': 'string'},
11799 'status': {'type': 'string'}},
11800 'required': ['id',
11801 'life',
11802 'status',
11803 'info',
11804 'data',
11805 'since'],
11806 'type': 'object'},
11807 'StatusResults': {'additionalProperties': False,
11808 'properties': {'results': {'items': {'$ref': '#/definitions/StatusResult'},
11809 'type': 'array'}},
11810 'required': ['results'],
11811 'type': 'object'},
11812 'StringResult': {'additionalProperties': False,
11813 'properties': {'error': {'$ref': '#/definitions/Error'},
11814 'result': {'type': 'string'}},
11815 'required': ['result'],
11816 'type': 'object'},
11817 'StringResults': {'additionalProperties': False,
11818 'properties': {'results': {'items': {'$ref': '#/definitions/StringResult'},
11819 'type': 'array'}},
11820 'required': ['results'],
11821 'type': 'object'},
11822 'StringsWatchResult': {'additionalProperties': False,
11823 'properties': {'changes': {'items': {'type': 'string'},
11824 'type': 'array'},
11825 'error': {'$ref': '#/definitions/Error'},
11826 'watcher-id': {'type': 'string'}},
11827 'required': ['watcher-id'],
11828 'type': 'object'}},
11829 'properties': {'AreManuallyProvisioned': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
11830 'Result': {'$ref': '#/definitions/BoolResults'}},
11831 'type': 'object'},
11832 'InstanceId': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
11833 'Result': {'$ref': '#/definitions/StringResults'}},
11834 'type': 'object'},
11835 'InstanceStatus': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
11836 'Result': {'$ref': '#/definitions/StatusResults'}},
11837 'type': 'object'},
11838 'Life': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
11839 'Result': {'$ref': '#/definitions/LifeResults'}},
11840 'type': 'object'},
11841 'ModelConfig': {'properties': {'Result': {'$ref': '#/definitions/ModelConfigResult'}},
11842 'type': 'object'},
11843 'ProviderAddresses': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
11844 'Result': {'$ref': '#/definitions/MachineAddressesResults'}},
11845 'type': 'object'},
11846 'SetInstanceStatus': {'properties': {'Params': {'$ref': '#/definitions/SetStatus'},
11847 'Result': {'$ref': '#/definitions/ErrorResults'}},
11848 'type': 'object'},
11849 'SetProviderAddresses': {'properties': {'Params': {'$ref': '#/definitions/SetMachinesAddresses'},
11850 'Result': {'$ref': '#/definitions/ErrorResults'}},
11851 'type': 'object'},
11852 'Status': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
11853 'Result': {'$ref': '#/definitions/StatusResults'}},
11854 'type': 'object'},
11855 'WatchForModelConfigChanges': {'properties': {'Result': {'$ref': '#/definitions/NotifyWatchResult'}},
11856 'type': 'object'},
11857 'WatchModelMachines': {'properties': {'Result': {'$ref': '#/definitions/StringsWatchResult'}},
11858 'type': 'object'}},
11859 'type': 'object'}
11860
11861
11862 @ReturnMapping(BoolResults)
11863 async def AreManuallyProvisioned(self, entities):
11864 '''
11865 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
11866 Returns -> typing.Sequence<+T_co>[~BoolResult]<~BoolResult>
11867 '''
11868 # map input types to rpc msg
11869 params = dict()
11870 msg = dict(type='InstancePoller', request='AreManuallyProvisioned', version=3, params=params)
11871 params['entities'] = entities
11872 reply = await self.rpc(msg)
11873 return reply
11874
11875
11876
11877 @ReturnMapping(StringResults)
11878 async def InstanceId(self, entities):
11879 '''
11880 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
11881 Returns -> typing.Sequence<+T_co>[~StringResult]<~StringResult>
11882 '''
11883 # map input types to rpc msg
11884 params = dict()
11885 msg = dict(type='InstancePoller', request='InstanceId', version=3, params=params)
11886 params['entities'] = entities
11887 reply = await self.rpc(msg)
11888 return reply
11889
11890
11891
11892 @ReturnMapping(StatusResults)
11893 async def InstanceStatus(self, entities):
11894 '''
11895 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
11896 Returns -> typing.Sequence<+T_co>[~StatusResult]<~StatusResult>
11897 '''
11898 # map input types to rpc msg
11899 params = dict()
11900 msg = dict(type='InstancePoller', request='InstanceStatus', version=3, params=params)
11901 params['entities'] = entities
11902 reply = await self.rpc(msg)
11903 return reply
11904
11905
11906
11907 @ReturnMapping(LifeResults)
11908 async def Life(self, entities):
11909 '''
11910 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
11911 Returns -> typing.Sequence<+T_co>[~LifeResult]<~LifeResult>
11912 '''
11913 # map input types to rpc msg
11914 params = dict()
11915 msg = dict(type='InstancePoller', request='Life', version=3, params=params)
11916 params['entities'] = entities
11917 reply = await self.rpc(msg)
11918 return reply
11919
11920
11921
11922 @ReturnMapping(ModelConfigResult)
11923 async def ModelConfig(self):
11924 '''
11925
11926 Returns -> typing.Mapping<~KT, +VT_co>[str, typing.Any]
11927 '''
11928 # map input types to rpc msg
11929 params = dict()
11930 msg = dict(type='InstancePoller', request='ModelConfig', version=3, params=params)
11931
11932 reply = await self.rpc(msg)
11933 return reply
11934
11935
11936
11937 @ReturnMapping(MachineAddressesResults)
11938 async def ProviderAddresses(self, entities):
11939 '''
11940 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
11941 Returns -> typing.Sequence<+T_co>[~MachineAddressesResult]<~MachineAddressesResult>
11942 '''
11943 # map input types to rpc msg
11944 params = dict()
11945 msg = dict(type='InstancePoller', request='ProviderAddresses', version=3, params=params)
11946 params['entities'] = entities
11947 reply = await self.rpc(msg)
11948 return reply
11949
11950
11951
11952 @ReturnMapping(ErrorResults)
11953 async def SetInstanceStatus(self, entities):
11954 '''
11955 entities : typing.Sequence<+T_co>[~EntityStatusArgs]<~EntityStatusArgs>
11956 Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult>
11957 '''
11958 # map input types to rpc msg
11959 params = dict()
11960 msg = dict(type='InstancePoller', request='SetInstanceStatus', version=3, params=params)
11961 params['entities'] = entities
11962 reply = await self.rpc(msg)
11963 return reply
11964
11965
11966
11967 @ReturnMapping(ErrorResults)
11968 async def SetProviderAddresses(self, machine_addresses):
11969 '''
11970 machine_addresses : typing.Sequence<+T_co>[~MachineAddresses]<~MachineAddresses>
11971 Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult>
11972 '''
11973 # map input types to rpc msg
11974 params = dict()
11975 msg = dict(type='InstancePoller', request='SetProviderAddresses', version=3, params=params)
11976 params['machine-addresses'] = machine_addresses
11977 reply = await self.rpc(msg)
11978 return reply
11979
11980
11981
11982 @ReturnMapping(StatusResults)
11983 async def Status(self, entities):
11984 '''
11985 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
11986 Returns -> typing.Sequence<+T_co>[~StatusResult]<~StatusResult>
11987 '''
11988 # map input types to rpc msg
11989 params = dict()
11990 msg = dict(type='InstancePoller', request='Status', version=3, params=params)
11991 params['entities'] = entities
11992 reply = await self.rpc(msg)
11993 return reply
11994
11995
11996
11997 @ReturnMapping(NotifyWatchResult)
11998 async def WatchForModelConfigChanges(self):
11999 '''
12000
12001 Returns -> typing.Union[str, _ForwardRef('Error')]
12002 '''
12003 # map input types to rpc msg
12004 params = dict()
12005 msg = dict(type='InstancePoller', request='WatchForModelConfigChanges', version=3, params=params)
12006
12007 reply = await self.rpc(msg)
12008 return reply
12009
12010
12011
12012 @ReturnMapping(StringsWatchResult)
12013 async def WatchModelMachines(self):
12014 '''
12015
12016 Returns -> typing.Union[typing.Sequence<+T_co>[str], _ForwardRef('Error')]
12017 '''
12018 # map input types to rpc msg
12019 params = dict()
12020 msg = dict(type='InstancePoller', request='WatchModelMachines', version=3, params=params)
12021
12022 reply = await self.rpc(msg)
12023 return reply
12024
12025
12026 class KeyManagerFacade(Type):
12027 name = 'KeyManager'
12028 version = 1
12029 schema = {'definitions': {'Entities': {'additionalProperties': False,
12030 'properties': {'entities': {'items': {'$ref': '#/definitions/Entity'},
12031 'type': 'array'}},
12032 'required': ['entities'],
12033 'type': 'object'},
12034 'Entity': {'additionalProperties': False,
12035 'properties': {'tag': {'type': 'string'}},
12036 'required': ['tag'],
12037 'type': 'object'},
12038 'Error': {'additionalProperties': False,
12039 'properties': {'code': {'type': 'string'},
12040 'info': {'$ref': '#/definitions/ErrorInfo'},
12041 'message': {'type': 'string'}},
12042 'required': ['message', 'code'],
12043 'type': 'object'},
12044 'ErrorInfo': {'additionalProperties': False,
12045 'properties': {'macaroon': {'$ref': '#/definitions/Macaroon'},
12046 'macaroon-path': {'type': 'string'}},
12047 'type': 'object'},
12048 'ErrorResult': {'additionalProperties': False,
12049 'properties': {'error': {'$ref': '#/definitions/Error'}},
12050 'type': 'object'},
12051 'ErrorResults': {'additionalProperties': False,
12052 'properties': {'results': {'items': {'$ref': '#/definitions/ErrorResult'},
12053 'type': 'array'}},
12054 'required': ['results'],
12055 'type': 'object'},
12056 'ListSSHKeys': {'additionalProperties': False,
12057 'properties': {'entities': {'$ref': '#/definitions/Entities'},
12058 'mode': {'type': 'boolean'}},
12059 'required': ['entities', 'mode'],
12060 'type': 'object'},
12061 'Macaroon': {'additionalProperties': False, 'type': 'object'},
12062 'ModifyUserSSHKeys': {'additionalProperties': False,
12063 'properties': {'ssh-keys': {'items': {'type': 'string'},
12064 'type': 'array'},
12065 'user': {'type': 'string'}},
12066 'required': ['user', 'ssh-keys'],
12067 'type': 'object'},
12068 'StringsResult': {'additionalProperties': False,
12069 'properties': {'error': {'$ref': '#/definitions/Error'},
12070 'result': {'items': {'type': 'string'},
12071 'type': 'array'}},
12072 'type': 'object'},
12073 'StringsResults': {'additionalProperties': False,
12074 'properties': {'results': {'items': {'$ref': '#/definitions/StringsResult'},
12075 'type': 'array'}},
12076 'required': ['results'],
12077 'type': 'object'}},
12078 'properties': {'AddKeys': {'properties': {'Params': {'$ref': '#/definitions/ModifyUserSSHKeys'},
12079 'Result': {'$ref': '#/definitions/ErrorResults'}},
12080 'type': 'object'},
12081 'DeleteKeys': {'properties': {'Params': {'$ref': '#/definitions/ModifyUserSSHKeys'},
12082 'Result': {'$ref': '#/definitions/ErrorResults'}},
12083 'type': 'object'},
12084 'ImportKeys': {'properties': {'Params': {'$ref': '#/definitions/ModifyUserSSHKeys'},
12085 'Result': {'$ref': '#/definitions/ErrorResults'}},
12086 'type': 'object'},
12087 'ListKeys': {'properties': {'Params': {'$ref': '#/definitions/ListSSHKeys'},
12088 'Result': {'$ref': '#/definitions/StringsResults'}},
12089 'type': 'object'}},
12090 'type': 'object'}
12091
12092
12093 @ReturnMapping(ErrorResults)
12094 async def AddKeys(self, ssh_keys, user):
12095 '''
12096 ssh_keys : typing.Sequence<+T_co>[str]
12097 user : str
12098 Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult>
12099 '''
12100 # map input types to rpc msg
12101 params = dict()
12102 msg = dict(type='KeyManager', request='AddKeys', version=1, params=params)
12103 params['ssh-keys'] = ssh_keys
12104 params['user'] = user
12105 reply = await self.rpc(msg)
12106 return reply
12107
12108
12109
12110 @ReturnMapping(ErrorResults)
12111 async def DeleteKeys(self, ssh_keys, user):
12112 '''
12113 ssh_keys : typing.Sequence<+T_co>[str]
12114 user : str
12115 Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult>
12116 '''
12117 # map input types to rpc msg
12118 params = dict()
12119 msg = dict(type='KeyManager', request='DeleteKeys', version=1, params=params)
12120 params['ssh-keys'] = ssh_keys
12121 params['user'] = user
12122 reply = await self.rpc(msg)
12123 return reply
12124
12125
12126
12127 @ReturnMapping(ErrorResults)
12128 async def ImportKeys(self, ssh_keys, user):
12129 '''
12130 ssh_keys : typing.Sequence<+T_co>[str]
12131 user : str
12132 Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult>
12133 '''
12134 # map input types to rpc msg
12135 params = dict()
12136 msg = dict(type='KeyManager', request='ImportKeys', version=1, params=params)
12137 params['ssh-keys'] = ssh_keys
12138 params['user'] = user
12139 reply = await self.rpc(msg)
12140 return reply
12141
12142
12143
12144 @ReturnMapping(StringsResults)
12145 async def ListKeys(self, entities, mode):
12146 '''
12147 entities : Entities
12148 mode : bool
12149 Returns -> typing.Sequence<+T_co>[~StringsResult]<~StringsResult>
12150 '''
12151 # map input types to rpc msg
12152 params = dict()
12153 msg = dict(type='KeyManager', request='ListKeys', version=1, params=params)
12154 params['entities'] = entities
12155 params['mode'] = mode
12156 reply = await self.rpc(msg)
12157 return reply
12158
12159
12160 class KeyUpdaterFacade(Type):
12161 name = 'KeyUpdater'
12162 version = 1
12163 schema = {'definitions': {'Entities': {'additionalProperties': False,
12164 'properties': {'entities': {'items': {'$ref': '#/definitions/Entity'},
12165 'type': 'array'}},
12166 'required': ['entities'],
12167 'type': 'object'},
12168 'Entity': {'additionalProperties': False,
12169 'properties': {'tag': {'type': 'string'}},
12170 'required': ['tag'],
12171 'type': 'object'},
12172 'Error': {'additionalProperties': False,
12173 'properties': {'code': {'type': 'string'},
12174 'info': {'$ref': '#/definitions/ErrorInfo'},
12175 'message': {'type': 'string'}},
12176 'required': ['message', 'code'],
12177 'type': 'object'},
12178 'ErrorInfo': {'additionalProperties': False,
12179 'properties': {'macaroon': {'$ref': '#/definitions/Macaroon'},
12180 'macaroon-path': {'type': 'string'}},
12181 'type': 'object'},
12182 'Macaroon': {'additionalProperties': False, 'type': 'object'},
12183 'NotifyWatchResult': {'additionalProperties': False,
12184 'properties': {'NotifyWatcherId': {'type': 'string'},
12185 'error': {'$ref': '#/definitions/Error'}},
12186 'required': ['NotifyWatcherId'],
12187 'type': 'object'},
12188 'NotifyWatchResults': {'additionalProperties': False,
12189 'properties': {'results': {'items': {'$ref': '#/definitions/NotifyWatchResult'},
12190 'type': 'array'}},
12191 'required': ['results'],
12192 'type': 'object'},
12193 'StringsResult': {'additionalProperties': False,
12194 'properties': {'error': {'$ref': '#/definitions/Error'},
12195 'result': {'items': {'type': 'string'},
12196 'type': 'array'}},
12197 'type': 'object'},
12198 'StringsResults': {'additionalProperties': False,
12199 'properties': {'results': {'items': {'$ref': '#/definitions/StringsResult'},
12200 'type': 'array'}},
12201 'required': ['results'],
12202 'type': 'object'}},
12203 'properties': {'AuthorisedKeys': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
12204 'Result': {'$ref': '#/definitions/StringsResults'}},
12205 'type': 'object'},
12206 'WatchAuthorisedKeys': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
12207 'Result': {'$ref': '#/definitions/NotifyWatchResults'}},
12208 'type': 'object'}},
12209 'type': 'object'}
12210
12211
12212 @ReturnMapping(StringsResults)
12213 async def AuthorisedKeys(self, entities):
12214 '''
12215 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
12216 Returns -> typing.Sequence<+T_co>[~StringsResult]<~StringsResult>
12217 '''
12218 # map input types to rpc msg
12219 params = dict()
12220 msg = dict(type='KeyUpdater', request='AuthorisedKeys', version=1, params=params)
12221 params['entities'] = entities
12222 reply = await self.rpc(msg)
12223 return reply
12224
12225
12226
12227 @ReturnMapping(NotifyWatchResults)
12228 async def WatchAuthorisedKeys(self, entities):
12229 '''
12230 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
12231 Returns -> typing.Sequence<+T_co>[~NotifyWatchResult]<~NotifyWatchResult>
12232 '''
12233 # map input types to rpc msg
12234 params = dict()
12235 msg = dict(type='KeyUpdater', request='WatchAuthorisedKeys', version=1, params=params)
12236 params['entities'] = entities
12237 reply = await self.rpc(msg)
12238 return reply
12239
12240
12241 class LeadershipServiceFacade(Type):
12242 name = 'LeadershipService'
12243 version = 2
12244 schema = {'definitions': {'ApplicationTag': {'additionalProperties': False,
12245 'properties': {'Name': {'type': 'string'}},
12246 'required': ['Name'],
12247 'type': 'object'},
12248 'ClaimLeadershipBulkParams': {'additionalProperties': False,
12249 'properties': {'params': {'items': {'$ref': '#/definitions/ClaimLeadershipParams'},
12250 'type': 'array'}},
12251 'required': ['params'],
12252 'type': 'object'},
12253 'ClaimLeadershipBulkResults': {'additionalProperties': False,
12254 'properties': {'results': {'items': {'$ref': '#/definitions/ErrorResult'},
12255 'type': 'array'}},
12256 'required': ['results'],
12257 'type': 'object'},
12258 'ClaimLeadershipParams': {'additionalProperties': False,
12259 'properties': {'application-tag': {'type': 'string'},
12260 'duration': {'type': 'number'},
12261 'unit-tag': {'type': 'string'}},
12262 'required': ['application-tag',
12263 'unit-tag',
12264 'duration'],
12265 'type': 'object'},
12266 'Error': {'additionalProperties': False,
12267 'properties': {'code': {'type': 'string'},
12268 'info': {'$ref': '#/definitions/ErrorInfo'},
12269 'message': {'type': 'string'}},
12270 'required': ['message', 'code'],
12271 'type': 'object'},
12272 'ErrorInfo': {'additionalProperties': False,
12273 'properties': {'macaroon': {'$ref': '#/definitions/Macaroon'},
12274 'macaroon-path': {'type': 'string'}},
12275 'type': 'object'},
12276 'ErrorResult': {'additionalProperties': False,
12277 'properties': {'error': {'$ref': '#/definitions/Error'}},
12278 'type': 'object'},
12279 'Macaroon': {'additionalProperties': False, 'type': 'object'}},
12280 'properties': {'BlockUntilLeadershipReleased': {'properties': {'Params': {'$ref': '#/definitions/ApplicationTag'},
12281 'Result': {'$ref': '#/definitions/ErrorResult'}},
12282 'type': 'object'},
12283 'ClaimLeadership': {'properties': {'Params': {'$ref': '#/definitions/ClaimLeadershipBulkParams'},
12284 'Result': {'$ref': '#/definitions/ClaimLeadershipBulkResults'}},
12285 'type': 'object'}},
12286 'type': 'object'}
12287
12288
12289 @ReturnMapping(ErrorResult)
12290 async def BlockUntilLeadershipReleased(self, name):
12291 '''
12292 name : str
12293 Returns -> Error
12294 '''
12295 # map input types to rpc msg
12296 params = dict()
12297 msg = dict(type='LeadershipService', request='BlockUntilLeadershipReleased', version=2, params=params)
12298 params['Name'] = name
12299 reply = await self.rpc(msg)
12300 return reply
12301
12302
12303
12304 @ReturnMapping(ClaimLeadershipBulkResults)
12305 async def ClaimLeadership(self, params):
12306 '''
12307 params : typing.Sequence<+T_co>[~ClaimLeadershipParams]<~ClaimLeadershipParams>
12308 Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult>
12309 '''
12310 # map input types to rpc msg
12311 params = dict()
12312 msg = dict(type='LeadershipService', request='ClaimLeadership', version=2, params=params)
12313 params['params'] = params
12314 reply = await self.rpc(msg)
12315 return reply
12316
12317
12318 class LifeFlagFacade(Type):
12319 name = 'LifeFlag'
12320 version = 1
12321 schema = {'definitions': {'Entities': {'additionalProperties': False,
12322 'properties': {'entities': {'items': {'$ref': '#/definitions/Entity'},
12323 'type': 'array'}},
12324 'required': ['entities'],
12325 'type': 'object'},
12326 'Entity': {'additionalProperties': False,
12327 'properties': {'tag': {'type': 'string'}},
12328 'required': ['tag'],
12329 'type': 'object'},
12330 'Error': {'additionalProperties': False,
12331 'properties': {'code': {'type': 'string'},
12332 'info': {'$ref': '#/definitions/ErrorInfo'},
12333 'message': {'type': 'string'}},
12334 'required': ['message', 'code'],
12335 'type': 'object'},
12336 'ErrorInfo': {'additionalProperties': False,
12337 'properties': {'macaroon': {'$ref': '#/definitions/Macaroon'},
12338 'macaroon-path': {'type': 'string'}},
12339 'type': 'object'},
12340 'LifeResult': {'additionalProperties': False,
12341 'properties': {'error': {'$ref': '#/definitions/Error'},
12342 'life': {'type': 'string'}},
12343 'required': ['life'],
12344 'type': 'object'},
12345 'LifeResults': {'additionalProperties': False,
12346 'properties': {'results': {'items': {'$ref': '#/definitions/LifeResult'},
12347 'type': 'array'}},
12348 'required': ['results'],
12349 'type': 'object'},
12350 'Macaroon': {'additionalProperties': False, 'type': 'object'},
12351 'NotifyWatchResult': {'additionalProperties': False,
12352 'properties': {'NotifyWatcherId': {'type': 'string'},
12353 'error': {'$ref': '#/definitions/Error'}},
12354 'required': ['NotifyWatcherId'],
12355 'type': 'object'},
12356 'NotifyWatchResults': {'additionalProperties': False,
12357 'properties': {'results': {'items': {'$ref': '#/definitions/NotifyWatchResult'},
12358 'type': 'array'}},
12359 'required': ['results'],
12360 'type': 'object'}},
12361 'properties': {'Life': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
12362 'Result': {'$ref': '#/definitions/LifeResults'}},
12363 'type': 'object'},
12364 'Watch': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
12365 'Result': {'$ref': '#/definitions/NotifyWatchResults'}},
12366 'type': 'object'}},
12367 'type': 'object'}
12368
12369
12370 @ReturnMapping(LifeResults)
12371 async def Life(self, entities):
12372 '''
12373 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
12374 Returns -> typing.Sequence<+T_co>[~LifeResult]<~LifeResult>
12375 '''
12376 # map input types to rpc msg
12377 params = dict()
12378 msg = dict(type='LifeFlag', request='Life', version=1, params=params)
12379 params['entities'] = entities
12380 reply = await self.rpc(msg)
12381 return reply
12382
12383
12384
12385 @ReturnMapping(NotifyWatchResults)
12386 async def Watch(self, entities):
12387 '''
12388 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
12389 Returns -> typing.Sequence<+T_co>[~NotifyWatchResult]<~NotifyWatchResult>
12390 '''
12391 # map input types to rpc msg
12392 params = dict()
12393 msg = dict(type='LifeFlag', request='Watch', version=1, params=params)
12394 params['entities'] = entities
12395 reply = await self.rpc(msg)
12396 return reply
12397
12398
12399 class LogForwardingFacade(Type):
12400 name = 'LogForwarding'
12401 version = 1
12402 schema = {'definitions': {'Error': {'additionalProperties': False,
12403 'properties': {'code': {'type': 'string'},
12404 'info': {'$ref': '#/definitions/ErrorInfo'},
12405 'message': {'type': 'string'}},
12406 'required': ['message', 'code'],
12407 'type': 'object'},
12408 'ErrorInfo': {'additionalProperties': False,
12409 'properties': {'macaroon': {'$ref': '#/definitions/Macaroon'},
12410 'macaroon-path': {'type': 'string'}},
12411 'type': 'object'},
12412 'ErrorResult': {'additionalProperties': False,
12413 'properties': {'error': {'$ref': '#/definitions/Error'}},
12414 'type': 'object'},
12415 'ErrorResults': {'additionalProperties': False,
12416 'properties': {'results': {'items': {'$ref': '#/definitions/ErrorResult'},
12417 'type': 'array'}},
12418 'required': ['results'],
12419 'type': 'object'},
12420 'LogForwardingGetLastSentParams': {'additionalProperties': False,
12421 'properties': {'ids': {'items': {'$ref': '#/definitions/LogForwardingID'},
12422 'type': 'array'}},
12423 'required': ['ids'],
12424 'type': 'object'},
12425 'LogForwardingGetLastSentResult': {'additionalProperties': False,
12426 'properties': {'err': {'$ref': '#/definitions/Error'},
12427 'record-id': {'type': 'integer'},
12428 'record-timestamp': {'type': 'integer'}},
12429 'required': ['record-id',
12430 'record-timestamp',
12431 'err'],
12432 'type': 'object'},
12433 'LogForwardingGetLastSentResults': {'additionalProperties': False,
12434 'properties': {'results': {'items': {'$ref': '#/definitions/LogForwardingGetLastSentResult'},
12435 'type': 'array'}},
12436 'required': ['results'],
12437 'type': 'object'},
12438 'LogForwardingID': {'additionalProperties': False,
12439 'properties': {'model': {'type': 'string'},
12440 'sink': {'type': 'string'}},
12441 'required': ['model', 'sink'],
12442 'type': 'object'},
12443 'LogForwardingSetLastSentParam': {'additionalProperties': False,
12444 'properties': {'LogForwardingID': {'$ref': '#/definitions/LogForwardingID'},
12445 'record-id': {'type': 'integer'},
12446 'record-timestamp': {'type': 'integer'}},
12447 'required': ['LogForwardingID',
12448 'record-id',
12449 'record-timestamp'],
12450 'type': 'object'},
12451 'LogForwardingSetLastSentParams': {'additionalProperties': False,
12452 'properties': {'params': {'items': {'$ref': '#/definitions/LogForwardingSetLastSentParam'},
12453 'type': 'array'}},
12454 'required': ['params'],
12455 'type': 'object'},
12456 'Macaroon': {'additionalProperties': False, 'type': 'object'}},
12457 'properties': {'GetLastSent': {'properties': {'Params': {'$ref': '#/definitions/LogForwardingGetLastSentParams'},
12458 'Result': {'$ref': '#/definitions/LogForwardingGetLastSentResults'}},
12459 'type': 'object'},
12460 'SetLastSent': {'properties': {'Params': {'$ref': '#/definitions/LogForwardingSetLastSentParams'},
12461 'Result': {'$ref': '#/definitions/ErrorResults'}},
12462 'type': 'object'}},
12463 'type': 'object'}
12464
12465
12466 @ReturnMapping(LogForwardingGetLastSentResults)
12467 async def GetLastSent(self, ids):
12468 '''
12469 ids : typing.Sequence<+T_co>[~LogForwardingID]<~LogForwardingID>
12470 Returns -> typing.Sequence<+T_co>[~LogForwardingGetLastSentResult]<~LogForwardingGetLastSentResult>
12471 '''
12472 # map input types to rpc msg
12473 params = dict()
12474 msg = dict(type='LogForwarding', request='GetLastSent', version=1, params=params)
12475 params['ids'] = ids
12476 reply = await self.rpc(msg)
12477 return reply
12478
12479
12480
12481 @ReturnMapping(ErrorResults)
12482 async def SetLastSent(self, params):
12483 '''
12484 params : typing.Sequence<+T_co>[~LogForwardingSetLastSentParam]<~LogForwardingSetLastSentParam>
12485 Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult>
12486 '''
12487 # map input types to rpc msg
12488 params = dict()
12489 msg = dict(type='LogForwarding', request='SetLastSent', version=1, params=params)
12490 params['params'] = params
12491 reply = await self.rpc(msg)
12492 return reply
12493
12494
12495 class LoggerFacade(Type):
12496 name = 'Logger'
12497 version = 1
12498 schema = {'definitions': {'Entities': {'additionalProperties': False,
12499 'properties': {'entities': {'items': {'$ref': '#/definitions/Entity'},
12500 'type': 'array'}},
12501 'required': ['entities'],
12502 'type': 'object'},
12503 'Entity': {'additionalProperties': False,
12504 'properties': {'tag': {'type': 'string'}},
12505 'required': ['tag'],
12506 'type': 'object'},
12507 'Error': {'additionalProperties': False,
12508 'properties': {'code': {'type': 'string'},
12509 'info': {'$ref': '#/definitions/ErrorInfo'},
12510 'message': {'type': 'string'}},
12511 'required': ['message', 'code'],
12512 'type': 'object'},
12513 'ErrorInfo': {'additionalProperties': False,
12514 'properties': {'macaroon': {'$ref': '#/definitions/Macaroon'},
12515 'macaroon-path': {'type': 'string'}},
12516 'type': 'object'},
12517 'Macaroon': {'additionalProperties': False, 'type': 'object'},
12518 'NotifyWatchResult': {'additionalProperties': False,
12519 'properties': {'NotifyWatcherId': {'type': 'string'},
12520 'error': {'$ref': '#/definitions/Error'}},
12521 'required': ['NotifyWatcherId'],
12522 'type': 'object'},
12523 'NotifyWatchResults': {'additionalProperties': False,
12524 'properties': {'results': {'items': {'$ref': '#/definitions/NotifyWatchResult'},
12525 'type': 'array'}},
12526 'required': ['results'],
12527 'type': 'object'},
12528 'StringResult': {'additionalProperties': False,
12529 'properties': {'error': {'$ref': '#/definitions/Error'},
12530 'result': {'type': 'string'}},
12531 'required': ['result'],
12532 'type': 'object'},
12533 'StringResults': {'additionalProperties': False,
12534 'properties': {'results': {'items': {'$ref': '#/definitions/StringResult'},
12535 'type': 'array'}},
12536 'required': ['results'],
12537 'type': 'object'}},
12538 'properties': {'LoggingConfig': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
12539 'Result': {'$ref': '#/definitions/StringResults'}},
12540 'type': 'object'},
12541 'WatchLoggingConfig': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
12542 'Result': {'$ref': '#/definitions/NotifyWatchResults'}},
12543 'type': 'object'}},
12544 'type': 'object'}
12545
12546
12547 @ReturnMapping(StringResults)
12548 async def LoggingConfig(self, entities):
12549 '''
12550 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
12551 Returns -> typing.Sequence<+T_co>[~StringResult]<~StringResult>
12552 '''
12553 # map input types to rpc msg
12554 params = dict()
12555 msg = dict(type='Logger', request='LoggingConfig', version=1, params=params)
12556 params['entities'] = entities
12557 reply = await self.rpc(msg)
12558 return reply
12559
12560
12561
12562 @ReturnMapping(NotifyWatchResults)
12563 async def WatchLoggingConfig(self, entities):
12564 '''
12565 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
12566 Returns -> typing.Sequence<+T_co>[~NotifyWatchResult]<~NotifyWatchResult>
12567 '''
12568 # map input types to rpc msg
12569 params = dict()
12570 msg = dict(type='Logger', request='WatchLoggingConfig', version=1, params=params)
12571 params['entities'] = entities
12572 reply = await self.rpc(msg)
12573 return reply
12574
12575
12576 class MachineActionsFacade(Type):
12577 name = 'MachineActions'
12578 version = 1
12579 schema = {'definitions': {'Action': {'additionalProperties': False,
12580 'properties': {'name': {'type': 'string'},
12581 'parameters': {'patternProperties': {'.*': {'additionalProperties': True,
12582 'type': 'object'}},
12583 'type': 'object'},
12584 'receiver': {'type': 'string'},
12585 'tag': {'type': 'string'}},
12586 'required': ['tag', 'receiver', 'name'],
12587 'type': 'object'},
12588 'ActionExecutionResult': {'additionalProperties': False,
12589 'properties': {'action-tag': {'type': 'string'},
12590 'message': {'type': 'string'},
12591 'results': {'patternProperties': {'.*': {'additionalProperties': True,
12592 'type': 'object'}},
12593 'type': 'object'},
12594 'status': {'type': 'string'}},
12595 'required': ['action-tag', 'status'],
12596 'type': 'object'},
12597 'ActionExecutionResults': {'additionalProperties': False,
12598 'properties': {'results': {'items': {'$ref': '#/definitions/ActionExecutionResult'},
12599 'type': 'array'}},
12600 'type': 'object'},
12601 'ActionResult': {'additionalProperties': False,
12602 'properties': {'action': {'$ref': '#/definitions/Action'},
12603 'completed': {'format': 'date-time',
12604 'type': 'string'},
12605 'enqueued': {'format': 'date-time',
12606 'type': 'string'},
12607 'error': {'$ref': '#/definitions/Error'},
12608 'message': {'type': 'string'},
12609 'output': {'patternProperties': {'.*': {'additionalProperties': True,
12610 'type': 'object'}},
12611 'type': 'object'},
12612 'started': {'format': 'date-time',
12613 'type': 'string'},
12614 'status': {'type': 'string'}},
12615 'type': 'object'},
12616 'ActionResults': {'additionalProperties': False,
12617 'properties': {'results': {'items': {'$ref': '#/definitions/ActionResult'},
12618 'type': 'array'}},
12619 'type': 'object'},
12620 'ActionsByReceiver': {'additionalProperties': False,
12621 'properties': {'actions': {'items': {'$ref': '#/definitions/ActionResult'},
12622 'type': 'array'},
12623 'error': {'$ref': '#/definitions/Error'},
12624 'receiver': {'type': 'string'}},
12625 'type': 'object'},
12626 'ActionsByReceivers': {'additionalProperties': False,
12627 'properties': {'actions': {'items': {'$ref': '#/definitions/ActionsByReceiver'},
12628 'type': 'array'}},
12629 'type': 'object'},
12630 'Entities': {'additionalProperties': False,
12631 'properties': {'entities': {'items': {'$ref': '#/definitions/Entity'},
12632 'type': 'array'}},
12633 'required': ['entities'],
12634 'type': 'object'},
12635 'Entity': {'additionalProperties': False,
12636 'properties': {'tag': {'type': 'string'}},
12637 'required': ['tag'],
12638 'type': 'object'},
12639 'Error': {'additionalProperties': False,
12640 'properties': {'code': {'type': 'string'},
12641 'info': {'$ref': '#/definitions/ErrorInfo'},
12642 'message': {'type': 'string'}},
12643 'required': ['message', 'code'],
12644 'type': 'object'},
12645 'ErrorInfo': {'additionalProperties': False,
12646 'properties': {'macaroon': {'$ref': '#/definitions/Macaroon'},
12647 'macaroon-path': {'type': 'string'}},
12648 'type': 'object'},
12649 'ErrorResult': {'additionalProperties': False,
12650 'properties': {'error': {'$ref': '#/definitions/Error'}},
12651 'type': 'object'},
12652 'ErrorResults': {'additionalProperties': False,
12653 'properties': {'results': {'items': {'$ref': '#/definitions/ErrorResult'},
12654 'type': 'array'}},
12655 'required': ['results'],
12656 'type': 'object'},
12657 'Macaroon': {'additionalProperties': False, 'type': 'object'},
12658 'StringsWatchResult': {'additionalProperties': False,
12659 'properties': {'changes': {'items': {'type': 'string'},
12660 'type': 'array'},
12661 'error': {'$ref': '#/definitions/Error'},
12662 'watcher-id': {'type': 'string'}},
12663 'required': ['watcher-id'],
12664 'type': 'object'},
12665 'StringsWatchResults': {'additionalProperties': False,
12666 'properties': {'results': {'items': {'$ref': '#/definitions/StringsWatchResult'},
12667 'type': 'array'}},
12668 'required': ['results'],
12669 'type': 'object'}},
12670 'properties': {'Actions': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
12671 'Result': {'$ref': '#/definitions/ActionResults'}},
12672 'type': 'object'},
12673 'BeginActions': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
12674 'Result': {'$ref': '#/definitions/ErrorResults'}},
12675 'type': 'object'},
12676 'FinishActions': {'properties': {'Params': {'$ref': '#/definitions/ActionExecutionResults'},
12677 'Result': {'$ref': '#/definitions/ErrorResults'}},
12678 'type': 'object'},
12679 'RunningActions': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
12680 'Result': {'$ref': '#/definitions/ActionsByReceivers'}},
12681 'type': 'object'},
12682 'WatchActionNotifications': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
12683 'Result': {'$ref': '#/definitions/StringsWatchResults'}},
12684 'type': 'object'}},
12685 'type': 'object'}
12686
12687
12688 @ReturnMapping(ActionResults)
12689 async def Actions(self, entities):
12690 '''
12691 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
12692 Returns -> typing.Sequence<+T_co>[~ActionResult]<~ActionResult>
12693 '''
12694 # map input types to rpc msg
12695 params = dict()
12696 msg = dict(type='MachineActions', request='Actions', version=1, params=params)
12697 params['entities'] = entities
12698 reply = await self.rpc(msg)
12699 return reply
12700
12701
12702
12703 @ReturnMapping(ErrorResults)
12704 async def BeginActions(self, entities):
12705 '''
12706 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
12707 Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult>
12708 '''
12709 # map input types to rpc msg
12710 params = dict()
12711 msg = dict(type='MachineActions', request='BeginActions', version=1, params=params)
12712 params['entities'] = entities
12713 reply = await self.rpc(msg)
12714 return reply
12715
12716
12717
12718 @ReturnMapping(ErrorResults)
12719 async def FinishActions(self, results):
12720 '''
12721 results : typing.Sequence<+T_co>[~ActionExecutionResult]<~ActionExecutionResult>
12722 Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult>
12723 '''
12724 # map input types to rpc msg
12725 params = dict()
12726 msg = dict(type='MachineActions', request='FinishActions', version=1, params=params)
12727 params['results'] = results
12728 reply = await self.rpc(msg)
12729 return reply
12730
12731
12732
12733 @ReturnMapping(ActionsByReceivers)
12734 async def RunningActions(self, entities):
12735 '''
12736 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
12737 Returns -> typing.Sequence<+T_co>[~ActionsByReceiver]<~ActionsByReceiver>
12738 '''
12739 # map input types to rpc msg
12740 params = dict()
12741 msg = dict(type='MachineActions', request='RunningActions', version=1, params=params)
12742 params['entities'] = entities
12743 reply = await self.rpc(msg)
12744 return reply
12745
12746
12747
12748 @ReturnMapping(StringsWatchResults)
12749 async def WatchActionNotifications(self, entities):
12750 '''
12751 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
12752 Returns -> typing.Sequence<+T_co>[~StringsWatchResult]<~StringsWatchResult>
12753 '''
12754 # map input types to rpc msg
12755 params = dict()
12756 msg = dict(type='MachineActions', request='WatchActionNotifications', version=1, params=params)
12757 params['entities'] = entities
12758 reply = await self.rpc(msg)
12759 return reply
12760
12761
12762 class MachineManagerFacade(Type):
12763 name = 'MachineManager'
12764 version = 2
12765 schema = {'definitions': {'AddMachineParams': {'additionalProperties': False,
12766 'properties': {'addresses': {'items': {'$ref': '#/definitions/Address'},
12767 'type': 'array'},
12768 'constraints': {'$ref': '#/definitions/Value'},
12769 'container-type': {'type': 'string'},
12770 'disks': {'items': {'$ref': '#/definitions/Constraints'},
12771 'type': 'array'},
12772 'hardware-characteristics': {'$ref': '#/definitions/HardwareCharacteristics'},
12773 'instance-id': {'type': 'string'},
12774 'jobs': {'items': {'type': 'string'},
12775 'type': 'array'},
12776 'nonce': {'type': 'string'},
12777 'parent-id': {'type': 'string'},
12778 'placement': {'$ref': '#/definitions/Placement'},
12779 'series': {'type': 'string'}},
12780 'required': ['series',
12781 'constraints',
12782 'jobs',
12783 'parent-id',
12784 'container-type',
12785 'instance-id',
12786 'nonce',
12787 'hardware-characteristics',
12788 'addresses'],
12789 'type': 'object'},
12790 'AddMachines': {'additionalProperties': False,
12791 'properties': {'params': {'items': {'$ref': '#/definitions/AddMachineParams'},
12792 'type': 'array'}},
12793 'required': ['params'],
12794 'type': 'object'},
12795 'AddMachinesResult': {'additionalProperties': False,
12796 'properties': {'error': {'$ref': '#/definitions/Error'},
12797 'machine': {'type': 'string'}},
12798 'required': ['machine'],
12799 'type': 'object'},
12800 'AddMachinesResults': {'additionalProperties': False,
12801 'properties': {'machines': {'items': {'$ref': '#/definitions/AddMachinesResult'},
12802 'type': 'array'}},
12803 'required': ['machines'],
12804 'type': 'object'},
12805 'Address': {'additionalProperties': False,
12806 'properties': {'scope': {'type': 'string'},
12807 'space-name': {'type': 'string'},
12808 'type': {'type': 'string'},
12809 'value': {'type': 'string'}},
12810 'required': ['value', 'type', 'scope'],
12811 'type': 'object'},
12812 'Constraints': {'additionalProperties': False,
12813 'properties': {'Count': {'type': 'integer'},
12814 'Pool': {'type': 'string'},
12815 'Size': {'type': 'integer'}},
12816 'required': ['Pool', 'Size', 'Count'],
12817 'type': 'object'},
12818 'Error': {'additionalProperties': False,
12819 'properties': {'code': {'type': 'string'},
12820 'info': {'$ref': '#/definitions/ErrorInfo'},
12821 'message': {'type': 'string'}},
12822 'required': ['message', 'code'],
12823 'type': 'object'},
12824 'ErrorInfo': {'additionalProperties': False,
12825 'properties': {'macaroon': {'$ref': '#/definitions/Macaroon'},
12826 'macaroon-path': {'type': 'string'}},
12827 'type': 'object'},
12828 'HardwareCharacteristics': {'additionalProperties': False,
12829 'properties': {'arch': {'type': 'string'},
12830 'availability-zone': {'type': 'string'},
12831 'cpu-cores': {'type': 'integer'},
12832 'cpu-power': {'type': 'integer'},
12833 'mem': {'type': 'integer'},
12834 'root-disk': {'type': 'integer'},
12835 'tags': {'items': {'type': 'string'},
12836 'type': 'array'}},
12837 'type': 'object'},
12838 'Macaroon': {'additionalProperties': False, 'type': 'object'},
12839 'Placement': {'additionalProperties': False,
12840 'properties': {'directive': {'type': 'string'},
12841 'scope': {'type': 'string'}},
12842 'required': ['scope', 'directive'],
12843 'type': 'object'},
12844 'Value': {'additionalProperties': False,
12845 'properties': {'arch': {'type': 'string'},
12846 'container': {'type': 'string'},
12847 'cpu-cores': {'type': 'integer'},
12848 'cpu-power': {'type': 'integer'},
12849 'instance-type': {'type': 'string'},
12850 'mem': {'type': 'integer'},
12851 'root-disk': {'type': 'integer'},
12852 'spaces': {'items': {'type': 'string'},
12853 'type': 'array'},
12854 'tags': {'items': {'type': 'string'},
12855 'type': 'array'},
12856 'virt-type': {'type': 'string'}},
12857 'type': 'object'}},
12858 'properties': {'AddMachines': {'properties': {'Params': {'$ref': '#/definitions/AddMachines'},
12859 'Result': {'$ref': '#/definitions/AddMachinesResults'}},
12860 'type': 'object'}},
12861 'type': 'object'}
12862
12863
12864 @ReturnMapping(AddMachinesResults)
12865 async def AddMachines(self, params):
12866 '''
12867 params : typing.Sequence<+T_co>[~AddMachineParams]<~AddMachineParams>
12868 Returns -> typing.Sequence<+T_co>[~AddMachinesResult]<~AddMachinesResult>
12869 '''
12870 # map input types to rpc msg
12871 params = dict()
12872 msg = dict(type='MachineManager', request='AddMachines', version=2, params=params)
12873 params['params'] = params
12874 reply = await self.rpc(msg)
12875 return reply
12876
12877
12878 class MachineUndertakerFacade(Type):
12879 name = 'MachineUndertaker'
12880 version = 1
12881 schema = {'definitions': {'Entities': {'additionalProperties': False,
12882 'properties': {'entities': {'items': {'$ref': '#/definitions/Entity'},
12883 'type': 'array'}},
12884 'required': ['entities'],
12885 'type': 'object'},
12886 'EntitiesResult': {'additionalProperties': False,
12887 'properties': {'entities': {'items': {'$ref': '#/definitions/Entity'},
12888 'type': 'array'},
12889 'error': {'$ref': '#/definitions/Error'}},
12890 'required': ['entities'],
12891 'type': 'object'},
12892 'EntitiesResults': {'additionalProperties': False,
12893 'properties': {'results': {'items': {'$ref': '#/definitions/EntitiesResult'},
12894 'type': 'array'}},
12895 'required': ['results'],
12896 'type': 'object'},
12897 'Entity': {'additionalProperties': False,
12898 'properties': {'tag': {'type': 'string'}},
12899 'required': ['tag'],
12900 'type': 'object'},
12901 'Error': {'additionalProperties': False,
12902 'properties': {'code': {'type': 'string'},
12903 'info': {'$ref': '#/definitions/ErrorInfo'},
12904 'message': {'type': 'string'}},
12905 'required': ['message', 'code'],
12906 'type': 'object'},
12907 'ErrorInfo': {'additionalProperties': False,
12908 'properties': {'macaroon': {'$ref': '#/definitions/Macaroon'},
12909 'macaroon-path': {'type': 'string'}},
12910 'type': 'object'},
12911 'Macaroon': {'additionalProperties': False, 'type': 'object'},
12912 'NotifyWatchResult': {'additionalProperties': False,
12913 'properties': {'NotifyWatcherId': {'type': 'string'},
12914 'error': {'$ref': '#/definitions/Error'}},
12915 'required': ['NotifyWatcherId'],
12916 'type': 'object'},
12917 'NotifyWatchResults': {'additionalProperties': False,
12918 'properties': {'results': {'items': {'$ref': '#/definitions/NotifyWatchResult'},
12919 'type': 'array'}},
12920 'required': ['results'],
12921 'type': 'object'},
12922 'ProviderInterfaceInfo': {'additionalProperties': False,
12923 'properties': {'interface-name': {'type': 'string'},
12924 'mac-address': {'type': 'string'},
12925 'provider-id': {'type': 'string'}},
12926 'required': ['interface-name',
12927 'mac-address',
12928 'provider-id'],
12929 'type': 'object'},
12930 'ProviderInterfaceInfoResult': {'additionalProperties': False,
12931 'properties': {'error': {'$ref': '#/definitions/Error'},
12932 'interfaces': {'items': {'$ref': '#/definitions/ProviderInterfaceInfo'},
12933 'type': 'array'},
12934 'machine-tag': {'type': 'string'}},
12935 'required': ['machine-tag',
12936 'interfaces'],
12937 'type': 'object'},
12938 'ProviderInterfaceInfoResults': {'additionalProperties': False,
12939 'properties': {'results': {'items': {'$ref': '#/definitions/ProviderInterfaceInfoResult'},
12940 'type': 'array'}},
12941 'required': ['results'],
12942 'type': 'object'}},
12943 'properties': {'AllMachineRemovals': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
12944 'Result': {'$ref': '#/definitions/EntitiesResults'}},
12945 'type': 'object'},
12946 'CompleteMachineRemovals': {'properties': {'Params': {'$ref': '#/definitions/Entities'}},
12947 'type': 'object'},
12948 'GetMachineProviderInterfaceInfo': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
12949 'Result': {'$ref': '#/definitions/ProviderInterfaceInfoResults'}},
12950 'type': 'object'},
12951 'WatchMachineRemovals': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
12952 'Result': {'$ref': '#/definitions/NotifyWatchResults'}},
12953 'type': 'object'}},
12954 'type': 'object'}
12955
12956
12957 @ReturnMapping(EntitiesResults)
12958 async def AllMachineRemovals(self, entities):
12959 '''
12960 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
12961 Returns -> typing.Sequence<+T_co>[~EntitiesResult]<~EntitiesResult>
12962 '''
12963 # map input types to rpc msg
12964 params = dict()
12965 msg = dict(type='MachineUndertaker', request='AllMachineRemovals', version=1, params=params)
12966 params['entities'] = entities
12967 reply = await self.rpc(msg)
12968 return reply
12969
12970
12971
12972 @ReturnMapping(None)
12973 async def CompleteMachineRemovals(self, entities):
12974 '''
12975 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
12976 Returns -> None
12977 '''
12978 # map input types to rpc msg
12979 params = dict()
12980 msg = dict(type='MachineUndertaker', request='CompleteMachineRemovals', version=1, params=params)
12981 params['entities'] = entities
12982 reply = await self.rpc(msg)
12983 return reply
12984
12985
12986
12987 @ReturnMapping(ProviderInterfaceInfoResults)
12988 async def GetMachineProviderInterfaceInfo(self, entities):
12989 '''
12990 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
12991 Returns -> typing.Sequence<+T_co>[~ProviderInterfaceInfoResult]<~ProviderInterfaceInfoResult>
12992 '''
12993 # map input types to rpc msg
12994 params = dict()
12995 msg = dict(type='MachineUndertaker', request='GetMachineProviderInterfaceInfo', version=1, params=params)
12996 params['entities'] = entities
12997 reply = await self.rpc(msg)
12998 return reply
12999
13000
13001
13002 @ReturnMapping(NotifyWatchResults)
13003 async def WatchMachineRemovals(self, entities):
13004 '''
13005 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
13006 Returns -> typing.Sequence<+T_co>[~NotifyWatchResult]<~NotifyWatchResult>
13007 '''
13008 # map input types to rpc msg
13009 params = dict()
13010 msg = dict(type='MachineUndertaker', request='WatchMachineRemovals', version=1, params=params)
13011 params['entities'] = entities
13012 reply = await self.rpc(msg)
13013 return reply
13014
13015
13016 class MachinerFacade(Type):
13017 name = 'Machiner'
13018 version = 1
13019 schema = {'definitions': {'APIHostPortsResult': {'additionalProperties': False,
13020 'properties': {'servers': {'items': {'items': {'$ref': '#/definitions/HostPort'},
13021 'type': 'array'},
13022 'type': 'array'}},
13023 'required': ['servers'],
13024 'type': 'object'},
13025 'Address': {'additionalProperties': False,
13026 'properties': {'scope': {'type': 'string'},
13027 'space-name': {'type': 'string'},
13028 'type': {'type': 'string'},
13029 'value': {'type': 'string'}},
13030 'required': ['value', 'type', 'scope'],
13031 'type': 'object'},
13032 'BytesResult': {'additionalProperties': False,
13033 'properties': {'result': {'items': {'type': 'integer'},
13034 'type': 'array'}},
13035 'required': ['result'],
13036 'type': 'object'},
13037 'Entities': {'additionalProperties': False,
13038 'properties': {'entities': {'items': {'$ref': '#/definitions/Entity'},
13039 'type': 'array'}},
13040 'required': ['entities'],
13041 'type': 'object'},
13042 'Entity': {'additionalProperties': False,
13043 'properties': {'tag': {'type': 'string'}},
13044 'required': ['tag'],
13045 'type': 'object'},
13046 'EntityStatusArgs': {'additionalProperties': False,
13047 'properties': {'data': {'patternProperties': {'.*': {'additionalProperties': True,
13048 'type': 'object'}},
13049 'type': 'object'},
13050 'info': {'type': 'string'},
13051 'status': {'type': 'string'},
13052 'tag': {'type': 'string'}},
13053 'required': ['tag',
13054 'status',
13055 'info',
13056 'data'],
13057 'type': 'object'},
13058 'Error': {'additionalProperties': False,
13059 'properties': {'code': {'type': 'string'},
13060 'info': {'$ref': '#/definitions/ErrorInfo'},
13061 'message': {'type': 'string'}},
13062 'required': ['message', 'code'],
13063 'type': 'object'},
13064 'ErrorInfo': {'additionalProperties': False,
13065 'properties': {'macaroon': {'$ref': '#/definitions/Macaroon'},
13066 'macaroon-path': {'type': 'string'}},
13067 'type': 'object'},
13068 'ErrorResult': {'additionalProperties': False,
13069 'properties': {'error': {'$ref': '#/definitions/Error'}},
13070 'type': 'object'},
13071 'ErrorResults': {'additionalProperties': False,
13072 'properties': {'results': {'items': {'$ref': '#/definitions/ErrorResult'},
13073 'type': 'array'}},
13074 'required': ['results'],
13075 'type': 'object'},
13076 'HostPort': {'additionalProperties': False,
13077 'properties': {'Address': {'$ref': '#/definitions/Address'},
13078 'port': {'type': 'integer'}},
13079 'required': ['Address', 'port'],
13080 'type': 'object'},
13081 'JobsResult': {'additionalProperties': False,
13082 'properties': {'error': {'$ref': '#/definitions/Error'},
13083 'jobs': {'items': {'type': 'string'},
13084 'type': 'array'}},
13085 'required': ['jobs'],
13086 'type': 'object'},
13087 'JobsResults': {'additionalProperties': False,
13088 'properties': {'results': {'items': {'$ref': '#/definitions/JobsResult'},
13089 'type': 'array'}},
13090 'required': ['results'],
13091 'type': 'object'},
13092 'LifeResult': {'additionalProperties': False,
13093 'properties': {'error': {'$ref': '#/definitions/Error'},
13094 'life': {'type': 'string'}},
13095 'required': ['life'],
13096 'type': 'object'},
13097 'LifeResults': {'additionalProperties': False,
13098 'properties': {'results': {'items': {'$ref': '#/definitions/LifeResult'},
13099 'type': 'array'}},
13100 'required': ['results'],
13101 'type': 'object'},
13102 'Macaroon': {'additionalProperties': False, 'type': 'object'},
13103 'MachineAddresses': {'additionalProperties': False,
13104 'properties': {'addresses': {'items': {'$ref': '#/definitions/Address'},
13105 'type': 'array'},
13106 'tag': {'type': 'string'}},
13107 'required': ['tag', 'addresses'],
13108 'type': 'object'},
13109 'NetworkConfig': {'additionalProperties': False,
13110 'properties': {'address': {'type': 'string'},
13111 'cidr': {'type': 'string'},
13112 'config-type': {'type': 'string'},
13113 'device-index': {'type': 'integer'},
13114 'disabled': {'type': 'boolean'},
13115 'dns-search-domains': {'items': {'type': 'string'},
13116 'type': 'array'},
13117 'dns-servers': {'items': {'type': 'string'},
13118 'type': 'array'},
13119 'gateway-address': {'type': 'string'},
13120 'interface-name': {'type': 'string'},
13121 'interface-type': {'type': 'string'},
13122 'mac-address': {'type': 'string'},
13123 'mtu': {'type': 'integer'},
13124 'no-auto-start': {'type': 'boolean'},
13125 'parent-interface-name': {'type': 'string'},
13126 'provider-address-id': {'type': 'string'},
13127 'provider-id': {'type': 'string'},
13128 'provider-space-id': {'type': 'string'},
13129 'provider-subnet-id': {'type': 'string'},
13130 'provider-vlan-id': {'type': 'string'},
13131 'vlan-tag': {'type': 'integer'}},
13132 'required': ['device-index',
13133 'mac-address',
13134 'cidr',
13135 'mtu',
13136 'provider-id',
13137 'provider-subnet-id',
13138 'provider-space-id',
13139 'provider-address-id',
13140 'provider-vlan-id',
13141 'vlan-tag',
13142 'interface-name',
13143 'parent-interface-name',
13144 'interface-type',
13145 'disabled'],
13146 'type': 'object'},
13147 'NotifyWatchResult': {'additionalProperties': False,
13148 'properties': {'NotifyWatcherId': {'type': 'string'},
13149 'error': {'$ref': '#/definitions/Error'}},
13150 'required': ['NotifyWatcherId'],
13151 'type': 'object'},
13152 'NotifyWatchResults': {'additionalProperties': False,
13153 'properties': {'results': {'items': {'$ref': '#/definitions/NotifyWatchResult'},
13154 'type': 'array'}},
13155 'required': ['results'],
13156 'type': 'object'},
13157 'SetMachineNetworkConfig': {'additionalProperties': False,
13158 'properties': {'config': {'items': {'$ref': '#/definitions/NetworkConfig'},
13159 'type': 'array'},
13160 'tag': {'type': 'string'}},
13161 'required': ['tag', 'config'],
13162 'type': 'object'},
13163 'SetMachinesAddresses': {'additionalProperties': False,
13164 'properties': {'machine-addresses': {'items': {'$ref': '#/definitions/MachineAddresses'},
13165 'type': 'array'}},
13166 'required': ['machine-addresses'],
13167 'type': 'object'},
13168 'SetStatus': {'additionalProperties': False,
13169 'properties': {'entities': {'items': {'$ref': '#/definitions/EntityStatusArgs'},
13170 'type': 'array'}},
13171 'required': ['entities'],
13172 'type': 'object'},
13173 'StringResult': {'additionalProperties': False,
13174 'properties': {'error': {'$ref': '#/definitions/Error'},
13175 'result': {'type': 'string'}},
13176 'required': ['result'],
13177 'type': 'object'},
13178 'StringsResult': {'additionalProperties': False,
13179 'properties': {'error': {'$ref': '#/definitions/Error'},
13180 'result': {'items': {'type': 'string'},
13181 'type': 'array'}},
13182 'type': 'object'}},
13183 'properties': {'APIAddresses': {'properties': {'Result': {'$ref': '#/definitions/StringsResult'}},
13184 'type': 'object'},
13185 'APIHostPorts': {'properties': {'Result': {'$ref': '#/definitions/APIHostPortsResult'}},
13186 'type': 'object'},
13187 'CACert': {'properties': {'Result': {'$ref': '#/definitions/BytesResult'}},
13188 'type': 'object'},
13189 'EnsureDead': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
13190 'Result': {'$ref': '#/definitions/ErrorResults'}},
13191 'type': 'object'},
13192 'Jobs': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
13193 'Result': {'$ref': '#/definitions/JobsResults'}},
13194 'type': 'object'},
13195 'Life': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
13196 'Result': {'$ref': '#/definitions/LifeResults'}},
13197 'type': 'object'},
13198 'ModelUUID': {'properties': {'Result': {'$ref': '#/definitions/StringResult'}},
13199 'type': 'object'},
13200 'SetMachineAddresses': {'properties': {'Params': {'$ref': '#/definitions/SetMachinesAddresses'},
13201 'Result': {'$ref': '#/definitions/ErrorResults'}},
13202 'type': 'object'},
13203 'SetObservedNetworkConfig': {'properties': {'Params': {'$ref': '#/definitions/SetMachineNetworkConfig'}},
13204 'type': 'object'},
13205 'SetProviderNetworkConfig': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
13206 'Result': {'$ref': '#/definitions/ErrorResults'}},
13207 'type': 'object'},
13208 'SetStatus': {'properties': {'Params': {'$ref': '#/definitions/SetStatus'},
13209 'Result': {'$ref': '#/definitions/ErrorResults'}},
13210 'type': 'object'},
13211 'UpdateStatus': {'properties': {'Params': {'$ref': '#/definitions/SetStatus'},
13212 'Result': {'$ref': '#/definitions/ErrorResults'}},
13213 'type': 'object'},
13214 'Watch': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
13215 'Result': {'$ref': '#/definitions/NotifyWatchResults'}},
13216 'type': 'object'},
13217 'WatchAPIHostPorts': {'properties': {'Result': {'$ref': '#/definitions/NotifyWatchResult'}},
13218 'type': 'object'}},
13219 'type': 'object'}
13220
13221
13222 @ReturnMapping(StringsResult)
13223 async def APIAddresses(self):
13224 '''
13225
13226 Returns -> typing.Union[_ForwardRef('Error'), typing.Sequence<+T_co>[str]]
13227 '''
13228 # map input types to rpc msg
13229 params = dict()
13230 msg = dict(type='Machiner', request='APIAddresses', version=1, params=params)
13231
13232 reply = await self.rpc(msg)
13233 return reply
13234
13235
13236
13237 @ReturnMapping(APIHostPortsResult)
13238 async def APIHostPorts(self):
13239 '''
13240
13241 Returns -> typing.Sequence<+T_co>[~HostPort]<~HostPort>
13242 '''
13243 # map input types to rpc msg
13244 params = dict()
13245 msg = dict(type='Machiner', request='APIHostPorts', version=1, params=params)
13246
13247 reply = await self.rpc(msg)
13248 return reply
13249
13250
13251
13252 @ReturnMapping(BytesResult)
13253 async def CACert(self):
13254 '''
13255
13256 Returns -> typing.Sequence<+T_co>[int]
13257 '''
13258 # map input types to rpc msg
13259 params = dict()
13260 msg = dict(type='Machiner', request='CACert', version=1, params=params)
13261
13262 reply = await self.rpc(msg)
13263 return reply
13264
13265
13266
13267 @ReturnMapping(ErrorResults)
13268 async def EnsureDead(self, entities):
13269 '''
13270 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
13271 Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult>
13272 '''
13273 # map input types to rpc msg
13274 params = dict()
13275 msg = dict(type='Machiner', request='EnsureDead', version=1, params=params)
13276 params['entities'] = entities
13277 reply = await self.rpc(msg)
13278 return reply
13279
13280
13281
13282 @ReturnMapping(JobsResults)
13283 async def Jobs(self, entities):
13284 '''
13285 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
13286 Returns -> typing.Sequence<+T_co>[~JobsResult]<~JobsResult>
13287 '''
13288 # map input types to rpc msg
13289 params = dict()
13290 msg = dict(type='Machiner', request='Jobs', version=1, params=params)
13291 params['entities'] = entities
13292 reply = await self.rpc(msg)
13293 return reply
13294
13295
13296
13297 @ReturnMapping(LifeResults)
13298 async def Life(self, entities):
13299 '''
13300 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
13301 Returns -> typing.Sequence<+T_co>[~LifeResult]<~LifeResult>
13302 '''
13303 # map input types to rpc msg
13304 params = dict()
13305 msg = dict(type='Machiner', request='Life', version=1, params=params)
13306 params['entities'] = entities
13307 reply = await self.rpc(msg)
13308 return reply
13309
13310
13311
13312 @ReturnMapping(StringResult)
13313 async def ModelUUID(self):
13314 '''
13315
13316 Returns -> typing.Union[_ForwardRef('Error'), str]
13317 '''
13318 # map input types to rpc msg
13319 params = dict()
13320 msg = dict(type='Machiner', request='ModelUUID', version=1, params=params)
13321
13322 reply = await self.rpc(msg)
13323 return reply
13324
13325
13326
13327 @ReturnMapping(ErrorResults)
13328 async def SetMachineAddresses(self, machine_addresses):
13329 '''
13330 machine_addresses : typing.Sequence<+T_co>[~MachineAddresses]<~MachineAddresses>
13331 Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult>
13332 '''
13333 # map input types to rpc msg
13334 params = dict()
13335 msg = dict(type='Machiner', request='SetMachineAddresses', version=1, params=params)
13336 params['machine-addresses'] = machine_addresses
13337 reply = await self.rpc(msg)
13338 return reply
13339
13340
13341
13342 @ReturnMapping(None)
13343 async def SetObservedNetworkConfig(self, config, tag):
13344 '''
13345 config : typing.Sequence<+T_co>[~NetworkConfig]<~NetworkConfig>
13346 tag : str
13347 Returns -> None
13348 '''
13349 # map input types to rpc msg
13350 params = dict()
13351 msg = dict(type='Machiner', request='SetObservedNetworkConfig', version=1, params=params)
13352 params['config'] = config
13353 params['tag'] = tag
13354 reply = await self.rpc(msg)
13355 return reply
13356
13357
13358
13359 @ReturnMapping(ErrorResults)
13360 async def SetProviderNetworkConfig(self, entities):
13361 '''
13362 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
13363 Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult>
13364 '''
13365 # map input types to rpc msg
13366 params = dict()
13367 msg = dict(type='Machiner', request='SetProviderNetworkConfig', version=1, params=params)
13368 params['entities'] = entities
13369 reply = await self.rpc(msg)
13370 return reply
13371
13372
13373
13374 @ReturnMapping(ErrorResults)
13375 async def SetStatus(self, entities):
13376 '''
13377 entities : typing.Sequence<+T_co>[~EntityStatusArgs]<~EntityStatusArgs>
13378 Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult>
13379 '''
13380 # map input types to rpc msg
13381 params = dict()
13382 msg = dict(type='Machiner', request='SetStatus', version=1, params=params)
13383 params['entities'] = entities
13384 reply = await self.rpc(msg)
13385 return reply
13386
13387
13388
13389 @ReturnMapping(ErrorResults)
13390 async def UpdateStatus(self, entities):
13391 '''
13392 entities : typing.Sequence<+T_co>[~EntityStatusArgs]<~EntityStatusArgs>
13393 Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult>
13394 '''
13395 # map input types to rpc msg
13396 params = dict()
13397 msg = dict(type='Machiner', request='UpdateStatus', version=1, params=params)
13398 params['entities'] = entities
13399 reply = await self.rpc(msg)
13400 return reply
13401
13402
13403
13404 @ReturnMapping(NotifyWatchResults)
13405 async def Watch(self, entities):
13406 '''
13407 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
13408 Returns -> typing.Sequence<+T_co>[~NotifyWatchResult]<~NotifyWatchResult>
13409 '''
13410 # map input types to rpc msg
13411 params = dict()
13412 msg = dict(type='Machiner', request='Watch', version=1, params=params)
13413 params['entities'] = entities
13414 reply = await self.rpc(msg)
13415 return reply
13416
13417
13418
13419 @ReturnMapping(NotifyWatchResult)
13420 async def WatchAPIHostPorts(self):
13421 '''
13422
13423 Returns -> typing.Union[str, _ForwardRef('Error')]
13424 '''
13425 # map input types to rpc msg
13426 params = dict()
13427 msg = dict(type='Machiner', request='WatchAPIHostPorts', version=1, params=params)
13428
13429 reply = await self.rpc(msg)
13430 return reply
13431
13432
13433 class MeterStatusFacade(Type):
13434 name = 'MeterStatus'
13435 version = 1
13436 schema = {'definitions': {'Entities': {'additionalProperties': False,
13437 'properties': {'entities': {'items': {'$ref': '#/definitions/Entity'},
13438 'type': 'array'}},
13439 'required': ['entities'],
13440 'type': 'object'},
13441 'Entity': {'additionalProperties': False,
13442 'properties': {'tag': {'type': 'string'}},
13443 'required': ['tag'],
13444 'type': 'object'},
13445 'Error': {'additionalProperties': False,
13446 'properties': {'code': {'type': 'string'},
13447 'info': {'$ref': '#/definitions/ErrorInfo'},
13448 'message': {'type': 'string'}},
13449 'required': ['message', 'code'],
13450 'type': 'object'},
13451 'ErrorInfo': {'additionalProperties': False,
13452 'properties': {'macaroon': {'$ref': '#/definitions/Macaroon'},
13453 'macaroon-path': {'type': 'string'}},
13454 'type': 'object'},
13455 'Macaroon': {'additionalProperties': False, 'type': 'object'},
13456 'MeterStatusResult': {'additionalProperties': False,
13457 'properties': {'code': {'type': 'string'},
13458 'error': {'$ref': '#/definitions/Error'},
13459 'info': {'type': 'string'}},
13460 'required': ['code', 'info'],
13461 'type': 'object'},
13462 'MeterStatusResults': {'additionalProperties': False,
13463 'properties': {'results': {'items': {'$ref': '#/definitions/MeterStatusResult'},
13464 'type': 'array'}},
13465 'required': ['results'],
13466 'type': 'object'},
13467 'NotifyWatchResult': {'additionalProperties': False,
13468 'properties': {'NotifyWatcherId': {'type': 'string'},
13469 'error': {'$ref': '#/definitions/Error'}},
13470 'required': ['NotifyWatcherId'],
13471 'type': 'object'},
13472 'NotifyWatchResults': {'additionalProperties': False,
13473 'properties': {'results': {'items': {'$ref': '#/definitions/NotifyWatchResult'},
13474 'type': 'array'}},
13475 'required': ['results'],
13476 'type': 'object'}},
13477 'properties': {'GetMeterStatus': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
13478 'Result': {'$ref': '#/definitions/MeterStatusResults'}},
13479 'type': 'object'},
13480 'WatchMeterStatus': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
13481 'Result': {'$ref': '#/definitions/NotifyWatchResults'}},
13482 'type': 'object'}},
13483 'type': 'object'}
13484
13485
13486 @ReturnMapping(MeterStatusResults)
13487 async def GetMeterStatus(self, entities):
13488 '''
13489 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
13490 Returns -> typing.Sequence<+T_co>[~MeterStatusResult]<~MeterStatusResult>
13491 '''
13492 # map input types to rpc msg
13493 params = dict()
13494 msg = dict(type='MeterStatus', request='GetMeterStatus', version=1, params=params)
13495 params['entities'] = entities
13496 reply = await self.rpc(msg)
13497 return reply
13498
13499
13500
13501 @ReturnMapping(NotifyWatchResults)
13502 async def WatchMeterStatus(self, entities):
13503 '''
13504 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
13505 Returns -> typing.Sequence<+T_co>[~NotifyWatchResult]<~NotifyWatchResult>
13506 '''
13507 # map input types to rpc msg
13508 params = dict()
13509 msg = dict(type='MeterStatus', request='WatchMeterStatus', version=1, params=params)
13510 params['entities'] = entities
13511 reply = await self.rpc(msg)
13512 return reply
13513
13514
13515 class MetricsAdderFacade(Type):
13516 name = 'MetricsAdder'
13517 version = 2
13518 schema = {'definitions': {'Error': {'additionalProperties': False,
13519 'properties': {'code': {'type': 'string'},
13520 'info': {'$ref': '#/definitions/ErrorInfo'},
13521 'message': {'type': 'string'}},
13522 'required': ['message', 'code'],
13523 'type': 'object'},
13524 'ErrorInfo': {'additionalProperties': False,
13525 'properties': {'macaroon': {'$ref': '#/definitions/Macaroon'},
13526 'macaroon-path': {'type': 'string'}},
13527 'type': 'object'},
13528 'ErrorResult': {'additionalProperties': False,
13529 'properties': {'error': {'$ref': '#/definitions/Error'}},
13530 'type': 'object'},
13531 'ErrorResults': {'additionalProperties': False,
13532 'properties': {'results': {'items': {'$ref': '#/definitions/ErrorResult'},
13533 'type': 'array'}},
13534 'required': ['results'],
13535 'type': 'object'},
13536 'Macaroon': {'additionalProperties': False, 'type': 'object'},
13537 'Metric': {'additionalProperties': False,
13538 'properties': {'key': {'type': 'string'},
13539 'time': {'format': 'date-time',
13540 'type': 'string'},
13541 'value': {'type': 'string'}},
13542 'required': ['key', 'value', 'time'],
13543 'type': 'object'},
13544 'MetricBatch': {'additionalProperties': False,
13545 'properties': {'charm-url': {'type': 'string'},
13546 'created': {'format': 'date-time',
13547 'type': 'string'},
13548 'metrics': {'items': {'$ref': '#/definitions/Metric'},
13549 'type': 'array'},
13550 'uuid': {'type': 'string'}},
13551 'required': ['uuid',
13552 'charm-url',
13553 'created',
13554 'metrics'],
13555 'type': 'object'},
13556 'MetricBatchParam': {'additionalProperties': False,
13557 'properties': {'batch': {'$ref': '#/definitions/MetricBatch'},
13558 'tag': {'type': 'string'}},
13559 'required': ['tag', 'batch'],
13560 'type': 'object'},
13561 'MetricBatchParams': {'additionalProperties': False,
13562 'properties': {'batches': {'items': {'$ref': '#/definitions/MetricBatchParam'},
13563 'type': 'array'}},
13564 'required': ['batches'],
13565 'type': 'object'}},
13566 'properties': {'AddMetricBatches': {'properties': {'Params': {'$ref': '#/definitions/MetricBatchParams'},
13567 'Result': {'$ref': '#/definitions/ErrorResults'}},
13568 'type': 'object'}},
13569 'type': 'object'}
13570
13571
13572 @ReturnMapping(ErrorResults)
13573 async def AddMetricBatches(self, batches):
13574 '''
13575 batches : typing.Sequence<+T_co>[~MetricBatchParam]<~MetricBatchParam>
13576 Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult>
13577 '''
13578 # map input types to rpc msg
13579 params = dict()
13580 msg = dict(type='MetricsAdder', request='AddMetricBatches', version=2, params=params)
13581 params['batches'] = batches
13582 reply = await self.rpc(msg)
13583 return reply
13584
13585
13586 class MetricsDebugFacade(Type):
13587 name = 'MetricsDebug'
13588 version = 2
13589 schema = {'definitions': {'Entities': {'additionalProperties': False,
13590 'properties': {'entities': {'items': {'$ref': '#/definitions/Entity'},
13591 'type': 'array'}},
13592 'required': ['entities'],
13593 'type': 'object'},
13594 'Entity': {'additionalProperties': False,
13595 'properties': {'tag': {'type': 'string'}},
13596 'required': ['tag'],
13597 'type': 'object'},
13598 'EntityMetrics': {'additionalProperties': False,
13599 'properties': {'error': {'$ref': '#/definitions/Error'},
13600 'metrics': {'items': {'$ref': '#/definitions/MetricResult'},
13601 'type': 'array'}},
13602 'type': 'object'},
13603 'Error': {'additionalProperties': False,
13604 'properties': {'code': {'type': 'string'},
13605 'info': {'$ref': '#/definitions/ErrorInfo'},
13606 'message': {'type': 'string'}},
13607 'required': ['message', 'code'],
13608 'type': 'object'},
13609 'ErrorInfo': {'additionalProperties': False,
13610 'properties': {'macaroon': {'$ref': '#/definitions/Macaroon'},
13611 'macaroon-path': {'type': 'string'}},
13612 'type': 'object'},
13613 'ErrorResult': {'additionalProperties': False,
13614 'properties': {'error': {'$ref': '#/definitions/Error'}},
13615 'type': 'object'},
13616 'ErrorResults': {'additionalProperties': False,
13617 'properties': {'results': {'items': {'$ref': '#/definitions/ErrorResult'},
13618 'type': 'array'}},
13619 'required': ['results'],
13620 'type': 'object'},
13621 'Macaroon': {'additionalProperties': False, 'type': 'object'},
13622 'MeterStatusParam': {'additionalProperties': False,
13623 'properties': {'code': {'type': 'string'},
13624 'info': {'type': 'string'},
13625 'tag': {'type': 'string'}},
13626 'required': ['tag', 'code', 'info'],
13627 'type': 'object'},
13628 'MeterStatusParams': {'additionalProperties': False,
13629 'properties': {'statues': {'items': {'$ref': '#/definitions/MeterStatusParam'},
13630 'type': 'array'}},
13631 'required': ['statues'],
13632 'type': 'object'},
13633 'MetricResult': {'additionalProperties': False,
13634 'properties': {'key': {'type': 'string'},
13635 'time': {'format': 'date-time',
13636 'type': 'string'},
13637 'value': {'type': 'string'}},
13638 'required': ['time', 'key', 'value'],
13639 'type': 'object'},
13640 'MetricResults': {'additionalProperties': False,
13641 'properties': {'results': {'items': {'$ref': '#/definitions/EntityMetrics'},
13642 'type': 'array'}},
13643 'required': ['results'],
13644 'type': 'object'}},
13645 'properties': {'GetMetrics': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
13646 'Result': {'$ref': '#/definitions/MetricResults'}},
13647 'type': 'object'},
13648 'SetMeterStatus': {'properties': {'Params': {'$ref': '#/definitions/MeterStatusParams'},
13649 'Result': {'$ref': '#/definitions/ErrorResults'}},
13650 'type': 'object'}},
13651 'type': 'object'}
13652
13653
13654 @ReturnMapping(MetricResults)
13655 async def GetMetrics(self, entities):
13656 '''
13657 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
13658 Returns -> typing.Sequence<+T_co>[~EntityMetrics]<~EntityMetrics>
13659 '''
13660 # map input types to rpc msg
13661 params = dict()
13662 msg = dict(type='MetricsDebug', request='GetMetrics', version=2, params=params)
13663 params['entities'] = entities
13664 reply = await self.rpc(msg)
13665 return reply
13666
13667
13668
13669 @ReturnMapping(ErrorResults)
13670 async def SetMeterStatus(self, statues):
13671 '''
13672 statues : typing.Sequence<+T_co>[~MeterStatusParam]<~MeterStatusParam>
13673 Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult>
13674 '''
13675 # map input types to rpc msg
13676 params = dict()
13677 msg = dict(type='MetricsDebug', request='SetMeterStatus', version=2, params=params)
13678 params['statues'] = statues
13679 reply = await self.rpc(msg)
13680 return reply
13681
13682
13683 class MetricsManagerFacade(Type):
13684 name = 'MetricsManager'
13685 version = 1
13686 schema = {'definitions': {'Entities': {'additionalProperties': False,
13687 'properties': {'entities': {'items': {'$ref': '#/definitions/Entity'},
13688 'type': 'array'}},
13689 'required': ['entities'],
13690 'type': 'object'},
13691 'Entity': {'additionalProperties': False,
13692 'properties': {'tag': {'type': 'string'}},
13693 'required': ['tag'],
13694 'type': 'object'},
13695 'Error': {'additionalProperties': False,
13696 'properties': {'code': {'type': 'string'},
13697 'info': {'$ref': '#/definitions/ErrorInfo'},
13698 'message': {'type': 'string'}},
13699 'required': ['message', 'code'],
13700 'type': 'object'},
13701 'ErrorInfo': {'additionalProperties': False,
13702 'properties': {'macaroon': {'$ref': '#/definitions/Macaroon'},
13703 'macaroon-path': {'type': 'string'}},
13704 'type': 'object'},
13705 'ErrorResult': {'additionalProperties': False,
13706 'properties': {'error': {'$ref': '#/definitions/Error'}},
13707 'type': 'object'},
13708 'ErrorResults': {'additionalProperties': False,
13709 'properties': {'results': {'items': {'$ref': '#/definitions/ErrorResult'},
13710 'type': 'array'}},
13711 'required': ['results'],
13712 'type': 'object'},
13713 'Macaroon': {'additionalProperties': False, 'type': 'object'}},
13714 'properties': {'CleanupOldMetrics': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
13715 'Result': {'$ref': '#/definitions/ErrorResults'}},
13716 'type': 'object'},
13717 'SendMetrics': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
13718 'Result': {'$ref': '#/definitions/ErrorResults'}},
13719 'type': 'object'}},
13720 'type': 'object'}
13721
13722
13723 @ReturnMapping(ErrorResults)
13724 async def CleanupOldMetrics(self, entities):
13725 '''
13726 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
13727 Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult>
13728 '''
13729 # map input types to rpc msg
13730 params = dict()
13731 msg = dict(type='MetricsManager', request='CleanupOldMetrics', version=1, params=params)
13732 params['entities'] = entities
13733 reply = await self.rpc(msg)
13734 return reply
13735
13736
13737
13738 @ReturnMapping(ErrorResults)
13739 async def SendMetrics(self, entities):
13740 '''
13741 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
13742 Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult>
13743 '''
13744 # map input types to rpc msg
13745 params = dict()
13746 msg = dict(type='MetricsManager', request='SendMetrics', version=1, params=params)
13747 params['entities'] = entities
13748 reply = await self.rpc(msg)
13749 return reply
13750
13751
13752 class MigrationFlagFacade(Type):
13753 name = 'MigrationFlag'
13754 version = 1
13755 schema = {'definitions': {'Entities': {'additionalProperties': False,
13756 'properties': {'entities': {'items': {'$ref': '#/definitions/Entity'},
13757 'type': 'array'}},
13758 'required': ['entities'],
13759 'type': 'object'},
13760 'Entity': {'additionalProperties': False,
13761 'properties': {'tag': {'type': 'string'}},
13762 'required': ['tag'],
13763 'type': 'object'},
13764 'Error': {'additionalProperties': False,
13765 'properties': {'code': {'type': 'string'},
13766 'info': {'$ref': '#/definitions/ErrorInfo'},
13767 'message': {'type': 'string'}},
13768 'required': ['message', 'code'],
13769 'type': 'object'},
13770 'ErrorInfo': {'additionalProperties': False,
13771 'properties': {'macaroon': {'$ref': '#/definitions/Macaroon'},
13772 'macaroon-path': {'type': 'string'}},
13773 'type': 'object'},
13774 'Macaroon': {'additionalProperties': False, 'type': 'object'},
13775 'NotifyWatchResult': {'additionalProperties': False,
13776 'properties': {'NotifyWatcherId': {'type': 'string'},
13777 'error': {'$ref': '#/definitions/Error'}},
13778 'required': ['NotifyWatcherId'],
13779 'type': 'object'},
13780 'NotifyWatchResults': {'additionalProperties': False,
13781 'properties': {'results': {'items': {'$ref': '#/definitions/NotifyWatchResult'},
13782 'type': 'array'}},
13783 'required': ['results'],
13784 'type': 'object'},
13785 'PhaseResult': {'additionalProperties': False,
13786 'properties': {'error': {'$ref': '#/definitions/Error'},
13787 'phase': {'type': 'string'}},
13788 'type': 'object'},
13789 'PhaseResults': {'additionalProperties': False,
13790 'properties': {'results': {'items': {'$ref': '#/definitions/PhaseResult'},
13791 'type': 'array'}},
13792 'required': ['results'],
13793 'type': 'object'}},
13794 'properties': {'Phase': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
13795 'Result': {'$ref': '#/definitions/PhaseResults'}},
13796 'type': 'object'},
13797 'Watch': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
13798 'Result': {'$ref': '#/definitions/NotifyWatchResults'}},
13799 'type': 'object'}},
13800 'type': 'object'}
13801
13802
13803 @ReturnMapping(PhaseResults)
13804 async def Phase(self, entities):
13805 '''
13806 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
13807 Returns -> typing.Sequence<+T_co>[~PhaseResult]<~PhaseResult>
13808 '''
13809 # map input types to rpc msg
13810 params = dict()
13811 msg = dict(type='MigrationFlag', request='Phase', version=1, params=params)
13812 params['entities'] = entities
13813 reply = await self.rpc(msg)
13814 return reply
13815
13816
13817
13818 @ReturnMapping(NotifyWatchResults)
13819 async def Watch(self, entities):
13820 '''
13821 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
13822 Returns -> typing.Sequence<+T_co>[~NotifyWatchResult]<~NotifyWatchResult>
13823 '''
13824 # map input types to rpc msg
13825 params = dict()
13826 msg = dict(type='MigrationFlag', request='Watch', version=1, params=params)
13827 params['entities'] = entities
13828 reply = await self.rpc(msg)
13829 return reply
13830
13831
13832 class MigrationMasterFacade(Type):
13833 name = 'MigrationMaster'
13834 version = 1
13835 schema = {'definitions': {'Error': {'additionalProperties': False,
13836 'properties': {'code': {'type': 'string'},
13837 'info': {'$ref': '#/definitions/ErrorInfo'},
13838 'message': {'type': 'string'}},
13839 'required': ['message', 'code'],
13840 'type': 'object'},
13841 'ErrorInfo': {'additionalProperties': False,
13842 'properties': {'macaroon': {'$ref': '#/definitions/Macaroon'},
13843 'macaroon-path': {'type': 'string'}},
13844 'type': 'object'},
13845 'Macaroon': {'additionalProperties': False, 'type': 'object'},
13846 'MasterMigrationStatus': {'additionalProperties': False,
13847 'properties': {'migration-id': {'type': 'string'},
13848 'phase': {'type': 'string'},
13849 'phase-changed-time': {'format': 'date-time',
13850 'type': 'string'},
13851 'spec': {'$ref': '#/definitions/MigrationSpec'}},
13852 'required': ['spec',
13853 'migration-id',
13854 'phase',
13855 'phase-changed-time'],
13856 'type': 'object'},
13857 'MigrationModelInfo': {'additionalProperties': False,
13858 'properties': {'agent-version': {'$ref': '#/definitions/Number'},
13859 'name': {'type': 'string'},
13860 'uuid': {'type': 'string'}},
13861 'required': ['uuid',
13862 'name',
13863 'agent-version'],
13864 'type': 'object'},
13865 'MigrationSpec': {'additionalProperties': False,
13866 'properties': {'model-tag': {'type': 'string'},
13867 'target-info': {'$ref': '#/definitions/MigrationTargetInfo'}},
13868 'required': ['model-tag', 'target-info'],
13869 'type': 'object'},
13870 'MigrationTargetInfo': {'additionalProperties': False,
13871 'properties': {'addrs': {'items': {'type': 'string'},
13872 'type': 'array'},
13873 'auth-tag': {'type': 'string'},
13874 'ca-cert': {'type': 'string'},
13875 'controller-tag': {'type': 'string'},
13876 'macaroon': {'type': 'string'},
13877 'password': {'type': 'string'}},
13878 'required': ['controller-tag',
13879 'addrs',
13880 'ca-cert',
13881 'auth-tag'],
13882 'type': 'object'},
13883 'MinionReports': {'additionalProperties': False,
13884 'properties': {'failed': {'items': {'type': 'string'},
13885 'type': 'array'},
13886 'migration-id': {'type': 'string'},
13887 'phase': {'type': 'string'},
13888 'success-count': {'type': 'integer'},
13889 'unknown-count': {'type': 'integer'},
13890 'unknown-sample': {'items': {'type': 'string'},
13891 'type': 'array'}},
13892 'required': ['migration-id',
13893 'phase',
13894 'success-count',
13895 'unknown-count',
13896 'unknown-sample',
13897 'failed'],
13898 'type': 'object'},
13899 'NotifyWatchResult': {'additionalProperties': False,
13900 'properties': {'NotifyWatcherId': {'type': 'string'},
13901 'error': {'$ref': '#/definitions/Error'}},
13902 'required': ['NotifyWatcherId'],
13903 'type': 'object'},
13904 'Number': {'additionalProperties': False,
13905 'properties': {'Build': {'type': 'integer'},
13906 'Major': {'type': 'integer'},
13907 'Minor': {'type': 'integer'},
13908 'Patch': {'type': 'integer'},
13909 'Tag': {'type': 'string'}},
13910 'required': ['Major',
13911 'Minor',
13912 'Tag',
13913 'Patch',
13914 'Build'],
13915 'type': 'object'},
13916 'SerializedModel': {'additionalProperties': False,
13917 'properties': {'bytes': {'items': {'type': 'integer'},
13918 'type': 'array'},
13919 'charms': {'items': {'type': 'string'},
13920 'type': 'array'},
13921 'tools': {'items': {'$ref': '#/definitions/SerializedModelTools'},
13922 'type': 'array'}},
13923 'required': ['bytes', 'charms', 'tools'],
13924 'type': 'object'},
13925 'SerializedModelTools': {'additionalProperties': False,
13926 'properties': {'uri': {'type': 'string'},
13927 'version': {'type': 'string'}},
13928 'required': ['version', 'uri'],
13929 'type': 'object'},
13930 'SetMigrationPhaseArgs': {'additionalProperties': False,
13931 'properties': {'phase': {'type': 'string'}},
13932 'required': ['phase'],
13933 'type': 'object'},
13934 'SetMigrationStatusMessageArgs': {'additionalProperties': False,
13935 'properties': {'message': {'type': 'string'}},
13936 'required': ['message'],
13937 'type': 'object'}},
13938 'properties': {'Export': {'properties': {'Result': {'$ref': '#/definitions/SerializedModel'}},
13939 'type': 'object'},
13940 'MigrationStatus': {'properties': {'Result': {'$ref': '#/definitions/MasterMigrationStatus'}},
13941 'type': 'object'},
13942 'MinionReports': {'properties': {'Result': {'$ref': '#/definitions/MinionReports'}},
13943 'type': 'object'},
13944 'ModelInfo': {'properties': {'Result': {'$ref': '#/definitions/MigrationModelInfo'}},
13945 'type': 'object'},
13946 'Prechecks': {'type': 'object'},
13947 'Reap': {'type': 'object'},
13948 'SetPhase': {'properties': {'Params': {'$ref': '#/definitions/SetMigrationPhaseArgs'}},
13949 'type': 'object'},
13950 'SetStatusMessage': {'properties': {'Params': {'$ref': '#/definitions/SetMigrationStatusMessageArgs'}},
13951 'type': 'object'},
13952 'Watch': {'properties': {'Result': {'$ref': '#/definitions/NotifyWatchResult'}},
13953 'type': 'object'},
13954 'WatchMinionReports': {'properties': {'Result': {'$ref': '#/definitions/NotifyWatchResult'}},
13955 'type': 'object'}},
13956 'type': 'object'}
13957
13958
13959 @ReturnMapping(SerializedModel)
13960 async def Export(self):
13961 '''
13962
13963 Returns -> typing.Sequence<+T_co>[~SerializedModelTools]<~SerializedModelTools>
13964 '''
13965 # map input types to rpc msg
13966 params = dict()
13967 msg = dict(type='MigrationMaster', request='Export', version=1, params=params)
13968
13969 reply = await self.rpc(msg)
13970 return reply
13971
13972
13973
13974 @ReturnMapping(MasterMigrationStatus)
13975 async def MigrationStatus(self):
13976 '''
13977
13978 Returns -> typing.Union[str, _ForwardRef('MigrationSpec')]
13979 '''
13980 # map input types to rpc msg
13981 params = dict()
13982 msg = dict(type='MigrationMaster', request='MigrationStatus', version=1, params=params)
13983
13984 reply = await self.rpc(msg)
13985 return reply
13986
13987
13988
13989 @ReturnMapping(MinionReports)
13990 async def MinionReports(self):
13991 '''
13992
13993 Returns -> typing.Union[typing.Sequence<+T_co>[str], int]
13994 '''
13995 # map input types to rpc msg
13996 params = dict()
13997 msg = dict(type='MigrationMaster', request='MinionReports', version=1, params=params)
13998
13999 reply = await self.rpc(msg)
14000 return reply
14001
14002
14003
14004 @ReturnMapping(MigrationModelInfo)
14005 async def ModelInfo(self):
14006 '''
14007
14008 Returns -> typing.Union[_ForwardRef('Number'), str]
14009 '''
14010 # map input types to rpc msg
14011 params = dict()
14012 msg = dict(type='MigrationMaster', request='ModelInfo', version=1, params=params)
14013
14014 reply = await self.rpc(msg)
14015 return reply
14016
14017
14018
14019 @ReturnMapping(None)
14020 async def Prechecks(self):
14021 '''
14022
14023 Returns -> None
14024 '''
14025 # map input types to rpc msg
14026 params = dict()
14027 msg = dict(type='MigrationMaster', request='Prechecks', version=1, params=params)
14028
14029 reply = await self.rpc(msg)
14030 return reply
14031
14032
14033
14034 @ReturnMapping(None)
14035 async def Reap(self):
14036 '''
14037
14038 Returns -> None
14039 '''
14040 # map input types to rpc msg
14041 params = dict()
14042 msg = dict(type='MigrationMaster', request='Reap', version=1, params=params)
14043
14044 reply = await self.rpc(msg)
14045 return reply
14046
14047
14048
14049 @ReturnMapping(None)
14050 async def SetPhase(self, phase):
14051 '''
14052 phase : str
14053 Returns -> None
14054 '''
14055 # map input types to rpc msg
14056 params = dict()
14057 msg = dict(type='MigrationMaster', request='SetPhase', version=1, params=params)
14058 params['phase'] = phase
14059 reply = await self.rpc(msg)
14060 return reply
14061
14062
14063
14064 @ReturnMapping(None)
14065 async def SetStatusMessage(self, message):
14066 '''
14067 message : str
14068 Returns -> None
14069 '''
14070 # map input types to rpc msg
14071 params = dict()
14072 msg = dict(type='MigrationMaster', request='SetStatusMessage', version=1, params=params)
14073 params['message'] = message
14074 reply = await self.rpc(msg)
14075 return reply
14076
14077
14078
14079 @ReturnMapping(NotifyWatchResult)
14080 async def Watch(self):
14081 '''
14082
14083 Returns -> typing.Union[str, _ForwardRef('Error')]
14084 '''
14085 # map input types to rpc msg
14086 params = dict()
14087 msg = dict(type='MigrationMaster', request='Watch', version=1, params=params)
14088
14089 reply = await self.rpc(msg)
14090 return reply
14091
14092
14093
14094 @ReturnMapping(NotifyWatchResult)
14095 async def WatchMinionReports(self):
14096 '''
14097
14098 Returns -> typing.Union[str, _ForwardRef('Error')]
14099 '''
14100 # map input types to rpc msg
14101 params = dict()
14102 msg = dict(type='MigrationMaster', request='WatchMinionReports', version=1, params=params)
14103
14104 reply = await self.rpc(msg)
14105 return reply
14106
14107
14108 class MigrationMinionFacade(Type):
14109 name = 'MigrationMinion'
14110 version = 1
14111 schema = {'definitions': {'Error': {'additionalProperties': False,
14112 'properties': {'code': {'type': 'string'},
14113 'info': {'$ref': '#/definitions/ErrorInfo'},
14114 'message': {'type': 'string'}},
14115 'required': ['message', 'code'],
14116 'type': 'object'},
14117 'ErrorInfo': {'additionalProperties': False,
14118 'properties': {'macaroon': {'$ref': '#/definitions/Macaroon'},
14119 'macaroon-path': {'type': 'string'}},
14120 'type': 'object'},
14121 'Macaroon': {'additionalProperties': False, 'type': 'object'},
14122 'MinionReport': {'additionalProperties': False,
14123 'properties': {'migration-id': {'type': 'string'},
14124 'phase': {'type': 'string'},
14125 'success': {'type': 'boolean'}},
14126 'required': ['migration-id',
14127 'phase',
14128 'success'],
14129 'type': 'object'},
14130 'NotifyWatchResult': {'additionalProperties': False,
14131 'properties': {'NotifyWatcherId': {'type': 'string'},
14132 'error': {'$ref': '#/definitions/Error'}},
14133 'required': ['NotifyWatcherId'],
14134 'type': 'object'}},
14135 'properties': {'Report': {'properties': {'Params': {'$ref': '#/definitions/MinionReport'}},
14136 'type': 'object'},
14137 'Watch': {'properties': {'Result': {'$ref': '#/definitions/NotifyWatchResult'}},
14138 'type': 'object'}},
14139 'type': 'object'}
14140
14141
14142 @ReturnMapping(None)
14143 async def Report(self, migration_id, phase, success):
14144 '''
14145 migration_id : str
14146 phase : str
14147 success : bool
14148 Returns -> None
14149 '''
14150 # map input types to rpc msg
14151 params = dict()
14152 msg = dict(type='MigrationMinion', request='Report', version=1, params=params)
14153 params['migration-id'] = migration_id
14154 params['phase'] = phase
14155 params['success'] = success
14156 reply = await self.rpc(msg)
14157 return reply
14158
14159
14160
14161 @ReturnMapping(NotifyWatchResult)
14162 async def Watch(self):
14163 '''
14164
14165 Returns -> typing.Union[str, _ForwardRef('Error')]
14166 '''
14167 # map input types to rpc msg
14168 params = dict()
14169 msg = dict(type='MigrationMinion', request='Watch', version=1, params=params)
14170
14171 reply = await self.rpc(msg)
14172 return reply
14173
14174
14175 class MigrationStatusWatcherFacade(Type):
14176 name = 'MigrationStatusWatcher'
14177 version = 1
14178 schema = {'definitions': {'MigrationStatus': {'additionalProperties': False,
14179 'properties': {'attempt': {'type': 'integer'},
14180 'migration-id': {'type': 'string'},
14181 'phase': {'type': 'string'},
14182 'source-api-addrs': {'items': {'type': 'string'},
14183 'type': 'array'},
14184 'source-ca-cert': {'type': 'string'},
14185 'target-api-addrs': {'items': {'type': 'string'},
14186 'type': 'array'},
14187 'target-ca-cert': {'type': 'string'}},
14188 'required': ['migration-id',
14189 'attempt',
14190 'phase',
14191 'source-api-addrs',
14192 'source-ca-cert',
14193 'target-api-addrs',
14194 'target-ca-cert'],
14195 'type': 'object'}},
14196 'properties': {'Next': {'properties': {'Result': {'$ref': '#/definitions/MigrationStatus'}},
14197 'type': 'object'},
14198 'Stop': {'type': 'object'}},
14199 'type': 'object'}
14200
14201
14202 @ReturnMapping(MigrationStatus)
14203 async def Next(self):
14204 '''
14205
14206 Returns -> typing.Union[int, typing.Sequence<+T_co>[str]]
14207 '''
14208 # map input types to rpc msg
14209 params = dict()
14210 msg = dict(type='MigrationStatusWatcher', request='Next', version=1, params=params)
14211
14212 reply = await self.rpc(msg)
14213 return reply
14214
14215
14216
14217 @ReturnMapping(None)
14218 async def Stop(self):
14219 '''
14220
14221 Returns -> None
14222 '''
14223 # map input types to rpc msg
14224 params = dict()
14225 msg = dict(type='MigrationStatusWatcher', request='Stop', version=1, params=params)
14226
14227 reply = await self.rpc(msg)
14228 return reply
14229
14230
14231 class MigrationTargetFacade(Type):
14232 name = 'MigrationTarget'
14233 version = 1
14234 schema = {'definitions': {'ModelArgs': {'additionalProperties': False,
14235 'properties': {'model-tag': {'type': 'string'}},
14236 'required': ['model-tag'],
14237 'type': 'object'},
14238 'Number': {'additionalProperties': False,
14239 'properties': {'Build': {'type': 'integer'},
14240 'Major': {'type': 'integer'},
14241 'Minor': {'type': 'integer'},
14242 'Patch': {'type': 'integer'},
14243 'Tag': {'type': 'string'}},
14244 'required': ['Major',
14245 'Minor',
14246 'Tag',
14247 'Patch',
14248 'Build'],
14249 'type': 'object'},
14250 'SerializedModel': {'additionalProperties': False,
14251 'properties': {'bytes': {'items': {'type': 'integer'},
14252 'type': 'array'},
14253 'charms': {'items': {'type': 'string'},
14254 'type': 'array'},
14255 'tools': {'items': {'$ref': '#/definitions/SerializedModelTools'},
14256 'type': 'array'}},
14257 'required': ['bytes', 'charms', 'tools'],
14258 'type': 'object'},
14259 'SerializedModelTools': {'additionalProperties': False,
14260 'properties': {'uri': {'type': 'string'},
14261 'version': {'type': 'string'}},
14262 'required': ['version', 'uri'],
14263 'type': 'object'},
14264 'TargetPrechecksArgs': {'additionalProperties': False,
14265 'properties': {'agent-version': {'$ref': '#/definitions/Number'}},
14266 'required': ['agent-version'],
14267 'type': 'object'}},
14268 'properties': {'Abort': {'properties': {'Params': {'$ref': '#/definitions/ModelArgs'}},
14269 'type': 'object'},
14270 'Activate': {'properties': {'Params': {'$ref': '#/definitions/ModelArgs'}},
14271 'type': 'object'},
14272 'Import': {'properties': {'Params': {'$ref': '#/definitions/SerializedModel'}},
14273 'type': 'object'},
14274 'Prechecks': {'properties': {'Params': {'$ref': '#/definitions/TargetPrechecksArgs'}},
14275 'type': 'object'}},
14276 'type': 'object'}
14277
14278
14279 @ReturnMapping(None)
14280 async def Abort(self, model_tag):
14281 '''
14282 model_tag : str
14283 Returns -> None
14284 '''
14285 # map input types to rpc msg
14286 params = dict()
14287 msg = dict(type='MigrationTarget', request='Abort', version=1, params=params)
14288 params['model-tag'] = model_tag
14289 reply = await self.rpc(msg)
14290 return reply
14291
14292
14293
14294 @ReturnMapping(None)
14295 async def Activate(self, model_tag):
14296 '''
14297 model_tag : str
14298 Returns -> None
14299 '''
14300 # map input types to rpc msg
14301 params = dict()
14302 msg = dict(type='MigrationTarget', request='Activate', version=1, params=params)
14303 params['model-tag'] = model_tag
14304 reply = await self.rpc(msg)
14305 return reply
14306
14307
14308
14309 @ReturnMapping(None)
14310 async def Import(self, bytes_, charms, tools):
14311 '''
14312 bytes_ : typing.Sequence<+T_co>[int]
14313 charms : typing.Sequence<+T_co>[str]
14314 tools : typing.Sequence<+T_co>[~SerializedModelTools]<~SerializedModelTools>
14315 Returns -> None
14316 '''
14317 # map input types to rpc msg
14318 params = dict()
14319 msg = dict(type='MigrationTarget', request='Import', version=1, params=params)
14320 params['bytes'] = bytes_
14321 params['charms'] = charms
14322 params['tools'] = tools
14323 reply = await self.rpc(msg)
14324 return reply
14325
14326
14327
14328 @ReturnMapping(None)
14329 async def Prechecks(self, build, major, minor, patch, tag):
14330 '''
14331 build : int
14332 major : int
14333 minor : int
14334 patch : int
14335 tag : str
14336 Returns -> None
14337 '''
14338 # map input types to rpc msg
14339 params = dict()
14340 msg = dict(type='MigrationTarget', request='Prechecks', version=1, params=params)
14341 params['Build'] = build
14342 params['Major'] = major
14343 params['Minor'] = minor
14344 params['Patch'] = patch
14345 params['Tag'] = tag
14346 reply = await self.rpc(msg)
14347 return reply
14348
14349
14350 class ModelConfigFacade(Type):
14351 name = 'ModelConfig'
14352 version = 1
14353 schema = {'definitions': {'ConfigValue': {'additionalProperties': False,
14354 'properties': {'source': {'type': 'string'},
14355 'value': {'additionalProperties': True,
14356 'type': 'object'}},
14357 'required': ['value', 'source'],
14358 'type': 'object'},
14359 'Error': {'additionalProperties': False,
14360 'properties': {'code': {'type': 'string'},
14361 'info': {'$ref': '#/definitions/ErrorInfo'},
14362 'message': {'type': 'string'}},
14363 'required': ['message', 'code'],
14364 'type': 'object'},
14365 'ErrorInfo': {'additionalProperties': False,
14366 'properties': {'macaroon': {'$ref': '#/definitions/Macaroon'},
14367 'macaroon-path': {'type': 'string'}},
14368 'type': 'object'},
14369 'ErrorResult': {'additionalProperties': False,
14370 'properties': {'error': {'$ref': '#/definitions/Error'}},
14371 'type': 'object'},
14372 'ErrorResults': {'additionalProperties': False,
14373 'properties': {'results': {'items': {'$ref': '#/definitions/ErrorResult'},
14374 'type': 'array'}},
14375 'required': ['results'],
14376 'type': 'object'},
14377 'Macaroon': {'additionalProperties': False, 'type': 'object'},
14378 'ModelConfigResults': {'additionalProperties': False,
14379 'properties': {'config': {'patternProperties': {'.*': {'$ref': '#/definitions/ConfigValue'}},
14380 'type': 'object'}},
14381 'required': ['config'],
14382 'type': 'object'},
14383 'ModelDefaultValues': {'additionalProperties': False,
14384 'properties': {'cloud-region': {'type': 'string'},
14385 'cloud-tag': {'type': 'string'},
14386 'config': {'patternProperties': {'.*': {'additionalProperties': True,
14387 'type': 'object'}},
14388 'type': 'object'}},
14389 'required': ['config'],
14390 'type': 'object'},
14391 'ModelDefaults': {'additionalProperties': False,
14392 'properties': {'controller': {'additionalProperties': True,
14393 'type': 'object'},
14394 'default': {'additionalProperties': True,
14395 'type': 'object'},
14396 'regions': {'items': {'$ref': '#/definitions/RegionDefaults'},
14397 'type': 'array'}},
14398 'type': 'object'},
14399 'ModelDefaultsResult': {'additionalProperties': False,
14400 'properties': {'config': {'patternProperties': {'.*': {'$ref': '#/definitions/ModelDefaults'}},
14401 'type': 'object'}},
14402 'required': ['config'],
14403 'type': 'object'},
14404 'ModelSet': {'additionalProperties': False,
14405 'properties': {'config': {'patternProperties': {'.*': {'additionalProperties': True,
14406 'type': 'object'}},
14407 'type': 'object'}},
14408 'required': ['config'],
14409 'type': 'object'},
14410 'ModelUnset': {'additionalProperties': False,
14411 'properties': {'keys': {'items': {'type': 'string'},
14412 'type': 'array'}},
14413 'required': ['keys'],
14414 'type': 'object'},
14415 'ModelUnsetKeys': {'additionalProperties': False,
14416 'properties': {'cloud-region': {'type': 'string'},
14417 'cloud-tag': {'type': 'string'},
14418 'keys': {'items': {'type': 'string'},
14419 'type': 'array'}},
14420 'required': ['keys'],
14421 'type': 'object'},
14422 'RegionDefaults': {'additionalProperties': False,
14423 'properties': {'region-name': {'type': 'string'},
14424 'value': {'additionalProperties': True,
14425 'type': 'object'}},
14426 'required': ['region-name', 'value'],
14427 'type': 'object'},
14428 'SetModelDefaults': {'additionalProperties': False,
14429 'properties': {'config': {'items': {'$ref': '#/definitions/ModelDefaultValues'},
14430 'type': 'array'}},
14431 'required': ['config'],
14432 'type': 'object'},
14433 'UnsetModelDefaults': {'additionalProperties': False,
14434 'properties': {'keys': {'items': {'$ref': '#/definitions/ModelUnsetKeys'},
14435 'type': 'array'}},
14436 'required': ['keys'],
14437 'type': 'object'}},
14438 'properties': {'ModelDefaults': {'properties': {'Result': {'$ref': '#/definitions/ModelDefaultsResult'}},
14439 'type': 'object'},
14440 'ModelGet': {'properties': {'Result': {'$ref': '#/definitions/ModelConfigResults'}},
14441 'type': 'object'},
14442 'ModelSet': {'properties': {'Params': {'$ref': '#/definitions/ModelSet'}},
14443 'type': 'object'},
14444 'ModelUnset': {'properties': {'Params': {'$ref': '#/definitions/ModelUnset'}},
14445 'type': 'object'},
14446 'SetModelDefaults': {'properties': {'Params': {'$ref': '#/definitions/SetModelDefaults'},
14447 'Result': {'$ref': '#/definitions/ErrorResults'}},
14448 'type': 'object'},
14449 'UnsetModelDefaults': {'properties': {'Params': {'$ref': '#/definitions/UnsetModelDefaults'},
14450 'Result': {'$ref': '#/definitions/ErrorResults'}},
14451 'type': 'object'}},
14452 'type': 'object'}
14453
14454
14455 @ReturnMapping(ModelDefaultsResult)
14456 async def ModelDefaults(self):
14457 '''
14458
14459 Returns -> typing.Mapping<~KT, +VT_co>[str, ~ModelDefaults]<~ModelDefaults>
14460 '''
14461 # map input types to rpc msg
14462 params = dict()
14463 msg = dict(type='ModelConfig', request='ModelDefaults', version=1, params=params)
14464
14465 reply = await self.rpc(msg)
14466 return reply
14467
14468
14469
14470 @ReturnMapping(ModelConfigResults)
14471 async def ModelGet(self):
14472 '''
14473
14474 Returns -> typing.Mapping<~KT, +VT_co>[str, ~ConfigValue]<~ConfigValue>
14475 '''
14476 # map input types to rpc msg
14477 params = dict()
14478 msg = dict(type='ModelConfig', request='ModelGet', version=1, params=params)
14479
14480 reply = await self.rpc(msg)
14481 return reply
14482
14483
14484
14485 @ReturnMapping(None)
14486 async def ModelSet(self, config):
14487 '''
14488 config : typing.Mapping<~KT, +VT_co>[str, typing.Any]
14489 Returns -> None
14490 '''
14491 # map input types to rpc msg
14492 params = dict()
14493 msg = dict(type='ModelConfig', request='ModelSet', version=1, params=params)
14494 params['config'] = config
14495 reply = await self.rpc(msg)
14496 return reply
14497
14498
14499
14500 @ReturnMapping(None)
14501 async def ModelUnset(self, keys):
14502 '''
14503 keys : typing.Sequence<+T_co>[str]
14504 Returns -> None
14505 '''
14506 # map input types to rpc msg
14507 params = dict()
14508 msg = dict(type='ModelConfig', request='ModelUnset', version=1, params=params)
14509 params['keys'] = keys
14510 reply = await self.rpc(msg)
14511 return reply
14512
14513
14514
14515 @ReturnMapping(ErrorResults)
14516 async def SetModelDefaults(self, config):
14517 '''
14518 config : typing.Sequence<+T_co>[~ModelDefaultValues]<~ModelDefaultValues>
14519 Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult>
14520 '''
14521 # map input types to rpc msg
14522 params = dict()
14523 msg = dict(type='ModelConfig', request='SetModelDefaults', version=1, params=params)
14524 params['config'] = config
14525 reply = await self.rpc(msg)
14526 return reply
14527
14528
14529
14530 @ReturnMapping(ErrorResults)
14531 async def UnsetModelDefaults(self, keys):
14532 '''
14533 keys : typing.Sequence<+T_co>[~ModelUnsetKeys]<~ModelUnsetKeys>
14534 Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult>
14535 '''
14536 # map input types to rpc msg
14537 params = dict()
14538 msg = dict(type='ModelConfig', request='UnsetModelDefaults', version=1, params=params)
14539 params['keys'] = keys
14540 reply = await self.rpc(msg)
14541 return reply
14542
14543
14544 class ModelManagerFacade(Type):
14545 name = 'ModelManager'
14546 version = 2
14547 schema = {'definitions': {'Entities': {'additionalProperties': False,
14548 'properties': {'entities': {'items': {'$ref': '#/definitions/Entity'},
14549 'type': 'array'}},
14550 'required': ['entities'],
14551 'type': 'object'},
14552 'Entity': {'additionalProperties': False,
14553 'properties': {'tag': {'type': 'string'}},
14554 'required': ['tag'],
14555 'type': 'object'},
14556 'EntityStatus': {'additionalProperties': False,
14557 'properties': {'data': {'patternProperties': {'.*': {'additionalProperties': True,
14558 'type': 'object'}},
14559 'type': 'object'},
14560 'info': {'type': 'string'},
14561 'since': {'format': 'date-time',
14562 'type': 'string'},
14563 'status': {'type': 'string'}},
14564 'required': ['status', 'info', 'since'],
14565 'type': 'object'},
14566 'Error': {'additionalProperties': False,
14567 'properties': {'code': {'type': 'string'},
14568 'info': {'$ref': '#/definitions/ErrorInfo'},
14569 'message': {'type': 'string'}},
14570 'required': ['message', 'code'],
14571 'type': 'object'},
14572 'ErrorInfo': {'additionalProperties': False,
14573 'properties': {'macaroon': {'$ref': '#/definitions/Macaroon'},
14574 'macaroon-path': {'type': 'string'}},
14575 'type': 'object'},
14576 'ErrorResult': {'additionalProperties': False,
14577 'properties': {'error': {'$ref': '#/definitions/Error'}},
14578 'type': 'object'},
14579 'ErrorResults': {'additionalProperties': False,
14580 'properties': {'results': {'items': {'$ref': '#/definitions/ErrorResult'},
14581 'type': 'array'}},
14582 'required': ['results'],
14583 'type': 'object'},
14584 'Macaroon': {'additionalProperties': False, 'type': 'object'},
14585 'MapResult': {'additionalProperties': False,
14586 'properties': {'error': {'$ref': '#/definitions/Error'},
14587 'result': {'patternProperties': {'.*': {'additionalProperties': True,
14588 'type': 'object'}},
14589 'type': 'object'}},
14590 'required': ['result'],
14591 'type': 'object'},
14592 'MapResults': {'additionalProperties': False,
14593 'properties': {'results': {'items': {'$ref': '#/definitions/MapResult'},
14594 'type': 'array'}},
14595 'required': ['results'],
14596 'type': 'object'},
14597 'Model': {'additionalProperties': False,
14598 'properties': {'name': {'type': 'string'},
14599 'owner-tag': {'type': 'string'},
14600 'uuid': {'type': 'string'}},
14601 'required': ['name', 'uuid', 'owner-tag'],
14602 'type': 'object'},
14603 'ModelCreateArgs': {'additionalProperties': False,
14604 'properties': {'cloud-tag': {'type': 'string'},
14605 'config': {'patternProperties': {'.*': {'additionalProperties': True,
14606 'type': 'object'}},
14607 'type': 'object'},
14608 'credential': {'type': 'string'},
14609 'name': {'type': 'string'},
14610 'owner-tag': {'type': 'string'},
14611 'region': {'type': 'string'}},
14612 'required': ['name', 'owner-tag'],
14613 'type': 'object'},
14614 'ModelInfo': {'additionalProperties': False,
14615 'properties': {'cloud': {'type': 'string'},
14616 'cloud-credential-tag': {'type': 'string'},
14617 'cloud-region': {'type': 'string'},
14618 'controller-uuid': {'type': 'string'},
14619 'default-series': {'type': 'string'},
14620 'life': {'type': 'string'},
14621 'name': {'type': 'string'},
14622 'owner-tag': {'type': 'string'},
14623 'provider-type': {'type': 'string'},
14624 'status': {'$ref': '#/definitions/EntityStatus'},
14625 'users': {'items': {'$ref': '#/definitions/ModelUserInfo'},
14626 'type': 'array'},
14627 'uuid': {'type': 'string'}},
14628 'required': ['name',
14629 'uuid',
14630 'controller-uuid',
14631 'provider-type',
14632 'default-series',
14633 'cloud',
14634 'owner-tag',
14635 'life',
14636 'status',
14637 'users'],
14638 'type': 'object'},
14639 'ModelInfoResult': {'additionalProperties': False,
14640 'properties': {'error': {'$ref': '#/definitions/Error'},
14641 'result': {'$ref': '#/definitions/ModelInfo'}},
14642 'type': 'object'},
14643 'ModelInfoResults': {'additionalProperties': False,
14644 'properties': {'results': {'items': {'$ref': '#/definitions/ModelInfoResult'},
14645 'type': 'array'}},
14646 'required': ['results'],
14647 'type': 'object'},
14648 'ModelUserInfo': {'additionalProperties': False,
14649 'properties': {'access': {'type': 'string'},
14650 'display-name': {'type': 'string'},
14651 'last-connection': {'format': 'date-time',
14652 'type': 'string'},
14653 'user': {'type': 'string'}},
14654 'required': ['user',
14655 'display-name',
14656 'last-connection',
14657 'access'],
14658 'type': 'object'},
14659 'ModifyModelAccess': {'additionalProperties': False,
14660 'properties': {'access': {'type': 'string'},
14661 'action': {'type': 'string'},
14662 'model-tag': {'type': 'string'},
14663 'user-tag': {'type': 'string'}},
14664 'required': ['user-tag',
14665 'action',
14666 'access',
14667 'model-tag'],
14668 'type': 'object'},
14669 'ModifyModelAccessRequest': {'additionalProperties': False,
14670 'properties': {'changes': {'items': {'$ref': '#/definitions/ModifyModelAccess'},
14671 'type': 'array'}},
14672 'required': ['changes'],
14673 'type': 'object'},
14674 'UserModel': {'additionalProperties': False,
14675 'properties': {'last-connection': {'format': 'date-time',
14676 'type': 'string'},
14677 'model': {'$ref': '#/definitions/Model'}},
14678 'required': ['model', 'last-connection'],
14679 'type': 'object'},
14680 'UserModelList': {'additionalProperties': False,
14681 'properties': {'user-models': {'items': {'$ref': '#/definitions/UserModel'},
14682 'type': 'array'}},
14683 'required': ['user-models'],
14684 'type': 'object'}},
14685 'properties': {'CreateModel': {'properties': {'Params': {'$ref': '#/definitions/ModelCreateArgs'},
14686 'Result': {'$ref': '#/definitions/ModelInfo'}},
14687 'type': 'object'},
14688 'DestroyModel': {'type': 'object'},
14689 'DestroyModels': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
14690 'Result': {'$ref': '#/definitions/ErrorResults'}},
14691 'type': 'object'},
14692 'DumpModels': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
14693 'Result': {'$ref': '#/definitions/MapResults'}},
14694 'type': 'object'},
14695 'DumpModelsDB': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
14696 'Result': {'$ref': '#/definitions/MapResults'}},
14697 'type': 'object'},
14698 'ListModels': {'properties': {'Params': {'$ref': '#/definitions/Entity'},
14699 'Result': {'$ref': '#/definitions/UserModelList'}},
14700 'type': 'object'},
14701 'ModelInfo': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
14702 'Result': {'$ref': '#/definitions/ModelInfoResults'}},
14703 'type': 'object'},
14704 'ModifyModelAccess': {'properties': {'Params': {'$ref': '#/definitions/ModifyModelAccessRequest'},
14705 'Result': {'$ref': '#/definitions/ErrorResults'}},
14706 'type': 'object'}},
14707 'type': 'object'}
14708
14709
14710 @ReturnMapping(ModelInfo)
14711 async def CreateModel(self, cloud_tag, config, credential, name, owner_tag, region):
14712 '''
14713 cloud_tag : str
14714 config : typing.Mapping<~KT, +VT_co>[str, typing.Any]
14715 credential : str
14716 name : str
14717 owner_tag : str
14718 region : str
14719 Returns -> typing.Union[_ForwardRef('EntityStatus'), typing.Sequence<+T_co>[~ModelUserInfo]<~ModelUserInfo>]
14720 '''
14721 # map input types to rpc msg
14722 params = dict()
14723 msg = dict(type='ModelManager', request='CreateModel', version=2, params=params)
14724 params['cloud-tag'] = cloud_tag
14725 params['config'] = config
14726 params['credential'] = credential
14727 params['name'] = name
14728 params['owner-tag'] = owner_tag
14729 params['region'] = region
14730 reply = await self.rpc(msg)
14731 return reply
14732
14733
14734
14735 @ReturnMapping(None)
14736 async def DestroyModel(self):
14737 '''
14738
14739 Returns -> None
14740 '''
14741 # map input types to rpc msg
14742 params = dict()
14743 msg = dict(type='ModelManager', request='DestroyModel', version=2, params=params)
14744
14745 reply = await self.rpc(msg)
14746 return reply
14747
14748
14749
14750 @ReturnMapping(ErrorResults)
14751 async def DestroyModels(self, entities):
14752 '''
14753 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
14754 Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult>
14755 '''
14756 # map input types to rpc msg
14757 params = dict()
14758 msg = dict(type='ModelManager', request='DestroyModels', version=2, params=params)
14759 params['entities'] = entities
14760 reply = await self.rpc(msg)
14761 return reply
14762
14763
14764
14765 @ReturnMapping(MapResults)
14766 async def DumpModels(self, entities):
14767 '''
14768 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
14769 Returns -> typing.Sequence<+T_co>[~MapResult]<~MapResult>
14770 '''
14771 # map input types to rpc msg
14772 params = dict()
14773 msg = dict(type='ModelManager', request='DumpModels', version=2, params=params)
14774 params['entities'] = entities
14775 reply = await self.rpc(msg)
14776 return reply
14777
14778
14779
14780 @ReturnMapping(MapResults)
14781 async def DumpModelsDB(self, entities):
14782 '''
14783 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
14784 Returns -> typing.Sequence<+T_co>[~MapResult]<~MapResult>
14785 '''
14786 # map input types to rpc msg
14787 params = dict()
14788 msg = dict(type='ModelManager', request='DumpModelsDB', version=2, params=params)
14789 params['entities'] = entities
14790 reply = await self.rpc(msg)
14791 return reply
14792
14793
14794
14795 @ReturnMapping(UserModelList)
14796 async def ListModels(self, tag):
14797 '''
14798 tag : str
14799 Returns -> typing.Sequence<+T_co>[~UserModel]<~UserModel>
14800 '''
14801 # map input types to rpc msg
14802 params = dict()
14803 msg = dict(type='ModelManager', request='ListModels', version=2, params=params)
14804 params['tag'] = tag
14805 reply = await self.rpc(msg)
14806 return reply
14807
14808
14809
14810 @ReturnMapping(ModelInfoResults)
14811 async def ModelInfo(self, entities):
14812 '''
14813 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
14814 Returns -> typing.Sequence<+T_co>[~ModelInfoResult]<~ModelInfoResult>
14815 '''
14816 # map input types to rpc msg
14817 params = dict()
14818 msg = dict(type='ModelManager', request='ModelInfo', version=2, params=params)
14819 params['entities'] = entities
14820 reply = await self.rpc(msg)
14821 return reply
14822
14823
14824
14825 @ReturnMapping(ErrorResults)
14826 async def ModifyModelAccess(self, changes):
14827 '''
14828 changes : typing.Sequence<+T_co>[~ModifyModelAccess]<~ModifyModelAccess>
14829 Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult>
14830 '''
14831 # map input types to rpc msg
14832 params = dict()
14833 msg = dict(type='ModelManager', request='ModifyModelAccess', version=2, params=params)
14834 params['changes'] = changes
14835 reply = await self.rpc(msg)
14836 return reply
14837
14838
14839 class NotifyWatcherFacade(Type):
14840 name = 'NotifyWatcher'
14841 version = 1
14842 schema = {'properties': {'Next': {'type': 'object'}, 'Stop': {'type': 'object'}},
14843 'type': 'object'}
14844
14845
14846 @ReturnMapping(None)
14847 async def Next(self):
14848 '''
14849
14850 Returns -> None
14851 '''
14852 # map input types to rpc msg
14853 params = dict()
14854 msg = dict(type='NotifyWatcher', request='Next', version=1, params=params)
14855
14856 reply = await self.rpc(msg)
14857 return reply
14858
14859
14860
14861 @ReturnMapping(None)
14862 async def Stop(self):
14863 '''
14864
14865 Returns -> None
14866 '''
14867 # map input types to rpc msg
14868 params = dict()
14869 msg = dict(type='NotifyWatcher', request='Stop', version=1, params=params)
14870
14871 reply = await self.rpc(msg)
14872 return reply
14873
14874
14875 class PingerFacade(Type):
14876 name = 'Pinger'
14877 version = 1
14878 schema = {'properties': {'Ping': {'type': 'object'}, 'Stop': {'type': 'object'}},
14879 'type': 'object'}
14880
14881
14882 @ReturnMapping(None)
14883 async def Ping(self):
14884 '''
14885
14886 Returns -> None
14887 '''
14888 # map input types to rpc msg
14889 params = dict()
14890 msg = dict(type='Pinger', request='Ping', version=1, params=params)
14891
14892 reply = await self.rpc(msg)
14893 return reply
14894
14895
14896
14897 @ReturnMapping(None)
14898 async def Stop(self):
14899 '''
14900
14901 Returns -> None
14902 '''
14903 # map input types to rpc msg
14904 params = dict()
14905 msg = dict(type='Pinger', request='Stop', version=1, params=params)
14906
14907 reply = await self.rpc(msg)
14908 return reply
14909
14910
14911 class ProvisionerFacade(Type):
14912 name = 'Provisioner'
14913 version = 3
14914 schema = {'definitions': {'APIHostPortsResult': {'additionalProperties': False,
14915 'properties': {'servers': {'items': {'items': {'$ref': '#/definitions/HostPort'},
14916 'type': 'array'},
14917 'type': 'array'}},
14918 'required': ['servers'],
14919 'type': 'object'},
14920 'Address': {'additionalProperties': False,
14921 'properties': {'scope': {'type': 'string'},
14922 'space-name': {'type': 'string'},
14923 'type': {'type': 'string'},
14924 'value': {'type': 'string'}},
14925 'required': ['value', 'type', 'scope'],
14926 'type': 'object'},
14927 'Binary': {'additionalProperties': False,
14928 'properties': {'Arch': {'type': 'string'},
14929 'Number': {'$ref': '#/definitions/Number'},
14930 'Series': {'type': 'string'}},
14931 'required': ['Number', 'Series', 'Arch'],
14932 'type': 'object'},
14933 'BytesResult': {'additionalProperties': False,
14934 'properties': {'result': {'items': {'type': 'integer'},
14935 'type': 'array'}},
14936 'required': ['result'],
14937 'type': 'object'},
14938 'CloudImageMetadata': {'additionalProperties': False,
14939 'properties': {'arch': {'type': 'string'},
14940 'image-id': {'type': 'string'},
14941 'priority': {'type': 'integer'},
14942 'region': {'type': 'string'},
14943 'root-storage-size': {'type': 'integer'},
14944 'root-storage-type': {'type': 'string'},
14945 'series': {'type': 'string'},
14946 'source': {'type': 'string'},
14947 'stream': {'type': 'string'},
14948 'version': {'type': 'string'},
14949 'virt-type': {'type': 'string'}},
14950 'required': ['image-id',
14951 'region',
14952 'version',
14953 'series',
14954 'arch',
14955 'source',
14956 'priority'],
14957 'type': 'object'},
14958 'ConstraintsResult': {'additionalProperties': False,
14959 'properties': {'constraints': {'$ref': '#/definitions/Value'},
14960 'error': {'$ref': '#/definitions/Error'}},
14961 'required': ['constraints'],
14962 'type': 'object'},
14963 'ConstraintsResults': {'additionalProperties': False,
14964 'properties': {'results': {'items': {'$ref': '#/definitions/ConstraintsResult'},
14965 'type': 'array'}},
14966 'required': ['results'],
14967 'type': 'object'},
14968 'ContainerConfig': {'additionalProperties': False,
14969 'properties': {'UpdateBehavior': {'$ref': '#/definitions/UpdateBehavior'},
14970 'apt-mirror': {'type': 'string'},
14971 'apt-proxy': {'$ref': '#/definitions/Settings'},
14972 'authorized-keys': {'type': 'string'},
14973 'provider-type': {'type': 'string'},
14974 'proxy': {'$ref': '#/definitions/Settings'},
14975 'ssl-hostname-verification': {'type': 'boolean'}},
14976 'required': ['provider-type',
14977 'authorized-keys',
14978 'ssl-hostname-verification',
14979 'proxy',
14980 'apt-proxy',
14981 'apt-mirror',
14982 'UpdateBehavior'],
14983 'type': 'object'},
14984 'ContainerManagerConfig': {'additionalProperties': False,
14985 'properties': {'config': {'patternProperties': {'.*': {'type': 'string'}},
14986 'type': 'object'}},
14987 'required': ['config'],
14988 'type': 'object'},
14989 'ContainerManagerConfigParams': {'additionalProperties': False,
14990 'properties': {'type': {'type': 'string'}},
14991 'required': ['type'],
14992 'type': 'object'},
14993 'ControllerConfigResult': {'additionalProperties': False,
14994 'properties': {'config': {'patternProperties': {'.*': {'additionalProperties': True,
14995 'type': 'object'}},
14996 'type': 'object'}},
14997 'required': ['config'],
14998 'type': 'object'},
14999 'DistributionGroupResult': {'additionalProperties': False,
15000 'properties': {'error': {'$ref': '#/definitions/Error'},
15001 'result': {'items': {'type': 'string'},
15002 'type': 'array'}},
15003 'required': ['result'],
15004 'type': 'object'},
15005 'DistributionGroupResults': {'additionalProperties': False,
15006 'properties': {'results': {'items': {'$ref': '#/definitions/DistributionGroupResult'},
15007 'type': 'array'}},
15008 'required': ['results'],
15009 'type': 'object'},
15010 'Entities': {'additionalProperties': False,
15011 'properties': {'entities': {'items': {'$ref': '#/definitions/Entity'},
15012 'type': 'array'}},
15013 'required': ['entities'],
15014 'type': 'object'},
15015 'Entity': {'additionalProperties': False,
15016 'properties': {'tag': {'type': 'string'}},
15017 'required': ['tag'],
15018 'type': 'object'},
15019 'EntityPassword': {'additionalProperties': False,
15020 'properties': {'password': {'type': 'string'},
15021 'tag': {'type': 'string'}},
15022 'required': ['tag', 'password'],
15023 'type': 'object'},
15024 'EntityPasswords': {'additionalProperties': False,
15025 'properties': {'changes': {'items': {'$ref': '#/definitions/EntityPassword'},
15026 'type': 'array'}},
15027 'required': ['changes'],
15028 'type': 'object'},
15029 'EntityStatusArgs': {'additionalProperties': False,
15030 'properties': {'data': {'patternProperties': {'.*': {'additionalProperties': True,
15031 'type': 'object'}},
15032 'type': 'object'},
15033 'info': {'type': 'string'},
15034 'status': {'type': 'string'},
15035 'tag': {'type': 'string'}},
15036 'required': ['tag',
15037 'status',
15038 'info',
15039 'data'],
15040 'type': 'object'},
15041 'Error': {'additionalProperties': False,
15042 'properties': {'code': {'type': 'string'},
15043 'info': {'$ref': '#/definitions/ErrorInfo'},
15044 'message': {'type': 'string'}},
15045 'required': ['message', 'code'],
15046 'type': 'object'},
15047 'ErrorInfo': {'additionalProperties': False,
15048 'properties': {'macaroon': {'$ref': '#/definitions/Macaroon'},
15049 'macaroon-path': {'type': 'string'}},
15050 'type': 'object'},
15051 'ErrorResult': {'additionalProperties': False,
15052 'properties': {'error': {'$ref': '#/definitions/Error'}},
15053 'type': 'object'},
15054 'ErrorResults': {'additionalProperties': False,
15055 'properties': {'results': {'items': {'$ref': '#/definitions/ErrorResult'},
15056 'type': 'array'}},
15057 'required': ['results'],
15058 'type': 'object'},
15059 'FindToolsParams': {'additionalProperties': False,
15060 'properties': {'arch': {'type': 'string'},
15061 'major': {'type': 'integer'},
15062 'minor': {'type': 'integer'},
15063 'number': {'$ref': '#/definitions/Number'},
15064 'series': {'type': 'string'}},
15065 'required': ['number',
15066 'major',
15067 'minor',
15068 'arch',
15069 'series'],
15070 'type': 'object'},
15071 'FindToolsResult': {'additionalProperties': False,
15072 'properties': {'error': {'$ref': '#/definitions/Error'},
15073 'list': {'items': {'$ref': '#/definitions/Tools'},
15074 'type': 'array'}},
15075 'required': ['list'],
15076 'type': 'object'},
15077 'HardwareCharacteristics': {'additionalProperties': False,
15078 'properties': {'arch': {'type': 'string'},
15079 'availability-zone': {'type': 'string'},
15080 'cpu-cores': {'type': 'integer'},
15081 'cpu-power': {'type': 'integer'},
15082 'mem': {'type': 'integer'},
15083 'root-disk': {'type': 'integer'},
15084 'tags': {'items': {'type': 'string'},
15085 'type': 'array'}},
15086 'type': 'object'},
15087 'HostPort': {'additionalProperties': False,
15088 'properties': {'Address': {'$ref': '#/definitions/Address'},
15089 'port': {'type': 'integer'}},
15090 'required': ['Address', 'port'],
15091 'type': 'object'},
15092 'InstanceInfo': {'additionalProperties': False,
15093 'properties': {'characteristics': {'$ref': '#/definitions/HardwareCharacteristics'},
15094 'instance-id': {'type': 'string'},
15095 'network-config': {'items': {'$ref': '#/definitions/NetworkConfig'},
15096 'type': 'array'},
15097 'nonce': {'type': 'string'},
15098 'tag': {'type': 'string'},
15099 'volume-attachments': {'patternProperties': {'.*': {'$ref': '#/definitions/VolumeAttachmentInfo'}},
15100 'type': 'object'},
15101 'volumes': {'items': {'$ref': '#/definitions/Volume'},
15102 'type': 'array'}},
15103 'required': ['tag',
15104 'instance-id',
15105 'nonce',
15106 'characteristics',
15107 'volumes',
15108 'volume-attachments',
15109 'network-config'],
15110 'type': 'object'},
15111 'InstancesInfo': {'additionalProperties': False,
15112 'properties': {'machines': {'items': {'$ref': '#/definitions/InstanceInfo'},
15113 'type': 'array'}},
15114 'required': ['machines'],
15115 'type': 'object'},
15116 'LifeResult': {'additionalProperties': False,
15117 'properties': {'error': {'$ref': '#/definitions/Error'},
15118 'life': {'type': 'string'}},
15119 'required': ['life'],
15120 'type': 'object'},
15121 'LifeResults': {'additionalProperties': False,
15122 'properties': {'results': {'items': {'$ref': '#/definitions/LifeResult'},
15123 'type': 'array'}},
15124 'required': ['results'],
15125 'type': 'object'},
15126 'Macaroon': {'additionalProperties': False, 'type': 'object'},
15127 'MachineContainers': {'additionalProperties': False,
15128 'properties': {'container-types': {'items': {'type': 'string'},
15129 'type': 'array'},
15130 'machine-tag': {'type': 'string'}},
15131 'required': ['machine-tag',
15132 'container-types'],
15133 'type': 'object'},
15134 'MachineContainersParams': {'additionalProperties': False,
15135 'properties': {'params': {'items': {'$ref': '#/definitions/MachineContainers'},
15136 'type': 'array'}},
15137 'required': ['params'],
15138 'type': 'object'},
15139 'MachineNetworkConfigResult': {'additionalProperties': False,
15140 'properties': {'error': {'$ref': '#/definitions/Error'},
15141 'info': {'items': {'$ref': '#/definitions/NetworkConfig'},
15142 'type': 'array'}},
15143 'required': ['info'],
15144 'type': 'object'},
15145 'MachineNetworkConfigResults': {'additionalProperties': False,
15146 'properties': {'results': {'items': {'$ref': '#/definitions/MachineNetworkConfigResult'},
15147 'type': 'array'}},
15148 'required': ['results'],
15149 'type': 'object'},
15150 'ModelConfigResult': {'additionalProperties': False,
15151 'properties': {'config': {'patternProperties': {'.*': {'additionalProperties': True,
15152 'type': 'object'}},
15153 'type': 'object'}},
15154 'required': ['config'],
15155 'type': 'object'},
15156 'NetworkConfig': {'additionalProperties': False,
15157 'properties': {'address': {'type': 'string'},
15158 'cidr': {'type': 'string'},
15159 'config-type': {'type': 'string'},
15160 'device-index': {'type': 'integer'},
15161 'disabled': {'type': 'boolean'},
15162 'dns-search-domains': {'items': {'type': 'string'},
15163 'type': 'array'},
15164 'dns-servers': {'items': {'type': 'string'},
15165 'type': 'array'},
15166 'gateway-address': {'type': 'string'},
15167 'interface-name': {'type': 'string'},
15168 'interface-type': {'type': 'string'},
15169 'mac-address': {'type': 'string'},
15170 'mtu': {'type': 'integer'},
15171 'no-auto-start': {'type': 'boolean'},
15172 'parent-interface-name': {'type': 'string'},
15173 'provider-address-id': {'type': 'string'},
15174 'provider-id': {'type': 'string'},
15175 'provider-space-id': {'type': 'string'},
15176 'provider-subnet-id': {'type': 'string'},
15177 'provider-vlan-id': {'type': 'string'},
15178 'vlan-tag': {'type': 'integer'}},
15179 'required': ['device-index',
15180 'mac-address',
15181 'cidr',
15182 'mtu',
15183 'provider-id',
15184 'provider-subnet-id',
15185 'provider-space-id',
15186 'provider-address-id',
15187 'provider-vlan-id',
15188 'vlan-tag',
15189 'interface-name',
15190 'parent-interface-name',
15191 'interface-type',
15192 'disabled'],
15193 'type': 'object'},
15194 'NotifyWatchResult': {'additionalProperties': False,
15195 'properties': {'NotifyWatcherId': {'type': 'string'},
15196 'error': {'$ref': '#/definitions/Error'}},
15197 'required': ['NotifyWatcherId'],
15198 'type': 'object'},
15199 'Number': {'additionalProperties': False,
15200 'properties': {'Build': {'type': 'integer'},
15201 'Major': {'type': 'integer'},
15202 'Minor': {'type': 'integer'},
15203 'Patch': {'type': 'integer'},
15204 'Tag': {'type': 'string'}},
15205 'required': ['Major',
15206 'Minor',
15207 'Tag',
15208 'Patch',
15209 'Build'],
15210 'type': 'object'},
15211 'ProvisioningInfo': {'additionalProperties': False,
15212 'properties': {'constraints': {'$ref': '#/definitions/Value'},
15213 'controller-config': {'patternProperties': {'.*': {'additionalProperties': True,
15214 'type': 'object'}},
15215 'type': 'object'},
15216 'endpoint-bindings': {'patternProperties': {'.*': {'type': 'string'}},
15217 'type': 'object'},
15218 'image-metadata': {'items': {'$ref': '#/definitions/CloudImageMetadata'},
15219 'type': 'array'},
15220 'jobs': {'items': {'type': 'string'},
15221 'type': 'array'},
15222 'placement': {'type': 'string'},
15223 'series': {'type': 'string'},
15224 'subnets-to-zones': {'patternProperties': {'.*': {'items': {'type': 'string'},
15225 'type': 'array'}},
15226 'type': 'object'},
15227 'tags': {'patternProperties': {'.*': {'type': 'string'}},
15228 'type': 'object'},
15229 'volumes': {'items': {'$ref': '#/definitions/VolumeParams'},
15230 'type': 'array'}},
15231 'required': ['constraints',
15232 'series',
15233 'placement',
15234 'jobs'],
15235 'type': 'object'},
15236 'ProvisioningInfoResult': {'additionalProperties': False,
15237 'properties': {'error': {'$ref': '#/definitions/Error'},
15238 'result': {'$ref': '#/definitions/ProvisioningInfo'}},
15239 'required': ['result'],
15240 'type': 'object'},
15241 'ProvisioningInfoResults': {'additionalProperties': False,
15242 'properties': {'results': {'items': {'$ref': '#/definitions/ProvisioningInfoResult'},
15243 'type': 'array'}},
15244 'required': ['results'],
15245 'type': 'object'},
15246 'SetStatus': {'additionalProperties': False,
15247 'properties': {'entities': {'items': {'$ref': '#/definitions/EntityStatusArgs'},
15248 'type': 'array'}},
15249 'required': ['entities'],
15250 'type': 'object'},
15251 'Settings': {'additionalProperties': False,
15252 'properties': {'Ftp': {'type': 'string'},
15253 'Http': {'type': 'string'},
15254 'Https': {'type': 'string'},
15255 'NoProxy': {'type': 'string'}},
15256 'required': ['Http', 'Https', 'Ftp', 'NoProxy'],
15257 'type': 'object'},
15258 'StatusResult': {'additionalProperties': False,
15259 'properties': {'data': {'patternProperties': {'.*': {'additionalProperties': True,
15260 'type': 'object'}},
15261 'type': 'object'},
15262 'error': {'$ref': '#/definitions/Error'},
15263 'id': {'type': 'string'},
15264 'info': {'type': 'string'},
15265 'life': {'type': 'string'},
15266 'since': {'format': 'date-time',
15267 'type': 'string'},
15268 'status': {'type': 'string'}},
15269 'required': ['id',
15270 'life',
15271 'status',
15272 'info',
15273 'data',
15274 'since'],
15275 'type': 'object'},
15276 'StatusResults': {'additionalProperties': False,
15277 'properties': {'results': {'items': {'$ref': '#/definitions/StatusResult'},
15278 'type': 'array'}},
15279 'required': ['results'],
15280 'type': 'object'},
15281 'StringResult': {'additionalProperties': False,
15282 'properties': {'error': {'$ref': '#/definitions/Error'},
15283 'result': {'type': 'string'}},
15284 'required': ['result'],
15285 'type': 'object'},
15286 'StringResults': {'additionalProperties': False,
15287 'properties': {'results': {'items': {'$ref': '#/definitions/StringResult'},
15288 'type': 'array'}},
15289 'required': ['results'],
15290 'type': 'object'},
15291 'StringsResult': {'additionalProperties': False,
15292 'properties': {'error': {'$ref': '#/definitions/Error'},
15293 'result': {'items': {'type': 'string'},
15294 'type': 'array'}},
15295 'type': 'object'},
15296 'StringsWatchResult': {'additionalProperties': False,
15297 'properties': {'changes': {'items': {'type': 'string'},
15298 'type': 'array'},
15299 'error': {'$ref': '#/definitions/Error'},
15300 'watcher-id': {'type': 'string'}},
15301 'required': ['watcher-id'],
15302 'type': 'object'},
15303 'StringsWatchResults': {'additionalProperties': False,
15304 'properties': {'results': {'items': {'$ref': '#/definitions/StringsWatchResult'},
15305 'type': 'array'}},
15306 'required': ['results'],
15307 'type': 'object'},
15308 'Tools': {'additionalProperties': False,
15309 'properties': {'sha256': {'type': 'string'},
15310 'size': {'type': 'integer'},
15311 'url': {'type': 'string'},
15312 'version': {'$ref': '#/definitions/Binary'}},
15313 'required': ['version', 'url', 'size'],
15314 'type': 'object'},
15315 'ToolsResult': {'additionalProperties': False,
15316 'properties': {'disable-ssl-hostname-verification': {'type': 'boolean'},
15317 'error': {'$ref': '#/definitions/Error'},
15318 'tools': {'items': {'$ref': '#/definitions/Tools'},
15319 'type': 'array'}},
15320 'required': ['tools',
15321 'disable-ssl-hostname-verification'],
15322 'type': 'object'},
15323 'ToolsResults': {'additionalProperties': False,
15324 'properties': {'results': {'items': {'$ref': '#/definitions/ToolsResult'},
15325 'type': 'array'}},
15326 'required': ['results'],
15327 'type': 'object'},
15328 'UpdateBehavior': {'additionalProperties': False,
15329 'properties': {'enable-os-refresh-update': {'type': 'boolean'},
15330 'enable-os-upgrade': {'type': 'boolean'}},
15331 'required': ['enable-os-refresh-update',
15332 'enable-os-upgrade'],
15333 'type': 'object'},
15334 'Value': {'additionalProperties': False,
15335 'properties': {'arch': {'type': 'string'},
15336 'container': {'type': 'string'},
15337 'cpu-cores': {'type': 'integer'},
15338 'cpu-power': {'type': 'integer'},
15339 'instance-type': {'type': 'string'},
15340 'mem': {'type': 'integer'},
15341 'root-disk': {'type': 'integer'},
15342 'spaces': {'items': {'type': 'string'},
15343 'type': 'array'},
15344 'tags': {'items': {'type': 'string'},
15345 'type': 'array'},
15346 'virt-type': {'type': 'string'}},
15347 'type': 'object'},
15348 'Volume': {'additionalProperties': False,
15349 'properties': {'info': {'$ref': '#/definitions/VolumeInfo'},
15350 'volume-tag': {'type': 'string'}},
15351 'required': ['volume-tag', 'info'],
15352 'type': 'object'},
15353 'VolumeAttachmentInfo': {'additionalProperties': False,
15354 'properties': {'bus-address': {'type': 'string'},
15355 'device-link': {'type': 'string'},
15356 'device-name': {'type': 'string'},
15357 'read-only': {'type': 'boolean'}},
15358 'type': 'object'},
15359 'VolumeAttachmentParams': {'additionalProperties': False,
15360 'properties': {'instance-id': {'type': 'string'},
15361 'machine-tag': {'type': 'string'},
15362 'provider': {'type': 'string'},
15363 'read-only': {'type': 'boolean'},
15364 'volume-id': {'type': 'string'},
15365 'volume-tag': {'type': 'string'}},
15366 'required': ['volume-tag',
15367 'machine-tag',
15368 'provider'],
15369 'type': 'object'},
15370 'VolumeInfo': {'additionalProperties': False,
15371 'properties': {'hardware-id': {'type': 'string'},
15372 'persistent': {'type': 'boolean'},
15373 'size': {'type': 'integer'},
15374 'volume-id': {'type': 'string'}},
15375 'required': ['volume-id', 'size', 'persistent'],
15376 'type': 'object'},
15377 'VolumeParams': {'additionalProperties': False,
15378 'properties': {'attachment': {'$ref': '#/definitions/VolumeAttachmentParams'},
15379 'attributes': {'patternProperties': {'.*': {'additionalProperties': True,
15380 'type': 'object'}},
15381 'type': 'object'},
15382 'provider': {'type': 'string'},
15383 'size': {'type': 'integer'},
15384 'tags': {'patternProperties': {'.*': {'type': 'string'}},
15385 'type': 'object'},
15386 'volume-tag': {'type': 'string'}},
15387 'required': ['volume-tag',
15388 'size',
15389 'provider'],
15390 'type': 'object'},
15391 'WatchContainer': {'additionalProperties': False,
15392 'properties': {'container-type': {'type': 'string'},
15393 'machine-tag': {'type': 'string'}},
15394 'required': ['machine-tag',
15395 'container-type'],
15396 'type': 'object'},
15397 'WatchContainers': {'additionalProperties': False,
15398 'properties': {'params': {'items': {'$ref': '#/definitions/WatchContainer'},
15399 'type': 'array'}},
15400 'required': ['params'],
15401 'type': 'object'}},
15402 'properties': {'APIAddresses': {'properties': {'Result': {'$ref': '#/definitions/StringsResult'}},
15403 'type': 'object'},
15404 'APIHostPorts': {'properties': {'Result': {'$ref': '#/definitions/APIHostPortsResult'}},
15405 'type': 'object'},
15406 'CACert': {'properties': {'Result': {'$ref': '#/definitions/BytesResult'}},
15407 'type': 'object'},
15408 'Constraints': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
15409 'Result': {'$ref': '#/definitions/ConstraintsResults'}},
15410 'type': 'object'},
15411 'ContainerConfig': {'properties': {'Result': {'$ref': '#/definitions/ContainerConfig'}},
15412 'type': 'object'},
15413 'ContainerManagerConfig': {'properties': {'Params': {'$ref': '#/definitions/ContainerManagerConfigParams'},
15414 'Result': {'$ref': '#/definitions/ContainerManagerConfig'}},
15415 'type': 'object'},
15416 'ControllerConfig': {'properties': {'Result': {'$ref': '#/definitions/ControllerConfigResult'}},
15417 'type': 'object'},
15418 'DistributionGroup': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
15419 'Result': {'$ref': '#/definitions/DistributionGroupResults'}},
15420 'type': 'object'},
15421 'EnsureDead': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
15422 'Result': {'$ref': '#/definitions/ErrorResults'}},
15423 'type': 'object'},
15424 'FindTools': {'properties': {'Params': {'$ref': '#/definitions/FindToolsParams'},
15425 'Result': {'$ref': '#/definitions/FindToolsResult'}},
15426 'type': 'object'},
15427 'GetContainerInterfaceInfo': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
15428 'Result': {'$ref': '#/definitions/MachineNetworkConfigResults'}},
15429 'type': 'object'},
15430 'InstanceId': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
15431 'Result': {'$ref': '#/definitions/StringResults'}},
15432 'type': 'object'},
15433 'InstanceStatus': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
15434 'Result': {'$ref': '#/definitions/StatusResults'}},
15435 'type': 'object'},
15436 'Life': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
15437 'Result': {'$ref': '#/definitions/LifeResults'}},
15438 'type': 'object'},
15439 'MachinesWithTransientErrors': {'properties': {'Result': {'$ref': '#/definitions/StatusResults'}},
15440 'type': 'object'},
15441 'MarkMachinesForRemoval': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
15442 'Result': {'$ref': '#/definitions/ErrorResults'}},
15443 'type': 'object'},
15444 'ModelConfig': {'properties': {'Result': {'$ref': '#/definitions/ModelConfigResult'}},
15445 'type': 'object'},
15446 'ModelUUID': {'properties': {'Result': {'$ref': '#/definitions/StringResult'}},
15447 'type': 'object'},
15448 'PrepareContainerInterfaceInfo': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
15449 'Result': {'$ref': '#/definitions/MachineNetworkConfigResults'}},
15450 'type': 'object'},
15451 'ProvisioningInfo': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
15452 'Result': {'$ref': '#/definitions/ProvisioningInfoResults'}},
15453 'type': 'object'},
15454 'ReleaseContainerAddresses': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
15455 'Result': {'$ref': '#/definitions/ErrorResults'}},
15456 'type': 'object'},
15457 'Remove': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
15458 'Result': {'$ref': '#/definitions/ErrorResults'}},
15459 'type': 'object'},
15460 'Series': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
15461 'Result': {'$ref': '#/definitions/StringResults'}},
15462 'type': 'object'},
15463 'SetInstanceInfo': {'properties': {'Params': {'$ref': '#/definitions/InstancesInfo'},
15464 'Result': {'$ref': '#/definitions/ErrorResults'}},
15465 'type': 'object'},
15466 'SetInstanceStatus': {'properties': {'Params': {'$ref': '#/definitions/SetStatus'},
15467 'Result': {'$ref': '#/definitions/ErrorResults'}},
15468 'type': 'object'},
15469 'SetPasswords': {'properties': {'Params': {'$ref': '#/definitions/EntityPasswords'},
15470 'Result': {'$ref': '#/definitions/ErrorResults'}},
15471 'type': 'object'},
15472 'SetStatus': {'properties': {'Params': {'$ref': '#/definitions/SetStatus'},
15473 'Result': {'$ref': '#/definitions/ErrorResults'}},
15474 'type': 'object'},
15475 'SetSupportedContainers': {'properties': {'Params': {'$ref': '#/definitions/MachineContainersParams'},
15476 'Result': {'$ref': '#/definitions/ErrorResults'}},
15477 'type': 'object'},
15478 'StateAddresses': {'properties': {'Result': {'$ref': '#/definitions/StringsResult'}},
15479 'type': 'object'},
15480 'Status': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
15481 'Result': {'$ref': '#/definitions/StatusResults'}},
15482 'type': 'object'},
15483 'Tools': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
15484 'Result': {'$ref': '#/definitions/ToolsResults'}},
15485 'type': 'object'},
15486 'UpdateStatus': {'properties': {'Params': {'$ref': '#/definitions/SetStatus'},
15487 'Result': {'$ref': '#/definitions/ErrorResults'}},
15488 'type': 'object'},
15489 'WatchAPIHostPorts': {'properties': {'Result': {'$ref': '#/definitions/NotifyWatchResult'}},
15490 'type': 'object'},
15491 'WatchAllContainers': {'properties': {'Params': {'$ref': '#/definitions/WatchContainers'},
15492 'Result': {'$ref': '#/definitions/StringsWatchResults'}},
15493 'type': 'object'},
15494 'WatchContainers': {'properties': {'Params': {'$ref': '#/definitions/WatchContainers'},
15495 'Result': {'$ref': '#/definitions/StringsWatchResults'}},
15496 'type': 'object'},
15497 'WatchForModelConfigChanges': {'properties': {'Result': {'$ref': '#/definitions/NotifyWatchResult'}},
15498 'type': 'object'},
15499 'WatchMachineErrorRetry': {'properties': {'Result': {'$ref': '#/definitions/NotifyWatchResult'}},
15500 'type': 'object'},
15501 'WatchModelMachines': {'properties': {'Result': {'$ref': '#/definitions/StringsWatchResult'}},
15502 'type': 'object'}},
15503 'type': 'object'}
15504
15505
15506 @ReturnMapping(StringsResult)
15507 async def APIAddresses(self):
15508 '''
15509
15510 Returns -> typing.Union[_ForwardRef('Error'), typing.Sequence<+T_co>[str]]
15511 '''
15512 # map input types to rpc msg
15513 params = dict()
15514 msg = dict(type='Provisioner', request='APIAddresses', version=3, params=params)
15515
15516 reply = await self.rpc(msg)
15517 return reply
15518
15519
15520
15521 @ReturnMapping(APIHostPortsResult)
15522 async def APIHostPorts(self):
15523 '''
15524
15525 Returns -> typing.Sequence<+T_co>[~HostPort]<~HostPort>
15526 '''
15527 # map input types to rpc msg
15528 params = dict()
15529 msg = dict(type='Provisioner', request='APIHostPorts', version=3, params=params)
15530
15531 reply = await self.rpc(msg)
15532 return reply
15533
15534
15535
15536 @ReturnMapping(BytesResult)
15537 async def CACert(self):
15538 '''
15539
15540 Returns -> typing.Sequence<+T_co>[int]
15541 '''
15542 # map input types to rpc msg
15543 params = dict()
15544 msg = dict(type='Provisioner', request='CACert', version=3, params=params)
15545
15546 reply = await self.rpc(msg)
15547 return reply
15548
15549
15550
15551 @ReturnMapping(ConstraintsResults)
15552 async def Constraints(self, entities):
15553 '''
15554 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
15555 Returns -> typing.Sequence<+T_co>[~ConstraintsResult]<~ConstraintsResult>
15556 '''
15557 # map input types to rpc msg
15558 params = dict()
15559 msg = dict(type='Provisioner', request='Constraints', version=3, params=params)
15560 params['entities'] = entities
15561 reply = await self.rpc(msg)
15562 return reply
15563
15564
15565
15566 @ReturnMapping(ContainerConfig)
15567 async def ContainerConfig(self):
15568 '''
15569
15570 Returns -> typing.Union[_ForwardRef('UpdateBehavior'), str, _ForwardRef('Settings'), _ForwardRef('Settings'), bool]
15571 '''
15572 # map input types to rpc msg
15573 params = dict()
15574 msg = dict(type='Provisioner', request='ContainerConfig', version=3, params=params)
15575
15576 reply = await self.rpc(msg)
15577 return reply
15578
15579
15580
15581 @ReturnMapping(ContainerManagerConfig)
15582 async def ContainerManagerConfig(self, type_):
15583 '''
15584 type_ : str
15585 Returns -> typing.Mapping<~KT, +VT_co>[str, str]
15586 '''
15587 # map input types to rpc msg
15588 params = dict()
15589 msg = dict(type='Provisioner', request='ContainerManagerConfig', version=3, params=params)
15590 params['type'] = type_
15591 reply = await self.rpc(msg)
15592 return reply
15593
15594
15595
15596 @ReturnMapping(ControllerConfigResult)
15597 async def ControllerConfig(self):
15598 '''
15599
15600 Returns -> typing.Mapping<~KT, +VT_co>[str, typing.Any]
15601 '''
15602 # map input types to rpc msg
15603 params = dict()
15604 msg = dict(type='Provisioner', request='ControllerConfig', version=3, params=params)
15605
15606 reply = await self.rpc(msg)
15607 return reply
15608
15609
15610
15611 @ReturnMapping(DistributionGroupResults)
15612 async def DistributionGroup(self, entities):
15613 '''
15614 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
15615 Returns -> typing.Sequence<+T_co>[~DistributionGroupResult]<~DistributionGroupResult>
15616 '''
15617 # map input types to rpc msg
15618 params = dict()
15619 msg = dict(type='Provisioner', request='DistributionGroup', version=3, params=params)
15620 params['entities'] = entities
15621 reply = await self.rpc(msg)
15622 return reply
15623
15624
15625
15626 @ReturnMapping(ErrorResults)
15627 async def EnsureDead(self, entities):
15628 '''
15629 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
15630 Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult>
15631 '''
15632 # map input types to rpc msg
15633 params = dict()
15634 msg = dict(type='Provisioner', request='EnsureDead', version=3, params=params)
15635 params['entities'] = entities
15636 reply = await self.rpc(msg)
15637 return reply
15638
15639
15640
15641 @ReturnMapping(FindToolsResult)
15642 async def FindTools(self, arch, major, minor, number, series):
15643 '''
15644 arch : str
15645 major : int
15646 minor : int
15647 number : Number
15648 series : str
15649 Returns -> typing.Union[_ForwardRef('Error'), typing.Sequence<+T_co>[~Tools]<~Tools>]
15650 '''
15651 # map input types to rpc msg
15652 params = dict()
15653 msg = dict(type='Provisioner', request='FindTools', version=3, params=params)
15654 params['arch'] = arch
15655 params['major'] = major
15656 params['minor'] = minor
15657 params['number'] = number
15658 params['series'] = series
15659 reply = await self.rpc(msg)
15660 return reply
15661
15662
15663
15664 @ReturnMapping(MachineNetworkConfigResults)
15665 async def GetContainerInterfaceInfo(self, entities):
15666 '''
15667 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
15668 Returns -> typing.Sequence<+T_co>[~MachineNetworkConfigResult]<~MachineNetworkConfigResult>
15669 '''
15670 # map input types to rpc msg
15671 params = dict()
15672 msg = dict(type='Provisioner', request='GetContainerInterfaceInfo', version=3, params=params)
15673 params['entities'] = entities
15674 reply = await self.rpc(msg)
15675 return reply
15676
15677
15678
15679 @ReturnMapping(StringResults)
15680 async def InstanceId(self, entities):
15681 '''
15682 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
15683 Returns -> typing.Sequence<+T_co>[~StringResult]<~StringResult>
15684 '''
15685 # map input types to rpc msg
15686 params = dict()
15687 msg = dict(type='Provisioner', request='InstanceId', version=3, params=params)
15688 params['entities'] = entities
15689 reply = await self.rpc(msg)
15690 return reply
15691
15692
15693
15694 @ReturnMapping(StatusResults)
15695 async def InstanceStatus(self, entities):
15696 '''
15697 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
15698 Returns -> typing.Sequence<+T_co>[~StatusResult]<~StatusResult>
15699 '''
15700 # map input types to rpc msg
15701 params = dict()
15702 msg = dict(type='Provisioner', request='InstanceStatus', version=3, params=params)
15703 params['entities'] = entities
15704 reply = await self.rpc(msg)
15705 return reply
15706
15707
15708
15709 @ReturnMapping(LifeResults)
15710 async def Life(self, entities):
15711 '''
15712 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
15713 Returns -> typing.Sequence<+T_co>[~LifeResult]<~LifeResult>
15714 '''
15715 # map input types to rpc msg
15716 params = dict()
15717 msg = dict(type='Provisioner', request='Life', version=3, params=params)
15718 params['entities'] = entities
15719 reply = await self.rpc(msg)
15720 return reply
15721
15722
15723
15724 @ReturnMapping(StatusResults)
15725 async def MachinesWithTransientErrors(self):
15726 '''
15727
15728 Returns -> typing.Sequence<+T_co>[~StatusResult]<~StatusResult>
15729 '''
15730 # map input types to rpc msg
15731 params = dict()
15732 msg = dict(type='Provisioner', request='MachinesWithTransientErrors', version=3, params=params)
15733
15734 reply = await self.rpc(msg)
15735 return reply
15736
15737
15738
15739 @ReturnMapping(ErrorResults)
15740 async def MarkMachinesForRemoval(self, entities):
15741 '''
15742 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
15743 Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult>
15744 '''
15745 # map input types to rpc msg
15746 params = dict()
15747 msg = dict(type='Provisioner', request='MarkMachinesForRemoval', version=3, params=params)
15748 params['entities'] = entities
15749 reply = await self.rpc(msg)
15750 return reply
15751
15752
15753
15754 @ReturnMapping(ModelConfigResult)
15755 async def ModelConfig(self):
15756 '''
15757
15758 Returns -> typing.Mapping<~KT, +VT_co>[str, typing.Any]
15759 '''
15760 # map input types to rpc msg
15761 params = dict()
15762 msg = dict(type='Provisioner', request='ModelConfig', version=3, params=params)
15763
15764 reply = await self.rpc(msg)
15765 return reply
15766
15767
15768
15769 @ReturnMapping(StringResult)
15770 async def ModelUUID(self):
15771 '''
15772
15773 Returns -> typing.Union[_ForwardRef('Error'), str]
15774 '''
15775 # map input types to rpc msg
15776 params = dict()
15777 msg = dict(type='Provisioner', request='ModelUUID', version=3, params=params)
15778
15779 reply = await self.rpc(msg)
15780 return reply
15781
15782
15783
15784 @ReturnMapping(MachineNetworkConfigResults)
15785 async def PrepareContainerInterfaceInfo(self, entities):
15786 '''
15787 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
15788 Returns -> typing.Sequence<+T_co>[~MachineNetworkConfigResult]<~MachineNetworkConfigResult>
15789 '''
15790 # map input types to rpc msg
15791 params = dict()
15792 msg = dict(type='Provisioner', request='PrepareContainerInterfaceInfo', version=3, params=params)
15793 params['entities'] = entities
15794 reply = await self.rpc(msg)
15795 return reply
15796
15797
15798
15799 @ReturnMapping(ProvisioningInfoResults)
15800 async def ProvisioningInfo(self, entities):
15801 '''
15802 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
15803 Returns -> typing.Sequence<+T_co>[~ProvisioningInfoResult]<~ProvisioningInfoResult>
15804 '''
15805 # map input types to rpc msg
15806 params = dict()
15807 msg = dict(type='Provisioner', request='ProvisioningInfo', version=3, params=params)
15808 params['entities'] = entities
15809 reply = await self.rpc(msg)
15810 return reply
15811
15812
15813
15814 @ReturnMapping(ErrorResults)
15815 async def ReleaseContainerAddresses(self, entities):
15816 '''
15817 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
15818 Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult>
15819 '''
15820 # map input types to rpc msg
15821 params = dict()
15822 msg = dict(type='Provisioner', request='ReleaseContainerAddresses', version=3, params=params)
15823 params['entities'] = entities
15824 reply = await self.rpc(msg)
15825 return reply
15826
15827
15828
15829 @ReturnMapping(ErrorResults)
15830 async def Remove(self, entities):
15831 '''
15832 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
15833 Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult>
15834 '''
15835 # map input types to rpc msg
15836 params = dict()
15837 msg = dict(type='Provisioner', request='Remove', version=3, params=params)
15838 params['entities'] = entities
15839 reply = await self.rpc(msg)
15840 return reply
15841
15842
15843
15844 @ReturnMapping(StringResults)
15845 async def Series(self, entities):
15846 '''
15847 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
15848 Returns -> typing.Sequence<+T_co>[~StringResult]<~StringResult>
15849 '''
15850 # map input types to rpc msg
15851 params = dict()
15852 msg = dict(type='Provisioner', request='Series', version=3, params=params)
15853 params['entities'] = entities
15854 reply = await self.rpc(msg)
15855 return reply
15856
15857
15858
15859 @ReturnMapping(ErrorResults)
15860 async def SetInstanceInfo(self, machines):
15861 '''
15862 machines : typing.Sequence<+T_co>[~InstanceInfo]<~InstanceInfo>
15863 Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult>
15864 '''
15865 # map input types to rpc msg
15866 params = dict()
15867 msg = dict(type='Provisioner', request='SetInstanceInfo', version=3, params=params)
15868 params['machines'] = machines
15869 reply = await self.rpc(msg)
15870 return reply
15871
15872
15873
15874 @ReturnMapping(ErrorResults)
15875 async def SetInstanceStatus(self, entities):
15876 '''
15877 entities : typing.Sequence<+T_co>[~EntityStatusArgs]<~EntityStatusArgs>
15878 Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult>
15879 '''
15880 # map input types to rpc msg
15881 params = dict()
15882 msg = dict(type='Provisioner', request='SetInstanceStatus', version=3, params=params)
15883 params['entities'] = entities
15884 reply = await self.rpc(msg)
15885 return reply
15886
15887
15888
15889 @ReturnMapping(ErrorResults)
15890 async def SetPasswords(self, changes):
15891 '''
15892 changes : typing.Sequence<+T_co>[~EntityPassword]<~EntityPassword>
15893 Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult>
15894 '''
15895 # map input types to rpc msg
15896 params = dict()
15897 msg = dict(type='Provisioner', request='SetPasswords', version=3, params=params)
15898 params['changes'] = changes
15899 reply = await self.rpc(msg)
15900 return reply
15901
15902
15903
15904 @ReturnMapping(ErrorResults)
15905 async def SetStatus(self, entities):
15906 '''
15907 entities : typing.Sequence<+T_co>[~EntityStatusArgs]<~EntityStatusArgs>
15908 Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult>
15909 '''
15910 # map input types to rpc msg
15911 params = dict()
15912 msg = dict(type='Provisioner', request='SetStatus', version=3, params=params)
15913 params['entities'] = entities
15914 reply = await self.rpc(msg)
15915 return reply
15916
15917
15918
15919 @ReturnMapping(ErrorResults)
15920 async def SetSupportedContainers(self, params):
15921 '''
15922 params : typing.Sequence<+T_co>[~MachineContainers]<~MachineContainers>
15923 Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult>
15924 '''
15925 # map input types to rpc msg
15926 params = dict()
15927 msg = dict(type='Provisioner', request='SetSupportedContainers', version=3, params=params)
15928 params['params'] = params
15929 reply = await self.rpc(msg)
15930 return reply
15931
15932
15933
15934 @ReturnMapping(StringsResult)
15935 async def StateAddresses(self):
15936 '''
15937
15938 Returns -> typing.Union[_ForwardRef('Error'), typing.Sequence<+T_co>[str]]
15939 '''
15940 # map input types to rpc msg
15941 params = dict()
15942 msg = dict(type='Provisioner', request='StateAddresses', version=3, params=params)
15943
15944 reply = await self.rpc(msg)
15945 return reply
15946
15947
15948
15949 @ReturnMapping(StatusResults)
15950 async def Status(self, entities):
15951 '''
15952 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
15953 Returns -> typing.Sequence<+T_co>[~StatusResult]<~StatusResult>
15954 '''
15955 # map input types to rpc msg
15956 params = dict()
15957 msg = dict(type='Provisioner', request='Status', version=3, params=params)
15958 params['entities'] = entities
15959 reply = await self.rpc(msg)
15960 return reply
15961
15962
15963
15964 @ReturnMapping(ToolsResults)
15965 async def Tools(self, entities):
15966 '''
15967 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
15968 Returns -> typing.Sequence<+T_co>[~ToolsResult]<~ToolsResult>
15969 '''
15970 # map input types to rpc msg
15971 params = dict()
15972 msg = dict(type='Provisioner', request='Tools', version=3, params=params)
15973 params['entities'] = entities
15974 reply = await self.rpc(msg)
15975 return reply
15976
15977
15978
15979 @ReturnMapping(ErrorResults)
15980 async def UpdateStatus(self, entities):
15981 '''
15982 entities : typing.Sequence<+T_co>[~EntityStatusArgs]<~EntityStatusArgs>
15983 Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult>
15984 '''
15985 # map input types to rpc msg
15986 params = dict()
15987 msg = dict(type='Provisioner', request='UpdateStatus', version=3, params=params)
15988 params['entities'] = entities
15989 reply = await self.rpc(msg)
15990 return reply
15991
15992
15993
15994 @ReturnMapping(NotifyWatchResult)
15995 async def WatchAPIHostPorts(self):
15996 '''
15997
15998 Returns -> typing.Union[str, _ForwardRef('Error')]
15999 '''
16000 # map input types to rpc msg
16001 params = dict()
16002 msg = dict(type='Provisioner', request='WatchAPIHostPorts', version=3, params=params)
16003
16004 reply = await self.rpc(msg)
16005 return reply
16006
16007
16008
16009 @ReturnMapping(StringsWatchResults)
16010 async def WatchAllContainers(self, params):
16011 '''
16012 params : typing.Sequence<+T_co>[~WatchContainer]<~WatchContainer>
16013 Returns -> typing.Sequence<+T_co>[~StringsWatchResult]<~StringsWatchResult>
16014 '''
16015 # map input types to rpc msg
16016 params = dict()
16017 msg = dict(type='Provisioner', request='WatchAllContainers', version=3, params=params)
16018 params['params'] = params
16019 reply = await self.rpc(msg)
16020 return reply
16021
16022
16023
16024 @ReturnMapping(StringsWatchResults)
16025 async def WatchContainers(self, params):
16026 '''
16027 params : typing.Sequence<+T_co>[~WatchContainer]<~WatchContainer>
16028 Returns -> typing.Sequence<+T_co>[~StringsWatchResult]<~StringsWatchResult>
16029 '''
16030 # map input types to rpc msg
16031 params = dict()
16032 msg = dict(type='Provisioner', request='WatchContainers', version=3, params=params)
16033 params['params'] = params
16034 reply = await self.rpc(msg)
16035 return reply
16036
16037
16038
16039 @ReturnMapping(NotifyWatchResult)
16040 async def WatchForModelConfigChanges(self):
16041 '''
16042
16043 Returns -> typing.Union[str, _ForwardRef('Error')]
16044 '''
16045 # map input types to rpc msg
16046 params = dict()
16047 msg = dict(type='Provisioner', request='WatchForModelConfigChanges', version=3, params=params)
16048
16049 reply = await self.rpc(msg)
16050 return reply
16051
16052
16053
16054 @ReturnMapping(NotifyWatchResult)
16055 async def WatchMachineErrorRetry(self):
16056 '''
16057
16058 Returns -> typing.Union[str, _ForwardRef('Error')]
16059 '''
16060 # map input types to rpc msg
16061 params = dict()
16062 msg = dict(type='Provisioner', request='WatchMachineErrorRetry', version=3, params=params)
16063
16064 reply = await self.rpc(msg)
16065 return reply
16066
16067
16068
16069 @ReturnMapping(StringsWatchResult)
16070 async def WatchModelMachines(self):
16071 '''
16072
16073 Returns -> typing.Union[typing.Sequence<+T_co>[str], _ForwardRef('Error')]
16074 '''
16075 # map input types to rpc msg
16076 params = dict()
16077 msg = dict(type='Provisioner', request='WatchModelMachines', version=3, params=params)
16078
16079 reply = await self.rpc(msg)
16080 return reply
16081
16082
16083 class ProxyUpdaterFacade(Type):
16084 name = 'ProxyUpdater'
16085 version = 1
16086 schema = {'definitions': {'Entities': {'additionalProperties': False,
16087 'properties': {'entities': {'items': {'$ref': '#/definitions/Entity'},
16088 'type': 'array'}},
16089 'required': ['entities'],
16090 'type': 'object'},
16091 'Entity': {'additionalProperties': False,
16092 'properties': {'tag': {'type': 'string'}},
16093 'required': ['tag'],
16094 'type': 'object'},
16095 'Error': {'additionalProperties': False,
16096 'properties': {'code': {'type': 'string'},
16097 'info': {'$ref': '#/definitions/ErrorInfo'},
16098 'message': {'type': 'string'}},
16099 'required': ['message', 'code'],
16100 'type': 'object'},
16101 'ErrorInfo': {'additionalProperties': False,
16102 'properties': {'macaroon': {'$ref': '#/definitions/Macaroon'},
16103 'macaroon-path': {'type': 'string'}},
16104 'type': 'object'},
16105 'Macaroon': {'additionalProperties': False, 'type': 'object'},
16106 'NotifyWatchResult': {'additionalProperties': False,
16107 'properties': {'NotifyWatcherId': {'type': 'string'},
16108 'error': {'$ref': '#/definitions/Error'}},
16109 'required': ['NotifyWatcherId'],
16110 'type': 'object'},
16111 'NotifyWatchResults': {'additionalProperties': False,
16112 'properties': {'results': {'items': {'$ref': '#/definitions/NotifyWatchResult'},
16113 'type': 'array'}},
16114 'required': ['results'],
16115 'type': 'object'},
16116 'ProxyConfig': {'additionalProperties': False,
16117 'properties': {'ftp': {'type': 'string'},
16118 'http': {'type': 'string'},
16119 'https': {'type': 'string'},
16120 'no-proxy': {'type': 'string'}},
16121 'required': ['http',
16122 'https',
16123 'ftp',
16124 'no-proxy'],
16125 'type': 'object'},
16126 'ProxyConfigResult': {'additionalProperties': False,
16127 'properties': {'apt-proxy-settings': {'$ref': '#/definitions/ProxyConfig'},
16128 'error': {'$ref': '#/definitions/Error'},
16129 'proxy-settings': {'$ref': '#/definitions/ProxyConfig'}},
16130 'required': ['proxy-settings',
16131 'apt-proxy-settings'],
16132 'type': 'object'},
16133 'ProxyConfigResults': {'additionalProperties': False,
16134 'properties': {'results': {'items': {'$ref': '#/definitions/ProxyConfigResult'},
16135 'type': 'array'}},
16136 'required': ['results'],
16137 'type': 'object'}},
16138 'properties': {'ProxyConfig': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
16139 'Result': {'$ref': '#/definitions/ProxyConfigResults'}},
16140 'type': 'object'},
16141 'WatchForProxyConfigAndAPIHostPortChanges': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
16142 'Result': {'$ref': '#/definitions/NotifyWatchResults'}},
16143 'type': 'object'}},
16144 'type': 'object'}
16145
16146
16147 @ReturnMapping(ProxyConfigResults)
16148 async def ProxyConfig(self, entities):
16149 '''
16150 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
16151 Returns -> typing.Sequence<+T_co>[~ProxyConfigResult]<~ProxyConfigResult>
16152 '''
16153 # map input types to rpc msg
16154 params = dict()
16155 msg = dict(type='ProxyUpdater', request='ProxyConfig', version=1, params=params)
16156 params['entities'] = entities
16157 reply = await self.rpc(msg)
16158 return reply
16159
16160
16161
16162 @ReturnMapping(NotifyWatchResults)
16163 async def WatchForProxyConfigAndAPIHostPortChanges(self, entities):
16164 '''
16165 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
16166 Returns -> typing.Sequence<+T_co>[~NotifyWatchResult]<~NotifyWatchResult>
16167 '''
16168 # map input types to rpc msg
16169 params = dict()
16170 msg = dict(type='ProxyUpdater', request='WatchForProxyConfigAndAPIHostPortChanges', version=1, params=params)
16171 params['entities'] = entities
16172 reply = await self.rpc(msg)
16173 return reply
16174
16175
16176 class RebootFacade(Type):
16177 name = 'Reboot'
16178 version = 2
16179 schema = {'definitions': {'Entities': {'additionalProperties': False,
16180 'properties': {'entities': {'items': {'$ref': '#/definitions/Entity'},
16181 'type': 'array'}},
16182 'required': ['entities'],
16183 'type': 'object'},
16184 'Entity': {'additionalProperties': False,
16185 'properties': {'tag': {'type': 'string'}},
16186 'required': ['tag'],
16187 'type': 'object'},
16188 'Error': {'additionalProperties': False,
16189 'properties': {'code': {'type': 'string'},
16190 'info': {'$ref': '#/definitions/ErrorInfo'},
16191 'message': {'type': 'string'}},
16192 'required': ['message', 'code'],
16193 'type': 'object'},
16194 'ErrorInfo': {'additionalProperties': False,
16195 'properties': {'macaroon': {'$ref': '#/definitions/Macaroon'},
16196 'macaroon-path': {'type': 'string'}},
16197 'type': 'object'},
16198 'ErrorResult': {'additionalProperties': False,
16199 'properties': {'error': {'$ref': '#/definitions/Error'}},
16200 'type': 'object'},
16201 'ErrorResults': {'additionalProperties': False,
16202 'properties': {'results': {'items': {'$ref': '#/definitions/ErrorResult'},
16203 'type': 'array'}},
16204 'required': ['results'],
16205 'type': 'object'},
16206 'Macaroon': {'additionalProperties': False, 'type': 'object'},
16207 'NotifyWatchResult': {'additionalProperties': False,
16208 'properties': {'NotifyWatcherId': {'type': 'string'},
16209 'error': {'$ref': '#/definitions/Error'}},
16210 'required': ['NotifyWatcherId'],
16211 'type': 'object'},
16212 'RebootActionResult': {'additionalProperties': False,
16213 'properties': {'error': {'$ref': '#/definitions/Error'},
16214 'result': {'type': 'string'}},
16215 'type': 'object'},
16216 'RebootActionResults': {'additionalProperties': False,
16217 'properties': {'results': {'items': {'$ref': '#/definitions/RebootActionResult'},
16218 'type': 'array'}},
16219 'type': 'object'}},
16220 'properties': {'ClearReboot': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
16221 'Result': {'$ref': '#/definitions/ErrorResults'}},
16222 'type': 'object'},
16223 'GetRebootAction': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
16224 'Result': {'$ref': '#/definitions/RebootActionResults'}},
16225 'type': 'object'},
16226 'RequestReboot': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
16227 'Result': {'$ref': '#/definitions/ErrorResults'}},
16228 'type': 'object'},
16229 'WatchForRebootEvent': {'properties': {'Result': {'$ref': '#/definitions/NotifyWatchResult'}},
16230 'type': 'object'}},
16231 'type': 'object'}
16232
16233
16234 @ReturnMapping(ErrorResults)
16235 async def ClearReboot(self, entities):
16236 '''
16237 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
16238 Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult>
16239 '''
16240 # map input types to rpc msg
16241 params = dict()
16242 msg = dict(type='Reboot', request='ClearReboot', version=2, params=params)
16243 params['entities'] = entities
16244 reply = await self.rpc(msg)
16245 return reply
16246
16247
16248
16249 @ReturnMapping(RebootActionResults)
16250 async def GetRebootAction(self, entities):
16251 '''
16252 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
16253 Returns -> typing.Sequence<+T_co>[~RebootActionResult]<~RebootActionResult>
16254 '''
16255 # map input types to rpc msg
16256 params = dict()
16257 msg = dict(type='Reboot', request='GetRebootAction', version=2, params=params)
16258 params['entities'] = entities
16259 reply = await self.rpc(msg)
16260 return reply
16261
16262
16263
16264 @ReturnMapping(ErrorResults)
16265 async def RequestReboot(self, entities):
16266 '''
16267 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
16268 Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult>
16269 '''
16270 # map input types to rpc msg
16271 params = dict()
16272 msg = dict(type='Reboot', request='RequestReboot', version=2, params=params)
16273 params['entities'] = entities
16274 reply = await self.rpc(msg)
16275 return reply
16276
16277
16278
16279 @ReturnMapping(NotifyWatchResult)
16280 async def WatchForRebootEvent(self):
16281 '''
16282
16283 Returns -> typing.Union[str, _ForwardRef('Error')]
16284 '''
16285 # map input types to rpc msg
16286 params = dict()
16287 msg = dict(type='Reboot', request='WatchForRebootEvent', version=2, params=params)
16288
16289 reply = await self.rpc(msg)
16290 return reply
16291
16292
16293 class RelationUnitsWatcherFacade(Type):
16294 name = 'RelationUnitsWatcher'
16295 version = 1
16296 schema = {'definitions': {'Error': {'additionalProperties': False,
16297 'properties': {'code': {'type': 'string'},
16298 'info': {'$ref': '#/definitions/ErrorInfo'},
16299 'message': {'type': 'string'}},
16300 'required': ['message', 'code'],
16301 'type': 'object'},
16302 'ErrorInfo': {'additionalProperties': False,
16303 'properties': {'macaroon': {'$ref': '#/definitions/Macaroon'},
16304 'macaroon-path': {'type': 'string'}},
16305 'type': 'object'},
16306 'Macaroon': {'additionalProperties': False, 'type': 'object'},
16307 'RelationUnitsChange': {'additionalProperties': False,
16308 'properties': {'changed': {'patternProperties': {'.*': {'$ref': '#/definitions/UnitSettings'}},
16309 'type': 'object'},
16310 'departed': {'items': {'type': 'string'},
16311 'type': 'array'}},
16312 'required': ['changed'],
16313 'type': 'object'},
16314 'RelationUnitsWatchResult': {'additionalProperties': False,
16315 'properties': {'changes': {'$ref': '#/definitions/RelationUnitsChange'},
16316 'error': {'$ref': '#/definitions/Error'},
16317 'watcher-id': {'type': 'string'}},
16318 'required': ['watcher-id',
16319 'changes'],
16320 'type': 'object'},
16321 'UnitSettings': {'additionalProperties': False,
16322 'properties': {'version': {'type': 'integer'}},
16323 'required': ['version'],
16324 'type': 'object'}},
16325 'properties': {'Next': {'properties': {'Result': {'$ref': '#/definitions/RelationUnitsWatchResult'}},
16326 'type': 'object'},
16327 'Stop': {'type': 'object'}},
16328 'type': 'object'}
16329
16330
16331 @ReturnMapping(RelationUnitsWatchResult)
16332 async def Next(self):
16333 '''
16334
16335 Returns -> typing.Union[_ForwardRef('RelationUnitsChange'), _ForwardRef('Error'), str]
16336 '''
16337 # map input types to rpc msg
16338 params = dict()
16339 msg = dict(type='RelationUnitsWatcher', request='Next', version=1, params=params)
16340
16341 reply = await self.rpc(msg)
16342 return reply
16343
16344
16345
16346 @ReturnMapping(None)
16347 async def Stop(self):
16348 '''
16349
16350 Returns -> None
16351 '''
16352 # map input types to rpc msg
16353 params = dict()
16354 msg = dict(type='RelationUnitsWatcher', request='Stop', version=1, params=params)
16355
16356 reply = await self.rpc(msg)
16357 return reply
16358
16359
16360 class ResumerFacade(Type):
16361 name = 'Resumer'
16362 version = 2
16363 schema = {'properties': {'ResumeTransactions': {'type': 'object'}}, 'type': 'object'}
16364
16365
16366 @ReturnMapping(None)
16367 async def ResumeTransactions(self):
16368 '''
16369
16370 Returns -> None
16371 '''
16372 # map input types to rpc msg
16373 params = dict()
16374 msg = dict(type='Resumer', request='ResumeTransactions', version=2, params=params)
16375
16376 reply = await self.rpc(msg)
16377 return reply
16378
16379
16380 class RetryStrategyFacade(Type):
16381 name = 'RetryStrategy'
16382 version = 1
16383 schema = {'definitions': {'Entities': {'additionalProperties': False,
16384 'properties': {'entities': {'items': {'$ref': '#/definitions/Entity'},
16385 'type': 'array'}},
16386 'required': ['entities'],
16387 'type': 'object'},
16388 'Entity': {'additionalProperties': False,
16389 'properties': {'tag': {'type': 'string'}},
16390 'required': ['tag'],
16391 'type': 'object'},
16392 'Error': {'additionalProperties': False,
16393 'properties': {'code': {'type': 'string'},
16394 'info': {'$ref': '#/definitions/ErrorInfo'},
16395 'message': {'type': 'string'}},
16396 'required': ['message', 'code'],
16397 'type': 'object'},
16398 'ErrorInfo': {'additionalProperties': False,
16399 'properties': {'macaroon': {'$ref': '#/definitions/Macaroon'},
16400 'macaroon-path': {'type': 'string'}},
16401 'type': 'object'},
16402 'Macaroon': {'additionalProperties': False, 'type': 'object'},
16403 'NotifyWatchResult': {'additionalProperties': False,
16404 'properties': {'NotifyWatcherId': {'type': 'string'},
16405 'error': {'$ref': '#/definitions/Error'}},
16406 'required': ['NotifyWatcherId'],
16407 'type': 'object'},
16408 'NotifyWatchResults': {'additionalProperties': False,
16409 'properties': {'results': {'items': {'$ref': '#/definitions/NotifyWatchResult'},
16410 'type': 'array'}},
16411 'required': ['results'],
16412 'type': 'object'},
16413 'RetryStrategy': {'additionalProperties': False,
16414 'properties': {'jitter-retry-time': {'type': 'boolean'},
16415 'max-retry-time': {'type': 'integer'},
16416 'min-retry-time': {'type': 'integer'},
16417 'retry-time-factor': {'type': 'integer'},
16418 'should-retry': {'type': 'boolean'}},
16419 'required': ['should-retry',
16420 'min-retry-time',
16421 'max-retry-time',
16422 'jitter-retry-time',
16423 'retry-time-factor'],
16424 'type': 'object'},
16425 'RetryStrategyResult': {'additionalProperties': False,
16426 'properties': {'error': {'$ref': '#/definitions/Error'},
16427 'result': {'$ref': '#/definitions/RetryStrategy'}},
16428 'type': 'object'},
16429 'RetryStrategyResults': {'additionalProperties': False,
16430 'properties': {'results': {'items': {'$ref': '#/definitions/RetryStrategyResult'},
16431 'type': 'array'}},
16432 'required': ['results'],
16433 'type': 'object'}},
16434 'properties': {'RetryStrategy': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
16435 'Result': {'$ref': '#/definitions/RetryStrategyResults'}},
16436 'type': 'object'},
16437 'WatchRetryStrategy': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
16438 'Result': {'$ref': '#/definitions/NotifyWatchResults'}},
16439 'type': 'object'}},
16440 'type': 'object'}
16441
16442
16443 @ReturnMapping(RetryStrategyResults)
16444 async def RetryStrategy(self, entities):
16445 '''
16446 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
16447 Returns -> typing.Sequence<+T_co>[~RetryStrategyResult]<~RetryStrategyResult>
16448 '''
16449 # map input types to rpc msg
16450 params = dict()
16451 msg = dict(type='RetryStrategy', request='RetryStrategy', version=1, params=params)
16452 params['entities'] = entities
16453 reply = await self.rpc(msg)
16454 return reply
16455
16456
16457
16458 @ReturnMapping(NotifyWatchResults)
16459 async def WatchRetryStrategy(self, entities):
16460 '''
16461 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
16462 Returns -> typing.Sequence<+T_co>[~NotifyWatchResult]<~NotifyWatchResult>
16463 '''
16464 # map input types to rpc msg
16465 params = dict()
16466 msg = dict(type='RetryStrategy', request='WatchRetryStrategy', version=1, params=params)
16467 params['entities'] = entities
16468 reply = await self.rpc(msg)
16469 return reply
16470
16471
16472 class SSHClientFacade(Type):
16473 name = 'SSHClient'
16474 version = 1
16475 schema = {'definitions': {'Entities': {'additionalProperties': False,
16476 'properties': {'entities': {'items': {'$ref': '#/definitions/Entity'},
16477 'type': 'array'}},
16478 'required': ['entities'],
16479 'type': 'object'},
16480 'Entity': {'additionalProperties': False,
16481 'properties': {'tag': {'type': 'string'}},
16482 'required': ['tag'],
16483 'type': 'object'},
16484 'Error': {'additionalProperties': False,
16485 'properties': {'code': {'type': 'string'},
16486 'info': {'$ref': '#/definitions/ErrorInfo'},
16487 'message': {'type': 'string'}},
16488 'required': ['message', 'code'],
16489 'type': 'object'},
16490 'ErrorInfo': {'additionalProperties': False,
16491 'properties': {'macaroon': {'$ref': '#/definitions/Macaroon'},
16492 'macaroon-path': {'type': 'string'}},
16493 'type': 'object'},
16494 'Macaroon': {'additionalProperties': False, 'type': 'object'},
16495 'SSHAddressResult': {'additionalProperties': False,
16496 'properties': {'address': {'type': 'string'},
16497 'error': {'$ref': '#/definitions/Error'}},
16498 'type': 'object'},
16499 'SSHAddressResults': {'additionalProperties': False,
16500 'properties': {'results': {'items': {'$ref': '#/definitions/SSHAddressResult'},
16501 'type': 'array'}},
16502 'required': ['results'],
16503 'type': 'object'},
16504 'SSHProxyResult': {'additionalProperties': False,
16505 'properties': {'use-proxy': {'type': 'boolean'}},
16506 'required': ['use-proxy'],
16507 'type': 'object'},
16508 'SSHPublicKeysResult': {'additionalProperties': False,
16509 'properties': {'error': {'$ref': '#/definitions/Error'},
16510 'public-keys': {'items': {'type': 'string'},
16511 'type': 'array'}},
16512 'type': 'object'},
16513 'SSHPublicKeysResults': {'additionalProperties': False,
16514 'properties': {'results': {'items': {'$ref': '#/definitions/SSHPublicKeysResult'},
16515 'type': 'array'}},
16516 'required': ['results'],
16517 'type': 'object'}},
16518 'properties': {'PrivateAddress': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
16519 'Result': {'$ref': '#/definitions/SSHAddressResults'}},
16520 'type': 'object'},
16521 'Proxy': {'properties': {'Result': {'$ref': '#/definitions/SSHProxyResult'}},
16522 'type': 'object'},
16523 'PublicAddress': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
16524 'Result': {'$ref': '#/definitions/SSHAddressResults'}},
16525 'type': 'object'},
16526 'PublicKeys': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
16527 'Result': {'$ref': '#/definitions/SSHPublicKeysResults'}},
16528 'type': 'object'}},
16529 'type': 'object'}
16530
16531
16532 @ReturnMapping(SSHAddressResults)
16533 async def PrivateAddress(self, entities):
16534 '''
16535 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
16536 Returns -> typing.Sequence<+T_co>[~SSHAddressResult]<~SSHAddressResult>
16537 '''
16538 # map input types to rpc msg
16539 params = dict()
16540 msg = dict(type='SSHClient', request='PrivateAddress', version=1, params=params)
16541 params['entities'] = entities
16542 reply = await self.rpc(msg)
16543 return reply
16544
16545
16546
16547 @ReturnMapping(SSHProxyResult)
16548 async def Proxy(self):
16549 '''
16550
16551 Returns -> bool
16552 '''
16553 # map input types to rpc msg
16554 params = dict()
16555 msg = dict(type='SSHClient', request='Proxy', version=1, params=params)
16556
16557 reply = await self.rpc(msg)
16558 return reply
16559
16560
16561
16562 @ReturnMapping(SSHAddressResults)
16563 async def PublicAddress(self, entities):
16564 '''
16565 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
16566 Returns -> typing.Sequence<+T_co>[~SSHAddressResult]<~SSHAddressResult>
16567 '''
16568 # map input types to rpc msg
16569 params = dict()
16570 msg = dict(type='SSHClient', request='PublicAddress', version=1, params=params)
16571 params['entities'] = entities
16572 reply = await self.rpc(msg)
16573 return reply
16574
16575
16576
16577 @ReturnMapping(SSHPublicKeysResults)
16578 async def PublicKeys(self, entities):
16579 '''
16580 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
16581 Returns -> typing.Sequence<+T_co>[~SSHPublicKeysResult]<~SSHPublicKeysResult>
16582 '''
16583 # map input types to rpc msg
16584 params = dict()
16585 msg = dict(type='SSHClient', request='PublicKeys', version=1, params=params)
16586 params['entities'] = entities
16587 reply = await self.rpc(msg)
16588 return reply
16589
16590
16591 class SingularFacade(Type):
16592 name = 'Singular'
16593 version = 1
16594 schema = {'definitions': {'Entities': {'additionalProperties': False,
16595 'properties': {'entities': {'items': {'$ref': '#/definitions/Entity'},
16596 'type': 'array'}},
16597 'required': ['entities'],
16598 'type': 'object'},
16599 'Entity': {'additionalProperties': False,
16600 'properties': {'tag': {'type': 'string'}},
16601 'required': ['tag'],
16602 'type': 'object'},
16603 'Error': {'additionalProperties': False,
16604 'properties': {'code': {'type': 'string'},
16605 'info': {'$ref': '#/definitions/ErrorInfo'},
16606 'message': {'type': 'string'}},
16607 'required': ['message', 'code'],
16608 'type': 'object'},
16609 'ErrorInfo': {'additionalProperties': False,
16610 'properties': {'macaroon': {'$ref': '#/definitions/Macaroon'},
16611 'macaroon-path': {'type': 'string'}},
16612 'type': 'object'},
16613 'ErrorResult': {'additionalProperties': False,
16614 'properties': {'error': {'$ref': '#/definitions/Error'}},
16615 'type': 'object'},
16616 'ErrorResults': {'additionalProperties': False,
16617 'properties': {'results': {'items': {'$ref': '#/definitions/ErrorResult'},
16618 'type': 'array'}},
16619 'required': ['results'],
16620 'type': 'object'},
16621 'Macaroon': {'additionalProperties': False, 'type': 'object'},
16622 'SingularClaim': {'additionalProperties': False,
16623 'properties': {'controller-tag': {'type': 'string'},
16624 'duration': {'type': 'integer'},
16625 'model-tag': {'type': 'string'}},
16626 'required': ['model-tag',
16627 'controller-tag',
16628 'duration'],
16629 'type': 'object'},
16630 'SingularClaims': {'additionalProperties': False,
16631 'properties': {'claims': {'items': {'$ref': '#/definitions/SingularClaim'},
16632 'type': 'array'}},
16633 'required': ['claims'],
16634 'type': 'object'}},
16635 'properties': {'Claim': {'properties': {'Params': {'$ref': '#/definitions/SingularClaims'},
16636 'Result': {'$ref': '#/definitions/ErrorResults'}},
16637 'type': 'object'},
16638 'Wait': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
16639 'Result': {'$ref': '#/definitions/ErrorResults'}},
16640 'type': 'object'}},
16641 'type': 'object'}
16642
16643
16644 @ReturnMapping(ErrorResults)
16645 async def Claim(self, claims):
16646 '''
16647 claims : typing.Sequence<+T_co>[~SingularClaim]<~SingularClaim>
16648 Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult>
16649 '''
16650 # map input types to rpc msg
16651 params = dict()
16652 msg = dict(type='Singular', request='Claim', version=1, params=params)
16653 params['claims'] = claims
16654 reply = await self.rpc(msg)
16655 return reply
16656
16657
16658
16659 @ReturnMapping(ErrorResults)
16660 async def Wait(self, entities):
16661 '''
16662 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
16663 Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult>
16664 '''
16665 # map input types to rpc msg
16666 params = dict()
16667 msg = dict(type='Singular', request='Wait', version=1, params=params)
16668 params['entities'] = entities
16669 reply = await self.rpc(msg)
16670 return reply
16671
16672
16673 class SpacesFacade(Type):
16674 name = 'Spaces'
16675 version = 2
16676 schema = {'definitions': {'CreateSpaceParams': {'additionalProperties': False,
16677 'properties': {'provider-id': {'type': 'string'},
16678 'public': {'type': 'boolean'},
16679 'space-tag': {'type': 'string'},
16680 'subnet-tags': {'items': {'type': 'string'},
16681 'type': 'array'}},
16682 'required': ['subnet-tags',
16683 'space-tag',
16684 'public'],
16685 'type': 'object'},
16686 'CreateSpacesParams': {'additionalProperties': False,
16687 'properties': {'spaces': {'items': {'$ref': '#/definitions/CreateSpaceParams'},
16688 'type': 'array'}},
16689 'required': ['spaces'],
16690 'type': 'object'},
16691 'Error': {'additionalProperties': False,
16692 'properties': {'code': {'type': 'string'},
16693 'info': {'$ref': '#/definitions/ErrorInfo'},
16694 'message': {'type': 'string'}},
16695 'required': ['message', 'code'],
16696 'type': 'object'},
16697 'ErrorInfo': {'additionalProperties': False,
16698 'properties': {'macaroon': {'$ref': '#/definitions/Macaroon'},
16699 'macaroon-path': {'type': 'string'}},
16700 'type': 'object'},
16701 'ErrorResult': {'additionalProperties': False,
16702 'properties': {'error': {'$ref': '#/definitions/Error'}},
16703 'type': 'object'},
16704 'ErrorResults': {'additionalProperties': False,
16705 'properties': {'results': {'items': {'$ref': '#/definitions/ErrorResult'},
16706 'type': 'array'}},
16707 'required': ['results'],
16708 'type': 'object'},
16709 'ListSpacesResults': {'additionalProperties': False,
16710 'properties': {'results': {'items': {'$ref': '#/definitions/Space'},
16711 'type': 'array'}},
16712 'required': ['results'],
16713 'type': 'object'},
16714 'Macaroon': {'additionalProperties': False, 'type': 'object'},
16715 'Space': {'additionalProperties': False,
16716 'properties': {'error': {'$ref': '#/definitions/Error'},
16717 'name': {'type': 'string'},
16718 'subnets': {'items': {'$ref': '#/definitions/Subnet'},
16719 'type': 'array'}},
16720 'required': ['name', 'subnets'],
16721 'type': 'object'},
16722 'Subnet': {'additionalProperties': False,
16723 'properties': {'cidr': {'type': 'string'},
16724 'life': {'type': 'string'},
16725 'provider-id': {'type': 'string'},
16726 'space-tag': {'type': 'string'},
16727 'status': {'type': 'string'},
16728 'vlan-tag': {'type': 'integer'},
16729 'zones': {'items': {'type': 'string'},
16730 'type': 'array'}},
16731 'required': ['cidr',
16732 'vlan-tag',
16733 'life',
16734 'space-tag',
16735 'zones'],
16736 'type': 'object'}},
16737 'properties': {'CreateSpaces': {'properties': {'Params': {'$ref': '#/definitions/CreateSpacesParams'},
16738 'Result': {'$ref': '#/definitions/ErrorResults'}},
16739 'type': 'object'},
16740 'ListSpaces': {'properties': {'Result': {'$ref': '#/definitions/ListSpacesResults'}},
16741 'type': 'object'}},
16742 'type': 'object'}
16743
16744
16745 @ReturnMapping(ErrorResults)
16746 async def CreateSpaces(self, spaces):
16747 '''
16748 spaces : typing.Sequence<+T_co>[~CreateSpaceParams]<~CreateSpaceParams>
16749 Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult>
16750 '''
16751 # map input types to rpc msg
16752 params = dict()
16753 msg = dict(type='Spaces', request='CreateSpaces', version=2, params=params)
16754 params['spaces'] = spaces
16755 reply = await self.rpc(msg)
16756 return reply
16757
16758
16759
16760 @ReturnMapping(ListSpacesResults)
16761 async def ListSpaces(self):
16762 '''
16763
16764 Returns -> typing.Sequence<+T_co>[~Space]<~Space>
16765 '''
16766 # map input types to rpc msg
16767 params = dict()
16768 msg = dict(type='Spaces', request='ListSpaces', version=2, params=params)
16769
16770 reply = await self.rpc(msg)
16771 return reply
16772
16773
16774 class StatusHistoryFacade(Type):
16775 name = 'StatusHistory'
16776 version = 2
16777 schema = {'definitions': {'StatusHistoryPruneArgs': {'additionalProperties': False,
16778 'properties': {'max-history-mb': {'type': 'integer'},
16779 'max-history-time': {'type': 'integer'}},
16780 'required': ['max-history-time',
16781 'max-history-mb'],
16782 'type': 'object'}},
16783 'properties': {'Prune': {'properties': {'Params': {'$ref': '#/definitions/StatusHistoryPruneArgs'}},
16784 'type': 'object'}},
16785 'type': 'object'}
16786
16787
16788 @ReturnMapping(None)
16789 async def Prune(self, max_history_mb, max_history_time):
16790 '''
16791 max_history_mb : int
16792 max_history_time : int
16793 Returns -> None
16794 '''
16795 # map input types to rpc msg
16796 params = dict()
16797 msg = dict(type='StatusHistory', request='Prune', version=2, params=params)
16798 params['max-history-mb'] = max_history_mb
16799 params['max-history-time'] = max_history_time
16800 reply = await self.rpc(msg)
16801 return reply
16802
16803
16804 class StorageFacade(Type):
16805 name = 'Storage'
16806 version = 3
16807 schema = {'definitions': {'Entities': {'additionalProperties': False,
16808 'properties': {'entities': {'items': {'$ref': '#/definitions/Entity'},
16809 'type': 'array'}},
16810 'required': ['entities'],
16811 'type': 'object'},
16812 'Entity': {'additionalProperties': False,
16813 'properties': {'tag': {'type': 'string'}},
16814 'required': ['tag'],
16815 'type': 'object'},
16816 'EntityStatus': {'additionalProperties': False,
16817 'properties': {'data': {'patternProperties': {'.*': {'additionalProperties': True,
16818 'type': 'object'}},
16819 'type': 'object'},
16820 'info': {'type': 'string'},
16821 'since': {'format': 'date-time',
16822 'type': 'string'},
16823 'status': {'type': 'string'}},
16824 'required': ['status', 'info', 'since'],
16825 'type': 'object'},
16826 'Error': {'additionalProperties': False,
16827 'properties': {'code': {'type': 'string'},
16828 'info': {'$ref': '#/definitions/ErrorInfo'},
16829 'message': {'type': 'string'}},
16830 'required': ['message', 'code'],
16831 'type': 'object'},
16832 'ErrorInfo': {'additionalProperties': False,
16833 'properties': {'macaroon': {'$ref': '#/definitions/Macaroon'},
16834 'macaroon-path': {'type': 'string'}},
16835 'type': 'object'},
16836 'ErrorResult': {'additionalProperties': False,
16837 'properties': {'error': {'$ref': '#/definitions/Error'}},
16838 'type': 'object'},
16839 'ErrorResults': {'additionalProperties': False,
16840 'properties': {'results': {'items': {'$ref': '#/definitions/ErrorResult'},
16841 'type': 'array'}},
16842 'required': ['results'],
16843 'type': 'object'},
16844 'FilesystemAttachmentInfo': {'additionalProperties': False,
16845 'properties': {'mount-point': {'type': 'string'},
16846 'read-only': {'type': 'boolean'}},
16847 'type': 'object'},
16848 'FilesystemDetails': {'additionalProperties': False,
16849 'properties': {'filesystem-tag': {'type': 'string'},
16850 'info': {'$ref': '#/definitions/FilesystemInfo'},
16851 'machine-attachments': {'patternProperties': {'.*': {'$ref': '#/definitions/FilesystemAttachmentInfo'}},
16852 'type': 'object'},
16853 'status': {'$ref': '#/definitions/EntityStatus'},
16854 'storage': {'$ref': '#/definitions/StorageDetails'},
16855 'volume-tag': {'type': 'string'}},
16856 'required': ['filesystem-tag',
16857 'info',
16858 'status'],
16859 'type': 'object'},
16860 'FilesystemDetailsListResult': {'additionalProperties': False,
16861 'properties': {'error': {'$ref': '#/definitions/Error'},
16862 'result': {'items': {'$ref': '#/definitions/FilesystemDetails'},
16863 'type': 'array'}},
16864 'type': 'object'},
16865 'FilesystemDetailsListResults': {'additionalProperties': False,
16866 'properties': {'results': {'items': {'$ref': '#/definitions/FilesystemDetailsListResult'},
16867 'type': 'array'}},
16868 'type': 'object'},
16869 'FilesystemFilter': {'additionalProperties': False,
16870 'properties': {'machines': {'items': {'type': 'string'},
16871 'type': 'array'}},
16872 'type': 'object'},
16873 'FilesystemFilters': {'additionalProperties': False,
16874 'properties': {'filters': {'items': {'$ref': '#/definitions/FilesystemFilter'},
16875 'type': 'array'}},
16876 'type': 'object'},
16877 'FilesystemInfo': {'additionalProperties': False,
16878 'properties': {'filesystem-id': {'type': 'string'},
16879 'size': {'type': 'integer'}},
16880 'required': ['filesystem-id', 'size'],
16881 'type': 'object'},
16882 'Macaroon': {'additionalProperties': False, 'type': 'object'},
16883 'StorageAddParams': {'additionalProperties': False,
16884 'properties': {'name': {'type': 'string'},
16885 'storage': {'$ref': '#/definitions/StorageConstraints'},
16886 'unit': {'type': 'string'}},
16887 'required': ['unit', 'name', 'storage'],
16888 'type': 'object'},
16889 'StorageAttachmentDetails': {'additionalProperties': False,
16890 'properties': {'location': {'type': 'string'},
16891 'machine-tag': {'type': 'string'},
16892 'storage-tag': {'type': 'string'},
16893 'unit-tag': {'type': 'string'}},
16894 'required': ['storage-tag',
16895 'unit-tag',
16896 'machine-tag'],
16897 'type': 'object'},
16898 'StorageConstraints': {'additionalProperties': False,
16899 'properties': {'count': {'type': 'integer'},
16900 'pool': {'type': 'string'},
16901 'size': {'type': 'integer'}},
16902 'type': 'object'},
16903 'StorageDetails': {'additionalProperties': False,
16904 'properties': {'attachments': {'patternProperties': {'.*': {'$ref': '#/definitions/StorageAttachmentDetails'}},
16905 'type': 'object'},
16906 'kind': {'type': 'integer'},
16907 'owner-tag': {'type': 'string'},
16908 'persistent': {'type': 'boolean'},
16909 'status': {'$ref': '#/definitions/EntityStatus'},
16910 'storage-tag': {'type': 'string'}},
16911 'required': ['storage-tag',
16912 'owner-tag',
16913 'kind',
16914 'status',
16915 'persistent'],
16916 'type': 'object'},
16917 'StorageDetailsListResult': {'additionalProperties': False,
16918 'properties': {'error': {'$ref': '#/definitions/Error'},
16919 'result': {'items': {'$ref': '#/definitions/StorageDetails'},
16920 'type': 'array'}},
16921 'type': 'object'},
16922 'StorageDetailsListResults': {'additionalProperties': False,
16923 'properties': {'results': {'items': {'$ref': '#/definitions/StorageDetailsListResult'},
16924 'type': 'array'}},
16925 'type': 'object'},
16926 'StorageDetailsResult': {'additionalProperties': False,
16927 'properties': {'error': {'$ref': '#/definitions/Error'},
16928 'result': {'$ref': '#/definitions/StorageDetails'}},
16929 'type': 'object'},
16930 'StorageDetailsResults': {'additionalProperties': False,
16931 'properties': {'results': {'items': {'$ref': '#/definitions/StorageDetailsResult'},
16932 'type': 'array'}},
16933 'type': 'object'},
16934 'StorageFilter': {'additionalProperties': False,
16935 'type': 'object'},
16936 'StorageFilters': {'additionalProperties': False,
16937 'properties': {'filters': {'items': {'$ref': '#/definitions/StorageFilter'},
16938 'type': 'array'}},
16939 'type': 'object'},
16940 'StoragePool': {'additionalProperties': False,
16941 'properties': {'attrs': {'patternProperties': {'.*': {'additionalProperties': True,
16942 'type': 'object'}},
16943 'type': 'object'},
16944 'name': {'type': 'string'},
16945 'provider': {'type': 'string'}},
16946 'required': ['name', 'provider', 'attrs'],
16947 'type': 'object'},
16948 'StoragePoolFilter': {'additionalProperties': False,
16949 'properties': {'names': {'items': {'type': 'string'},
16950 'type': 'array'},
16951 'providers': {'items': {'type': 'string'},
16952 'type': 'array'}},
16953 'type': 'object'},
16954 'StoragePoolFilters': {'additionalProperties': False,
16955 'properties': {'filters': {'items': {'$ref': '#/definitions/StoragePoolFilter'},
16956 'type': 'array'}},
16957 'type': 'object'},
16958 'StoragePoolsResult': {'additionalProperties': False,
16959 'properties': {'error': {'$ref': '#/definitions/Error'},
16960 'storage-pools': {'items': {'$ref': '#/definitions/StoragePool'},
16961 'type': 'array'}},
16962 'type': 'object'},
16963 'StoragePoolsResults': {'additionalProperties': False,
16964 'properties': {'results': {'items': {'$ref': '#/definitions/StoragePoolsResult'},
16965 'type': 'array'}},
16966 'type': 'object'},
16967 'StoragesAddParams': {'additionalProperties': False,
16968 'properties': {'storages': {'items': {'$ref': '#/definitions/StorageAddParams'},
16969 'type': 'array'}},
16970 'required': ['storages'],
16971 'type': 'object'},
16972 'VolumeAttachmentInfo': {'additionalProperties': False,
16973 'properties': {'bus-address': {'type': 'string'},
16974 'device-link': {'type': 'string'},
16975 'device-name': {'type': 'string'},
16976 'read-only': {'type': 'boolean'}},
16977 'type': 'object'},
16978 'VolumeDetails': {'additionalProperties': False,
16979 'properties': {'info': {'$ref': '#/definitions/VolumeInfo'},
16980 'machine-attachments': {'patternProperties': {'.*': {'$ref': '#/definitions/VolumeAttachmentInfo'}},
16981 'type': 'object'},
16982 'status': {'$ref': '#/definitions/EntityStatus'},
16983 'storage': {'$ref': '#/definitions/StorageDetails'},
16984 'volume-tag': {'type': 'string'}},
16985 'required': ['volume-tag', 'info', 'status'],
16986 'type': 'object'},
16987 'VolumeDetailsListResult': {'additionalProperties': False,
16988 'properties': {'error': {'$ref': '#/definitions/Error'},
16989 'result': {'items': {'$ref': '#/definitions/VolumeDetails'},
16990 'type': 'array'}},
16991 'type': 'object'},
16992 'VolumeDetailsListResults': {'additionalProperties': False,
16993 'properties': {'results': {'items': {'$ref': '#/definitions/VolumeDetailsListResult'},
16994 'type': 'array'}},
16995 'type': 'object'},
16996 'VolumeFilter': {'additionalProperties': False,
16997 'properties': {'machines': {'items': {'type': 'string'},
16998 'type': 'array'}},
16999 'type': 'object'},
17000 'VolumeFilters': {'additionalProperties': False,
17001 'properties': {'filters': {'items': {'$ref': '#/definitions/VolumeFilter'},
17002 'type': 'array'}},
17003 'type': 'object'},
17004 'VolumeInfo': {'additionalProperties': False,
17005 'properties': {'hardware-id': {'type': 'string'},
17006 'persistent': {'type': 'boolean'},
17007 'size': {'type': 'integer'},
17008 'volume-id': {'type': 'string'}},
17009 'required': ['volume-id', 'size', 'persistent'],
17010 'type': 'object'}},
17011 'properties': {'AddToUnit': {'properties': {'Params': {'$ref': '#/definitions/StoragesAddParams'},
17012 'Result': {'$ref': '#/definitions/ErrorResults'}},
17013 'type': 'object'},
17014 'CreatePool': {'properties': {'Params': {'$ref': '#/definitions/StoragePool'}},
17015 'type': 'object'},
17016 'ListFilesystems': {'properties': {'Params': {'$ref': '#/definitions/FilesystemFilters'},
17017 'Result': {'$ref': '#/definitions/FilesystemDetailsListResults'}},
17018 'type': 'object'},
17019 'ListPools': {'properties': {'Params': {'$ref': '#/definitions/StoragePoolFilters'},
17020 'Result': {'$ref': '#/definitions/StoragePoolsResults'}},
17021 'type': 'object'},
17022 'ListStorageDetails': {'properties': {'Params': {'$ref': '#/definitions/StorageFilters'},
17023 'Result': {'$ref': '#/definitions/StorageDetailsListResults'}},
17024 'type': 'object'},
17025 'ListVolumes': {'properties': {'Params': {'$ref': '#/definitions/VolumeFilters'},
17026 'Result': {'$ref': '#/definitions/VolumeDetailsListResults'}},
17027 'type': 'object'},
17028 'StorageDetails': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
17029 'Result': {'$ref': '#/definitions/StorageDetailsResults'}},
17030 'type': 'object'}},
17031 'type': 'object'}
17032
17033
17034 @ReturnMapping(ErrorResults)
17035 async def AddToUnit(self, storages):
17036 '''
17037 storages : typing.Sequence<+T_co>[~StorageAddParams]<~StorageAddParams>
17038 Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult>
17039 '''
17040 # map input types to rpc msg
17041 params = dict()
17042 msg = dict(type='Storage', request='AddToUnit', version=3, params=params)
17043 params['storages'] = storages
17044 reply = await self.rpc(msg)
17045 return reply
17046
17047
17048
17049 @ReturnMapping(None)
17050 async def CreatePool(self, attrs, name, provider):
17051 '''
17052 attrs : typing.Mapping<~KT, +VT_co>[str, typing.Any]
17053 name : str
17054 provider : str
17055 Returns -> None
17056 '''
17057 # map input types to rpc msg
17058 params = dict()
17059 msg = dict(type='Storage', request='CreatePool', version=3, params=params)
17060 params['attrs'] = attrs
17061 params['name'] = name
17062 params['provider'] = provider
17063 reply = await self.rpc(msg)
17064 return reply
17065
17066
17067
17068 @ReturnMapping(FilesystemDetailsListResults)
17069 async def ListFilesystems(self, filters):
17070 '''
17071 filters : typing.Sequence<+T_co>[~FilesystemFilter]<~FilesystemFilter>
17072 Returns -> typing.Sequence<+T_co>[~FilesystemDetailsListResult]<~FilesystemDetailsListResult>
17073 '''
17074 # map input types to rpc msg
17075 params = dict()
17076 msg = dict(type='Storage', request='ListFilesystems', version=3, params=params)
17077 params['filters'] = filters
17078 reply = await self.rpc(msg)
17079 return reply
17080
17081
17082
17083 @ReturnMapping(StoragePoolsResults)
17084 async def ListPools(self, filters):
17085 '''
17086 filters : typing.Sequence<+T_co>[~StoragePoolFilter]<~StoragePoolFilter>
17087 Returns -> typing.Sequence<+T_co>[~StoragePoolsResult]<~StoragePoolsResult>
17088 '''
17089 # map input types to rpc msg
17090 params = dict()
17091 msg = dict(type='Storage', request='ListPools', version=3, params=params)
17092 params['filters'] = filters
17093 reply = await self.rpc(msg)
17094 return reply
17095
17096
17097
17098 @ReturnMapping(StorageDetailsListResults)
17099 async def ListStorageDetails(self, filters):
17100 '''
17101 filters : typing.Sequence<+T_co>[~StorageFilter]<~StorageFilter>
17102 Returns -> typing.Sequence<+T_co>[~StorageDetailsListResult]<~StorageDetailsListResult>
17103 '''
17104 # map input types to rpc msg
17105 params = dict()
17106 msg = dict(type='Storage', request='ListStorageDetails', version=3, params=params)
17107 params['filters'] = filters
17108 reply = await self.rpc(msg)
17109 return reply
17110
17111
17112
17113 @ReturnMapping(VolumeDetailsListResults)
17114 async def ListVolumes(self, filters):
17115 '''
17116 filters : typing.Sequence<+T_co>[~VolumeFilter]<~VolumeFilter>
17117 Returns -> typing.Sequence<+T_co>[~VolumeDetailsListResult]<~VolumeDetailsListResult>
17118 '''
17119 # map input types to rpc msg
17120 params = dict()
17121 msg = dict(type='Storage', request='ListVolumes', version=3, params=params)
17122 params['filters'] = filters
17123 reply = await self.rpc(msg)
17124 return reply
17125
17126
17127
17128 @ReturnMapping(StorageDetailsResults)
17129 async def StorageDetails(self, entities):
17130 '''
17131 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
17132 Returns -> typing.Sequence<+T_co>[~StorageDetailsResult]<~StorageDetailsResult>
17133 '''
17134 # map input types to rpc msg
17135 params = dict()
17136 msg = dict(type='Storage', request='StorageDetails', version=3, params=params)
17137 params['entities'] = entities
17138 reply = await self.rpc(msg)
17139 return reply
17140
17141
17142 class StorageProvisionerFacade(Type):
17143 name = 'StorageProvisioner'
17144 version = 3
17145 schema = {'definitions': {'BlockDevice': {'additionalProperties': False,
17146 'properties': {'BusAddress': {'type': 'string'},
17147 'DeviceLinks': {'items': {'type': 'string'},
17148 'type': 'array'},
17149 'DeviceName': {'type': 'string'},
17150 'FilesystemType': {'type': 'string'},
17151 'HardwareId': {'type': 'string'},
17152 'InUse': {'type': 'boolean'},
17153 'Label': {'type': 'string'},
17154 'MountPoint': {'type': 'string'},
17155 'Size': {'type': 'integer'},
17156 'UUID': {'type': 'string'}},
17157 'required': ['DeviceName',
17158 'DeviceLinks',
17159 'Label',
17160 'UUID',
17161 'HardwareId',
17162 'BusAddress',
17163 'Size',
17164 'FilesystemType',
17165 'InUse',
17166 'MountPoint'],
17167 'type': 'object'},
17168 'BlockDeviceResult': {'additionalProperties': False,
17169 'properties': {'error': {'$ref': '#/definitions/Error'},
17170 'result': {'$ref': '#/definitions/BlockDevice'}},
17171 'required': ['result'],
17172 'type': 'object'},
17173 'BlockDeviceResults': {'additionalProperties': False,
17174 'properties': {'results': {'items': {'$ref': '#/definitions/BlockDeviceResult'},
17175 'type': 'array'}},
17176 'type': 'object'},
17177 'Entities': {'additionalProperties': False,
17178 'properties': {'entities': {'items': {'$ref': '#/definitions/Entity'},
17179 'type': 'array'}},
17180 'required': ['entities'],
17181 'type': 'object'},
17182 'Entity': {'additionalProperties': False,
17183 'properties': {'tag': {'type': 'string'}},
17184 'required': ['tag'],
17185 'type': 'object'},
17186 'EntityStatusArgs': {'additionalProperties': False,
17187 'properties': {'data': {'patternProperties': {'.*': {'additionalProperties': True,
17188 'type': 'object'}},
17189 'type': 'object'},
17190 'info': {'type': 'string'},
17191 'status': {'type': 'string'},
17192 'tag': {'type': 'string'}},
17193 'required': ['tag',
17194 'status',
17195 'info',
17196 'data'],
17197 'type': 'object'},
17198 'Error': {'additionalProperties': False,
17199 'properties': {'code': {'type': 'string'},
17200 'info': {'$ref': '#/definitions/ErrorInfo'},
17201 'message': {'type': 'string'}},
17202 'required': ['message', 'code'],
17203 'type': 'object'},
17204 'ErrorInfo': {'additionalProperties': False,
17205 'properties': {'macaroon': {'$ref': '#/definitions/Macaroon'},
17206 'macaroon-path': {'type': 'string'}},
17207 'type': 'object'},
17208 'ErrorResult': {'additionalProperties': False,
17209 'properties': {'error': {'$ref': '#/definitions/Error'}},
17210 'type': 'object'},
17211 'ErrorResults': {'additionalProperties': False,
17212 'properties': {'results': {'items': {'$ref': '#/definitions/ErrorResult'},
17213 'type': 'array'}},
17214 'required': ['results'],
17215 'type': 'object'},
17216 'Filesystem': {'additionalProperties': False,
17217 'properties': {'filesystem-tag': {'type': 'string'},
17218 'info': {'$ref': '#/definitions/FilesystemInfo'},
17219 'volume-tag': {'type': 'string'}},
17220 'required': ['filesystem-tag', 'info'],
17221 'type': 'object'},
17222 'FilesystemAttachment': {'additionalProperties': False,
17223 'properties': {'filesystem-tag': {'type': 'string'},
17224 'info': {'$ref': '#/definitions/FilesystemAttachmentInfo'},
17225 'machine-tag': {'type': 'string'}},
17226 'required': ['filesystem-tag',
17227 'machine-tag',
17228 'info'],
17229 'type': 'object'},
17230 'FilesystemAttachmentInfo': {'additionalProperties': False,
17231 'properties': {'mount-point': {'type': 'string'},
17232 'read-only': {'type': 'boolean'}},
17233 'type': 'object'},
17234 'FilesystemAttachmentParams': {'additionalProperties': False,
17235 'properties': {'filesystem-id': {'type': 'string'},
17236 'filesystem-tag': {'type': 'string'},
17237 'instance-id': {'type': 'string'},
17238 'machine-tag': {'type': 'string'},
17239 'mount-point': {'type': 'string'},
17240 'provider': {'type': 'string'},
17241 'read-only': {'type': 'boolean'}},
17242 'required': ['filesystem-tag',
17243 'machine-tag',
17244 'provider'],
17245 'type': 'object'},
17246 'FilesystemAttachmentParamsResult': {'additionalProperties': False,
17247 'properties': {'error': {'$ref': '#/definitions/Error'},
17248 'result': {'$ref': '#/definitions/FilesystemAttachmentParams'}},
17249 'required': ['result'],
17250 'type': 'object'},
17251 'FilesystemAttachmentParamsResults': {'additionalProperties': False,
17252 'properties': {'results': {'items': {'$ref': '#/definitions/FilesystemAttachmentParamsResult'},
17253 'type': 'array'}},
17254 'type': 'object'},
17255 'FilesystemAttachmentResult': {'additionalProperties': False,
17256 'properties': {'error': {'$ref': '#/definitions/Error'},
17257 'result': {'$ref': '#/definitions/FilesystemAttachment'}},
17258 'required': ['result'],
17259 'type': 'object'},
17260 'FilesystemAttachmentResults': {'additionalProperties': False,
17261 'properties': {'results': {'items': {'$ref': '#/definitions/FilesystemAttachmentResult'},
17262 'type': 'array'}},
17263 'type': 'object'},
17264 'FilesystemAttachments': {'additionalProperties': False,
17265 'properties': {'filesystem-attachments': {'items': {'$ref': '#/definitions/FilesystemAttachment'},
17266 'type': 'array'}},
17267 'required': ['filesystem-attachments'],
17268 'type': 'object'},
17269 'FilesystemInfo': {'additionalProperties': False,
17270 'properties': {'filesystem-id': {'type': 'string'},
17271 'size': {'type': 'integer'}},
17272 'required': ['filesystem-id', 'size'],
17273 'type': 'object'},
17274 'FilesystemParams': {'additionalProperties': False,
17275 'properties': {'attachment': {'$ref': '#/definitions/FilesystemAttachmentParams'},
17276 'attributes': {'patternProperties': {'.*': {'additionalProperties': True,
17277 'type': 'object'}},
17278 'type': 'object'},
17279 'filesystem-tag': {'type': 'string'},
17280 'provider': {'type': 'string'},
17281 'size': {'type': 'integer'},
17282 'tags': {'patternProperties': {'.*': {'type': 'string'}},
17283 'type': 'object'},
17284 'volume-tag': {'type': 'string'}},
17285 'required': ['filesystem-tag',
17286 'size',
17287 'provider'],
17288 'type': 'object'},
17289 'FilesystemParamsResult': {'additionalProperties': False,
17290 'properties': {'error': {'$ref': '#/definitions/Error'},
17291 'result': {'$ref': '#/definitions/FilesystemParams'}},
17292 'required': ['result'],
17293 'type': 'object'},
17294 'FilesystemParamsResults': {'additionalProperties': False,
17295 'properties': {'results': {'items': {'$ref': '#/definitions/FilesystemParamsResult'},
17296 'type': 'array'}},
17297 'type': 'object'},
17298 'FilesystemResult': {'additionalProperties': False,
17299 'properties': {'error': {'$ref': '#/definitions/Error'},
17300 'result': {'$ref': '#/definitions/Filesystem'}},
17301 'required': ['result'],
17302 'type': 'object'},
17303 'FilesystemResults': {'additionalProperties': False,
17304 'properties': {'results': {'items': {'$ref': '#/definitions/FilesystemResult'},
17305 'type': 'array'}},
17306 'type': 'object'},
17307 'Filesystems': {'additionalProperties': False,
17308 'properties': {'filesystems': {'items': {'$ref': '#/definitions/Filesystem'},
17309 'type': 'array'}},
17310 'required': ['filesystems'],
17311 'type': 'object'},
17312 'LifeResult': {'additionalProperties': False,
17313 'properties': {'error': {'$ref': '#/definitions/Error'},
17314 'life': {'type': 'string'}},
17315 'required': ['life'],
17316 'type': 'object'},
17317 'LifeResults': {'additionalProperties': False,
17318 'properties': {'results': {'items': {'$ref': '#/definitions/LifeResult'},
17319 'type': 'array'}},
17320 'required': ['results'],
17321 'type': 'object'},
17322 'Macaroon': {'additionalProperties': False, 'type': 'object'},
17323 'MachineStorageId': {'additionalProperties': False,
17324 'properties': {'attachment-tag': {'type': 'string'},
17325 'machine-tag': {'type': 'string'}},
17326 'required': ['machine-tag',
17327 'attachment-tag'],
17328 'type': 'object'},
17329 'MachineStorageIds': {'additionalProperties': False,
17330 'properties': {'ids': {'items': {'$ref': '#/definitions/MachineStorageId'},
17331 'type': 'array'}},
17332 'required': ['ids'],
17333 'type': 'object'},
17334 'MachineStorageIdsWatchResult': {'additionalProperties': False,
17335 'properties': {'changes': {'items': {'$ref': '#/definitions/MachineStorageId'},
17336 'type': 'array'},
17337 'error': {'$ref': '#/definitions/Error'},
17338 'watcher-id': {'type': 'string'}},
17339 'required': ['watcher-id',
17340 'changes'],
17341 'type': 'object'},
17342 'MachineStorageIdsWatchResults': {'additionalProperties': False,
17343 'properties': {'results': {'items': {'$ref': '#/definitions/MachineStorageIdsWatchResult'},
17344 'type': 'array'}},
17345 'required': ['results'],
17346 'type': 'object'},
17347 'NotifyWatchResult': {'additionalProperties': False,
17348 'properties': {'NotifyWatcherId': {'type': 'string'},
17349 'error': {'$ref': '#/definitions/Error'}},
17350 'required': ['NotifyWatcherId'],
17351 'type': 'object'},
17352 'NotifyWatchResults': {'additionalProperties': False,
17353 'properties': {'results': {'items': {'$ref': '#/definitions/NotifyWatchResult'},
17354 'type': 'array'}},
17355 'required': ['results'],
17356 'type': 'object'},
17357 'SetStatus': {'additionalProperties': False,
17358 'properties': {'entities': {'items': {'$ref': '#/definitions/EntityStatusArgs'},
17359 'type': 'array'}},
17360 'required': ['entities'],
17361 'type': 'object'},
17362 'StringResult': {'additionalProperties': False,
17363 'properties': {'error': {'$ref': '#/definitions/Error'},
17364 'result': {'type': 'string'}},
17365 'required': ['result'],
17366 'type': 'object'},
17367 'StringResults': {'additionalProperties': False,
17368 'properties': {'results': {'items': {'$ref': '#/definitions/StringResult'},
17369 'type': 'array'}},
17370 'required': ['results'],
17371 'type': 'object'},
17372 'StringsWatchResult': {'additionalProperties': False,
17373 'properties': {'changes': {'items': {'type': 'string'},
17374 'type': 'array'},
17375 'error': {'$ref': '#/definitions/Error'},
17376 'watcher-id': {'type': 'string'}},
17377 'required': ['watcher-id'],
17378 'type': 'object'},
17379 'StringsWatchResults': {'additionalProperties': False,
17380 'properties': {'results': {'items': {'$ref': '#/definitions/StringsWatchResult'},
17381 'type': 'array'}},
17382 'required': ['results'],
17383 'type': 'object'},
17384 'Volume': {'additionalProperties': False,
17385 'properties': {'info': {'$ref': '#/definitions/VolumeInfo'},
17386 'volume-tag': {'type': 'string'}},
17387 'required': ['volume-tag', 'info'],
17388 'type': 'object'},
17389 'VolumeAttachment': {'additionalProperties': False,
17390 'properties': {'info': {'$ref': '#/definitions/VolumeAttachmentInfo'},
17391 'machine-tag': {'type': 'string'},
17392 'volume-tag': {'type': 'string'}},
17393 'required': ['volume-tag',
17394 'machine-tag',
17395 'info'],
17396 'type': 'object'},
17397 'VolumeAttachmentInfo': {'additionalProperties': False,
17398 'properties': {'bus-address': {'type': 'string'},
17399 'device-link': {'type': 'string'},
17400 'device-name': {'type': 'string'},
17401 'read-only': {'type': 'boolean'}},
17402 'type': 'object'},
17403 'VolumeAttachmentParams': {'additionalProperties': False,
17404 'properties': {'instance-id': {'type': 'string'},
17405 'machine-tag': {'type': 'string'},
17406 'provider': {'type': 'string'},
17407 'read-only': {'type': 'boolean'},
17408 'volume-id': {'type': 'string'},
17409 'volume-tag': {'type': 'string'}},
17410 'required': ['volume-tag',
17411 'machine-tag',
17412 'provider'],
17413 'type': 'object'},
17414 'VolumeAttachmentParamsResult': {'additionalProperties': False,
17415 'properties': {'error': {'$ref': '#/definitions/Error'},
17416 'result': {'$ref': '#/definitions/VolumeAttachmentParams'}},
17417 'required': ['result'],
17418 'type': 'object'},
17419 'VolumeAttachmentParamsResults': {'additionalProperties': False,
17420 'properties': {'results': {'items': {'$ref': '#/definitions/VolumeAttachmentParamsResult'},
17421 'type': 'array'}},
17422 'type': 'object'},
17423 'VolumeAttachmentResult': {'additionalProperties': False,
17424 'properties': {'error': {'$ref': '#/definitions/Error'},
17425 'result': {'$ref': '#/definitions/VolumeAttachment'}},
17426 'required': ['result'],
17427 'type': 'object'},
17428 'VolumeAttachmentResults': {'additionalProperties': False,
17429 'properties': {'results': {'items': {'$ref': '#/definitions/VolumeAttachmentResult'},
17430 'type': 'array'}},
17431 'type': 'object'},
17432 'VolumeAttachments': {'additionalProperties': False,
17433 'properties': {'volume-attachments': {'items': {'$ref': '#/definitions/VolumeAttachment'},
17434 'type': 'array'}},
17435 'required': ['volume-attachments'],
17436 'type': 'object'},
17437 'VolumeInfo': {'additionalProperties': False,
17438 'properties': {'hardware-id': {'type': 'string'},
17439 'persistent': {'type': 'boolean'},
17440 'size': {'type': 'integer'},
17441 'volume-id': {'type': 'string'}},
17442 'required': ['volume-id', 'size', 'persistent'],
17443 'type': 'object'},
17444 'VolumeParams': {'additionalProperties': False,
17445 'properties': {'attachment': {'$ref': '#/definitions/VolumeAttachmentParams'},
17446 'attributes': {'patternProperties': {'.*': {'additionalProperties': True,
17447 'type': 'object'}},
17448 'type': 'object'},
17449 'provider': {'type': 'string'},
17450 'size': {'type': 'integer'},
17451 'tags': {'patternProperties': {'.*': {'type': 'string'}},
17452 'type': 'object'},
17453 'volume-tag': {'type': 'string'}},
17454 'required': ['volume-tag',
17455 'size',
17456 'provider'],
17457 'type': 'object'},
17458 'VolumeParamsResult': {'additionalProperties': False,
17459 'properties': {'error': {'$ref': '#/definitions/Error'},
17460 'result': {'$ref': '#/definitions/VolumeParams'}},
17461 'required': ['result'],
17462 'type': 'object'},
17463 'VolumeParamsResults': {'additionalProperties': False,
17464 'properties': {'results': {'items': {'$ref': '#/definitions/VolumeParamsResult'},
17465 'type': 'array'}},
17466 'type': 'object'},
17467 'VolumeResult': {'additionalProperties': False,
17468 'properties': {'error': {'$ref': '#/definitions/Error'},
17469 'result': {'$ref': '#/definitions/Volume'}},
17470 'required': ['result'],
17471 'type': 'object'},
17472 'VolumeResults': {'additionalProperties': False,
17473 'properties': {'results': {'items': {'$ref': '#/definitions/VolumeResult'},
17474 'type': 'array'}},
17475 'type': 'object'},
17476 'Volumes': {'additionalProperties': False,
17477 'properties': {'volumes': {'items': {'$ref': '#/definitions/Volume'},
17478 'type': 'array'}},
17479 'required': ['volumes'],
17480 'type': 'object'}},
17481 'properties': {'AttachmentLife': {'properties': {'Params': {'$ref': '#/definitions/MachineStorageIds'},
17482 'Result': {'$ref': '#/definitions/LifeResults'}},
17483 'type': 'object'},
17484 'EnsureDead': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
17485 'Result': {'$ref': '#/definitions/ErrorResults'}},
17486 'type': 'object'},
17487 'FilesystemAttachmentParams': {'properties': {'Params': {'$ref': '#/definitions/MachineStorageIds'},
17488 'Result': {'$ref': '#/definitions/FilesystemAttachmentParamsResults'}},
17489 'type': 'object'},
17490 'FilesystemAttachments': {'properties': {'Params': {'$ref': '#/definitions/MachineStorageIds'},
17491 'Result': {'$ref': '#/definitions/FilesystemAttachmentResults'}},
17492 'type': 'object'},
17493 'FilesystemParams': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
17494 'Result': {'$ref': '#/definitions/FilesystemParamsResults'}},
17495 'type': 'object'},
17496 'Filesystems': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
17497 'Result': {'$ref': '#/definitions/FilesystemResults'}},
17498 'type': 'object'},
17499 'InstanceId': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
17500 'Result': {'$ref': '#/definitions/StringResults'}},
17501 'type': 'object'},
17502 'Life': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
17503 'Result': {'$ref': '#/definitions/LifeResults'}},
17504 'type': 'object'},
17505 'Remove': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
17506 'Result': {'$ref': '#/definitions/ErrorResults'}},
17507 'type': 'object'},
17508 'RemoveAttachment': {'properties': {'Params': {'$ref': '#/definitions/MachineStorageIds'},
17509 'Result': {'$ref': '#/definitions/ErrorResults'}},
17510 'type': 'object'},
17511 'SetFilesystemAttachmentInfo': {'properties': {'Params': {'$ref': '#/definitions/FilesystemAttachments'},
17512 'Result': {'$ref': '#/definitions/ErrorResults'}},
17513 'type': 'object'},
17514 'SetFilesystemInfo': {'properties': {'Params': {'$ref': '#/definitions/Filesystems'},
17515 'Result': {'$ref': '#/definitions/ErrorResults'}},
17516 'type': 'object'},
17517 'SetStatus': {'properties': {'Params': {'$ref': '#/definitions/SetStatus'},
17518 'Result': {'$ref': '#/definitions/ErrorResults'}},
17519 'type': 'object'},
17520 'SetVolumeAttachmentInfo': {'properties': {'Params': {'$ref': '#/definitions/VolumeAttachments'},
17521 'Result': {'$ref': '#/definitions/ErrorResults'}},
17522 'type': 'object'},
17523 'SetVolumeInfo': {'properties': {'Params': {'$ref': '#/definitions/Volumes'},
17524 'Result': {'$ref': '#/definitions/ErrorResults'}},
17525 'type': 'object'},
17526 'UpdateStatus': {'properties': {'Params': {'$ref': '#/definitions/SetStatus'},
17527 'Result': {'$ref': '#/definitions/ErrorResults'}},
17528 'type': 'object'},
17529 'VolumeAttachmentParams': {'properties': {'Params': {'$ref': '#/definitions/MachineStorageIds'},
17530 'Result': {'$ref': '#/definitions/VolumeAttachmentParamsResults'}},
17531 'type': 'object'},
17532 'VolumeAttachments': {'properties': {'Params': {'$ref': '#/definitions/MachineStorageIds'},
17533 'Result': {'$ref': '#/definitions/VolumeAttachmentResults'}},
17534 'type': 'object'},
17535 'VolumeBlockDevices': {'properties': {'Params': {'$ref': '#/definitions/MachineStorageIds'},
17536 'Result': {'$ref': '#/definitions/BlockDeviceResults'}},
17537 'type': 'object'},
17538 'VolumeParams': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
17539 'Result': {'$ref': '#/definitions/VolumeParamsResults'}},
17540 'type': 'object'},
17541 'Volumes': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
17542 'Result': {'$ref': '#/definitions/VolumeResults'}},
17543 'type': 'object'},
17544 'WatchBlockDevices': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
17545 'Result': {'$ref': '#/definitions/NotifyWatchResults'}},
17546 'type': 'object'},
17547 'WatchFilesystemAttachments': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
17548 'Result': {'$ref': '#/definitions/MachineStorageIdsWatchResults'}},
17549 'type': 'object'},
17550 'WatchFilesystems': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
17551 'Result': {'$ref': '#/definitions/StringsWatchResults'}},
17552 'type': 'object'},
17553 'WatchMachines': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
17554 'Result': {'$ref': '#/definitions/NotifyWatchResults'}},
17555 'type': 'object'},
17556 'WatchVolumeAttachments': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
17557 'Result': {'$ref': '#/definitions/MachineStorageIdsWatchResults'}},
17558 'type': 'object'},
17559 'WatchVolumes': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
17560 'Result': {'$ref': '#/definitions/StringsWatchResults'}},
17561 'type': 'object'}},
17562 'type': 'object'}
17563
17564
17565 @ReturnMapping(LifeResults)
17566 async def AttachmentLife(self, ids):
17567 '''
17568 ids : typing.Sequence<+T_co>[~MachineStorageId]<~MachineStorageId>
17569 Returns -> typing.Sequence<+T_co>[~LifeResult]<~LifeResult>
17570 '''
17571 # map input types to rpc msg
17572 params = dict()
17573 msg = dict(type='StorageProvisioner', request='AttachmentLife', version=3, params=params)
17574 params['ids'] = ids
17575 reply = await self.rpc(msg)
17576 return reply
17577
17578
17579
17580 @ReturnMapping(ErrorResults)
17581 async def EnsureDead(self, entities):
17582 '''
17583 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
17584 Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult>
17585 '''
17586 # map input types to rpc msg
17587 params = dict()
17588 msg = dict(type='StorageProvisioner', request='EnsureDead', version=3, params=params)
17589 params['entities'] = entities
17590 reply = await self.rpc(msg)
17591 return reply
17592
17593
17594
17595 @ReturnMapping(FilesystemAttachmentParamsResults)
17596 async def FilesystemAttachmentParams(self, ids):
17597 '''
17598 ids : typing.Sequence<+T_co>[~MachineStorageId]<~MachineStorageId>
17599 Returns -> typing.Sequence<+T_co>[~FilesystemAttachmentParamsResult]<~FilesystemAttachmentParamsResult>
17600 '''
17601 # map input types to rpc msg
17602 params = dict()
17603 msg = dict(type='StorageProvisioner', request='FilesystemAttachmentParams', version=3, params=params)
17604 params['ids'] = ids
17605 reply = await self.rpc(msg)
17606 return reply
17607
17608
17609
17610 @ReturnMapping(FilesystemAttachmentResults)
17611 async def FilesystemAttachments(self, ids):
17612 '''
17613 ids : typing.Sequence<+T_co>[~MachineStorageId]<~MachineStorageId>
17614 Returns -> typing.Sequence<+T_co>[~FilesystemAttachmentResult]<~FilesystemAttachmentResult>
17615 '''
17616 # map input types to rpc msg
17617 params = dict()
17618 msg = dict(type='StorageProvisioner', request='FilesystemAttachments', version=3, params=params)
17619 params['ids'] = ids
17620 reply = await self.rpc(msg)
17621 return reply
17622
17623
17624
17625 @ReturnMapping(FilesystemParamsResults)
17626 async def FilesystemParams(self, entities):
17627 '''
17628 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
17629 Returns -> typing.Sequence<+T_co>[~FilesystemParamsResult]<~FilesystemParamsResult>
17630 '''
17631 # map input types to rpc msg
17632 params = dict()
17633 msg = dict(type='StorageProvisioner', request='FilesystemParams', version=3, params=params)
17634 params['entities'] = entities
17635 reply = await self.rpc(msg)
17636 return reply
17637
17638
17639
17640 @ReturnMapping(FilesystemResults)
17641 async def Filesystems(self, entities):
17642 '''
17643 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
17644 Returns -> typing.Sequence<+T_co>[~FilesystemResult]<~FilesystemResult>
17645 '''
17646 # map input types to rpc msg
17647 params = dict()
17648 msg = dict(type='StorageProvisioner', request='Filesystems', version=3, params=params)
17649 params['entities'] = entities
17650 reply = await self.rpc(msg)
17651 return reply
17652
17653
17654
17655 @ReturnMapping(StringResults)
17656 async def InstanceId(self, entities):
17657 '''
17658 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
17659 Returns -> typing.Sequence<+T_co>[~StringResult]<~StringResult>
17660 '''
17661 # map input types to rpc msg
17662 params = dict()
17663 msg = dict(type='StorageProvisioner', request='InstanceId', version=3, params=params)
17664 params['entities'] = entities
17665 reply = await self.rpc(msg)
17666 return reply
17667
17668
17669
17670 @ReturnMapping(LifeResults)
17671 async def Life(self, entities):
17672 '''
17673 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
17674 Returns -> typing.Sequence<+T_co>[~LifeResult]<~LifeResult>
17675 '''
17676 # map input types to rpc msg
17677 params = dict()
17678 msg = dict(type='StorageProvisioner', request='Life', version=3, params=params)
17679 params['entities'] = entities
17680 reply = await self.rpc(msg)
17681 return reply
17682
17683
17684
17685 @ReturnMapping(ErrorResults)
17686 async def Remove(self, entities):
17687 '''
17688 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
17689 Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult>
17690 '''
17691 # map input types to rpc msg
17692 params = dict()
17693 msg = dict(type='StorageProvisioner', request='Remove', version=3, params=params)
17694 params['entities'] = entities
17695 reply = await self.rpc(msg)
17696 return reply
17697
17698
17699
17700 @ReturnMapping(ErrorResults)
17701 async def RemoveAttachment(self, ids):
17702 '''
17703 ids : typing.Sequence<+T_co>[~MachineStorageId]<~MachineStorageId>
17704 Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult>
17705 '''
17706 # map input types to rpc msg
17707 params = dict()
17708 msg = dict(type='StorageProvisioner', request='RemoveAttachment', version=3, params=params)
17709 params['ids'] = ids
17710 reply = await self.rpc(msg)
17711 return reply
17712
17713
17714
17715 @ReturnMapping(ErrorResults)
17716 async def SetFilesystemAttachmentInfo(self, filesystem_attachments):
17717 '''
17718 filesystem_attachments : typing.Sequence<+T_co>[~FilesystemAttachment]<~FilesystemAttachment>
17719 Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult>
17720 '''
17721 # map input types to rpc msg
17722 params = dict()
17723 msg = dict(type='StorageProvisioner', request='SetFilesystemAttachmentInfo', version=3, params=params)
17724 params['filesystem-attachments'] = filesystem_attachments
17725 reply = await self.rpc(msg)
17726 return reply
17727
17728
17729
17730 @ReturnMapping(ErrorResults)
17731 async def SetFilesystemInfo(self, filesystems):
17732 '''
17733 filesystems : typing.Sequence<+T_co>[~Filesystem]<~Filesystem>
17734 Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult>
17735 '''
17736 # map input types to rpc msg
17737 params = dict()
17738 msg = dict(type='StorageProvisioner', request='SetFilesystemInfo', version=3, params=params)
17739 params['filesystems'] = filesystems
17740 reply = await self.rpc(msg)
17741 return reply
17742
17743
17744
17745 @ReturnMapping(ErrorResults)
17746 async def SetStatus(self, entities):
17747 '''
17748 entities : typing.Sequence<+T_co>[~EntityStatusArgs]<~EntityStatusArgs>
17749 Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult>
17750 '''
17751 # map input types to rpc msg
17752 params = dict()
17753 msg = dict(type='StorageProvisioner', request='SetStatus', version=3, params=params)
17754 params['entities'] = entities
17755 reply = await self.rpc(msg)
17756 return reply
17757
17758
17759
17760 @ReturnMapping(ErrorResults)
17761 async def SetVolumeAttachmentInfo(self, volume_attachments):
17762 '''
17763 volume_attachments : typing.Sequence<+T_co>[~VolumeAttachment]<~VolumeAttachment>
17764 Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult>
17765 '''
17766 # map input types to rpc msg
17767 params = dict()
17768 msg = dict(type='StorageProvisioner', request='SetVolumeAttachmentInfo', version=3, params=params)
17769 params['volume-attachments'] = volume_attachments
17770 reply = await self.rpc(msg)
17771 return reply
17772
17773
17774
17775 @ReturnMapping(ErrorResults)
17776 async def SetVolumeInfo(self, volumes):
17777 '''
17778 volumes : typing.Sequence<+T_co>[~Volume]<~Volume>
17779 Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult>
17780 '''
17781 # map input types to rpc msg
17782 params = dict()
17783 msg = dict(type='StorageProvisioner', request='SetVolumeInfo', version=3, params=params)
17784 params['volumes'] = volumes
17785 reply = await self.rpc(msg)
17786 return reply
17787
17788
17789
17790 @ReturnMapping(ErrorResults)
17791 async def UpdateStatus(self, entities):
17792 '''
17793 entities : typing.Sequence<+T_co>[~EntityStatusArgs]<~EntityStatusArgs>
17794 Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult>
17795 '''
17796 # map input types to rpc msg
17797 params = dict()
17798 msg = dict(type='StorageProvisioner', request='UpdateStatus', version=3, params=params)
17799 params['entities'] = entities
17800 reply = await self.rpc(msg)
17801 return reply
17802
17803
17804
17805 @ReturnMapping(VolumeAttachmentParamsResults)
17806 async def VolumeAttachmentParams(self, ids):
17807 '''
17808 ids : typing.Sequence<+T_co>[~MachineStorageId]<~MachineStorageId>
17809 Returns -> typing.Sequence<+T_co>[~VolumeAttachmentParamsResult]<~VolumeAttachmentParamsResult>
17810 '''
17811 # map input types to rpc msg
17812 params = dict()
17813 msg = dict(type='StorageProvisioner', request='VolumeAttachmentParams', version=3, params=params)
17814 params['ids'] = ids
17815 reply = await self.rpc(msg)
17816 return reply
17817
17818
17819
17820 @ReturnMapping(VolumeAttachmentResults)
17821 async def VolumeAttachments(self, ids):
17822 '''
17823 ids : typing.Sequence<+T_co>[~MachineStorageId]<~MachineStorageId>
17824 Returns -> typing.Sequence<+T_co>[~VolumeAttachmentResult]<~VolumeAttachmentResult>
17825 '''
17826 # map input types to rpc msg
17827 params = dict()
17828 msg = dict(type='StorageProvisioner', request='VolumeAttachments', version=3, params=params)
17829 params['ids'] = ids
17830 reply = await self.rpc(msg)
17831 return reply
17832
17833
17834
17835 @ReturnMapping(BlockDeviceResults)
17836 async def VolumeBlockDevices(self, ids):
17837 '''
17838 ids : typing.Sequence<+T_co>[~MachineStorageId]<~MachineStorageId>
17839 Returns -> typing.Sequence<+T_co>[~BlockDeviceResult]<~BlockDeviceResult>
17840 '''
17841 # map input types to rpc msg
17842 params = dict()
17843 msg = dict(type='StorageProvisioner', request='VolumeBlockDevices', version=3, params=params)
17844 params['ids'] = ids
17845 reply = await self.rpc(msg)
17846 return reply
17847
17848
17849
17850 @ReturnMapping(VolumeParamsResults)
17851 async def VolumeParams(self, entities):
17852 '''
17853 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
17854 Returns -> typing.Sequence<+T_co>[~VolumeParamsResult]<~VolumeParamsResult>
17855 '''
17856 # map input types to rpc msg
17857 params = dict()
17858 msg = dict(type='StorageProvisioner', request='VolumeParams', version=3, params=params)
17859 params['entities'] = entities
17860 reply = await self.rpc(msg)
17861 return reply
17862
17863
17864
17865 @ReturnMapping(VolumeResults)
17866 async def Volumes(self, entities):
17867 '''
17868 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
17869 Returns -> typing.Sequence<+T_co>[~VolumeResult]<~VolumeResult>
17870 '''
17871 # map input types to rpc msg
17872 params = dict()
17873 msg = dict(type='StorageProvisioner', request='Volumes', version=3, params=params)
17874 params['entities'] = entities
17875 reply = await self.rpc(msg)
17876 return reply
17877
17878
17879
17880 @ReturnMapping(NotifyWatchResults)
17881 async def WatchBlockDevices(self, entities):
17882 '''
17883 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
17884 Returns -> typing.Sequence<+T_co>[~NotifyWatchResult]<~NotifyWatchResult>
17885 '''
17886 # map input types to rpc msg
17887 params = dict()
17888 msg = dict(type='StorageProvisioner', request='WatchBlockDevices', version=3, params=params)
17889 params['entities'] = entities
17890 reply = await self.rpc(msg)
17891 return reply
17892
17893
17894
17895 @ReturnMapping(MachineStorageIdsWatchResults)
17896 async def WatchFilesystemAttachments(self, entities):
17897 '''
17898 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
17899 Returns -> typing.Sequence<+T_co>[~MachineStorageIdsWatchResult]<~MachineStorageIdsWatchResult>
17900 '''
17901 # map input types to rpc msg
17902 params = dict()
17903 msg = dict(type='StorageProvisioner', request='WatchFilesystemAttachments', version=3, params=params)
17904 params['entities'] = entities
17905 reply = await self.rpc(msg)
17906 return reply
17907
17908
17909
17910 @ReturnMapping(StringsWatchResults)
17911 async def WatchFilesystems(self, entities):
17912 '''
17913 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
17914 Returns -> typing.Sequence<+T_co>[~StringsWatchResult]<~StringsWatchResult>
17915 '''
17916 # map input types to rpc msg
17917 params = dict()
17918 msg = dict(type='StorageProvisioner', request='WatchFilesystems', version=3, params=params)
17919 params['entities'] = entities
17920 reply = await self.rpc(msg)
17921 return reply
17922
17923
17924
17925 @ReturnMapping(NotifyWatchResults)
17926 async def WatchMachines(self, entities):
17927 '''
17928 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
17929 Returns -> typing.Sequence<+T_co>[~NotifyWatchResult]<~NotifyWatchResult>
17930 '''
17931 # map input types to rpc msg
17932 params = dict()
17933 msg = dict(type='StorageProvisioner', request='WatchMachines', version=3, params=params)
17934 params['entities'] = entities
17935 reply = await self.rpc(msg)
17936 return reply
17937
17938
17939
17940 @ReturnMapping(MachineStorageIdsWatchResults)
17941 async def WatchVolumeAttachments(self, entities):
17942 '''
17943 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
17944 Returns -> typing.Sequence<+T_co>[~MachineStorageIdsWatchResult]<~MachineStorageIdsWatchResult>
17945 '''
17946 # map input types to rpc msg
17947 params = dict()
17948 msg = dict(type='StorageProvisioner', request='WatchVolumeAttachments', version=3, params=params)
17949 params['entities'] = entities
17950 reply = await self.rpc(msg)
17951 return reply
17952
17953
17954
17955 @ReturnMapping(StringsWatchResults)
17956 async def WatchVolumes(self, entities):
17957 '''
17958 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
17959 Returns -> typing.Sequence<+T_co>[~StringsWatchResult]<~StringsWatchResult>
17960 '''
17961 # map input types to rpc msg
17962 params = dict()
17963 msg = dict(type='StorageProvisioner', request='WatchVolumes', version=3, params=params)
17964 params['entities'] = entities
17965 reply = await self.rpc(msg)
17966 return reply
17967
17968
17969 class StringsWatcherFacade(Type):
17970 name = 'StringsWatcher'
17971 version = 1
17972 schema = {'definitions': {'Error': {'additionalProperties': False,
17973 'properties': {'code': {'type': 'string'},
17974 'info': {'$ref': '#/definitions/ErrorInfo'},
17975 'message': {'type': 'string'}},
17976 'required': ['message', 'code'],
17977 'type': 'object'},
17978 'ErrorInfo': {'additionalProperties': False,
17979 'properties': {'macaroon': {'$ref': '#/definitions/Macaroon'},
17980 'macaroon-path': {'type': 'string'}},
17981 'type': 'object'},
17982 'Macaroon': {'additionalProperties': False, 'type': 'object'},
17983 'StringsWatchResult': {'additionalProperties': False,
17984 'properties': {'changes': {'items': {'type': 'string'},
17985 'type': 'array'},
17986 'error': {'$ref': '#/definitions/Error'},
17987 'watcher-id': {'type': 'string'}},
17988 'required': ['watcher-id'],
17989 'type': 'object'}},
17990 'properties': {'Next': {'properties': {'Result': {'$ref': '#/definitions/StringsWatchResult'}},
17991 'type': 'object'},
17992 'Stop': {'type': 'object'}},
17993 'type': 'object'}
17994
17995
17996 @ReturnMapping(StringsWatchResult)
17997 async def Next(self):
17998 '''
17999
18000 Returns -> typing.Union[typing.Sequence<+T_co>[str], _ForwardRef('Error')]
18001 '''
18002 # map input types to rpc msg
18003 params = dict()
18004 msg = dict(type='StringsWatcher', request='Next', version=1, params=params)
18005
18006 reply = await self.rpc(msg)
18007 return reply
18008
18009
18010
18011 @ReturnMapping(None)
18012 async def Stop(self):
18013 '''
18014
18015 Returns -> None
18016 '''
18017 # map input types to rpc msg
18018 params = dict()
18019 msg = dict(type='StringsWatcher', request='Stop', version=1, params=params)
18020
18021 reply = await self.rpc(msg)
18022 return reply
18023
18024
18025 class SubnetsFacade(Type):
18026 name = 'Subnets'
18027 version = 2
18028 schema = {'definitions': {'AddSubnetParams': {'additionalProperties': False,
18029 'properties': {'space-tag': {'type': 'string'},
18030 'subnet-provider-id': {'type': 'string'},
18031 'subnet-tag': {'type': 'string'},
18032 'zones': {'items': {'type': 'string'},
18033 'type': 'array'}},
18034 'required': ['space-tag'],
18035 'type': 'object'},
18036 'AddSubnetsParams': {'additionalProperties': False,
18037 'properties': {'subnets': {'items': {'$ref': '#/definitions/AddSubnetParams'},
18038 'type': 'array'}},
18039 'required': ['subnets'],
18040 'type': 'object'},
18041 'Error': {'additionalProperties': False,
18042 'properties': {'code': {'type': 'string'},
18043 'info': {'$ref': '#/definitions/ErrorInfo'},
18044 'message': {'type': 'string'}},
18045 'required': ['message', 'code'],
18046 'type': 'object'},
18047 'ErrorInfo': {'additionalProperties': False,
18048 'properties': {'macaroon': {'$ref': '#/definitions/Macaroon'},
18049 'macaroon-path': {'type': 'string'}},
18050 'type': 'object'},
18051 'ErrorResult': {'additionalProperties': False,
18052 'properties': {'error': {'$ref': '#/definitions/Error'}},
18053 'type': 'object'},
18054 'ErrorResults': {'additionalProperties': False,
18055 'properties': {'results': {'items': {'$ref': '#/definitions/ErrorResult'},
18056 'type': 'array'}},
18057 'required': ['results'],
18058 'type': 'object'},
18059 'ListSubnetsResults': {'additionalProperties': False,
18060 'properties': {'results': {'items': {'$ref': '#/definitions/Subnet'},
18061 'type': 'array'}},
18062 'required': ['results'],
18063 'type': 'object'},
18064 'Macaroon': {'additionalProperties': False, 'type': 'object'},
18065 'SpaceResult': {'additionalProperties': False,
18066 'properties': {'error': {'$ref': '#/definitions/Error'},
18067 'tag': {'type': 'string'}},
18068 'required': ['tag'],
18069 'type': 'object'},
18070 'SpaceResults': {'additionalProperties': False,
18071 'properties': {'results': {'items': {'$ref': '#/definitions/SpaceResult'},
18072 'type': 'array'}},
18073 'required': ['results'],
18074 'type': 'object'},
18075 'Subnet': {'additionalProperties': False,
18076 'properties': {'cidr': {'type': 'string'},
18077 'life': {'type': 'string'},
18078 'provider-id': {'type': 'string'},
18079 'space-tag': {'type': 'string'},
18080 'status': {'type': 'string'},
18081 'vlan-tag': {'type': 'integer'},
18082 'zones': {'items': {'type': 'string'},
18083 'type': 'array'}},
18084 'required': ['cidr',
18085 'vlan-tag',
18086 'life',
18087 'space-tag',
18088 'zones'],
18089 'type': 'object'},
18090 'SubnetsFilters': {'additionalProperties': False,
18091 'properties': {'space-tag': {'type': 'string'},
18092 'zone': {'type': 'string'}},
18093 'type': 'object'},
18094 'ZoneResult': {'additionalProperties': False,
18095 'properties': {'available': {'type': 'boolean'},
18096 'error': {'$ref': '#/definitions/Error'},
18097 'name': {'type': 'string'}},
18098 'required': ['name', 'available'],
18099 'type': 'object'},
18100 'ZoneResults': {'additionalProperties': False,
18101 'properties': {'results': {'items': {'$ref': '#/definitions/ZoneResult'},
18102 'type': 'array'}},
18103 'required': ['results'],
18104 'type': 'object'}},
18105 'properties': {'AddSubnets': {'properties': {'Params': {'$ref': '#/definitions/AddSubnetsParams'},
18106 'Result': {'$ref': '#/definitions/ErrorResults'}},
18107 'type': 'object'},
18108 'AllSpaces': {'properties': {'Result': {'$ref': '#/definitions/SpaceResults'}},
18109 'type': 'object'},
18110 'AllZones': {'properties': {'Result': {'$ref': '#/definitions/ZoneResults'}},
18111 'type': 'object'},
18112 'ListSubnets': {'properties': {'Params': {'$ref': '#/definitions/SubnetsFilters'},
18113 'Result': {'$ref': '#/definitions/ListSubnetsResults'}},
18114 'type': 'object'}},
18115 'type': 'object'}
18116
18117
18118 @ReturnMapping(ErrorResults)
18119 async def AddSubnets(self, subnets):
18120 '''
18121 subnets : typing.Sequence<+T_co>[~AddSubnetParams]<~AddSubnetParams>
18122 Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult>
18123 '''
18124 # map input types to rpc msg
18125 params = dict()
18126 msg = dict(type='Subnets', request='AddSubnets', version=2, params=params)
18127 params['subnets'] = subnets
18128 reply = await self.rpc(msg)
18129 return reply
18130
18131
18132
18133 @ReturnMapping(SpaceResults)
18134 async def AllSpaces(self):
18135 '''
18136
18137 Returns -> typing.Sequence<+T_co>[~SpaceResult]<~SpaceResult>
18138 '''
18139 # map input types to rpc msg
18140 params = dict()
18141 msg = dict(type='Subnets', request='AllSpaces', version=2, params=params)
18142
18143 reply = await self.rpc(msg)
18144 return reply
18145
18146
18147
18148 @ReturnMapping(ZoneResults)
18149 async def AllZones(self):
18150 '''
18151
18152 Returns -> typing.Sequence<+T_co>[~ZoneResult]<~ZoneResult>
18153 '''
18154 # map input types to rpc msg
18155 params = dict()
18156 msg = dict(type='Subnets', request='AllZones', version=2, params=params)
18157
18158 reply = await self.rpc(msg)
18159 return reply
18160
18161
18162
18163 @ReturnMapping(ListSubnetsResults)
18164 async def ListSubnets(self, space_tag, zone):
18165 '''
18166 space_tag : str
18167 zone : str
18168 Returns -> typing.Sequence<+T_co>[~Subnet]<~Subnet>
18169 '''
18170 # map input types to rpc msg
18171 params = dict()
18172 msg = dict(type='Subnets', request='ListSubnets', version=2, params=params)
18173 params['space-tag'] = space_tag
18174 params['zone'] = zone
18175 reply = await self.rpc(msg)
18176 return reply
18177
18178
18179 class UndertakerFacade(Type):
18180 name = 'Undertaker'
18181 version = 1
18182 schema = {'definitions': {'EntityStatusArgs': {'additionalProperties': False,
18183 'properties': {'data': {'patternProperties': {'.*': {'additionalProperties': True,
18184 'type': 'object'}},
18185 'type': 'object'},
18186 'info': {'type': 'string'},
18187 'status': {'type': 'string'},
18188 'tag': {'type': 'string'}},
18189 'required': ['tag',
18190 'status',
18191 'info',
18192 'data'],
18193 'type': 'object'},
18194 'Error': {'additionalProperties': False,
18195 'properties': {'code': {'type': 'string'},
18196 'info': {'$ref': '#/definitions/ErrorInfo'},
18197 'message': {'type': 'string'}},
18198 'required': ['message', 'code'],
18199 'type': 'object'},
18200 'ErrorInfo': {'additionalProperties': False,
18201 'properties': {'macaroon': {'$ref': '#/definitions/Macaroon'},
18202 'macaroon-path': {'type': 'string'}},
18203 'type': 'object'},
18204 'ErrorResult': {'additionalProperties': False,
18205 'properties': {'error': {'$ref': '#/definitions/Error'}},
18206 'type': 'object'},
18207 'ErrorResults': {'additionalProperties': False,
18208 'properties': {'results': {'items': {'$ref': '#/definitions/ErrorResult'},
18209 'type': 'array'}},
18210 'required': ['results'],
18211 'type': 'object'},
18212 'Macaroon': {'additionalProperties': False, 'type': 'object'},
18213 'ModelConfigResult': {'additionalProperties': False,
18214 'properties': {'config': {'patternProperties': {'.*': {'additionalProperties': True,
18215 'type': 'object'}},
18216 'type': 'object'}},
18217 'required': ['config'],
18218 'type': 'object'},
18219 'NotifyWatchResult': {'additionalProperties': False,
18220 'properties': {'NotifyWatcherId': {'type': 'string'},
18221 'error': {'$ref': '#/definitions/Error'}},
18222 'required': ['NotifyWatcherId'],
18223 'type': 'object'},
18224 'NotifyWatchResults': {'additionalProperties': False,
18225 'properties': {'results': {'items': {'$ref': '#/definitions/NotifyWatchResult'},
18226 'type': 'array'}},
18227 'required': ['results'],
18228 'type': 'object'},
18229 'SetStatus': {'additionalProperties': False,
18230 'properties': {'entities': {'items': {'$ref': '#/definitions/EntityStatusArgs'},
18231 'type': 'array'}},
18232 'required': ['entities'],
18233 'type': 'object'},
18234 'UndertakerModelInfo': {'additionalProperties': False,
18235 'properties': {'global-name': {'type': 'string'},
18236 'is-system': {'type': 'boolean'},
18237 'life': {'type': 'string'},
18238 'name': {'type': 'string'},
18239 'uuid': {'type': 'string'}},
18240 'required': ['uuid',
18241 'name',
18242 'global-name',
18243 'is-system',
18244 'life'],
18245 'type': 'object'},
18246 'UndertakerModelInfoResult': {'additionalProperties': False,
18247 'properties': {'error': {'$ref': '#/definitions/Error'},
18248 'result': {'$ref': '#/definitions/UndertakerModelInfo'}},
18249 'required': ['result'],
18250 'type': 'object'}},
18251 'properties': {'ModelConfig': {'properties': {'Result': {'$ref': '#/definitions/ModelConfigResult'}},
18252 'type': 'object'},
18253 'ModelInfo': {'properties': {'Result': {'$ref': '#/definitions/UndertakerModelInfoResult'}},
18254 'type': 'object'},
18255 'ProcessDyingModel': {'type': 'object'},
18256 'RemoveModel': {'type': 'object'},
18257 'SetStatus': {'properties': {'Params': {'$ref': '#/definitions/SetStatus'},
18258 'Result': {'$ref': '#/definitions/ErrorResults'}},
18259 'type': 'object'},
18260 'UpdateStatus': {'properties': {'Params': {'$ref': '#/definitions/SetStatus'},
18261 'Result': {'$ref': '#/definitions/ErrorResults'}},
18262 'type': 'object'},
18263 'WatchModelResources': {'properties': {'Result': {'$ref': '#/definitions/NotifyWatchResults'}},
18264 'type': 'object'}},
18265 'type': 'object'}
18266
18267
18268 @ReturnMapping(ModelConfigResult)
18269 async def ModelConfig(self):
18270 '''
18271
18272 Returns -> typing.Mapping<~KT, +VT_co>[str, typing.Any]
18273 '''
18274 # map input types to rpc msg
18275 params = dict()
18276 msg = dict(type='Undertaker', request='ModelConfig', version=1, params=params)
18277
18278 reply = await self.rpc(msg)
18279 return reply
18280
18281
18282
18283 @ReturnMapping(UndertakerModelInfoResult)
18284 async def ModelInfo(self):
18285 '''
18286
18287 Returns -> typing.Union[_ForwardRef('Error'), _ForwardRef('UndertakerModelInfo')]
18288 '''
18289 # map input types to rpc msg
18290 params = dict()
18291 msg = dict(type='Undertaker', request='ModelInfo', version=1, params=params)
18292
18293 reply = await self.rpc(msg)
18294 return reply
18295
18296
18297
18298 @ReturnMapping(None)
18299 async def ProcessDyingModel(self):
18300 '''
18301
18302 Returns -> None
18303 '''
18304 # map input types to rpc msg
18305 params = dict()
18306 msg = dict(type='Undertaker', request='ProcessDyingModel', version=1, params=params)
18307
18308 reply = await self.rpc(msg)
18309 return reply
18310
18311
18312
18313 @ReturnMapping(None)
18314 async def RemoveModel(self):
18315 '''
18316
18317 Returns -> None
18318 '''
18319 # map input types to rpc msg
18320 params = dict()
18321 msg = dict(type='Undertaker', request='RemoveModel', version=1, params=params)
18322
18323 reply = await self.rpc(msg)
18324 return reply
18325
18326
18327
18328 @ReturnMapping(ErrorResults)
18329 async def SetStatus(self, entities):
18330 '''
18331 entities : typing.Sequence<+T_co>[~EntityStatusArgs]<~EntityStatusArgs>
18332 Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult>
18333 '''
18334 # map input types to rpc msg
18335 params = dict()
18336 msg = dict(type='Undertaker', request='SetStatus', version=1, params=params)
18337 params['entities'] = entities
18338 reply = await self.rpc(msg)
18339 return reply
18340
18341
18342
18343 @ReturnMapping(ErrorResults)
18344 async def UpdateStatus(self, entities):
18345 '''
18346 entities : typing.Sequence<+T_co>[~EntityStatusArgs]<~EntityStatusArgs>
18347 Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult>
18348 '''
18349 # map input types to rpc msg
18350 params = dict()
18351 msg = dict(type='Undertaker', request='UpdateStatus', version=1, params=params)
18352 params['entities'] = entities
18353 reply = await self.rpc(msg)
18354 return reply
18355
18356
18357
18358 @ReturnMapping(NotifyWatchResults)
18359 async def WatchModelResources(self):
18360 '''
18361
18362 Returns -> typing.Sequence<+T_co>[~NotifyWatchResult]<~NotifyWatchResult>
18363 '''
18364 # map input types to rpc msg
18365 params = dict()
18366 msg = dict(type='Undertaker', request='WatchModelResources', version=1, params=params)
18367
18368 reply = await self.rpc(msg)
18369 return reply
18370
18371
18372 class UnitAssignerFacade(Type):
18373 name = 'UnitAssigner'
18374 version = 1
18375 schema = {'definitions': {'Entities': {'additionalProperties': False,
18376 'properties': {'entities': {'items': {'$ref': '#/definitions/Entity'},
18377 'type': 'array'}},
18378 'required': ['entities'],
18379 'type': 'object'},
18380 'Entity': {'additionalProperties': False,
18381 'properties': {'tag': {'type': 'string'}},
18382 'required': ['tag'],
18383 'type': 'object'},
18384 'EntityStatusArgs': {'additionalProperties': False,
18385 'properties': {'data': {'patternProperties': {'.*': {'additionalProperties': True,
18386 'type': 'object'}},
18387 'type': 'object'},
18388 'info': {'type': 'string'},
18389 'status': {'type': 'string'},
18390 'tag': {'type': 'string'}},
18391 'required': ['tag',
18392 'status',
18393 'info',
18394 'data'],
18395 'type': 'object'},
18396 'Error': {'additionalProperties': False,
18397 'properties': {'code': {'type': 'string'},
18398 'info': {'$ref': '#/definitions/ErrorInfo'},
18399 'message': {'type': 'string'}},
18400 'required': ['message', 'code'],
18401 'type': 'object'},
18402 'ErrorInfo': {'additionalProperties': False,
18403 'properties': {'macaroon': {'$ref': '#/definitions/Macaroon'},
18404 'macaroon-path': {'type': 'string'}},
18405 'type': 'object'},
18406 'ErrorResult': {'additionalProperties': False,
18407 'properties': {'error': {'$ref': '#/definitions/Error'}},
18408 'type': 'object'},
18409 'ErrorResults': {'additionalProperties': False,
18410 'properties': {'results': {'items': {'$ref': '#/definitions/ErrorResult'},
18411 'type': 'array'}},
18412 'required': ['results'],
18413 'type': 'object'},
18414 'Macaroon': {'additionalProperties': False, 'type': 'object'},
18415 'SetStatus': {'additionalProperties': False,
18416 'properties': {'entities': {'items': {'$ref': '#/definitions/EntityStatusArgs'},
18417 'type': 'array'}},
18418 'required': ['entities'],
18419 'type': 'object'},
18420 'StringsWatchResult': {'additionalProperties': False,
18421 'properties': {'changes': {'items': {'type': 'string'},
18422 'type': 'array'},
18423 'error': {'$ref': '#/definitions/Error'},
18424 'watcher-id': {'type': 'string'}},
18425 'required': ['watcher-id'],
18426 'type': 'object'}},
18427 'properties': {'AssignUnits': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
18428 'Result': {'$ref': '#/definitions/ErrorResults'}},
18429 'type': 'object'},
18430 'SetAgentStatus': {'properties': {'Params': {'$ref': '#/definitions/SetStatus'},
18431 'Result': {'$ref': '#/definitions/ErrorResults'}},
18432 'type': 'object'},
18433 'WatchUnitAssignments': {'properties': {'Result': {'$ref': '#/definitions/StringsWatchResult'}},
18434 'type': 'object'}},
18435 'type': 'object'}
18436
18437
18438 @ReturnMapping(ErrorResults)
18439 async def AssignUnits(self, entities):
18440 '''
18441 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
18442 Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult>
18443 '''
18444 # map input types to rpc msg
18445 params = dict()
18446 msg = dict(type='UnitAssigner', request='AssignUnits', version=1, params=params)
18447 params['entities'] = entities
18448 reply = await self.rpc(msg)
18449 return reply
18450
18451
18452
18453 @ReturnMapping(ErrorResults)
18454 async def SetAgentStatus(self, entities):
18455 '''
18456 entities : typing.Sequence<+T_co>[~EntityStatusArgs]<~EntityStatusArgs>
18457 Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult>
18458 '''
18459 # map input types to rpc msg
18460 params = dict()
18461 msg = dict(type='UnitAssigner', request='SetAgentStatus', version=1, params=params)
18462 params['entities'] = entities
18463 reply = await self.rpc(msg)
18464 return reply
18465
18466
18467
18468 @ReturnMapping(StringsWatchResult)
18469 async def WatchUnitAssignments(self):
18470 '''
18471
18472 Returns -> typing.Union[typing.Sequence<+T_co>[str], _ForwardRef('Error')]
18473 '''
18474 # map input types to rpc msg
18475 params = dict()
18476 msg = dict(type='UnitAssigner', request='WatchUnitAssignments', version=1, params=params)
18477
18478 reply = await self.rpc(msg)
18479 return reply
18480
18481
18482 class UniterFacade(Type):
18483 name = 'Uniter'
18484 version = 4
18485 schema = {'definitions': {'APIHostPortsResult': {'additionalProperties': False,
18486 'properties': {'servers': {'items': {'items': {'$ref': '#/definitions/HostPort'},
18487 'type': 'array'},
18488 'type': 'array'}},
18489 'required': ['servers'],
18490 'type': 'object'},
18491 'Action': {'additionalProperties': False,
18492 'properties': {'name': {'type': 'string'},
18493 'parameters': {'patternProperties': {'.*': {'additionalProperties': True,
18494 'type': 'object'}},
18495 'type': 'object'},
18496 'receiver': {'type': 'string'},
18497 'tag': {'type': 'string'}},
18498 'required': ['tag', 'receiver', 'name'],
18499 'type': 'object'},
18500 'ActionExecutionResult': {'additionalProperties': False,
18501 'properties': {'action-tag': {'type': 'string'},
18502 'message': {'type': 'string'},
18503 'results': {'patternProperties': {'.*': {'additionalProperties': True,
18504 'type': 'object'}},
18505 'type': 'object'},
18506 'status': {'type': 'string'}},
18507 'required': ['action-tag', 'status'],
18508 'type': 'object'},
18509 'ActionExecutionResults': {'additionalProperties': False,
18510 'properties': {'results': {'items': {'$ref': '#/definitions/ActionExecutionResult'},
18511 'type': 'array'}},
18512 'type': 'object'},
18513 'ActionResult': {'additionalProperties': False,
18514 'properties': {'action': {'$ref': '#/definitions/Action'},
18515 'completed': {'format': 'date-time',
18516 'type': 'string'},
18517 'enqueued': {'format': 'date-time',
18518 'type': 'string'},
18519 'error': {'$ref': '#/definitions/Error'},
18520 'message': {'type': 'string'},
18521 'output': {'patternProperties': {'.*': {'additionalProperties': True,
18522 'type': 'object'}},
18523 'type': 'object'},
18524 'started': {'format': 'date-time',
18525 'type': 'string'},
18526 'status': {'type': 'string'}},
18527 'type': 'object'},
18528 'ActionResults': {'additionalProperties': False,
18529 'properties': {'results': {'items': {'$ref': '#/definitions/ActionResult'},
18530 'type': 'array'}},
18531 'type': 'object'},
18532 'Address': {'additionalProperties': False,
18533 'properties': {'scope': {'type': 'string'},
18534 'space-name': {'type': 'string'},
18535 'type': {'type': 'string'},
18536 'value': {'type': 'string'}},
18537 'required': ['value', 'type', 'scope'],
18538 'type': 'object'},
18539 'ApplicationStatusResult': {'additionalProperties': False,
18540 'properties': {'application': {'$ref': '#/definitions/StatusResult'},
18541 'error': {'$ref': '#/definitions/Error'},
18542 'units': {'patternProperties': {'.*': {'$ref': '#/definitions/StatusResult'}},
18543 'type': 'object'}},
18544 'required': ['application',
18545 'units'],
18546 'type': 'object'},
18547 'ApplicationStatusResults': {'additionalProperties': False,
18548 'properties': {'results': {'items': {'$ref': '#/definitions/ApplicationStatusResult'},
18549 'type': 'array'}},
18550 'required': ['results'],
18551 'type': 'object'},
18552 'BoolResult': {'additionalProperties': False,
18553 'properties': {'error': {'$ref': '#/definitions/Error'},
18554 'result': {'type': 'boolean'}},
18555 'required': ['result'],
18556 'type': 'object'},
18557 'BoolResults': {'additionalProperties': False,
18558 'properties': {'results': {'items': {'$ref': '#/definitions/BoolResult'},
18559 'type': 'array'}},
18560 'required': ['results'],
18561 'type': 'object'},
18562 'BytesResult': {'additionalProperties': False,
18563 'properties': {'result': {'items': {'type': 'integer'},
18564 'type': 'array'}},
18565 'required': ['result'],
18566 'type': 'object'},
18567 'CharmRelation': {'additionalProperties': False,
18568 'properties': {'interface': {'type': 'string'},
18569 'limit': {'type': 'integer'},
18570 'name': {'type': 'string'},
18571 'optional': {'type': 'boolean'},
18572 'role': {'type': 'string'},
18573 'scope': {'type': 'string'}},
18574 'required': ['name',
18575 'role',
18576 'interface',
18577 'optional',
18578 'limit',
18579 'scope'],
18580 'type': 'object'},
18581 'CharmURL': {'additionalProperties': False,
18582 'properties': {'url': {'type': 'string'}},
18583 'required': ['url'],
18584 'type': 'object'},
18585 'CharmURLs': {'additionalProperties': False,
18586 'properties': {'urls': {'items': {'$ref': '#/definitions/CharmURL'},
18587 'type': 'array'}},
18588 'required': ['urls'],
18589 'type': 'object'},
18590 'ConfigSettingsResult': {'additionalProperties': False,
18591 'properties': {'error': {'$ref': '#/definitions/Error'},
18592 'settings': {'patternProperties': {'.*': {'additionalProperties': True,
18593 'type': 'object'}},
18594 'type': 'object'}},
18595 'required': ['settings'],
18596 'type': 'object'},
18597 'ConfigSettingsResults': {'additionalProperties': False,
18598 'properties': {'results': {'items': {'$ref': '#/definitions/ConfigSettingsResult'},
18599 'type': 'array'}},
18600 'required': ['results'],
18601 'type': 'object'},
18602 'Endpoint': {'additionalProperties': False,
18603 'properties': {'application-name': {'type': 'string'},
18604 'relation': {'$ref': '#/definitions/CharmRelation'}},
18605 'required': ['application-name', 'relation'],
18606 'type': 'object'},
18607 'Entities': {'additionalProperties': False,
18608 'properties': {'entities': {'items': {'$ref': '#/definitions/Entity'},
18609 'type': 'array'}},
18610 'required': ['entities'],
18611 'type': 'object'},
18612 'EntitiesCharmURL': {'additionalProperties': False,
18613 'properties': {'entities': {'items': {'$ref': '#/definitions/EntityCharmURL'},
18614 'type': 'array'}},
18615 'required': ['entities'],
18616 'type': 'object'},
18617 'EntitiesPortRanges': {'additionalProperties': False,
18618 'properties': {'entities': {'items': {'$ref': '#/definitions/EntityPortRange'},
18619 'type': 'array'}},
18620 'required': ['entities'],
18621 'type': 'object'},
18622 'Entity': {'additionalProperties': False,
18623 'properties': {'tag': {'type': 'string'}},
18624 'required': ['tag'],
18625 'type': 'object'},
18626 'EntityCharmURL': {'additionalProperties': False,
18627 'properties': {'charm-url': {'type': 'string'},
18628 'tag': {'type': 'string'}},
18629 'required': ['tag', 'charm-url'],
18630 'type': 'object'},
18631 'EntityPortRange': {'additionalProperties': False,
18632 'properties': {'from-port': {'type': 'integer'},
18633 'protocol': {'type': 'string'},
18634 'tag': {'type': 'string'},
18635 'to-port': {'type': 'integer'}},
18636 'required': ['tag',
18637 'protocol',
18638 'from-port',
18639 'to-port'],
18640 'type': 'object'},
18641 'EntityStatusArgs': {'additionalProperties': False,
18642 'properties': {'data': {'patternProperties': {'.*': {'additionalProperties': True,
18643 'type': 'object'}},
18644 'type': 'object'},
18645 'info': {'type': 'string'},
18646 'status': {'type': 'string'},
18647 'tag': {'type': 'string'}},
18648 'required': ['tag',
18649 'status',
18650 'info',
18651 'data'],
18652 'type': 'object'},
18653 'EntityWorkloadVersion': {'additionalProperties': False,
18654 'properties': {'tag': {'type': 'string'},
18655 'workload-version': {'type': 'string'}},
18656 'required': ['tag',
18657 'workload-version'],
18658 'type': 'object'},
18659 'EntityWorkloadVersions': {'additionalProperties': False,
18660 'properties': {'entities': {'items': {'$ref': '#/definitions/EntityWorkloadVersion'},
18661 'type': 'array'}},
18662 'required': ['entities'],
18663 'type': 'object'},
18664 'Error': {'additionalProperties': False,
18665 'properties': {'code': {'type': 'string'},
18666 'info': {'$ref': '#/definitions/ErrorInfo'},
18667 'message': {'type': 'string'}},
18668 'required': ['message', 'code'],
18669 'type': 'object'},
18670 'ErrorInfo': {'additionalProperties': False,
18671 'properties': {'macaroon': {'$ref': '#/definitions/Macaroon'},
18672 'macaroon-path': {'type': 'string'}},
18673 'type': 'object'},
18674 'ErrorResult': {'additionalProperties': False,
18675 'properties': {'error': {'$ref': '#/definitions/Error'}},
18676 'type': 'object'},
18677 'ErrorResults': {'additionalProperties': False,
18678 'properties': {'results': {'items': {'$ref': '#/definitions/ErrorResult'},
18679 'type': 'array'}},
18680 'required': ['results'],
18681 'type': 'object'},
18682 'GetLeadershipSettingsBulkResults': {'additionalProperties': False,
18683 'properties': {'results': {'items': {'$ref': '#/definitions/GetLeadershipSettingsResult'},
18684 'type': 'array'}},
18685 'required': ['results'],
18686 'type': 'object'},
18687 'GetLeadershipSettingsResult': {'additionalProperties': False,
18688 'properties': {'error': {'$ref': '#/definitions/Error'},
18689 'settings': {'patternProperties': {'.*': {'type': 'string'}},
18690 'type': 'object'}},
18691 'required': ['settings'],
18692 'type': 'object'},
18693 'HostPort': {'additionalProperties': False,
18694 'properties': {'Address': {'$ref': '#/definitions/Address'},
18695 'port': {'type': 'integer'}},
18696 'required': ['Address', 'port'],
18697 'type': 'object'},
18698 'IntResult': {'additionalProperties': False,
18699 'properties': {'error': {'$ref': '#/definitions/Error'},
18700 'result': {'type': 'integer'}},
18701 'required': ['result'],
18702 'type': 'object'},
18703 'IntResults': {'additionalProperties': False,
18704 'properties': {'results': {'items': {'$ref': '#/definitions/IntResult'},
18705 'type': 'array'}},
18706 'required': ['results'],
18707 'type': 'object'},
18708 'LifeResult': {'additionalProperties': False,
18709 'properties': {'error': {'$ref': '#/definitions/Error'},
18710 'life': {'type': 'string'}},
18711 'required': ['life'],
18712 'type': 'object'},
18713 'LifeResults': {'additionalProperties': False,
18714 'properties': {'results': {'items': {'$ref': '#/definitions/LifeResult'},
18715 'type': 'array'}},
18716 'required': ['results'],
18717 'type': 'object'},
18718 'Macaroon': {'additionalProperties': False, 'type': 'object'},
18719 'MachinePortRange': {'additionalProperties': False,
18720 'properties': {'port-range': {'$ref': '#/definitions/PortRange'},
18721 'relation-tag': {'type': 'string'},
18722 'unit-tag': {'type': 'string'}},
18723 'required': ['unit-tag',
18724 'relation-tag',
18725 'port-range'],
18726 'type': 'object'},
18727 'MachinePortsResult': {'additionalProperties': False,
18728 'properties': {'error': {'$ref': '#/definitions/Error'},
18729 'ports': {'items': {'$ref': '#/definitions/MachinePortRange'},
18730 'type': 'array'}},
18731 'required': ['ports'],
18732 'type': 'object'},
18733 'MachinePortsResults': {'additionalProperties': False,
18734 'properties': {'results': {'items': {'$ref': '#/definitions/MachinePortsResult'},
18735 'type': 'array'}},
18736 'required': ['results'],
18737 'type': 'object'},
18738 'MergeLeadershipSettingsBulkParams': {'additionalProperties': False,
18739 'properties': {'params': {'items': {'$ref': '#/definitions/MergeLeadershipSettingsParam'},
18740 'type': 'array'}},
18741 'required': ['params'],
18742 'type': 'object'},
18743 'MergeLeadershipSettingsParam': {'additionalProperties': False,
18744 'properties': {'application-tag': {'type': 'string'},
18745 'settings': {'patternProperties': {'.*': {'type': 'string'}},
18746 'type': 'object'}},
18747 'required': ['application-tag',
18748 'settings'],
18749 'type': 'object'},
18750 'MeterStatusResult': {'additionalProperties': False,
18751 'properties': {'code': {'type': 'string'},
18752 'error': {'$ref': '#/definitions/Error'},
18753 'info': {'type': 'string'}},
18754 'required': ['code', 'info'],
18755 'type': 'object'},
18756 'MeterStatusResults': {'additionalProperties': False,
18757 'properties': {'results': {'items': {'$ref': '#/definitions/MeterStatusResult'},
18758 'type': 'array'}},
18759 'required': ['results'],
18760 'type': 'object'},
18761 'Metric': {'additionalProperties': False,
18762 'properties': {'key': {'type': 'string'},
18763 'time': {'format': 'date-time',
18764 'type': 'string'},
18765 'value': {'type': 'string'}},
18766 'required': ['key', 'value', 'time'],
18767 'type': 'object'},
18768 'MetricBatch': {'additionalProperties': False,
18769 'properties': {'charm-url': {'type': 'string'},
18770 'created': {'format': 'date-time',
18771 'type': 'string'},
18772 'metrics': {'items': {'$ref': '#/definitions/Metric'},
18773 'type': 'array'},
18774 'uuid': {'type': 'string'}},
18775 'required': ['uuid',
18776 'charm-url',
18777 'created',
18778 'metrics'],
18779 'type': 'object'},
18780 'MetricBatchParam': {'additionalProperties': False,
18781 'properties': {'batch': {'$ref': '#/definitions/MetricBatch'},
18782 'tag': {'type': 'string'}},
18783 'required': ['tag', 'batch'],
18784 'type': 'object'},
18785 'MetricBatchParams': {'additionalProperties': False,
18786 'properties': {'batches': {'items': {'$ref': '#/definitions/MetricBatchParam'},
18787 'type': 'array'}},
18788 'required': ['batches'],
18789 'type': 'object'},
18790 'ModelConfigResult': {'additionalProperties': False,
18791 'properties': {'config': {'patternProperties': {'.*': {'additionalProperties': True,
18792 'type': 'object'}},
18793 'type': 'object'}},
18794 'required': ['config'],
18795 'type': 'object'},
18796 'ModelResult': {'additionalProperties': False,
18797 'properties': {'error': {'$ref': '#/definitions/Error'},
18798 'name': {'type': 'string'},
18799 'uuid': {'type': 'string'}},
18800 'required': ['name', 'uuid'],
18801 'type': 'object'},
18802 'NetworkConfig': {'additionalProperties': False,
18803 'properties': {'address': {'type': 'string'},
18804 'cidr': {'type': 'string'},
18805 'config-type': {'type': 'string'},
18806 'device-index': {'type': 'integer'},
18807 'disabled': {'type': 'boolean'},
18808 'dns-search-domains': {'items': {'type': 'string'},
18809 'type': 'array'},
18810 'dns-servers': {'items': {'type': 'string'},
18811 'type': 'array'},
18812 'gateway-address': {'type': 'string'},
18813 'interface-name': {'type': 'string'},
18814 'interface-type': {'type': 'string'},
18815 'mac-address': {'type': 'string'},
18816 'mtu': {'type': 'integer'},
18817 'no-auto-start': {'type': 'boolean'},
18818 'parent-interface-name': {'type': 'string'},
18819 'provider-address-id': {'type': 'string'},
18820 'provider-id': {'type': 'string'},
18821 'provider-space-id': {'type': 'string'},
18822 'provider-subnet-id': {'type': 'string'},
18823 'provider-vlan-id': {'type': 'string'},
18824 'vlan-tag': {'type': 'integer'}},
18825 'required': ['device-index',
18826 'mac-address',
18827 'cidr',
18828 'mtu',
18829 'provider-id',
18830 'provider-subnet-id',
18831 'provider-space-id',
18832 'provider-address-id',
18833 'provider-vlan-id',
18834 'vlan-tag',
18835 'interface-name',
18836 'parent-interface-name',
18837 'interface-type',
18838 'disabled'],
18839 'type': 'object'},
18840 'NotifyWatchResult': {'additionalProperties': False,
18841 'properties': {'NotifyWatcherId': {'type': 'string'},
18842 'error': {'$ref': '#/definitions/Error'}},
18843 'required': ['NotifyWatcherId'],
18844 'type': 'object'},
18845 'NotifyWatchResults': {'additionalProperties': False,
18846 'properties': {'results': {'items': {'$ref': '#/definitions/NotifyWatchResult'},
18847 'type': 'array'}},
18848 'required': ['results'],
18849 'type': 'object'},
18850 'PortRange': {'additionalProperties': False,
18851 'properties': {'from-port': {'type': 'integer'},
18852 'protocol': {'type': 'string'},
18853 'to-port': {'type': 'integer'}},
18854 'required': ['from-port', 'to-port', 'protocol'],
18855 'type': 'object'},
18856 'RelationIds': {'additionalProperties': False,
18857 'properties': {'relation-ids': {'items': {'type': 'integer'},
18858 'type': 'array'}},
18859 'required': ['relation-ids'],
18860 'type': 'object'},
18861 'RelationResult': {'additionalProperties': False,
18862 'properties': {'endpoint': {'$ref': '#/definitions/Endpoint'},
18863 'error': {'$ref': '#/definitions/Error'},
18864 'id': {'type': 'integer'},
18865 'key': {'type': 'string'},
18866 'life': {'type': 'string'}},
18867 'required': ['life',
18868 'id',
18869 'key',
18870 'endpoint'],
18871 'type': 'object'},
18872 'RelationResults': {'additionalProperties': False,
18873 'properties': {'results': {'items': {'$ref': '#/definitions/RelationResult'},
18874 'type': 'array'}},
18875 'required': ['results'],
18876 'type': 'object'},
18877 'RelationUnit': {'additionalProperties': False,
18878 'properties': {'relation': {'type': 'string'},
18879 'unit': {'type': 'string'}},
18880 'required': ['relation', 'unit'],
18881 'type': 'object'},
18882 'RelationUnitPair': {'additionalProperties': False,
18883 'properties': {'local-unit': {'type': 'string'},
18884 'relation': {'type': 'string'},
18885 'remote-unit': {'type': 'string'}},
18886 'required': ['relation',
18887 'local-unit',
18888 'remote-unit'],
18889 'type': 'object'},
18890 'RelationUnitPairs': {'additionalProperties': False,
18891 'properties': {'relation-unit-pairs': {'items': {'$ref': '#/definitions/RelationUnitPair'},
18892 'type': 'array'}},
18893 'required': ['relation-unit-pairs'],
18894 'type': 'object'},
18895 'RelationUnitSettings': {'additionalProperties': False,
18896 'properties': {'relation': {'type': 'string'},
18897 'settings': {'patternProperties': {'.*': {'type': 'string'}},
18898 'type': 'object'},
18899 'unit': {'type': 'string'}},
18900 'required': ['relation',
18901 'unit',
18902 'settings'],
18903 'type': 'object'},
18904 'RelationUnits': {'additionalProperties': False,
18905 'properties': {'relation-units': {'items': {'$ref': '#/definitions/RelationUnit'},
18906 'type': 'array'}},
18907 'required': ['relation-units'],
18908 'type': 'object'},
18909 'RelationUnitsChange': {'additionalProperties': False,
18910 'properties': {'changed': {'patternProperties': {'.*': {'$ref': '#/definitions/UnitSettings'}},
18911 'type': 'object'},
18912 'departed': {'items': {'type': 'string'},
18913 'type': 'array'}},
18914 'required': ['changed'],
18915 'type': 'object'},
18916 'RelationUnitsSettings': {'additionalProperties': False,
18917 'properties': {'relation-units': {'items': {'$ref': '#/definitions/RelationUnitSettings'},
18918 'type': 'array'}},
18919 'required': ['relation-units'],
18920 'type': 'object'},
18921 'RelationUnitsWatchResult': {'additionalProperties': False,
18922 'properties': {'changes': {'$ref': '#/definitions/RelationUnitsChange'},
18923 'error': {'$ref': '#/definitions/Error'},
18924 'watcher-id': {'type': 'string'}},
18925 'required': ['watcher-id',
18926 'changes'],
18927 'type': 'object'},
18928 'RelationUnitsWatchResults': {'additionalProperties': False,
18929 'properties': {'results': {'items': {'$ref': '#/definitions/RelationUnitsWatchResult'},
18930 'type': 'array'}},
18931 'required': ['results'],
18932 'type': 'object'},
18933 'ResolvedModeResult': {'additionalProperties': False,
18934 'properties': {'error': {'$ref': '#/definitions/Error'},
18935 'mode': {'type': 'string'}},
18936 'required': ['mode'],
18937 'type': 'object'},
18938 'ResolvedModeResults': {'additionalProperties': False,
18939 'properties': {'results': {'items': {'$ref': '#/definitions/ResolvedModeResult'},
18940 'type': 'array'}},
18941 'required': ['results'],
18942 'type': 'object'},
18943 'SetStatus': {'additionalProperties': False,
18944 'properties': {'entities': {'items': {'$ref': '#/definitions/EntityStatusArgs'},
18945 'type': 'array'}},
18946 'required': ['entities'],
18947 'type': 'object'},
18948 'SettingsResult': {'additionalProperties': False,
18949 'properties': {'error': {'$ref': '#/definitions/Error'},
18950 'settings': {'patternProperties': {'.*': {'type': 'string'}},
18951 'type': 'object'}},
18952 'required': ['settings'],
18953 'type': 'object'},
18954 'SettingsResults': {'additionalProperties': False,
18955 'properties': {'results': {'items': {'$ref': '#/definitions/SettingsResult'},
18956 'type': 'array'}},
18957 'required': ['results'],
18958 'type': 'object'},
18959 'StatusResult': {'additionalProperties': False,
18960 'properties': {'data': {'patternProperties': {'.*': {'additionalProperties': True,
18961 'type': 'object'}},
18962 'type': 'object'},
18963 'error': {'$ref': '#/definitions/Error'},
18964 'id': {'type': 'string'},
18965 'info': {'type': 'string'},
18966 'life': {'type': 'string'},
18967 'since': {'format': 'date-time',
18968 'type': 'string'},
18969 'status': {'type': 'string'}},
18970 'required': ['id',
18971 'life',
18972 'status',
18973 'info',
18974 'data',
18975 'since'],
18976 'type': 'object'},
18977 'StatusResults': {'additionalProperties': False,
18978 'properties': {'results': {'items': {'$ref': '#/definitions/StatusResult'},
18979 'type': 'array'}},
18980 'required': ['results'],
18981 'type': 'object'},
18982 'StorageAddParams': {'additionalProperties': False,
18983 'properties': {'name': {'type': 'string'},
18984 'storage': {'$ref': '#/definitions/StorageConstraints'},
18985 'unit': {'type': 'string'}},
18986 'required': ['unit', 'name', 'storage'],
18987 'type': 'object'},
18988 'StorageAttachment': {'additionalProperties': False,
18989 'properties': {'kind': {'type': 'integer'},
18990 'life': {'type': 'string'},
18991 'location': {'type': 'string'},
18992 'owner-tag': {'type': 'string'},
18993 'storage-tag': {'type': 'string'},
18994 'unit-tag': {'type': 'string'}},
18995 'required': ['storage-tag',
18996 'owner-tag',
18997 'unit-tag',
18998 'kind',
18999 'location',
19000 'life'],
19001 'type': 'object'},
19002 'StorageAttachmentId': {'additionalProperties': False,
19003 'properties': {'storage-tag': {'type': 'string'},
19004 'unit-tag': {'type': 'string'}},
19005 'required': ['storage-tag',
19006 'unit-tag'],
19007 'type': 'object'},
19008 'StorageAttachmentIds': {'additionalProperties': False,
19009 'properties': {'ids': {'items': {'$ref': '#/definitions/StorageAttachmentId'},
19010 'type': 'array'}},
19011 'required': ['ids'],
19012 'type': 'object'},
19013 'StorageAttachmentIdsResult': {'additionalProperties': False,
19014 'properties': {'error': {'$ref': '#/definitions/Error'},
19015 'result': {'$ref': '#/definitions/StorageAttachmentIds'}},
19016 'required': ['result'],
19017 'type': 'object'},
19018 'StorageAttachmentIdsResults': {'additionalProperties': False,
19019 'properties': {'results': {'items': {'$ref': '#/definitions/StorageAttachmentIdsResult'},
19020 'type': 'array'}},
19021 'type': 'object'},
19022 'StorageAttachmentResult': {'additionalProperties': False,
19023 'properties': {'error': {'$ref': '#/definitions/Error'},
19024 'result': {'$ref': '#/definitions/StorageAttachment'}},
19025 'required': ['result'],
19026 'type': 'object'},
19027 'StorageAttachmentResults': {'additionalProperties': False,
19028 'properties': {'results': {'items': {'$ref': '#/definitions/StorageAttachmentResult'},
19029 'type': 'array'}},
19030 'type': 'object'},
19031 'StorageConstraints': {'additionalProperties': False,
19032 'properties': {'count': {'type': 'integer'},
19033 'pool': {'type': 'string'},
19034 'size': {'type': 'integer'}},
19035 'type': 'object'},
19036 'StoragesAddParams': {'additionalProperties': False,
19037 'properties': {'storages': {'items': {'$ref': '#/definitions/StorageAddParams'},
19038 'type': 'array'}},
19039 'required': ['storages'],
19040 'type': 'object'},
19041 'StringBoolResult': {'additionalProperties': False,
19042 'properties': {'error': {'$ref': '#/definitions/Error'},
19043 'ok': {'type': 'boolean'},
19044 'result': {'type': 'string'}},
19045 'required': ['result', 'ok'],
19046 'type': 'object'},
19047 'StringBoolResults': {'additionalProperties': False,
19048 'properties': {'results': {'items': {'$ref': '#/definitions/StringBoolResult'},
19049 'type': 'array'}},
19050 'required': ['results'],
19051 'type': 'object'},
19052 'StringResult': {'additionalProperties': False,
19053 'properties': {'error': {'$ref': '#/definitions/Error'},
19054 'result': {'type': 'string'}},
19055 'required': ['result'],
19056 'type': 'object'},
19057 'StringResults': {'additionalProperties': False,
19058 'properties': {'results': {'items': {'$ref': '#/definitions/StringResult'},
19059 'type': 'array'}},
19060 'required': ['results'],
19061 'type': 'object'},
19062 'StringsResult': {'additionalProperties': False,
19063 'properties': {'error': {'$ref': '#/definitions/Error'},
19064 'result': {'items': {'type': 'string'},
19065 'type': 'array'}},
19066 'type': 'object'},
19067 'StringsResults': {'additionalProperties': False,
19068 'properties': {'results': {'items': {'$ref': '#/definitions/StringsResult'},
19069 'type': 'array'}},
19070 'required': ['results'],
19071 'type': 'object'},
19072 'StringsWatchResult': {'additionalProperties': False,
19073 'properties': {'changes': {'items': {'type': 'string'},
19074 'type': 'array'},
19075 'error': {'$ref': '#/definitions/Error'},
19076 'watcher-id': {'type': 'string'}},
19077 'required': ['watcher-id'],
19078 'type': 'object'},
19079 'StringsWatchResults': {'additionalProperties': False,
19080 'properties': {'results': {'items': {'$ref': '#/definitions/StringsWatchResult'},
19081 'type': 'array'}},
19082 'required': ['results'],
19083 'type': 'object'},
19084 'UnitNetworkConfig': {'additionalProperties': False,
19085 'properties': {'binding-name': {'type': 'string'},
19086 'unit-tag': {'type': 'string'}},
19087 'required': ['unit-tag', 'binding-name'],
19088 'type': 'object'},
19089 'UnitNetworkConfigResult': {'additionalProperties': False,
19090 'properties': {'error': {'$ref': '#/definitions/Error'},
19091 'info': {'items': {'$ref': '#/definitions/NetworkConfig'},
19092 'type': 'array'}},
19093 'required': ['info'],
19094 'type': 'object'},
19095 'UnitNetworkConfigResults': {'additionalProperties': False,
19096 'properties': {'results': {'items': {'$ref': '#/definitions/UnitNetworkConfigResult'},
19097 'type': 'array'}},
19098 'required': ['results'],
19099 'type': 'object'},
19100 'UnitSettings': {'additionalProperties': False,
19101 'properties': {'version': {'type': 'integer'}},
19102 'required': ['version'],
19103 'type': 'object'},
19104 'UnitsNetworkConfig': {'additionalProperties': False,
19105 'properties': {'args': {'items': {'$ref': '#/definitions/UnitNetworkConfig'},
19106 'type': 'array'}},
19107 'required': ['args'],
19108 'type': 'object'}},
19109 'properties': {'APIAddresses': {'properties': {'Result': {'$ref': '#/definitions/StringsResult'}},
19110 'type': 'object'},
19111 'APIHostPorts': {'properties': {'Result': {'$ref': '#/definitions/APIHostPortsResult'}},
19112 'type': 'object'},
19113 'Actions': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
19114 'Result': {'$ref': '#/definitions/ActionResults'}},
19115 'type': 'object'},
19116 'AddMetricBatches': {'properties': {'Params': {'$ref': '#/definitions/MetricBatchParams'},
19117 'Result': {'$ref': '#/definitions/ErrorResults'}},
19118 'type': 'object'},
19119 'AddUnitStorage': {'properties': {'Params': {'$ref': '#/definitions/StoragesAddParams'},
19120 'Result': {'$ref': '#/definitions/ErrorResults'}},
19121 'type': 'object'},
19122 'AllMachinePorts': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
19123 'Result': {'$ref': '#/definitions/MachinePortsResults'}},
19124 'type': 'object'},
19125 'ApplicationStatus': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
19126 'Result': {'$ref': '#/definitions/ApplicationStatusResults'}},
19127 'type': 'object'},
19128 'AssignedMachine': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
19129 'Result': {'$ref': '#/definitions/StringResults'}},
19130 'type': 'object'},
19131 'AvailabilityZone': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
19132 'Result': {'$ref': '#/definitions/StringResults'}},
19133 'type': 'object'},
19134 'BeginActions': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
19135 'Result': {'$ref': '#/definitions/ErrorResults'}},
19136 'type': 'object'},
19137 'CACert': {'properties': {'Result': {'$ref': '#/definitions/BytesResult'}},
19138 'type': 'object'},
19139 'CharmArchiveSha256': {'properties': {'Params': {'$ref': '#/definitions/CharmURLs'},
19140 'Result': {'$ref': '#/definitions/StringResults'}},
19141 'type': 'object'},
19142 'CharmModifiedVersion': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
19143 'Result': {'$ref': '#/definitions/IntResults'}},
19144 'type': 'object'},
19145 'CharmURL': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
19146 'Result': {'$ref': '#/definitions/StringBoolResults'}},
19147 'type': 'object'},
19148 'ClearResolved': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
19149 'Result': {'$ref': '#/definitions/ErrorResults'}},
19150 'type': 'object'},
19151 'ClosePorts': {'properties': {'Params': {'$ref': '#/definitions/EntitiesPortRanges'},
19152 'Result': {'$ref': '#/definitions/ErrorResults'}},
19153 'type': 'object'},
19154 'ConfigSettings': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
19155 'Result': {'$ref': '#/definitions/ConfigSettingsResults'}},
19156 'type': 'object'},
19157 'CurrentModel': {'properties': {'Result': {'$ref': '#/definitions/ModelResult'}},
19158 'type': 'object'},
19159 'Destroy': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
19160 'Result': {'$ref': '#/definitions/ErrorResults'}},
19161 'type': 'object'},
19162 'DestroyAllSubordinates': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
19163 'Result': {'$ref': '#/definitions/ErrorResults'}},
19164 'type': 'object'},
19165 'DestroyUnitStorageAttachments': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
19166 'Result': {'$ref': '#/definitions/ErrorResults'}},
19167 'type': 'object'},
19168 'EnsureDead': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
19169 'Result': {'$ref': '#/definitions/ErrorResults'}},
19170 'type': 'object'},
19171 'EnterScope': {'properties': {'Params': {'$ref': '#/definitions/RelationUnits'},
19172 'Result': {'$ref': '#/definitions/ErrorResults'}},
19173 'type': 'object'},
19174 'FinishActions': {'properties': {'Params': {'$ref': '#/definitions/ActionExecutionResults'},
19175 'Result': {'$ref': '#/definitions/ErrorResults'}},
19176 'type': 'object'},
19177 'GetMeterStatus': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
19178 'Result': {'$ref': '#/definitions/MeterStatusResults'}},
19179 'type': 'object'},
19180 'GetPrincipal': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
19181 'Result': {'$ref': '#/definitions/StringBoolResults'}},
19182 'type': 'object'},
19183 'HasSubordinates': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
19184 'Result': {'$ref': '#/definitions/BoolResults'}},
19185 'type': 'object'},
19186 'JoinedRelations': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
19187 'Result': {'$ref': '#/definitions/StringsResults'}},
19188 'type': 'object'},
19189 'LeaveScope': {'properties': {'Params': {'$ref': '#/definitions/RelationUnits'},
19190 'Result': {'$ref': '#/definitions/ErrorResults'}},
19191 'type': 'object'},
19192 'Life': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
19193 'Result': {'$ref': '#/definitions/LifeResults'}},
19194 'type': 'object'},
19195 'Merge': {'properties': {'Params': {'$ref': '#/definitions/MergeLeadershipSettingsBulkParams'},
19196 'Result': {'$ref': '#/definitions/ErrorResults'}},
19197 'type': 'object'},
19198 'ModelConfig': {'properties': {'Result': {'$ref': '#/definitions/ModelConfigResult'}},
19199 'type': 'object'},
19200 'ModelUUID': {'properties': {'Result': {'$ref': '#/definitions/StringResult'}},
19201 'type': 'object'},
19202 'NetworkConfig': {'properties': {'Params': {'$ref': '#/definitions/UnitsNetworkConfig'},
19203 'Result': {'$ref': '#/definitions/UnitNetworkConfigResults'}},
19204 'type': 'object'},
19205 'OpenPorts': {'properties': {'Params': {'$ref': '#/definitions/EntitiesPortRanges'},
19206 'Result': {'$ref': '#/definitions/ErrorResults'}},
19207 'type': 'object'},
19208 'PrivateAddress': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
19209 'Result': {'$ref': '#/definitions/StringResults'}},
19210 'type': 'object'},
19211 'ProviderType': {'properties': {'Result': {'$ref': '#/definitions/StringResult'}},
19212 'type': 'object'},
19213 'PublicAddress': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
19214 'Result': {'$ref': '#/definitions/StringResults'}},
19215 'type': 'object'},
19216 'Read': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
19217 'Result': {'$ref': '#/definitions/GetLeadershipSettingsBulkResults'}},
19218 'type': 'object'},
19219 'ReadRemoteSettings': {'properties': {'Params': {'$ref': '#/definitions/RelationUnitPairs'},
19220 'Result': {'$ref': '#/definitions/SettingsResults'}},
19221 'type': 'object'},
19222 'ReadSettings': {'properties': {'Params': {'$ref': '#/definitions/RelationUnits'},
19223 'Result': {'$ref': '#/definitions/SettingsResults'}},
19224 'type': 'object'},
19225 'Relation': {'properties': {'Params': {'$ref': '#/definitions/RelationUnits'},
19226 'Result': {'$ref': '#/definitions/RelationResults'}},
19227 'type': 'object'},
19228 'RelationById': {'properties': {'Params': {'$ref': '#/definitions/RelationIds'},
19229 'Result': {'$ref': '#/definitions/RelationResults'}},
19230 'type': 'object'},
19231 'RemoveStorageAttachments': {'properties': {'Params': {'$ref': '#/definitions/StorageAttachmentIds'},
19232 'Result': {'$ref': '#/definitions/ErrorResults'}},
19233 'type': 'object'},
19234 'RequestReboot': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
19235 'Result': {'$ref': '#/definitions/ErrorResults'}},
19236 'type': 'object'},
19237 'Resolved': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
19238 'Result': {'$ref': '#/definitions/ResolvedModeResults'}},
19239 'type': 'object'},
19240 'SetAgentStatus': {'properties': {'Params': {'$ref': '#/definitions/SetStatus'},
19241 'Result': {'$ref': '#/definitions/ErrorResults'}},
19242 'type': 'object'},
19243 'SetApplicationStatus': {'properties': {'Params': {'$ref': '#/definitions/SetStatus'},
19244 'Result': {'$ref': '#/definitions/ErrorResults'}},
19245 'type': 'object'},
19246 'SetCharmURL': {'properties': {'Params': {'$ref': '#/definitions/EntitiesCharmURL'},
19247 'Result': {'$ref': '#/definitions/ErrorResults'}},
19248 'type': 'object'},
19249 'SetStatus': {'properties': {'Params': {'$ref': '#/definitions/SetStatus'},
19250 'Result': {'$ref': '#/definitions/ErrorResults'}},
19251 'type': 'object'},
19252 'SetUnitStatus': {'properties': {'Params': {'$ref': '#/definitions/SetStatus'},
19253 'Result': {'$ref': '#/definitions/ErrorResults'}},
19254 'type': 'object'},
19255 'SetWorkloadVersion': {'properties': {'Params': {'$ref': '#/definitions/EntityWorkloadVersions'},
19256 'Result': {'$ref': '#/definitions/ErrorResults'}},
19257 'type': 'object'},
19258 'StorageAttachmentLife': {'properties': {'Params': {'$ref': '#/definitions/StorageAttachmentIds'},
19259 'Result': {'$ref': '#/definitions/LifeResults'}},
19260 'type': 'object'},
19261 'StorageAttachments': {'properties': {'Params': {'$ref': '#/definitions/StorageAttachmentIds'},
19262 'Result': {'$ref': '#/definitions/StorageAttachmentResults'}},
19263 'type': 'object'},
19264 'UnitStatus': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
19265 'Result': {'$ref': '#/definitions/StatusResults'}},
19266 'type': 'object'},
19267 'UnitStorageAttachments': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
19268 'Result': {'$ref': '#/definitions/StorageAttachmentIdsResults'}},
19269 'type': 'object'},
19270 'UpdateSettings': {'properties': {'Params': {'$ref': '#/definitions/RelationUnitsSettings'},
19271 'Result': {'$ref': '#/definitions/ErrorResults'}},
19272 'type': 'object'},
19273 'Watch': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
19274 'Result': {'$ref': '#/definitions/NotifyWatchResults'}},
19275 'type': 'object'},
19276 'WatchAPIHostPorts': {'properties': {'Result': {'$ref': '#/definitions/NotifyWatchResult'}},
19277 'type': 'object'},
19278 'WatchActionNotifications': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
19279 'Result': {'$ref': '#/definitions/StringsWatchResults'}},
19280 'type': 'object'},
19281 'WatchApplicationRelations': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
19282 'Result': {'$ref': '#/definitions/StringsWatchResults'}},
19283 'type': 'object'},
19284 'WatchConfigSettings': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
19285 'Result': {'$ref': '#/definitions/NotifyWatchResults'}},
19286 'type': 'object'},
19287 'WatchForModelConfigChanges': {'properties': {'Result': {'$ref': '#/definitions/NotifyWatchResult'}},
19288 'type': 'object'},
19289 'WatchLeadershipSettings': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
19290 'Result': {'$ref': '#/definitions/NotifyWatchResults'}},
19291 'type': 'object'},
19292 'WatchMeterStatus': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
19293 'Result': {'$ref': '#/definitions/NotifyWatchResults'}},
19294 'type': 'object'},
19295 'WatchRelationUnits': {'properties': {'Params': {'$ref': '#/definitions/RelationUnits'},
19296 'Result': {'$ref': '#/definitions/RelationUnitsWatchResults'}},
19297 'type': 'object'},
19298 'WatchStorageAttachments': {'properties': {'Params': {'$ref': '#/definitions/StorageAttachmentIds'},
19299 'Result': {'$ref': '#/definitions/NotifyWatchResults'}},
19300 'type': 'object'},
19301 'WatchUnitAddresses': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
19302 'Result': {'$ref': '#/definitions/NotifyWatchResults'}},
19303 'type': 'object'},
19304 'WatchUnitStorageAttachments': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
19305 'Result': {'$ref': '#/definitions/StringsWatchResults'}},
19306 'type': 'object'},
19307 'WorkloadVersion': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
19308 'Result': {'$ref': '#/definitions/StringResults'}},
19309 'type': 'object'}},
19310 'type': 'object'}
19311
19312
19313 @ReturnMapping(StringsResult)
19314 async def APIAddresses(self):
19315 '''
19316
19317 Returns -> typing.Union[_ForwardRef('Error'), typing.Sequence<+T_co>[str]]
19318 '''
19319 # map input types to rpc msg
19320 params = dict()
19321 msg = dict(type='Uniter', request='APIAddresses', version=4, params=params)
19322
19323 reply = await self.rpc(msg)
19324 return reply
19325
19326
19327
19328 @ReturnMapping(APIHostPortsResult)
19329 async def APIHostPorts(self):
19330 '''
19331
19332 Returns -> typing.Sequence<+T_co>[~HostPort]<~HostPort>
19333 '''
19334 # map input types to rpc msg
19335 params = dict()
19336 msg = dict(type='Uniter', request='APIHostPorts', version=4, params=params)
19337
19338 reply = await self.rpc(msg)
19339 return reply
19340
19341
19342
19343 @ReturnMapping(ActionResults)
19344 async def Actions(self, entities):
19345 '''
19346 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
19347 Returns -> typing.Sequence<+T_co>[~ActionResult]<~ActionResult>
19348 '''
19349 # map input types to rpc msg
19350 params = dict()
19351 msg = dict(type='Uniter', request='Actions', version=4, params=params)
19352 params['entities'] = entities
19353 reply = await self.rpc(msg)
19354 return reply
19355
19356
19357
19358 @ReturnMapping(ErrorResults)
19359 async def AddMetricBatches(self, batches):
19360 '''
19361 batches : typing.Sequence<+T_co>[~MetricBatchParam]<~MetricBatchParam>
19362 Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult>
19363 '''
19364 # map input types to rpc msg
19365 params = dict()
19366 msg = dict(type='Uniter', request='AddMetricBatches', version=4, params=params)
19367 params['batches'] = batches
19368 reply = await self.rpc(msg)
19369 return reply
19370
19371
19372
19373 @ReturnMapping(ErrorResults)
19374 async def AddUnitStorage(self, storages):
19375 '''
19376 storages : typing.Sequence<+T_co>[~StorageAddParams]<~StorageAddParams>
19377 Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult>
19378 '''
19379 # map input types to rpc msg
19380 params = dict()
19381 msg = dict(type='Uniter', request='AddUnitStorage', version=4, params=params)
19382 params['storages'] = storages
19383 reply = await self.rpc(msg)
19384 return reply
19385
19386
19387
19388 @ReturnMapping(MachinePortsResults)
19389 async def AllMachinePorts(self, entities):
19390 '''
19391 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
19392 Returns -> typing.Sequence<+T_co>[~MachinePortsResult]<~MachinePortsResult>
19393 '''
19394 # map input types to rpc msg
19395 params = dict()
19396 msg = dict(type='Uniter', request='AllMachinePorts', version=4, params=params)
19397 params['entities'] = entities
19398 reply = await self.rpc(msg)
19399 return reply
19400
19401
19402
19403 @ReturnMapping(ApplicationStatusResults)
19404 async def ApplicationStatus(self, entities):
19405 '''
19406 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
19407 Returns -> typing.Sequence<+T_co>[~ApplicationStatusResult]<~ApplicationStatusResult>
19408 '''
19409 # map input types to rpc msg
19410 params = dict()
19411 msg = dict(type='Uniter', request='ApplicationStatus', version=4, params=params)
19412 params['entities'] = entities
19413 reply = await self.rpc(msg)
19414 return reply
19415
19416
19417
19418 @ReturnMapping(StringResults)
19419 async def AssignedMachine(self, entities):
19420 '''
19421 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
19422 Returns -> typing.Sequence<+T_co>[~StringResult]<~StringResult>
19423 '''
19424 # map input types to rpc msg
19425 params = dict()
19426 msg = dict(type='Uniter', request='AssignedMachine', version=4, params=params)
19427 params['entities'] = entities
19428 reply = await self.rpc(msg)
19429 return reply
19430
19431
19432
19433 @ReturnMapping(StringResults)
19434 async def AvailabilityZone(self, entities):
19435 '''
19436 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
19437 Returns -> typing.Sequence<+T_co>[~StringResult]<~StringResult>
19438 '''
19439 # map input types to rpc msg
19440 params = dict()
19441 msg = dict(type='Uniter', request='AvailabilityZone', version=4, params=params)
19442 params['entities'] = entities
19443 reply = await self.rpc(msg)
19444 return reply
19445
19446
19447
19448 @ReturnMapping(ErrorResults)
19449 async def BeginActions(self, entities):
19450 '''
19451 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
19452 Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult>
19453 '''
19454 # map input types to rpc msg
19455 params = dict()
19456 msg = dict(type='Uniter', request='BeginActions', version=4, params=params)
19457 params['entities'] = entities
19458 reply = await self.rpc(msg)
19459 return reply
19460
19461
19462
19463 @ReturnMapping(BytesResult)
19464 async def CACert(self):
19465 '''
19466
19467 Returns -> typing.Sequence<+T_co>[int]
19468 '''
19469 # map input types to rpc msg
19470 params = dict()
19471 msg = dict(type='Uniter', request='CACert', version=4, params=params)
19472
19473 reply = await self.rpc(msg)
19474 return reply
19475
19476
19477
19478 @ReturnMapping(StringResults)
19479 async def CharmArchiveSha256(self, urls):
19480 '''
19481 urls : typing.Sequence<+T_co>[~CharmURL]<~CharmURL>
19482 Returns -> typing.Sequence<+T_co>[~StringResult]<~StringResult>
19483 '''
19484 # map input types to rpc msg
19485 params = dict()
19486 msg = dict(type='Uniter', request='CharmArchiveSha256', version=4, params=params)
19487 params['urls'] = urls
19488 reply = await self.rpc(msg)
19489 return reply
19490
19491
19492
19493 @ReturnMapping(IntResults)
19494 async def CharmModifiedVersion(self, entities):
19495 '''
19496 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
19497 Returns -> typing.Sequence<+T_co>[~IntResult]<~IntResult>
19498 '''
19499 # map input types to rpc msg
19500 params = dict()
19501 msg = dict(type='Uniter', request='CharmModifiedVersion', version=4, params=params)
19502 params['entities'] = entities
19503 reply = await self.rpc(msg)
19504 return reply
19505
19506
19507
19508 @ReturnMapping(StringBoolResults)
19509 async def CharmURL(self, entities):
19510 '''
19511 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
19512 Returns -> typing.Sequence<+T_co>[~StringBoolResult]<~StringBoolResult>
19513 '''
19514 # map input types to rpc msg
19515 params = dict()
19516 msg = dict(type='Uniter', request='CharmURL', version=4, params=params)
19517 params['entities'] = entities
19518 reply = await self.rpc(msg)
19519 return reply
19520
19521
19522
19523 @ReturnMapping(ErrorResults)
19524 async def ClearResolved(self, entities):
19525 '''
19526 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
19527 Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult>
19528 '''
19529 # map input types to rpc msg
19530 params = dict()
19531 msg = dict(type='Uniter', request='ClearResolved', version=4, params=params)
19532 params['entities'] = entities
19533 reply = await self.rpc(msg)
19534 return reply
19535
19536
19537
19538 @ReturnMapping(ErrorResults)
19539 async def ClosePorts(self, entities):
19540 '''
19541 entities : typing.Sequence<+T_co>[~EntityPortRange]<~EntityPortRange>
19542 Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult>
19543 '''
19544 # map input types to rpc msg
19545 params = dict()
19546 msg = dict(type='Uniter', request='ClosePorts', version=4, params=params)
19547 params['entities'] = entities
19548 reply = await self.rpc(msg)
19549 return reply
19550
19551
19552
19553 @ReturnMapping(ConfigSettingsResults)
19554 async def ConfigSettings(self, entities):
19555 '''
19556 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
19557 Returns -> typing.Sequence<+T_co>[~ConfigSettingsResult]<~ConfigSettingsResult>
19558 '''
19559 # map input types to rpc msg
19560 params = dict()
19561 msg = dict(type='Uniter', request='ConfigSettings', version=4, params=params)
19562 params['entities'] = entities
19563 reply = await self.rpc(msg)
19564 return reply
19565
19566
19567
19568 @ReturnMapping(ModelResult)
19569 async def CurrentModel(self):
19570 '''
19571
19572 Returns -> typing.Union[_ForwardRef('Error'), str]
19573 '''
19574 # map input types to rpc msg
19575 params = dict()
19576 msg = dict(type='Uniter', request='CurrentModel', version=4, params=params)
19577
19578 reply = await self.rpc(msg)
19579 return reply
19580
19581
19582
19583 @ReturnMapping(ErrorResults)
19584 async def Destroy(self, entities):
19585 '''
19586 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
19587 Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult>
19588 '''
19589 # map input types to rpc msg
19590 params = dict()
19591 msg = dict(type='Uniter', request='Destroy', version=4, params=params)
19592 params['entities'] = entities
19593 reply = await self.rpc(msg)
19594 return reply
19595
19596
19597
19598 @ReturnMapping(ErrorResults)
19599 async def DestroyAllSubordinates(self, entities):
19600 '''
19601 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
19602 Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult>
19603 '''
19604 # map input types to rpc msg
19605 params = dict()
19606 msg = dict(type='Uniter', request='DestroyAllSubordinates', version=4, params=params)
19607 params['entities'] = entities
19608 reply = await self.rpc(msg)
19609 return reply
19610
19611
19612
19613 @ReturnMapping(ErrorResults)
19614 async def DestroyUnitStorageAttachments(self, entities):
19615 '''
19616 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
19617 Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult>
19618 '''
19619 # map input types to rpc msg
19620 params = dict()
19621 msg = dict(type='Uniter', request='DestroyUnitStorageAttachments', version=4, params=params)
19622 params['entities'] = entities
19623 reply = await self.rpc(msg)
19624 return reply
19625
19626
19627
19628 @ReturnMapping(ErrorResults)
19629 async def EnsureDead(self, entities):
19630 '''
19631 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
19632 Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult>
19633 '''
19634 # map input types to rpc msg
19635 params = dict()
19636 msg = dict(type='Uniter', request='EnsureDead', version=4, params=params)
19637 params['entities'] = entities
19638 reply = await self.rpc(msg)
19639 return reply
19640
19641
19642
19643 @ReturnMapping(ErrorResults)
19644 async def EnterScope(self, relation_units):
19645 '''
19646 relation_units : typing.Sequence<+T_co>[~RelationUnit]<~RelationUnit>
19647 Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult>
19648 '''
19649 # map input types to rpc msg
19650 params = dict()
19651 msg = dict(type='Uniter', request='EnterScope', version=4, params=params)
19652 params['relation-units'] = relation_units
19653 reply = await self.rpc(msg)
19654 return reply
19655
19656
19657
19658 @ReturnMapping(ErrorResults)
19659 async def FinishActions(self, results):
19660 '''
19661 results : typing.Sequence<+T_co>[~ActionExecutionResult]<~ActionExecutionResult>
19662 Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult>
19663 '''
19664 # map input types to rpc msg
19665 params = dict()
19666 msg = dict(type='Uniter', request='FinishActions', version=4, params=params)
19667 params['results'] = results
19668 reply = await self.rpc(msg)
19669 return reply
19670
19671
19672
19673 @ReturnMapping(MeterStatusResults)
19674 async def GetMeterStatus(self, entities):
19675 '''
19676 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
19677 Returns -> typing.Sequence<+T_co>[~MeterStatusResult]<~MeterStatusResult>
19678 '''
19679 # map input types to rpc msg
19680 params = dict()
19681 msg = dict(type='Uniter', request='GetMeterStatus', version=4, params=params)
19682 params['entities'] = entities
19683 reply = await self.rpc(msg)
19684 return reply
19685
19686
19687
19688 @ReturnMapping(StringBoolResults)
19689 async def GetPrincipal(self, entities):
19690 '''
19691 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
19692 Returns -> typing.Sequence<+T_co>[~StringBoolResult]<~StringBoolResult>
19693 '''
19694 # map input types to rpc msg
19695 params = dict()
19696 msg = dict(type='Uniter', request='GetPrincipal', version=4, params=params)
19697 params['entities'] = entities
19698 reply = await self.rpc(msg)
19699 return reply
19700
19701
19702
19703 @ReturnMapping(BoolResults)
19704 async def HasSubordinates(self, entities):
19705 '''
19706 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
19707 Returns -> typing.Sequence<+T_co>[~BoolResult]<~BoolResult>
19708 '''
19709 # map input types to rpc msg
19710 params = dict()
19711 msg = dict(type='Uniter', request='HasSubordinates', version=4, params=params)
19712 params['entities'] = entities
19713 reply = await self.rpc(msg)
19714 return reply
19715
19716
19717
19718 @ReturnMapping(StringsResults)
19719 async def JoinedRelations(self, entities):
19720 '''
19721 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
19722 Returns -> typing.Sequence<+T_co>[~StringsResult]<~StringsResult>
19723 '''
19724 # map input types to rpc msg
19725 params = dict()
19726 msg = dict(type='Uniter', request='JoinedRelations', version=4, params=params)
19727 params['entities'] = entities
19728 reply = await self.rpc(msg)
19729 return reply
19730
19731
19732
19733 @ReturnMapping(ErrorResults)
19734 async def LeaveScope(self, relation_units):
19735 '''
19736 relation_units : typing.Sequence<+T_co>[~RelationUnit]<~RelationUnit>
19737 Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult>
19738 '''
19739 # map input types to rpc msg
19740 params = dict()
19741 msg = dict(type='Uniter', request='LeaveScope', version=4, params=params)
19742 params['relation-units'] = relation_units
19743 reply = await self.rpc(msg)
19744 return reply
19745
19746
19747
19748 @ReturnMapping(LifeResults)
19749 async def Life(self, entities):
19750 '''
19751 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
19752 Returns -> typing.Sequence<+T_co>[~LifeResult]<~LifeResult>
19753 '''
19754 # map input types to rpc msg
19755 params = dict()
19756 msg = dict(type='Uniter', request='Life', version=4, params=params)
19757 params['entities'] = entities
19758 reply = await self.rpc(msg)
19759 return reply
19760
19761
19762
19763 @ReturnMapping(ErrorResults)
19764 async def Merge(self, params):
19765 '''
19766 params : typing.Sequence<+T_co>[~MergeLeadershipSettingsParam]<~MergeLeadershipSettingsParam>
19767 Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult>
19768 '''
19769 # map input types to rpc msg
19770 params = dict()
19771 msg = dict(type='Uniter', request='Merge', version=4, params=params)
19772 params['params'] = params
19773 reply = await self.rpc(msg)
19774 return reply
19775
19776
19777
19778 @ReturnMapping(ModelConfigResult)
19779 async def ModelConfig(self):
19780 '''
19781
19782 Returns -> typing.Mapping<~KT, +VT_co>[str, typing.Any]
19783 '''
19784 # map input types to rpc msg
19785 params = dict()
19786 msg = dict(type='Uniter', request='ModelConfig', version=4, params=params)
19787
19788 reply = await self.rpc(msg)
19789 return reply
19790
19791
19792
19793 @ReturnMapping(StringResult)
19794 async def ModelUUID(self):
19795 '''
19796
19797 Returns -> typing.Union[_ForwardRef('Error'), str]
19798 '''
19799 # map input types to rpc msg
19800 params = dict()
19801 msg = dict(type='Uniter', request='ModelUUID', version=4, params=params)
19802
19803 reply = await self.rpc(msg)
19804 return reply
19805
19806
19807
19808 @ReturnMapping(UnitNetworkConfigResults)
19809 async def NetworkConfig(self, args):
19810 '''
19811 args : typing.Sequence<+T_co>[~UnitNetworkConfig]<~UnitNetworkConfig>
19812 Returns -> typing.Sequence<+T_co>[~UnitNetworkConfigResult]<~UnitNetworkConfigResult>
19813 '''
19814 # map input types to rpc msg
19815 params = dict()
19816 msg = dict(type='Uniter', request='NetworkConfig', version=4, params=params)
19817 params['args'] = args
19818 reply = await self.rpc(msg)
19819 return reply
19820
19821
19822
19823 @ReturnMapping(ErrorResults)
19824 async def OpenPorts(self, entities):
19825 '''
19826 entities : typing.Sequence<+T_co>[~EntityPortRange]<~EntityPortRange>
19827 Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult>
19828 '''
19829 # map input types to rpc msg
19830 params = dict()
19831 msg = dict(type='Uniter', request='OpenPorts', version=4, params=params)
19832 params['entities'] = entities
19833 reply = await self.rpc(msg)
19834 return reply
19835
19836
19837
19838 @ReturnMapping(StringResults)
19839 async def PrivateAddress(self, entities):
19840 '''
19841 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
19842 Returns -> typing.Sequence<+T_co>[~StringResult]<~StringResult>
19843 '''
19844 # map input types to rpc msg
19845 params = dict()
19846 msg = dict(type='Uniter', request='PrivateAddress', version=4, params=params)
19847 params['entities'] = entities
19848 reply = await self.rpc(msg)
19849 return reply
19850
19851
19852
19853 @ReturnMapping(StringResult)
19854 async def ProviderType(self):
19855 '''
19856
19857 Returns -> typing.Union[_ForwardRef('Error'), str]
19858 '''
19859 # map input types to rpc msg
19860 params = dict()
19861 msg = dict(type='Uniter', request='ProviderType', version=4, params=params)
19862
19863 reply = await self.rpc(msg)
19864 return reply
19865
19866
19867
19868 @ReturnMapping(StringResults)
19869 async def PublicAddress(self, entities):
19870 '''
19871 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
19872 Returns -> typing.Sequence<+T_co>[~StringResult]<~StringResult>
19873 '''
19874 # map input types to rpc msg
19875 params = dict()
19876 msg = dict(type='Uniter', request='PublicAddress', version=4, params=params)
19877 params['entities'] = entities
19878 reply = await self.rpc(msg)
19879 return reply
19880
19881
19882
19883 @ReturnMapping(GetLeadershipSettingsBulkResults)
19884 async def Read(self, entities):
19885 '''
19886 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
19887 Returns -> typing.Sequence<+T_co>[~GetLeadershipSettingsResult]<~GetLeadershipSettingsResult>
19888 '''
19889 # map input types to rpc msg
19890 params = dict()
19891 msg = dict(type='Uniter', request='Read', version=4, params=params)
19892 params['entities'] = entities
19893 reply = await self.rpc(msg)
19894 return reply
19895
19896
19897
19898 @ReturnMapping(SettingsResults)
19899 async def ReadRemoteSettings(self, relation_unit_pairs):
19900 '''
19901 relation_unit_pairs : typing.Sequence<+T_co>[~RelationUnitPair]<~RelationUnitPair>
19902 Returns -> typing.Sequence<+T_co>[~SettingsResult]<~SettingsResult>
19903 '''
19904 # map input types to rpc msg
19905 params = dict()
19906 msg = dict(type='Uniter', request='ReadRemoteSettings', version=4, params=params)
19907 params['relation-unit-pairs'] = relation_unit_pairs
19908 reply = await self.rpc(msg)
19909 return reply
19910
19911
19912
19913 @ReturnMapping(SettingsResults)
19914 async def ReadSettings(self, relation_units):
19915 '''
19916 relation_units : typing.Sequence<+T_co>[~RelationUnit]<~RelationUnit>
19917 Returns -> typing.Sequence<+T_co>[~SettingsResult]<~SettingsResult>
19918 '''
19919 # map input types to rpc msg
19920 params = dict()
19921 msg = dict(type='Uniter', request='ReadSettings', version=4, params=params)
19922 params['relation-units'] = relation_units
19923 reply = await self.rpc(msg)
19924 return reply
19925
19926
19927
19928 @ReturnMapping(RelationResults)
19929 async def Relation(self, relation_units):
19930 '''
19931 relation_units : typing.Sequence<+T_co>[~RelationUnit]<~RelationUnit>
19932 Returns -> typing.Sequence<+T_co>[~RelationResult]<~RelationResult>
19933 '''
19934 # map input types to rpc msg
19935 params = dict()
19936 msg = dict(type='Uniter', request='Relation', version=4, params=params)
19937 params['relation-units'] = relation_units
19938 reply = await self.rpc(msg)
19939 return reply
19940
19941
19942
19943 @ReturnMapping(RelationResults)
19944 async def RelationById(self, relation_ids):
19945 '''
19946 relation_ids : typing.Sequence<+T_co>[int]
19947 Returns -> typing.Sequence<+T_co>[~RelationResult]<~RelationResult>
19948 '''
19949 # map input types to rpc msg
19950 params = dict()
19951 msg = dict(type='Uniter', request='RelationById', version=4, params=params)
19952 params['relation-ids'] = relation_ids
19953 reply = await self.rpc(msg)
19954 return reply
19955
19956
19957
19958 @ReturnMapping(ErrorResults)
19959 async def RemoveStorageAttachments(self, ids):
19960 '''
19961 ids : typing.Sequence<+T_co>[~StorageAttachmentId]<~StorageAttachmentId>
19962 Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult>
19963 '''
19964 # map input types to rpc msg
19965 params = dict()
19966 msg = dict(type='Uniter', request='RemoveStorageAttachments', version=4, params=params)
19967 params['ids'] = ids
19968 reply = await self.rpc(msg)
19969 return reply
19970
19971
19972
19973 @ReturnMapping(ErrorResults)
19974 async def RequestReboot(self, entities):
19975 '''
19976 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
19977 Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult>
19978 '''
19979 # map input types to rpc msg
19980 params = dict()
19981 msg = dict(type='Uniter', request='RequestReboot', version=4, params=params)
19982 params['entities'] = entities
19983 reply = await self.rpc(msg)
19984 return reply
19985
19986
19987
19988 @ReturnMapping(ResolvedModeResults)
19989 async def Resolved(self, entities):
19990 '''
19991 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
19992 Returns -> typing.Sequence<+T_co>[~ResolvedModeResult]<~ResolvedModeResult>
19993 '''
19994 # map input types to rpc msg
19995 params = dict()
19996 msg = dict(type='Uniter', request='Resolved', version=4, params=params)
19997 params['entities'] = entities
19998 reply = await self.rpc(msg)
19999 return reply
20000
20001
20002
20003 @ReturnMapping(ErrorResults)
20004 async def SetAgentStatus(self, entities):
20005 '''
20006 entities : typing.Sequence<+T_co>[~EntityStatusArgs]<~EntityStatusArgs>
20007 Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult>
20008 '''
20009 # map input types to rpc msg
20010 params = dict()
20011 msg = dict(type='Uniter', request='SetAgentStatus', version=4, params=params)
20012 params['entities'] = entities
20013 reply = await self.rpc(msg)
20014 return reply
20015
20016
20017
20018 @ReturnMapping(ErrorResults)
20019 async def SetApplicationStatus(self, entities):
20020 '''
20021 entities : typing.Sequence<+T_co>[~EntityStatusArgs]<~EntityStatusArgs>
20022 Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult>
20023 '''
20024 # map input types to rpc msg
20025 params = dict()
20026 msg = dict(type='Uniter', request='SetApplicationStatus', version=4, params=params)
20027 params['entities'] = entities
20028 reply = await self.rpc(msg)
20029 return reply
20030
20031
20032
20033 @ReturnMapping(ErrorResults)
20034 async def SetCharmURL(self, entities):
20035 '''
20036 entities : typing.Sequence<+T_co>[~EntityCharmURL]<~EntityCharmURL>
20037 Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult>
20038 '''
20039 # map input types to rpc msg
20040 params = dict()
20041 msg = dict(type='Uniter', request='SetCharmURL', version=4, params=params)
20042 params['entities'] = entities
20043 reply = await self.rpc(msg)
20044 return reply
20045
20046
20047
20048 @ReturnMapping(ErrorResults)
20049 async def SetStatus(self, entities):
20050 '''
20051 entities : typing.Sequence<+T_co>[~EntityStatusArgs]<~EntityStatusArgs>
20052 Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult>
20053 '''
20054 # map input types to rpc msg
20055 params = dict()
20056 msg = dict(type='Uniter', request='SetStatus', version=4, params=params)
20057 params['entities'] = entities
20058 reply = await self.rpc(msg)
20059 return reply
20060
20061
20062
20063 @ReturnMapping(ErrorResults)
20064 async def SetUnitStatus(self, entities):
20065 '''
20066 entities : typing.Sequence<+T_co>[~EntityStatusArgs]<~EntityStatusArgs>
20067 Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult>
20068 '''
20069 # map input types to rpc msg
20070 params = dict()
20071 msg = dict(type='Uniter', request='SetUnitStatus', version=4, params=params)
20072 params['entities'] = entities
20073 reply = await self.rpc(msg)
20074 return reply
20075
20076
20077
20078 @ReturnMapping(ErrorResults)
20079 async def SetWorkloadVersion(self, entities):
20080 '''
20081 entities : typing.Sequence<+T_co>[~EntityWorkloadVersion]<~EntityWorkloadVersion>
20082 Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult>
20083 '''
20084 # map input types to rpc msg
20085 params = dict()
20086 msg = dict(type='Uniter', request='SetWorkloadVersion', version=4, params=params)
20087 params['entities'] = entities
20088 reply = await self.rpc(msg)
20089 return reply
20090
20091
20092
20093 @ReturnMapping(LifeResults)
20094 async def StorageAttachmentLife(self, ids):
20095 '''
20096 ids : typing.Sequence<+T_co>[~StorageAttachmentId]<~StorageAttachmentId>
20097 Returns -> typing.Sequence<+T_co>[~LifeResult]<~LifeResult>
20098 '''
20099 # map input types to rpc msg
20100 params = dict()
20101 msg = dict(type='Uniter', request='StorageAttachmentLife', version=4, params=params)
20102 params['ids'] = ids
20103 reply = await self.rpc(msg)
20104 return reply
20105
20106
20107
20108 @ReturnMapping(StorageAttachmentResults)
20109 async def StorageAttachments(self, ids):
20110 '''
20111 ids : typing.Sequence<+T_co>[~StorageAttachmentId]<~StorageAttachmentId>
20112 Returns -> typing.Sequence<+T_co>[~StorageAttachmentResult]<~StorageAttachmentResult>
20113 '''
20114 # map input types to rpc msg
20115 params = dict()
20116 msg = dict(type='Uniter', request='StorageAttachments', version=4, params=params)
20117 params['ids'] = ids
20118 reply = await self.rpc(msg)
20119 return reply
20120
20121
20122
20123 @ReturnMapping(StatusResults)
20124 async def UnitStatus(self, entities):
20125 '''
20126 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
20127 Returns -> typing.Sequence<+T_co>[~StatusResult]<~StatusResult>
20128 '''
20129 # map input types to rpc msg
20130 params = dict()
20131 msg = dict(type='Uniter', request='UnitStatus', version=4, params=params)
20132 params['entities'] = entities
20133 reply = await self.rpc(msg)
20134 return reply
20135
20136
20137
20138 @ReturnMapping(StorageAttachmentIdsResults)
20139 async def UnitStorageAttachments(self, entities):
20140 '''
20141 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
20142 Returns -> typing.Sequence<+T_co>[~StorageAttachmentIdsResult]<~StorageAttachmentIdsResult>
20143 '''
20144 # map input types to rpc msg
20145 params = dict()
20146 msg = dict(type='Uniter', request='UnitStorageAttachments', version=4, params=params)
20147 params['entities'] = entities
20148 reply = await self.rpc(msg)
20149 return reply
20150
20151
20152
20153 @ReturnMapping(ErrorResults)
20154 async def UpdateSettings(self, relation_units):
20155 '''
20156 relation_units : typing.Sequence<+T_co>[~RelationUnitSettings]<~RelationUnitSettings>
20157 Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult>
20158 '''
20159 # map input types to rpc msg
20160 params = dict()
20161 msg = dict(type='Uniter', request='UpdateSettings', version=4, params=params)
20162 params['relation-units'] = relation_units
20163 reply = await self.rpc(msg)
20164 return reply
20165
20166
20167
20168 @ReturnMapping(NotifyWatchResults)
20169 async def Watch(self, entities):
20170 '''
20171 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
20172 Returns -> typing.Sequence<+T_co>[~NotifyWatchResult]<~NotifyWatchResult>
20173 '''
20174 # map input types to rpc msg
20175 params = dict()
20176 msg = dict(type='Uniter', request='Watch', version=4, params=params)
20177 params['entities'] = entities
20178 reply = await self.rpc(msg)
20179 return reply
20180
20181
20182
20183 @ReturnMapping(NotifyWatchResult)
20184 async def WatchAPIHostPorts(self):
20185 '''
20186
20187 Returns -> typing.Union[str, _ForwardRef('Error')]
20188 '''
20189 # map input types to rpc msg
20190 params = dict()
20191 msg = dict(type='Uniter', request='WatchAPIHostPorts', version=4, params=params)
20192
20193 reply = await self.rpc(msg)
20194 return reply
20195
20196
20197
20198 @ReturnMapping(StringsWatchResults)
20199 async def WatchActionNotifications(self, entities):
20200 '''
20201 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
20202 Returns -> typing.Sequence<+T_co>[~StringsWatchResult]<~StringsWatchResult>
20203 '''
20204 # map input types to rpc msg
20205 params = dict()
20206 msg = dict(type='Uniter', request='WatchActionNotifications', version=4, params=params)
20207 params['entities'] = entities
20208 reply = await self.rpc(msg)
20209 return reply
20210
20211
20212
20213 @ReturnMapping(StringsWatchResults)
20214 async def WatchApplicationRelations(self, entities):
20215 '''
20216 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
20217 Returns -> typing.Sequence<+T_co>[~StringsWatchResult]<~StringsWatchResult>
20218 '''
20219 # map input types to rpc msg
20220 params = dict()
20221 msg = dict(type='Uniter', request='WatchApplicationRelations', version=4, params=params)
20222 params['entities'] = entities
20223 reply = await self.rpc(msg)
20224 return reply
20225
20226
20227
20228 @ReturnMapping(NotifyWatchResults)
20229 async def WatchConfigSettings(self, entities):
20230 '''
20231 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
20232 Returns -> typing.Sequence<+T_co>[~NotifyWatchResult]<~NotifyWatchResult>
20233 '''
20234 # map input types to rpc msg
20235 params = dict()
20236 msg = dict(type='Uniter', request='WatchConfigSettings', version=4, params=params)
20237 params['entities'] = entities
20238 reply = await self.rpc(msg)
20239 return reply
20240
20241
20242
20243 @ReturnMapping(NotifyWatchResult)
20244 async def WatchForModelConfigChanges(self):
20245 '''
20246
20247 Returns -> typing.Union[str, _ForwardRef('Error')]
20248 '''
20249 # map input types to rpc msg
20250 params = dict()
20251 msg = dict(type='Uniter', request='WatchForModelConfigChanges', version=4, params=params)
20252
20253 reply = await self.rpc(msg)
20254 return reply
20255
20256
20257
20258 @ReturnMapping(NotifyWatchResults)
20259 async def WatchLeadershipSettings(self, entities):
20260 '''
20261 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
20262 Returns -> typing.Sequence<+T_co>[~NotifyWatchResult]<~NotifyWatchResult>
20263 '''
20264 # map input types to rpc msg
20265 params = dict()
20266 msg = dict(type='Uniter', request='WatchLeadershipSettings', version=4, params=params)
20267 params['entities'] = entities
20268 reply = await self.rpc(msg)
20269 return reply
20270
20271
20272
20273 @ReturnMapping(NotifyWatchResults)
20274 async def WatchMeterStatus(self, entities):
20275 '''
20276 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
20277 Returns -> typing.Sequence<+T_co>[~NotifyWatchResult]<~NotifyWatchResult>
20278 '''
20279 # map input types to rpc msg
20280 params = dict()
20281 msg = dict(type='Uniter', request='WatchMeterStatus', version=4, params=params)
20282 params['entities'] = entities
20283 reply = await self.rpc(msg)
20284 return reply
20285
20286
20287
20288 @ReturnMapping(RelationUnitsWatchResults)
20289 async def WatchRelationUnits(self, relation_units):
20290 '''
20291 relation_units : typing.Sequence<+T_co>[~RelationUnit]<~RelationUnit>
20292 Returns -> typing.Sequence<+T_co>[~RelationUnitsWatchResult]<~RelationUnitsWatchResult>
20293 '''
20294 # map input types to rpc msg
20295 params = dict()
20296 msg = dict(type='Uniter', request='WatchRelationUnits', version=4, params=params)
20297 params['relation-units'] = relation_units
20298 reply = await self.rpc(msg)
20299 return reply
20300
20301
20302
20303 @ReturnMapping(NotifyWatchResults)
20304 async def WatchStorageAttachments(self, ids):
20305 '''
20306 ids : typing.Sequence<+T_co>[~StorageAttachmentId]<~StorageAttachmentId>
20307 Returns -> typing.Sequence<+T_co>[~NotifyWatchResult]<~NotifyWatchResult>
20308 '''
20309 # map input types to rpc msg
20310 params = dict()
20311 msg = dict(type='Uniter', request='WatchStorageAttachments', version=4, params=params)
20312 params['ids'] = ids
20313 reply = await self.rpc(msg)
20314 return reply
20315
20316
20317
20318 @ReturnMapping(NotifyWatchResults)
20319 async def WatchUnitAddresses(self, entities):
20320 '''
20321 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
20322 Returns -> typing.Sequence<+T_co>[~NotifyWatchResult]<~NotifyWatchResult>
20323 '''
20324 # map input types to rpc msg
20325 params = dict()
20326 msg = dict(type='Uniter', request='WatchUnitAddresses', version=4, params=params)
20327 params['entities'] = entities
20328 reply = await self.rpc(msg)
20329 return reply
20330
20331
20332
20333 @ReturnMapping(StringsWatchResults)
20334 async def WatchUnitStorageAttachments(self, entities):
20335 '''
20336 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
20337 Returns -> typing.Sequence<+T_co>[~StringsWatchResult]<~StringsWatchResult>
20338 '''
20339 # map input types to rpc msg
20340 params = dict()
20341 msg = dict(type='Uniter', request='WatchUnitStorageAttachments', version=4, params=params)
20342 params['entities'] = entities
20343 reply = await self.rpc(msg)
20344 return reply
20345
20346
20347
20348 @ReturnMapping(StringResults)
20349 async def WorkloadVersion(self, entities):
20350 '''
20351 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
20352 Returns -> typing.Sequence<+T_co>[~StringResult]<~StringResult>
20353 '''
20354 # map input types to rpc msg
20355 params = dict()
20356 msg = dict(type='Uniter', request='WorkloadVersion', version=4, params=params)
20357 params['entities'] = entities
20358 reply = await self.rpc(msg)
20359 return reply
20360
20361
20362 class UpgraderFacade(Type):
20363 name = 'Upgrader'
20364 version = 1
20365 schema = {'definitions': {'Binary': {'additionalProperties': False,
20366 'properties': {'Arch': {'type': 'string'},
20367 'Number': {'$ref': '#/definitions/Number'},
20368 'Series': {'type': 'string'}},
20369 'required': ['Number', 'Series', 'Arch'],
20370 'type': 'object'},
20371 'Entities': {'additionalProperties': False,
20372 'properties': {'entities': {'items': {'$ref': '#/definitions/Entity'},
20373 'type': 'array'}},
20374 'required': ['entities'],
20375 'type': 'object'},
20376 'EntitiesVersion': {'additionalProperties': False,
20377 'properties': {'agent-tools': {'items': {'$ref': '#/definitions/EntityVersion'},
20378 'type': 'array'}},
20379 'required': ['agent-tools'],
20380 'type': 'object'},
20381 'Entity': {'additionalProperties': False,
20382 'properties': {'tag': {'type': 'string'}},
20383 'required': ['tag'],
20384 'type': 'object'},
20385 'EntityVersion': {'additionalProperties': False,
20386 'properties': {'tag': {'type': 'string'},
20387 'tools': {'$ref': '#/definitions/Version'}},
20388 'required': ['tag', 'tools'],
20389 'type': 'object'},
20390 'Error': {'additionalProperties': False,
20391 'properties': {'code': {'type': 'string'},
20392 'info': {'$ref': '#/definitions/ErrorInfo'},
20393 'message': {'type': 'string'}},
20394 'required': ['message', 'code'],
20395 'type': 'object'},
20396 'ErrorInfo': {'additionalProperties': False,
20397 'properties': {'macaroon': {'$ref': '#/definitions/Macaroon'},
20398 'macaroon-path': {'type': 'string'}},
20399 'type': 'object'},
20400 'ErrorResult': {'additionalProperties': False,
20401 'properties': {'error': {'$ref': '#/definitions/Error'}},
20402 'type': 'object'},
20403 'ErrorResults': {'additionalProperties': False,
20404 'properties': {'results': {'items': {'$ref': '#/definitions/ErrorResult'},
20405 'type': 'array'}},
20406 'required': ['results'],
20407 'type': 'object'},
20408 'Macaroon': {'additionalProperties': False, 'type': 'object'},
20409 'NotifyWatchResult': {'additionalProperties': False,
20410 'properties': {'NotifyWatcherId': {'type': 'string'},
20411 'error': {'$ref': '#/definitions/Error'}},
20412 'required': ['NotifyWatcherId'],
20413 'type': 'object'},
20414 'NotifyWatchResults': {'additionalProperties': False,
20415 'properties': {'results': {'items': {'$ref': '#/definitions/NotifyWatchResult'},
20416 'type': 'array'}},
20417 'required': ['results'],
20418 'type': 'object'},
20419 'Number': {'additionalProperties': False,
20420 'properties': {'Build': {'type': 'integer'},
20421 'Major': {'type': 'integer'},
20422 'Minor': {'type': 'integer'},
20423 'Patch': {'type': 'integer'},
20424 'Tag': {'type': 'string'}},
20425 'required': ['Major',
20426 'Minor',
20427 'Tag',
20428 'Patch',
20429 'Build'],
20430 'type': 'object'},
20431 'Tools': {'additionalProperties': False,
20432 'properties': {'sha256': {'type': 'string'},
20433 'size': {'type': 'integer'},
20434 'url': {'type': 'string'},
20435 'version': {'$ref': '#/definitions/Binary'}},
20436 'required': ['version', 'url', 'size'],
20437 'type': 'object'},
20438 'ToolsResult': {'additionalProperties': False,
20439 'properties': {'disable-ssl-hostname-verification': {'type': 'boolean'},
20440 'error': {'$ref': '#/definitions/Error'},
20441 'tools': {'items': {'$ref': '#/definitions/Tools'},
20442 'type': 'array'}},
20443 'required': ['tools',
20444 'disable-ssl-hostname-verification'],
20445 'type': 'object'},
20446 'ToolsResults': {'additionalProperties': False,
20447 'properties': {'results': {'items': {'$ref': '#/definitions/ToolsResult'},
20448 'type': 'array'}},
20449 'required': ['results'],
20450 'type': 'object'},
20451 'Version': {'additionalProperties': False,
20452 'properties': {'version': {'$ref': '#/definitions/Binary'}},
20453 'required': ['version'],
20454 'type': 'object'},
20455 'VersionResult': {'additionalProperties': False,
20456 'properties': {'error': {'$ref': '#/definitions/Error'},
20457 'version': {'$ref': '#/definitions/Number'}},
20458 'type': 'object'},
20459 'VersionResults': {'additionalProperties': False,
20460 'properties': {'results': {'items': {'$ref': '#/definitions/VersionResult'},
20461 'type': 'array'}},
20462 'required': ['results'],
20463 'type': 'object'}},
20464 'properties': {'DesiredVersion': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
20465 'Result': {'$ref': '#/definitions/VersionResults'}},
20466 'type': 'object'},
20467 'SetTools': {'properties': {'Params': {'$ref': '#/definitions/EntitiesVersion'},
20468 'Result': {'$ref': '#/definitions/ErrorResults'}},
20469 'type': 'object'},
20470 'Tools': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
20471 'Result': {'$ref': '#/definitions/ToolsResults'}},
20472 'type': 'object'},
20473 'WatchAPIVersion': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
20474 'Result': {'$ref': '#/definitions/NotifyWatchResults'}},
20475 'type': 'object'}},
20476 'type': 'object'}
20477
20478
20479 @ReturnMapping(VersionResults)
20480 async def DesiredVersion(self, entities):
20481 '''
20482 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
20483 Returns -> typing.Sequence<+T_co>[~VersionResult]<~VersionResult>
20484 '''
20485 # map input types to rpc msg
20486 params = dict()
20487 msg = dict(type='Upgrader', request='DesiredVersion', version=1, params=params)
20488 params['entities'] = entities
20489 reply = await self.rpc(msg)
20490 return reply
20491
20492
20493
20494 @ReturnMapping(ErrorResults)
20495 async def SetTools(self, agent_tools):
20496 '''
20497 agent_tools : typing.Sequence<+T_co>[~EntityVersion]<~EntityVersion>
20498 Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult>
20499 '''
20500 # map input types to rpc msg
20501 params = dict()
20502 msg = dict(type='Upgrader', request='SetTools', version=1, params=params)
20503 params['agent-tools'] = agent_tools
20504 reply = await self.rpc(msg)
20505 return reply
20506
20507
20508
20509 @ReturnMapping(ToolsResults)
20510 async def Tools(self, entities):
20511 '''
20512 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
20513 Returns -> typing.Sequence<+T_co>[~ToolsResult]<~ToolsResult>
20514 '''
20515 # map input types to rpc msg
20516 params = dict()
20517 msg = dict(type='Upgrader', request='Tools', version=1, params=params)
20518 params['entities'] = entities
20519 reply = await self.rpc(msg)
20520 return reply
20521
20522
20523
20524 @ReturnMapping(NotifyWatchResults)
20525 async def WatchAPIVersion(self, entities):
20526 '''
20527 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
20528 Returns -> typing.Sequence<+T_co>[~NotifyWatchResult]<~NotifyWatchResult>
20529 '''
20530 # map input types to rpc msg
20531 params = dict()
20532 msg = dict(type='Upgrader', request='WatchAPIVersion', version=1, params=params)
20533 params['entities'] = entities
20534 reply = await self.rpc(msg)
20535 return reply
20536
20537
20538 class UserManagerFacade(Type):
20539 name = 'UserManager'
20540 version = 1
20541 schema = {'definitions': {'AddUser': {'additionalProperties': False,
20542 'properties': {'display-name': {'type': 'string'},
20543 'password': {'type': 'string'},
20544 'username': {'type': 'string'}},
20545 'required': ['username', 'display-name'],
20546 'type': 'object'},
20547 'AddUserResult': {'additionalProperties': False,
20548 'properties': {'error': {'$ref': '#/definitions/Error'},
20549 'secret-key': {'items': {'type': 'integer'},
20550 'type': 'array'},
20551 'tag': {'type': 'string'}},
20552 'type': 'object'},
20553 'AddUserResults': {'additionalProperties': False,
20554 'properties': {'results': {'items': {'$ref': '#/definitions/AddUserResult'},
20555 'type': 'array'}},
20556 'required': ['results'],
20557 'type': 'object'},
20558 'AddUsers': {'additionalProperties': False,
20559 'properties': {'users': {'items': {'$ref': '#/definitions/AddUser'},
20560 'type': 'array'}},
20561 'required': ['users'],
20562 'type': 'object'},
20563 'Entities': {'additionalProperties': False,
20564 'properties': {'entities': {'items': {'$ref': '#/definitions/Entity'},
20565 'type': 'array'}},
20566 'required': ['entities'],
20567 'type': 'object'},
20568 'Entity': {'additionalProperties': False,
20569 'properties': {'tag': {'type': 'string'}},
20570 'required': ['tag'],
20571 'type': 'object'},
20572 'EntityPassword': {'additionalProperties': False,
20573 'properties': {'password': {'type': 'string'},
20574 'tag': {'type': 'string'}},
20575 'required': ['tag', 'password'],
20576 'type': 'object'},
20577 'EntityPasswords': {'additionalProperties': False,
20578 'properties': {'changes': {'items': {'$ref': '#/definitions/EntityPassword'},
20579 'type': 'array'}},
20580 'required': ['changes'],
20581 'type': 'object'},
20582 'Error': {'additionalProperties': False,
20583 'properties': {'code': {'type': 'string'},
20584 'info': {'$ref': '#/definitions/ErrorInfo'},
20585 'message': {'type': 'string'}},
20586 'required': ['message', 'code'],
20587 'type': 'object'},
20588 'ErrorInfo': {'additionalProperties': False,
20589 'properties': {'macaroon': {'$ref': '#/definitions/Macaroon'},
20590 'macaroon-path': {'type': 'string'}},
20591 'type': 'object'},
20592 'ErrorResult': {'additionalProperties': False,
20593 'properties': {'error': {'$ref': '#/definitions/Error'}},
20594 'type': 'object'},
20595 'ErrorResults': {'additionalProperties': False,
20596 'properties': {'results': {'items': {'$ref': '#/definitions/ErrorResult'},
20597 'type': 'array'}},
20598 'required': ['results'],
20599 'type': 'object'},
20600 'Macaroon': {'additionalProperties': False, 'type': 'object'},
20601 'MacaroonResult': {'additionalProperties': False,
20602 'properties': {'error': {'$ref': '#/definitions/Error'},
20603 'result': {'$ref': '#/definitions/Macaroon'}},
20604 'type': 'object'},
20605 'MacaroonResults': {'additionalProperties': False,
20606 'properties': {'results': {'items': {'$ref': '#/definitions/MacaroonResult'},
20607 'type': 'array'}},
20608 'required': ['results'],
20609 'type': 'object'},
20610 'UserInfo': {'additionalProperties': False,
20611 'properties': {'access': {'type': 'string'},
20612 'created-by': {'type': 'string'},
20613 'date-created': {'format': 'date-time',
20614 'type': 'string'},
20615 'disabled': {'type': 'boolean'},
20616 'display-name': {'type': 'string'},
20617 'last-connection': {'format': 'date-time',
20618 'type': 'string'},
20619 'username': {'type': 'string'}},
20620 'required': ['username',
20621 'display-name',
20622 'access',
20623 'created-by',
20624 'date-created',
20625 'disabled'],
20626 'type': 'object'},
20627 'UserInfoRequest': {'additionalProperties': False,
20628 'properties': {'entities': {'items': {'$ref': '#/definitions/Entity'},
20629 'type': 'array'},
20630 'include-disabled': {'type': 'boolean'}},
20631 'required': ['entities',
20632 'include-disabled'],
20633 'type': 'object'},
20634 'UserInfoResult': {'additionalProperties': False,
20635 'properties': {'error': {'$ref': '#/definitions/Error'},
20636 'result': {'$ref': '#/definitions/UserInfo'}},
20637 'type': 'object'},
20638 'UserInfoResults': {'additionalProperties': False,
20639 'properties': {'results': {'items': {'$ref': '#/definitions/UserInfoResult'},
20640 'type': 'array'}},
20641 'required': ['results'],
20642 'type': 'object'}},
20643 'properties': {'AddUser': {'properties': {'Params': {'$ref': '#/definitions/AddUsers'},
20644 'Result': {'$ref': '#/definitions/AddUserResults'}},
20645 'type': 'object'},
20646 'CreateLocalLoginMacaroon': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
20647 'Result': {'$ref': '#/definitions/MacaroonResults'}},
20648 'type': 'object'},
20649 'DisableUser': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
20650 'Result': {'$ref': '#/definitions/ErrorResults'}},
20651 'type': 'object'},
20652 'EnableUser': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
20653 'Result': {'$ref': '#/definitions/ErrorResults'}},
20654 'type': 'object'},
20655 'RemoveUser': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
20656 'Result': {'$ref': '#/definitions/ErrorResults'}},
20657 'type': 'object'},
20658 'SetPassword': {'properties': {'Params': {'$ref': '#/definitions/EntityPasswords'},
20659 'Result': {'$ref': '#/definitions/ErrorResults'}},
20660 'type': 'object'},
20661 'UserInfo': {'properties': {'Params': {'$ref': '#/definitions/UserInfoRequest'},
20662 'Result': {'$ref': '#/definitions/UserInfoResults'}},
20663 'type': 'object'}},
20664 'type': 'object'}
20665
20666
20667 @ReturnMapping(AddUserResults)
20668 async def AddUser(self, users):
20669 '''
20670 users : typing.Sequence<+T_co>[~AddUser]<~AddUser>
20671 Returns -> typing.Sequence<+T_co>[~AddUserResult]<~AddUserResult>
20672 '''
20673 # map input types to rpc msg
20674 params = dict()
20675 msg = dict(type='UserManager', request='AddUser', version=1, params=params)
20676 params['users'] = users
20677 reply = await self.rpc(msg)
20678 return reply
20679
20680
20681
20682 @ReturnMapping(MacaroonResults)
20683 async def CreateLocalLoginMacaroon(self, entities):
20684 '''
20685 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
20686 Returns -> typing.Sequence<+T_co>[~MacaroonResult]<~MacaroonResult>
20687 '''
20688 # map input types to rpc msg
20689 params = dict()
20690 msg = dict(type='UserManager', request='CreateLocalLoginMacaroon', version=1, params=params)
20691 params['entities'] = entities
20692 reply = await self.rpc(msg)
20693 return reply
20694
20695
20696
20697 @ReturnMapping(ErrorResults)
20698 async def DisableUser(self, entities):
20699 '''
20700 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
20701 Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult>
20702 '''
20703 # map input types to rpc msg
20704 params = dict()
20705 msg = dict(type='UserManager', request='DisableUser', version=1, params=params)
20706 params['entities'] = entities
20707 reply = await self.rpc(msg)
20708 return reply
20709
20710
20711
20712 @ReturnMapping(ErrorResults)
20713 async def EnableUser(self, entities):
20714 '''
20715 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
20716 Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult>
20717 '''
20718 # map input types to rpc msg
20719 params = dict()
20720 msg = dict(type='UserManager', request='EnableUser', version=1, params=params)
20721 params['entities'] = entities
20722 reply = await self.rpc(msg)
20723 return reply
20724
20725
20726
20727 @ReturnMapping(ErrorResults)
20728 async def RemoveUser(self, entities):
20729 '''
20730 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
20731 Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult>
20732 '''
20733 # map input types to rpc msg
20734 params = dict()
20735 msg = dict(type='UserManager', request='RemoveUser', version=1, params=params)
20736 params['entities'] = entities
20737 reply = await self.rpc(msg)
20738 return reply
20739
20740
20741
20742 @ReturnMapping(ErrorResults)
20743 async def SetPassword(self, changes):
20744 '''
20745 changes : typing.Sequence<+T_co>[~EntityPassword]<~EntityPassword>
20746 Returns -> typing.Sequence<+T_co>[~ErrorResult]<~ErrorResult>
20747 '''
20748 # map input types to rpc msg
20749 params = dict()
20750 msg = dict(type='UserManager', request='SetPassword', version=1, params=params)
20751 params['changes'] = changes
20752 reply = await self.rpc(msg)
20753 return reply
20754
20755
20756
20757 @ReturnMapping(UserInfoResults)
20758 async def UserInfo(self, entities, include_disabled):
20759 '''
20760 entities : typing.Sequence<+T_co>[~Entity]<~Entity>
20761 include_disabled : bool
20762 Returns -> typing.Sequence<+T_co>[~UserInfoResult]<~UserInfoResult>
20763 '''
20764 # map input types to rpc msg
20765 params = dict()
20766 msg = dict(type='UserManager', request='UserInfo', version=1, params=params)
20767 params['entities'] = entities
20768 params['include-disabled'] = include_disabled
20769 reply = await self.rpc(msg)
20770 return reply
20771
20772
20773 class VolumeAttachmentsWatcherFacade(Type):
20774 name = 'VolumeAttachmentsWatcher'
20775 version = 2
20776 schema = {'definitions': {'Error': {'additionalProperties': False,
20777 'properties': {'code': {'type': 'string'},
20778 'info': {'$ref': '#/definitions/ErrorInfo'},
20779 'message': {'type': 'string'}},
20780 'required': ['message', 'code'],
20781 'type': 'object'},
20782 'ErrorInfo': {'additionalProperties': False,
20783 'properties': {'macaroon': {'$ref': '#/definitions/Macaroon'},
20784 'macaroon-path': {'type': 'string'}},
20785 'type': 'object'},
20786 'Macaroon': {'additionalProperties': False, 'type': 'object'},
20787 'MachineStorageId': {'additionalProperties': False,
20788 'properties': {'attachment-tag': {'type': 'string'},
20789 'machine-tag': {'type': 'string'}},
20790 'required': ['machine-tag',
20791 'attachment-tag'],
20792 'type': 'object'},
20793 'MachineStorageIdsWatchResult': {'additionalProperties': False,
20794 'properties': {'changes': {'items': {'$ref': '#/definitions/MachineStorageId'},
20795 'type': 'array'},
20796 'error': {'$ref': '#/definitions/Error'},
20797 'watcher-id': {'type': 'string'}},
20798 'required': ['watcher-id',
20799 'changes'],
20800 'type': 'object'}},
20801 'properties': {'Next': {'properties': {'Result': {'$ref': '#/definitions/MachineStorageIdsWatchResult'}},
20802 'type': 'object'},
20803 'Stop': {'type': 'object'}},
20804 'type': 'object'}
20805
20806
20807 @ReturnMapping(MachineStorageIdsWatchResult)
20808 async def Next(self):
20809 '''
20810
20811 Returns -> typing.Union[typing.Sequence<+T_co>[~MachineStorageId]<~MachineStorageId>, _ForwardRef('Error')]
20812 '''
20813 # map input types to rpc msg
20814 params = dict()
20815 msg = dict(type='VolumeAttachmentsWatcher', request='Next', version=2, params=params)
20816
20817 reply = await self.rpc(msg)
20818 return reply
20819
20820
20821
20822 @ReturnMapping(None)
20823 async def Stop(self):
20824 '''
20825
20826 Returns -> None
20827 '''
20828 # map input types to rpc msg
20829 params = dict()
20830 msg = dict(type='VolumeAttachmentsWatcher', request='Stop', version=2, params=params)
20831
20832 reply = await self.rpc(msg)
20833 return reply
20834
20835