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.
4 from juju
.client
.facade
import Type
, ReturnMapping
8 _toSchema
= {'parameters': 'parameters', 'receiver': 'receiver', 'tag': 'tag', 'name': 'name'}
9 _toPy
= {'parameters': 'parameters', 'receiver': 'receiver', 'tag': 'tag', 'name': 'name'}
10 def __init__(self
, name
=None, parameters
=None, receiver
=None, tag
=None):
13 parameters : typing.Mapping[str, typing.Any]
18 self
.parameters
= parameters
19 self
.receiver
= receiver
23 class ActionResult(Type
):
24 _toSchema
= {'action': 'action', 'completed': 'completed', 'output': 'output', 'started': 'started', 'enqueued': 'enqueued', 'message': 'message', 'error': 'error', 'status': 'status'}
25 _toPy
= {'action': 'action', 'completed': 'completed', 'output': 'output', 'started': 'started', 'enqueued': 'enqueued', 'message': 'message', 'error': 'error', 'status': 'status'}
26 def __init__(self
, action
=None, completed
=None, enqueued
=None, error
=None, message
=None, output
=None, started
=None, status
=None):
33 output : typing.Mapping[str, typing.Any]
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
43 self
.started
= started
47 class ActionResults(Type
):
48 _toSchema
= {'results': 'results'}
49 _toPy
= {'results': 'results'}
50 def __init__(self
, results
=None):
52 results : typing.Sequence[~ActionResult]
54 self
.results
= [ActionResult
.from_json(o
) for o
in results
or []]
57 class ActionSpec(Type
):
58 _toSchema
= {'description': 'Description', 'params': 'Params'}
59 _toPy
= {'Description': 'description', 'Params': 'params'}
60 def __init__(self
, description
=None, params
=None):
63 params : typing.Mapping[str, typing.Any]
65 self
.description
= description
70 _toSchema
= {'actionspecs': 'ActionSpecs'}
71 _toPy
= {'ActionSpecs': 'actionspecs'}
72 def __init__(self
, actionspecs
=None):
74 actionspecs : typing.Mapping[str, ~ActionSpec]
76 self
.actionspecs
= {k
: ActionSpec
.from_json(v
) for k
, v
in (actionspecs
or dict()).items()}
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):
84 actions : typing.Sequence[~ActionResult]
88 self
.actions
= [ActionResult
.from_json(o
) for o
in actions
or []]
89 self
.error
= Error
.from_json(error
) if error
else None
93 class ActionsByNames(Type
):
94 _toSchema
= {'actions': 'actions'}
95 _toPy
= {'actions': 'actions'}
96 def __init__(self
, actions
=None):
98 actions : typing.Sequence[~ActionsByName]
100 self
.actions
= [ActionsByName
.from_json(o
) for o
in actions
or []]
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):
108 actions : typing.Sequence[~ActionResult]
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
117 class ActionsByReceivers(Type
):
118 _toSchema
= {'actions': 'actions'}
119 _toPy
= {'actions': 'actions'}
120 def __init__(self
, actions
=None):
122 actions : typing.Sequence[~ActionsByReceiver]
124 self
.actions
= [ActionsByReceiver
.from_json(o
) for o
in actions
or []]
127 class ApplicationCharmActionsResult(Type
):
128 _toSchema
= {'applicationtag': 'ApplicationTag', 'actions': 'actions', 'error': 'error'}
129 _toPy
= {'actions': 'actions', 'ApplicationTag': 'applicationtag', 'error': 'error'}
130 def __init__(self
, applicationtag
=None, actions
=None, error
=None):
136 self
.applicationtag
= applicationtag
137 self
.actions
= Actions
.from_json(actions
) if actions
else None
138 self
.error
= Error
.from_json(error
) if error
else None
141 class ApplicationsCharmActionsResults(Type
):
142 _toSchema
= {'results': 'results'}
143 _toPy
= {'results': 'results'}
144 def __init__(self
, results
=None):
146 results : typing.Sequence[~ApplicationCharmActionsResult]
148 self
.results
= [ApplicationCharmActionsResult
.from_json(o
) for o
in results
or []]
151 class Entities(Type
):
152 _toSchema
= {'entities': 'Entities'}
153 _toPy
= {'Entities': 'entities'}
154 def __init__(self
, entities
=None):
156 entities : typing.Sequence[~Entity]
158 self
.entities
= [Entity
.from_json(o
) for o
in entities
or []]
162 _toSchema
= {'tag': 'Tag'}
163 _toPy
= {'Tag': 'tag'}
164 def __init__(self
, tag
=None):
172 _toSchema
= {'code': 'Code', 'message': 'Message', 'info': 'Info'}
173 _toPy
= {'Code': 'code', 'Message': 'message', 'Info': 'info'}
174 def __init__(self
, code
=None, info
=None, message
=None):
181 self
.info
= ErrorInfo
.from_json(info
) if info
else None
182 self
.message
= message
185 class ErrorInfo(Type
):
186 _toSchema
= {'macaroonpath': 'MacaroonPath', 'macaroon': 'Macaroon'}
187 _toPy
= {'Macaroon': 'macaroon', 'MacaroonPath': 'macaroonpath'}
188 def __init__(self
, macaroon
=None, macaroonpath
=None):
193 self
.macaroon
= Macaroon
.from_json(macaroon
) if macaroon
else None
194 self
.macaroonpath
= macaroonpath
197 class FindActionsByNames(Type
):
198 _toSchema
= {'names': 'names'}
199 _toPy
= {'names': 'names'}
200 def __init__(self
, names
=None):
202 names : typing.Sequence[str]
207 class FindTags(Type
):
208 _toSchema
= {'prefixes': 'prefixes'}
209 _toPy
= {'prefixes': 'prefixes'}
210 def __init__(self
, prefixes
=None):
212 prefixes : typing.Sequence[str]
214 self
.prefixes
= prefixes
217 class FindTagsResults(Type
):
218 _toSchema
= {'matches': 'matches'}
219 _toPy
= {'matches': 'matches'}
220 def __init__(self
, matches
=None):
222 matches : typing.Sequence[~Entity]
224 self
.matches
= [Entity
.from_json(o
) for o
in matches
or []]
227 class Macaroon(Type
):
228 _toSchema
= {'caveats': 'caveats', 'location': 'location', 'data': 'data', 'id_': 'id', 'sig': 'sig'}
229 _toPy
= {'caveats': 'caveats', 'location': 'location', 'data': 'data', 'sig': 'sig', 'id': 'id_'}
230 def __init__(self
, caveats
=None, data
=None, id_
=None, location
=None, sig
=None):
232 caveats : typing.Sequence[~caveat]
233 data : typing.Sequence[int]
236 sig : typing.Sequence[int]
238 self
.caveats
= [caveat
.from_json(o
) for o
in caveats
or []]
240 self
.id_
= packet
.from_json(id_
) if id_
else None
241 self
.location
= packet
.from_json(location
) if location
else None
245 class RunParams(Type
):
246 _toSchema
= {'units': 'Units', 'applications': 'Applications', 'commands': 'Commands', 'machines': 'Machines', 'timeout': 'Timeout'}
247 _toPy
= {'Applications': 'applications', 'Commands': 'commands', 'Timeout': 'timeout', 'Units': 'units', 'Machines': 'machines'}
248 def __init__(self
, applications
=None, commands
=None, machines
=None, timeout
=None, units
=None):
250 applications : typing.Sequence[str]
252 machines : typing.Sequence[str]
254 units : typing.Sequence[str]
256 self
.applications
= applications
257 self
.commands
= commands
258 self
.machines
= machines
259 self
.timeout
= timeout
264 _toSchema
= {'caveatid': 'caveatId', 'location': 'location', 'verificationid': 'verificationId'}
265 _toPy
= {'verificationId': 'verificationid', 'location': 'location', 'caveatId': 'caveatid'}
266 def __init__(self
, caveatid
=None, location
=None, verificationid
=None):
270 verificationid : packet
272 self
.caveatid
= packet
.from_json(caveatid
) if caveatid
else None
273 self
.location
= packet
.from_json(location
) if location
else None
274 self
.verificationid
= packet
.from_json(verificationid
) if verificationid
else None
278 _toSchema
= {'start': 'start', 'totallen': 'totalLen', 'headerlen': 'headerLen'}
279 _toPy
= {'start': 'start', 'totalLen': 'totallen', 'headerLen': 'headerlen'}
280 def __init__(self
, headerlen
=None, start
=None, totallen
=None):
286 self
.headerlen
= headerlen
288 self
.totallen
= totallen
291 class BoolResult(Type
):
292 _toSchema
= {'result': 'Result', 'error': 'Error'}
293 _toPy
= {'Result': 'result', 'Error': 'error'}
294 def __init__(self
, error
=None, result
=None):
299 self
.error
= Error
.from_json(error
) if error
else None
303 class EntitiesWatchResult(Type
):
304 _toSchema
= {'changes': 'Changes', 'error': 'Error', 'entitywatcherid': 'EntityWatcherId'}
305 _toPy
= {'Changes': 'changes', 'Error': 'error', 'EntityWatcherId': 'entitywatcherid'}
306 def __init__(self
, changes
=None, entitywatcherid
=None, error
=None):
308 changes : typing.Sequence[str]
309 entitywatcherid : str
312 self
.changes
= changes
313 self
.entitywatcherid
= entitywatcherid
314 self
.error
= Error
.from_json(error
) if error
else None
317 class ErrorResult(Type
):
318 _toSchema
= {'code': 'Code', 'message': 'Message', 'info': 'Info'}
319 _toPy
= {'Code': 'code', 'Message': 'message', 'Info': 'info'}
320 def __init__(self
, code
=None, info
=None, message
=None):
327 self
.info
= ErrorInfo
.from_json(info
) if info
else None
328 self
.message
= message
331 class AgentGetEntitiesResult(Type
):
332 _toSchema
= {'jobs': 'Jobs', 'life': 'Life', 'error': 'Error', 'containertype': 'ContainerType'}
333 _toPy
= {'Life': 'life', 'ContainerType': 'containertype', 'Error': 'error', 'Jobs': 'jobs'}
334 def __init__(self
, containertype
=None, error
=None, jobs
=None, life
=None):
338 jobs : typing.Sequence[str]
341 self
.containertype
= containertype
342 self
.error
= Error
.from_json(error
) if error
else None
347 class AgentGetEntitiesResults(Type
):
348 _toSchema
= {'entities': 'Entities'}
349 _toPy
= {'Entities': 'entities'}
350 def __init__(self
, entities
=None):
352 entities : typing.Sequence[~AgentGetEntitiesResult]
354 self
.entities
= [AgentGetEntitiesResult
.from_json(o
) for o
in entities
or []]
357 class EntityPassword(Type
):
358 _toSchema
= {'password': 'Password', 'tag': 'Tag'}
359 _toPy
= {'Tag': 'tag', 'Password': 'password'}
360 def __init__(self
, password
=None, tag
=None):
365 self
.password
= password
369 class EntityPasswords(Type
):
370 _toSchema
= {'changes': 'Changes'}
371 _toPy
= {'Changes': 'changes'}
372 def __init__(self
, changes
=None):
374 changes : typing.Sequence[~EntityPassword]
376 self
.changes
= [EntityPassword
.from_json(o
) for o
in changes
or []]
379 class ErrorResults(Type
):
380 _toSchema
= {'results': 'Results'}
381 _toPy
= {'Results': 'results'}
382 def __init__(self
, results
=None):
384 results : typing.Sequence[~ErrorResult]
386 self
.results
= [ErrorResult
.from_json(o
) for o
in results
or []]
389 class IsMasterResult(Type
):
390 _toSchema
= {'master': 'Master'}
391 _toPy
= {'Master': 'master'}
392 def __init__(self
, master
=None):
399 class ModelConfigResult(Type
):
400 _toSchema
= {'config': 'Config'}
401 _toPy
= {'Config': 'config'}
402 def __init__(self
, config
=None):
404 config : typing.Mapping[str, typing.Any]
409 class NotifyWatchResult(Type
):
410 _toSchema
= {'notifywatcherid': 'NotifyWatcherId', 'error': 'Error'}
411 _toPy
= {'NotifyWatcherId': 'notifywatcherid', 'Error': 'error'}
412 def __init__(self
, error
=None, notifywatcherid
=None):
415 notifywatcherid : str
417 self
.error
= Error
.from_json(error
) if error
else None
418 self
.notifywatcherid
= notifywatcherid
421 class StateServingInfo(Type
):
422 _toSchema
= {'apiport': 'APIPort', 'stateport': 'StatePort', 'cert': 'Cert', 'caprivatekey': 'CAPrivateKey', 'systemidentity': 'SystemIdentity', 'sharedsecret': 'SharedSecret', 'privatekey': 'PrivateKey'}
423 _toPy
= {'SharedSecret': 'sharedsecret', 'CAPrivateKey': 'caprivatekey', 'Cert': 'cert', 'PrivateKey': 'privatekey', 'StatePort': 'stateport', 'SystemIdentity': 'systemidentity', 'APIPort': 'apiport'}
424 def __init__(self
, apiport
=None, caprivatekey
=None, cert
=None, privatekey
=None, sharedsecret
=None, stateport
=None, systemidentity
=None):
434 self
.apiport
= apiport
435 self
.caprivatekey
= caprivatekey
437 self
.privatekey
= privatekey
438 self
.sharedsecret
= sharedsecret
439 self
.stateport
= stateport
440 self
.systemidentity
= systemidentity
443 class AllWatcherNextResults(Type
):
444 _toSchema
= {'deltas': 'Deltas'}
445 _toPy
= {'Deltas': 'deltas'}
446 def __init__(self
, deltas
=None):
448 deltas : typing.Sequence[~Delta]
450 self
.deltas
= [Delta
.from_json(o
) for o
in deltas
or []]
454 _toSchema
= {'entity': 'Entity', 'removed': 'Removed'}
455 _toPy
= {'Removed': 'removed', 'Entity': 'entity'}
456 def __init__(self
, entity
=None, removed
=None):
458 entity : typing.Mapping[str, typing.Any]
462 self
.removed
= removed
465 class AnnotationsGetResult(Type
):
466 _toSchema
= {'entitytag': 'EntityTag', 'annotations': 'Annotations', 'error': 'Error'}
467 _toPy
= {'Error': 'error', 'Annotations': 'annotations', 'EntityTag': 'entitytag'}
468 def __init__(self
, annotations
=None, entitytag
=None, error
=None):
470 annotations : typing.Mapping[str, str]
474 self
.annotations
= annotations
475 self
.entitytag
= entitytag
476 self
.error
= ErrorResult
.from_json(error
) if error
else None
479 class AnnotationsGetResults(Type
):
480 _toSchema
= {'results': 'Results'}
481 _toPy
= {'Results': 'results'}
482 def __init__(self
, results
=None):
484 results : typing.Sequence[~AnnotationsGetResult]
486 self
.results
= [AnnotationsGetResult
.from_json(o
) for o
in results
or []]
489 class AnnotationsSet(Type
):
490 _toSchema
= {'annotations': 'Annotations'}
491 _toPy
= {'Annotations': 'annotations'}
492 def __init__(self
, annotations
=None):
494 annotations : typing.Sequence[~EntityAnnotations]
496 self
.annotations
= [EntityAnnotations
.from_json(o
) for o
in annotations
or []]
499 class EntityAnnotations(Type
):
500 _toSchema
= {'entitytag': 'EntityTag', 'annotations': 'Annotations'}
501 _toPy
= {'Annotations': 'annotations', 'EntityTag': 'entitytag'}
502 def __init__(self
, annotations
=None, entitytag
=None):
504 annotations : typing.Mapping[str, str]
507 self
.annotations
= annotations
508 self
.entitytag
= entitytag
511 class AddApplicationUnits(Type
):
512 _toSchema
= {'numunits': 'NumUnits', 'applicationname': 'ApplicationName', 'placement': 'Placement'}
513 _toPy
= {'NumUnits': 'numunits', 'Placement': 'placement', 'ApplicationName': 'applicationname'}
514 def __init__(self
, applicationname
=None, numunits
=None, placement
=None):
516 applicationname : str
518 placement : typing.Sequence[~Placement]
520 self
.applicationname
= applicationname
521 self
.numunits
= numunits
522 self
.placement
= [Placement
.from_json(o
) for o
in placement
or []]
525 class AddApplicationUnitsResults(Type
):
526 _toSchema
= {'units': 'Units'}
527 _toPy
= {'Units': 'units'}
528 def __init__(self
, units
=None):
530 units : typing.Sequence[str]
535 class AddRelation(Type
):
536 _toSchema
= {'endpoints': 'Endpoints'}
537 _toPy
= {'Endpoints': 'endpoints'}
538 def __init__(self
, endpoints
=None):
540 endpoints : typing.Sequence[str]
542 self
.endpoints
= endpoints
545 class AddRelationResults(Type
):
546 _toSchema
= {'endpoints': 'Endpoints'}
547 _toPy
= {'Endpoints': 'endpoints'}
548 def __init__(self
, endpoints
=None):
550 endpoints : typing.Mapping[str, ~Relation]
552 self
.endpoints
= {k
: Relation
.from_json(v
) for k
, v
in (endpoints
or dict()).items()}
555 class ApplicationCharmRelations(Type
):
556 _toSchema
= {'applicationname': 'ApplicationName'}
557 _toPy
= {'ApplicationName': 'applicationname'}
558 def __init__(self
, applicationname
=None):
560 applicationname : str
562 self
.applicationname
= applicationname
565 class ApplicationCharmRelationsResults(Type
):
566 _toSchema
= {'charmrelations': 'CharmRelations'}
567 _toPy
= {'CharmRelations': 'charmrelations'}
568 def __init__(self
, charmrelations
=None):
570 charmrelations : typing.Sequence[str]
572 self
.charmrelations
= charmrelations
575 class ApplicationDeploy(Type
):
576 _toSchema
= {'resources': 'Resources', 'channel': 'Channel', 'numunits': 'NumUnits', 'charmurl': 'CharmUrl', 'endpointbindings': 'EndpointBindings', 'configyaml': 'ConfigYAML', 'series': 'Series', 'storage': 'Storage', 'placement': 'Placement', 'config': 'Config', 'constraints': 'Constraints', 'applicationname': 'ApplicationName'}
577 _toPy
= {'Storage': 'storage', 'ApplicationName': 'applicationname', 'Channel': 'channel', 'CharmUrl': 'charmurl', 'Constraints': 'constraints', 'Config': 'config', 'ConfigYAML': 'configyaml', 'Resources': 'resources', 'EndpointBindings': 'endpointbindings', 'NumUnits': 'numunits', 'Placement': 'placement', 'Series': 'series'}
578 def __init__(self
, applicationname
=None, channel
=None, charmurl
=None, config
=None, configyaml
=None, constraints
=None, endpointbindings
=None, numunits
=None, placement
=None, resources
=None, series
=None, storage
=None):
580 applicationname : str
583 config : typing.Mapping[str, str]
586 endpointbindings : typing.Mapping[str, str]
588 placement : typing.Sequence[~Placement]
589 resources : typing.Mapping[str, str]
591 storage : typing.Mapping[str, ~Constraints]
593 self
.applicationname
= applicationname
594 self
.channel
= channel
595 self
.charmurl
= charmurl
597 self
.configyaml
= configyaml
598 self
.constraints
= Value
.from_json(constraints
) if constraints
else None
599 self
.endpointbindings
= endpointbindings
600 self
.numunits
= numunits
601 self
.placement
= [Placement
.from_json(o
) for o
in placement
or []]
602 self
.resources
= resources
604 self
.storage
= {k
: Constraints
.from_json(v
) for k
, v
in (storage
or dict()).items()}
607 class ApplicationDestroy(Type
):
608 _toSchema
= {'applicationname': 'ApplicationName'}
609 _toPy
= {'ApplicationName': 'applicationname'}
610 def __init__(self
, applicationname
=None):
612 applicationname : str
614 self
.applicationname
= applicationname
617 class ApplicationExpose(Type
):
618 _toSchema
= {'applicationname': 'ApplicationName'}
619 _toPy
= {'ApplicationName': 'applicationname'}
620 def __init__(self
, applicationname
=None):
622 applicationname : str
624 self
.applicationname
= applicationname
627 class ApplicationGet(Type
):
628 _toSchema
= {'applicationname': 'ApplicationName'}
629 _toPy
= {'ApplicationName': 'applicationname'}
630 def __init__(self
, applicationname
=None):
632 applicationname : str
634 self
.applicationname
= applicationname
637 class ApplicationGetResults(Type
):
638 _toSchema
= {'charm': 'Charm', 'config': 'Config', 'application': 'Application', 'constraints': 'Constraints'}
639 _toPy
= {'Constraints': 'constraints', 'Charm': 'charm', 'Application': 'application', 'Config': 'config'}
640 def __init__(self
, application
=None, charm
=None, config
=None, constraints
=None):
644 config : typing.Mapping[str, typing.Any]
647 self
.application
= application
650 self
.constraints
= Value
.from_json(constraints
) if constraints
else None
653 class ApplicationMetricCredential(Type
):
654 _toSchema
= {'metriccredentials': 'MetricCredentials', 'applicationname': 'ApplicationName'}
655 _toPy
= {'MetricCredentials': 'metriccredentials', 'ApplicationName': 'applicationname'}
656 def __init__(self
, applicationname
=None, metriccredentials
=None):
658 applicationname : str
659 metriccredentials : typing.Sequence[int]
661 self
.applicationname
= applicationname
662 self
.metriccredentials
= metriccredentials
665 class ApplicationMetricCredentials(Type
):
666 _toSchema
= {'creds': 'Creds'}
667 _toPy
= {'Creds': 'creds'}
668 def __init__(self
, creds
=None):
670 creds : typing.Sequence[~ApplicationMetricCredential]
672 self
.creds
= [ApplicationMetricCredential
.from_json(o
) for o
in creds
or []]
675 class ApplicationSet(Type
):
676 _toSchema
= {'options': 'Options', 'applicationname': 'ApplicationName'}
677 _toPy
= {'Options': 'options', 'ApplicationName': 'applicationname'}
678 def __init__(self
, applicationname
=None, options
=None):
680 applicationname : str
681 options : typing.Mapping[str, str]
683 self
.applicationname
= applicationname
684 self
.options
= options
687 class ApplicationSetCharm(Type
):
688 _toSchema
= {'forceseries': 'forceseries', 'charmurl': 'charmurl', 'resourceids': 'resourceids', 'forceunits': 'forceunits', 'cs_channel': 'cs-channel', 'applicationname': 'applicationname'}
689 _toPy
= {'forceseries': 'forceseries', 'charmurl': 'charmurl', 'forceunits': 'forceunits', 'cs-channel': 'cs_channel', 'applicationname': 'applicationname', 'resourceids': 'resourceids'}
690 def __init__(self
, applicationname
=None, charmurl
=None, cs_channel
=None, forceseries
=None, forceunits
=None, resourceids
=None):
692 applicationname : str
697 resourceids : typing.Mapping[str, str]
699 self
.applicationname
= applicationname
700 self
.charmurl
= charmurl
701 self
.cs_channel
= cs_channel
702 self
.forceseries
= forceseries
703 self
.forceunits
= forceunits
704 self
.resourceids
= resourceids
707 class ApplicationUnexpose(Type
):
708 _toSchema
= {'applicationname': 'ApplicationName'}
709 _toPy
= {'ApplicationName': 'applicationname'}
710 def __init__(self
, applicationname
=None):
712 applicationname : str
714 self
.applicationname
= applicationname
717 class ApplicationUnset(Type
):
718 _toSchema
= {'options': 'Options', 'applicationname': 'ApplicationName'}
719 _toPy
= {'Options': 'options', 'ApplicationName': 'applicationname'}
720 def __init__(self
, applicationname
=None, options
=None):
722 applicationname : str
723 options : typing.Sequence[str]
725 self
.applicationname
= applicationname
726 self
.options
= options
729 class ApplicationUpdate(Type
):
730 _toSchema
= {'forceseries': 'ForceSeries', 'charmurl': 'CharmUrl', 'settingsyaml': 'SettingsYAML', 'constraints': 'Constraints', 'forcecharmurl': 'ForceCharmUrl', 'settingsstrings': 'SettingsStrings', 'applicationname': 'ApplicationName', 'minunits': 'MinUnits'}
731 _toPy
= {'Constraints': 'constraints', 'SettingsYAML': 'settingsyaml', 'SettingsStrings': 'settingsstrings', 'ApplicationName': 'applicationname', 'MinUnits': 'minunits', 'ForceCharmUrl': 'forcecharmurl', 'CharmUrl': 'charmurl', 'ForceSeries': 'forceseries'}
732 def __init__(self
, applicationname
=None, charmurl
=None, constraints
=None, forcecharmurl
=None, forceseries
=None, minunits
=None, settingsstrings
=None, settingsyaml
=None):
734 applicationname : str
740 settingsstrings : typing.Mapping[str, str]
743 self
.applicationname
= applicationname
744 self
.charmurl
= charmurl
745 self
.constraints
= Value
.from_json(constraints
) if constraints
else None
746 self
.forcecharmurl
= forcecharmurl
747 self
.forceseries
= forceseries
748 self
.minunits
= minunits
749 self
.settingsstrings
= settingsstrings
750 self
.settingsyaml
= settingsyaml
753 class ApplicationsDeploy(Type
):
754 _toSchema
= {'applications': 'Applications'}
755 _toPy
= {'Applications': 'applications'}
756 def __init__(self
, applications
=None):
758 applications : typing.Sequence[~ApplicationDeploy]
760 self
.applications
= [ApplicationDeploy
.from_json(o
) for o
in applications
or []]
763 class Constraints(Type
):
764 _toSchema
= {'pool': 'Pool', 'size': 'Size', 'count': 'Count'}
765 _toPy
= {'Count': 'count', 'Pool': 'pool', 'Size': 'size'}
766 def __init__(self
, count
=None, pool
=None, size
=None):
777 class DestroyApplicationUnits(Type
):
778 _toSchema
= {'unitnames': 'UnitNames'}
779 _toPy
= {'UnitNames': 'unitnames'}
780 def __init__(self
, unitnames
=None):
782 unitnames : typing.Sequence[str]
784 self
.unitnames
= unitnames
787 class DestroyRelation(Type
):
788 _toSchema
= {'endpoints': 'Endpoints'}
789 _toPy
= {'Endpoints': 'endpoints'}
790 def __init__(self
, endpoints
=None):
792 endpoints : typing.Sequence[str]
794 self
.endpoints
= endpoints
797 class GetApplicationConstraints(Type
):
798 _toSchema
= {'applicationname': 'ApplicationName'}
799 _toPy
= {'ApplicationName': 'applicationname'}
800 def __init__(self
, applicationname
=None):
802 applicationname : str
804 self
.applicationname
= applicationname
807 class GetConstraintsResults(Type
):
808 _toSchema
= {'root_disk': 'root-disk', 'mem': 'mem', 'container': 'container', 'virt_type': 'virt-type', 'cpu_power': 'cpu-power', 'cpu_cores': 'cpu-cores', 'tags': 'tags', 'arch': 'arch', 'spaces': 'spaces', 'instance_type': 'instance-type'}
809 _toPy
= {'spaces': 'spaces', 'container': 'container', 'cpu-cores': 'cpu_cores', 'instance-type': 'instance_type', 'mem': 'mem', 'cpu-power': 'cpu_power', 'tags': 'tags', 'arch': 'arch', 'root-disk': 'root_disk', 'virt-type': 'virt_type'}
810 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):
819 spaces : typing.Sequence[str]
820 tags : typing.Sequence[str]
824 self
.container
= container
825 self
.cpu_cores
= cpu_cores
826 self
.cpu_power
= cpu_power
827 self
.instance_type
= instance_type
829 self
.root_disk
= root_disk
832 self
.virt_type
= virt_type
835 class Placement(Type
):
836 _toSchema
= {'directive': 'Directive', 'scope': 'Scope'}
837 _toPy
= {'Directive': 'directive', 'Scope': 'scope'}
838 def __init__(self
, directive
=None, scope
=None):
843 self
.directive
= directive
847 class Relation(Type
):
848 _toSchema
= {'role': 'Role', 'limit': 'Limit', 'optional': 'Optional', 'name': 'Name', 'scope': 'Scope', 'interface': 'Interface'}
849 _toPy
= {'Name': 'name', 'Role': 'role', 'Scope': 'scope', 'Limit': 'limit', 'Interface': 'interface', 'Optional': 'optional'}
850 def __init__(self
, interface
=None, limit
=None, name
=None, optional
=None, role
=None, scope
=None):
859 self
.interface
= interface
862 self
.optional
= optional
867 class SetConstraints(Type
):
868 _toSchema
= {'constraints': 'Constraints', 'applicationname': 'ApplicationName'}
869 _toPy
= {'Constraints': 'constraints', 'ApplicationName': 'applicationname'}
870 def __init__(self
, applicationname
=None, constraints
=None):
872 applicationname : str
875 self
.applicationname
= applicationname
876 self
.constraints
= Value
.from_json(constraints
) if constraints
else None
879 class StringResult(Type
):
880 _toSchema
= {'result': 'Result', 'error': 'Error'}
881 _toPy
= {'Result': 'result', 'Error': 'error'}
882 def __init__(self
, error
=None, result
=None):
887 self
.error
= Error
.from_json(error
) if error
else None
892 _toSchema
= {'root_disk': 'root-disk', 'mem': 'mem', 'container': 'container', 'virt_type': 'virt-type', 'cpu_power': 'cpu-power', 'cpu_cores': 'cpu-cores', 'tags': 'tags', 'arch': 'arch', 'spaces': 'spaces', 'instance_type': 'instance-type'}
893 _toPy
= {'spaces': 'spaces', 'container': 'container', 'cpu-cores': 'cpu_cores', 'instance-type': 'instance_type', 'mem': 'mem', 'cpu-power': 'cpu_power', 'tags': 'tags', 'arch': 'arch', 'root-disk': 'root_disk', 'virt-type': 'virt_type'}
894 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 spaces : typing.Sequence[str]
904 tags : typing.Sequence[str]
908 self
.container
= container
909 self
.cpu_cores
= cpu_cores
910 self
.cpu_power
= cpu_power
911 self
.instance_type
= instance_type
913 self
.root_disk
= root_disk
916 self
.virt_type
= virt_type
919 class StringsWatchResult(Type
):
920 _toSchema
= {'changes': 'Changes', 'stringswatcherid': 'StringsWatcherId', 'error': 'Error'}
921 _toPy
= {'Changes': 'changes', 'Error': 'error', 'StringsWatcherId': 'stringswatcherid'}
922 def __init__(self
, changes
=None, error
=None, stringswatcherid
=None):
924 changes : typing.Sequence[str]
926 stringswatcherid : str
928 self
.changes
= changes
929 self
.error
= Error
.from_json(error
) if error
else None
930 self
.stringswatcherid
= stringswatcherid
933 class BackupsCreateArgs(Type
):
934 _toSchema
= {'notes': 'Notes'}
935 _toPy
= {'Notes': 'notes'}
936 def __init__(self
, notes
=None):
943 class BackupsInfoArgs(Type
):
944 _toSchema
= {'id_': 'ID'}
945 _toPy
= {'ID': 'id_'}
946 def __init__(self
, id_
=None):
953 class BackupsListArgs(Type
):
963 class BackupsListResult(Type
):
964 _toSchema
= {'list_': 'List'}
965 _toPy
= {'List': 'list_'}
966 def __init__(self
, list_
=None):
968 list_ : typing.Sequence[~BackupsMetadataResult]
970 self
.list_
= [BackupsMetadataResult
.from_json(o
) for o
in list_
or []]
973 class BackupsMetadataResult(Type
):
974 _toSchema
= {'checksumformat': 'ChecksumFormat', 'started': 'Started', 'stored': 'Stored', 'cacert': 'CACert', 'version': 'Version', 'machine': 'Machine', 'checksum': 'Checksum', 'series': 'Series', 'id_': 'ID', 'hostname': 'Hostname', 'size': 'Size', 'finished': 'Finished', 'caprivatekey': 'CAPrivateKey', 'model': 'Model', 'notes': 'Notes'}
975 _toPy
= {'Finished': 'finished', 'ChecksumFormat': 'checksumformat', 'CAPrivateKey': 'caprivatekey', 'Started': 'started', 'ID': 'id_', 'Notes': 'notes', 'Stored': 'stored', 'Hostname': 'hostname', 'Model': 'model', 'Size': 'size', 'Checksum': 'checksum', 'Machine': 'machine', 'Version': 'version', 'CACert': 'cacert', 'Series': 'series'}
976 def __init__(self
, cacert
=None, caprivatekey
=None, checksum
=None, checksumformat
=None, finished
=None, hostname
=None, id_
=None, machine
=None, model
=None, notes
=None, series
=None, size
=None, started
=None, stored
=None, version
=None):
995 self
.caprivatekey
= caprivatekey
996 self
.checksum
= checksum
997 self
.checksumformat
= checksumformat
998 self
.finished
= finished
999 self
.hostname
= hostname
1001 self
.machine
= machine
1004 self
.series
= series
1006 self
.started
= started
1007 self
.stored
= stored
1008 self
.version
= Number
.from_json(version
) if version
else None
1011 class BackupsRemoveArgs(Type
):
1012 _toSchema
= {'id_': 'ID'}
1013 _toPy
= {'ID': 'id_'}
1014 def __init__(self
, id_
=None):
1022 _toSchema
= {'minor': 'Minor', 'major': 'Major', 'patch': 'Patch', 'tag': 'Tag', 'build': 'Build'}
1023 _toPy
= {'Patch': 'patch', 'Major': 'major', 'Minor': 'minor', 'Tag': 'tag', 'Build': 'build'}
1024 def __init__(self
, build
=None, major
=None, minor
=None, patch
=None, tag
=None):
1039 class RestoreArgs(Type
):
1040 _toSchema
= {'backupid': 'BackupId'}
1041 _toPy
= {'BackupId': 'backupid'}
1042 def __init__(self
, backupid
=None):
1046 self
.backupid
= backupid
1050 _toSchema
= {'type_': 'type', 'id_': 'id', 'message': 'message', 'tag': 'tag'}
1051 _toPy
= {'type': 'type_', 'id': 'id_', 'message': 'message', 'tag': 'tag'}
1052 def __init__(self
, id_
=None, message
=None, tag
=None, type_
=None):
1060 self
.message
= message
1065 class BlockResult(Type
):
1066 _toSchema
= {'result': 'result', 'error': 'error'}
1067 _toPy
= {'result': 'result', 'error': 'error'}
1068 def __init__(self
, error
=None, result
=None):
1073 self
.error
= Error
.from_json(error
) if error
else None
1074 self
.result
= Block
.from_json(result
) if result
else None
1077 class BlockResults(Type
):
1078 _toSchema
= {'results': 'results'}
1079 _toPy
= {'results': 'results'}
1080 def __init__(self
, results
=None):
1082 results : typing.Sequence[~BlockResult]
1084 self
.results
= [BlockResult
.from_json(o
) for o
in results
or []]
1087 class BlockSwitchParams(Type
):
1088 _toSchema
= {'type_': 'type', 'message': 'message'}
1089 _toPy
= {'type': 'type_', 'message': 'message'}
1090 def __init__(self
, message
=None, type_
=None):
1095 self
.message
= message
1099 class CharmInfo(Type
):
1100 _toSchema
= {'charmurl': 'CharmURL'}
1101 _toPy
= {'CharmURL': 'charmurl'}
1102 def __init__(self
, charmurl
=None):
1106 self
.charmurl
= charmurl
1109 class CharmsList(Type
):
1110 _toSchema
= {'names': 'Names'}
1111 _toPy
= {'Names': 'names'}
1112 def __init__(self
, names
=None):
1114 names : typing.Sequence[str]
1119 class CharmsListResult(Type
):
1120 _toSchema
= {'charmurls': 'CharmURLs'}
1121 _toPy
= {'CharmURLs': 'charmurls'}
1122 def __init__(self
, charmurls
=None):
1124 charmurls : typing.Sequence[str]
1126 self
.charmurls
= charmurls
1129 class IsMeteredResult(Type
):
1130 _toSchema
= {'metered': 'Metered'}
1131 _toPy
= {'Metered': 'metered'}
1132 def __init__(self
, metered
=None):
1136 self
.metered
= metered
1139 class APIHostPortsResult(Type
):
1140 _toSchema
= {'servers': 'Servers'}
1141 _toPy
= {'Servers': 'servers'}
1142 def __init__(self
, servers
=None):
1144 servers : typing.Sequence[~HostPort]
1146 self
.servers
= [HostPort
.from_json(o
) for o
in servers
or []]
1149 class AddCharm(Type
):
1150 _toSchema
= {'url': 'URL', 'channel': 'Channel'}
1151 _toPy
= {'URL': 'url', 'Channel': 'channel'}
1152 def __init__(self
, channel
=None, url
=None):
1157 self
.channel
= channel
1161 class AddCharmWithAuthorization(Type
):
1162 _toSchema
= {'url': 'URL', 'channel': 'Channel', 'charmstoremacaroon': 'CharmStoreMacaroon'}
1163 _toPy
= {'URL': 'url', 'CharmStoreMacaroon': 'charmstoremacaroon', 'Channel': 'channel'}
1164 def __init__(self
, channel
=None, charmstoremacaroon
=None, url
=None):
1167 charmstoremacaroon : Macaroon
1170 self
.channel
= channel
1171 self
.charmstoremacaroon
= Macaroon
.from_json(charmstoremacaroon
) if charmstoremacaroon
else None
1175 class AddMachineParams(Type
):
1176 _toSchema
= {'jobs': 'Jobs', 'series': 'Series', 'hardwarecharacteristics': 'HardwareCharacteristics', 'nonce': 'Nonce', 'containertype': 'ContainerType', 'constraints': 'Constraints', 'disks': 'Disks', 'placement': 'Placement', 'instanceid': 'InstanceId', 'parentid': 'ParentId', 'addrs': 'Addrs'}
1177 _toPy
= {'Constraints': 'constraints', 'InstanceId': 'instanceid', 'ContainerType': 'containertype', 'Nonce': 'nonce', 'Disks': 'disks', 'Addrs': 'addrs', 'HardwareCharacteristics': 'hardwarecharacteristics', 'Series': 'series', 'ParentId': 'parentid', 'Placement': 'placement', 'Jobs': 'jobs'}
1178 def __init__(self
, addrs
=None, constraints
=None, containertype
=None, disks
=None, hardwarecharacteristics
=None, instanceid
=None, jobs
=None, nonce
=None, parentid
=None, placement
=None, series
=None):
1180 addrs : typing.Sequence[~Address]
1183 disks : typing.Sequence[~Constraints]
1184 hardwarecharacteristics : HardwareCharacteristics
1186 jobs : typing.Sequence[str]
1189 placement : Placement
1192 self
.addrs
= [Address
.from_json(o
) for o
in addrs
or []]
1193 self
.constraints
= Value
.from_json(constraints
) if constraints
else None
1194 self
.containertype
= containertype
1195 self
.disks
= [Constraints
.from_json(o
) for o
in disks
or []]
1196 self
.hardwarecharacteristics
= HardwareCharacteristics
.from_json(hardwarecharacteristics
) if hardwarecharacteristics
else None
1197 self
.instanceid
= instanceid
1200 self
.parentid
= parentid
1201 self
.placement
= Placement
.from_json(placement
) if placement
else None
1202 self
.series
= series
1205 class AddMachines(Type
):
1206 _toSchema
= {'machineparams': 'MachineParams'}
1207 _toPy
= {'MachineParams': 'machineparams'}
1208 def __init__(self
, machineparams
=None):
1210 machineparams : typing.Sequence[~AddMachineParams]
1212 self
.machineparams
= [AddMachineParams
.from_json(o
) for o
in machineparams
or []]
1215 class AddMachinesResult(Type
):
1216 _toSchema
= {'error': 'Error', 'machine': 'Machine'}
1217 _toPy
= {'Error': 'error', 'Machine': 'machine'}
1218 def __init__(self
, error
=None, machine
=None):
1223 self
.error
= Error
.from_json(error
) if error
else None
1224 self
.machine
= machine
1227 class AddMachinesResults(Type
):
1228 _toSchema
= {'machines': 'Machines'}
1229 _toPy
= {'Machines': 'machines'}
1230 def __init__(self
, machines
=None):
1232 machines : typing.Sequence[~AddMachinesResult]
1234 self
.machines
= [AddMachinesResult
.from_json(o
) for o
in machines
or []]
1237 class Address(Type
):
1238 _toSchema
= {'value': 'Value', 'type_': 'Type', 'spacename': 'SpaceName', 'scope': 'Scope'}
1239 _toPy
= {'Value': 'value', 'Type': 'type_', 'SpaceName': 'spacename', 'Scope': 'scope'}
1240 def __init__(self
, scope
=None, spacename
=None, type_
=None, value
=None):
1248 self
.spacename
= spacename
1253 class AgentVersionResult(Type
):
1254 _toSchema
= {'minor': 'Minor', 'major': 'Major', 'patch': 'Patch', 'tag': 'Tag', 'build': 'Build'}
1255 _toPy
= {'Patch': 'patch', 'Major': 'major', 'Minor': 'minor', 'Tag': 'tag', 'Build': 'build'}
1256 def __init__(self
, build
=None, major
=None, minor
=None, patch
=None, tag
=None):
1271 class AllWatcherId(Type
):
1272 _toSchema
= {'allwatcherid': 'AllWatcherId'}
1273 _toPy
= {'AllWatcherId': 'allwatcherid'}
1274 def __init__(self
, allwatcherid
=None):
1278 self
.allwatcherid
= allwatcherid
1281 class ApplicationStatus(Type
):
1282 _toSchema
= {'charm': 'Charm', 'exposed': 'Exposed', 'err': 'Err', 'meterstatuses': 'MeterStatuses', 'relations': 'Relations', 'units': 'Units', 'life': 'Life', 'canupgradeto': 'CanUpgradeTo', 'subordinateto': 'SubordinateTo', 'status': 'Status'}
1283 _toPy
= {'Charm': 'charm', 'Err': 'err', 'Units': 'units', 'MeterStatuses': 'meterstatuses', 'CanUpgradeTo': 'canupgradeto', 'Status': 'status', 'SubordinateTo': 'subordinateto', 'Life': 'life', 'Relations': 'relations', 'Exposed': 'exposed'}
1284 def __init__(self
, canupgradeto
=None, charm
=None, err
=None, exposed
=None, life
=None, meterstatuses
=None, relations
=None, status
=None, subordinateto
=None, units
=None):
1288 err : typing.Mapping[str, typing.Any]
1291 meterstatuses : typing.Mapping[str, ~MeterStatus]
1292 relations : typing.Sequence[str]
1293 status : DetailedStatus
1294 subordinateto : typing.Sequence[str]
1295 units : typing.Mapping[str, ~UnitStatus]
1297 self
.canupgradeto
= canupgradeto
1300 self
.exposed
= exposed
1302 self
.meterstatuses
= {k
: MeterStatus
.from_json(v
) for k
, v
in (meterstatuses
or dict()).items()}
1303 self
.relations
= relations
1304 self
.status
= DetailedStatus
.from_json(status
) if status
else None
1305 self
.subordinateto
= subordinateto
1306 self
.units
= {k
: UnitStatus
.from_json(v
) for k
, v
in (units
or dict()).items()}
1310 _toSchema
= {'number': 'Number', 'series': 'Series', 'arch': 'Arch'}
1311 _toPy
= {'Number': 'number', 'Arch': 'arch', 'Series': 'series'}
1312 def __init__(self
, arch
=None, number
=None, series
=None):
1319 self
.number
= Number
.from_json(number
) if number
else None
1320 self
.series
= series
1323 class BundleChangesChange(Type
):
1324 _toSchema
= {'method': 'method', 'args': 'args', 'requires': 'requires', 'id_': 'id'}
1325 _toPy
= {'method': 'method', 'id': 'id_', 'args': 'args', 'requires': 'requires'}
1326 def __init__(self
, args
=None, id_
=None, method
=None, requires
=None):
1328 args : typing.Sequence[typing.Any]
1331 requires : typing.Sequence[str]
1335 self
.method
= method
1336 self
.requires
= requires
1339 class DestroyMachines(Type
):
1340 _toSchema
= {'force': 'Force', 'machinenames': 'MachineNames'}
1341 _toPy
= {'Force': 'force', 'MachineNames': 'machinenames'}
1342 def __init__(self
, force
=None, machinenames
=None):
1345 machinenames : typing.Sequence[str]
1348 self
.machinenames
= machinenames
1351 class DetailedStatus(Type
):
1352 _toSchema
= {'since': 'Since', 'data': 'Data', 'life': 'Life', 'version': 'Version', 'err': 'Err', 'kind': 'Kind', 'info': 'Info', 'status': 'Status'}
1353 _toPy
= {'Err': 'err', 'Data': 'data', 'Since': 'since', 'Status': 'status', 'Info': 'info', 'Life': 'life', 'Version': 'version', 'Kind': 'kind'}
1354 def __init__(self
, data
=None, err
=None, info
=None, kind
=None, life
=None, since
=None, status
=None, version
=None):
1356 data : typing.Mapping[str, typing.Any]
1357 err : typing.Mapping[str, typing.Any]
1371 self
.status
= status
1372 self
.version
= version
1375 class EndpointStatus(Type
):
1376 _toSchema
= {'role': 'Role', 'subordinate': 'Subordinate', 'applicationname': 'ApplicationName', 'name': 'Name'}
1377 _toPy
= {'Subordinate': 'subordinate', 'Name': 'name', 'Role': 'role', 'ApplicationName': 'applicationname'}
1378 def __init__(self
, applicationname
=None, name
=None, role
=None, subordinate
=None):
1380 applicationname : str
1385 self
.applicationname
= applicationname
1388 self
.subordinate
= subordinate
1391 class EntityStatus(Type
):
1392 _toSchema
= {'since': 'Since', 'data': 'Data', 'info': 'Info', 'status': 'Status'}
1393 _toPy
= {'Since': 'since', 'Status': 'status', 'Data': 'data', 'Info': 'info'}
1394 def __init__(self
, data
=None, info
=None, since
=None, status
=None):
1396 data : typing.Mapping[str, typing.Any]
1404 self
.status
= status
1407 class FindToolsParams(Type
):
1408 _toSchema
= {'minorversion': 'MinorVersion', 'number': 'Number', 'series': 'Series', 'arch': 'Arch', 'majorversion': 'MajorVersion'}
1409 _toPy
= {'Number': 'number', 'Series': 'series', 'Arch': 'arch', 'MinorVersion': 'minorversion', 'MajorVersion': 'majorversion'}
1410 def __init__(self
, arch
=None, majorversion
=None, minorversion
=None, number
=None, series
=None):
1419 self
.majorversion
= majorversion
1420 self
.minorversion
= minorversion
1421 self
.number
= Number
.from_json(number
) if number
else None
1422 self
.series
= series
1425 class FindToolsResult(Type
):
1426 _toSchema
= {'error': 'Error', 'list_': 'List'}
1427 _toPy
= {'List': 'list_', 'Error': 'error'}
1428 def __init__(self
, error
=None, list_
=None):
1431 list_ : typing.Sequence[~Tools]
1433 self
.error
= Error
.from_json(error
) if error
else None
1434 self
.list_
= [Tools
.from_json(o
) for o
in list_
or []]
1437 class FullStatus(Type
):
1438 _toSchema
= {'modelname': 'ModelName', 'availableversion': 'AvailableVersion', 'applications': 'Applications', 'relations': 'Relations', 'machines': 'Machines'}
1439 _toPy
= {'Applications': 'applications', 'Machines': 'machines', 'AvailableVersion': 'availableversion', 'ModelName': 'modelname', 'Relations': 'relations'}
1440 def __init__(self
, applications
=None, availableversion
=None, machines
=None, modelname
=None, relations
=None):
1442 applications : typing.Mapping[str, ~ApplicationStatus]
1443 availableversion : str
1444 machines : typing.Mapping[str, ~MachineStatus]
1446 relations : typing.Sequence[~RelationStatus]
1448 self
.applications
= {k
: ApplicationStatus
.from_json(v
) for k
, v
in (applications
or dict()).items()}
1449 self
.availableversion
= availableversion
1450 self
.machines
= {k
: MachineStatus
.from_json(v
) for k
, v
in (machines
or dict()).items()}
1451 self
.modelname
= modelname
1452 self
.relations
= [RelationStatus
.from_json(o
) for o
in relations
or []]
1455 class GetBundleChangesParams(Type
):
1456 _toSchema
= {'yaml': 'yaml'}
1457 _toPy
= {'yaml': 'yaml'}
1458 def __init__(self
, yaml
=None):
1465 class GetBundleChangesResults(Type
):
1466 _toSchema
= {'changes': 'changes', 'errors': 'errors'}
1467 _toPy
= {'changes': 'changes', 'errors': 'errors'}
1468 def __init__(self
, changes
=None, errors
=None):
1470 changes : typing.Sequence[~BundleChangesChange]
1471 errors : typing.Sequence[str]
1473 self
.changes
= [BundleChangesChange
.from_json(o
) for o
in changes
or []]
1474 self
.errors
= errors
1477 class HardwareCharacteristics(Type
):
1478 _toSchema
= {'rootdisk': 'RootDisk', 'cpucores': 'CpuCores', 'mem': 'Mem', 'tags': 'Tags', 'arch': 'Arch', 'availabilityzone': 'AvailabilityZone', 'cpupower': 'CpuPower'}
1479 _toPy
= {'CpuPower': 'cpupower', 'RootDisk': 'rootdisk', 'AvailabilityZone': 'availabilityzone', 'Mem': 'mem', 'CpuCores': 'cpucores', 'Tags': 'tags', 'Arch': 'arch'}
1480 def __init__(self
, arch
=None, availabilityzone
=None, cpucores
=None, cpupower
=None, mem
=None, rootdisk
=None, tags
=None):
1483 availabilityzone : str
1488 tags : typing.Sequence[str]
1491 self
.availabilityzone
= availabilityzone
1492 self
.cpucores
= cpucores
1493 self
.cpupower
= cpupower
1495 self
.rootdisk
= rootdisk
1499 class History(Type
):
1500 _toSchema
= {'error': 'Error', 'statuses': 'Statuses'}
1501 _toPy
= {'Error': 'error', 'Statuses': 'statuses'}
1502 def __init__(self
, error
=None, statuses
=None):
1505 statuses : typing.Sequence[~DetailedStatus]
1507 self
.error
= Error
.from_json(error
) if error
else None
1508 self
.statuses
= [DetailedStatus
.from_json(o
) for o
in statuses
or []]
1511 class HostPort(Type
):
1512 _toSchema
= {'address': 'Address', 'port': 'Port'}
1513 _toPy
= {'Port': 'port', 'Address': 'address'}
1514 def __init__(self
, address
=None, port
=None):
1519 self
.address
= Address
.from_json(address
) if address
else None
1523 class MachineStatus(Type
):
1524 _toSchema
= {'dnsname': 'DNSName', 'hardware': 'Hardware', 'series': 'Series', 'id_': 'Id', 'hasvote': 'HasVote', 'jobs': 'Jobs', 'containers': 'Containers', 'agentstatus': 'AgentStatus', 'instanceid': 'InstanceId', 'wantsvote': 'WantsVote', 'instancestatus': 'InstanceStatus'}
1525 _toPy
= {'AgentStatus': 'agentstatus', 'InstanceId': 'instanceid', 'Hardware': 'hardware', 'HasVote': 'hasvote', 'Containers': 'containers', 'Id': 'id_', 'WantsVote': 'wantsvote', 'Series': 'series', 'DNSName': 'dnsname', 'InstanceStatus': 'instancestatus', 'Jobs': 'jobs'}
1526 def __init__(self
, agentstatus
=None, containers
=None, dnsname
=None, hardware
=None, hasvote
=None, id_
=None, instanceid
=None, instancestatus
=None, jobs
=None, series
=None, wantsvote
=None):
1528 agentstatus : DetailedStatus
1529 containers : typing.Mapping[str, ~MachineStatus]
1535 instancestatus : DetailedStatus
1536 jobs : typing.Sequence[str]
1540 self
.agentstatus
= DetailedStatus
.from_json(agentstatus
) if agentstatus
else None
1541 self
.containers
= {k
: MachineStatus
.from_json(v
) for k
, v
in (containers
or dict()).items()}
1542 self
.dnsname
= dnsname
1543 self
.hardware
= hardware
1544 self
.hasvote
= hasvote
1546 self
.instanceid
= instanceid
1547 self
.instancestatus
= DetailedStatus
.from_json(instancestatus
) if instancestatus
else None
1549 self
.series
= series
1550 self
.wantsvote
= wantsvote
1553 class MeterStatus(Type
):
1554 _toSchema
= {'color': 'Color', 'message': 'Message'}
1555 _toPy
= {'Message': 'message', 'Color': 'color'}
1556 def __init__(self
, color
=None, message
=None):
1562 self
.message
= message
1565 class ModelConfigResults(Type
):
1566 _toSchema
= {'config': 'Config'}
1567 _toPy
= {'Config': 'config'}
1568 def __init__(self
, config
=None):
1570 config : typing.Mapping[str, typing.Any]
1572 self
.config
= config
1575 class ModelInfo(Type
):
1576 _toSchema
= {'uuid': 'UUID', 'cloud': 'Cloud', 'life': 'Life', 'users': 'Users', 'name': 'Name', 'serveruuid': 'ServerUUID', 'defaultseries': 'DefaultSeries', 'ownertag': 'OwnerTag', 'providertype': 'ProviderType', 'status': 'Status'}
1577 _toPy
= {'OwnerTag': 'ownertag', 'Cloud': 'cloud', 'DefaultSeries': 'defaultseries', 'Name': 'name', 'UUID': 'uuid', 'Status': 'status', 'ServerUUID': 'serveruuid', 'Users': 'users', 'Life': 'life', 'ProviderType': 'providertype'}
1578 def __init__(self
, cloud
=None, defaultseries
=None, life
=None, name
=None, ownertag
=None, providertype
=None, serveruuid
=None, status
=None, uuid
=None, users
=None):
1587 status : EntityStatus
1589 users : typing.Sequence[~ModelUserInfo]
1592 self
.defaultseries
= defaultseries
1595 self
.ownertag
= ownertag
1596 self
.providertype
= providertype
1597 self
.serveruuid
= serveruuid
1598 self
.status
= EntityStatus
.from_json(status
) if status
else None
1600 self
.users
= [ModelUserInfo
.from_json(o
) for o
in users
or []]
1603 class ModelSet(Type
):
1604 _toSchema
= {'config': 'Config'}
1605 _toPy
= {'Config': 'config'}
1606 def __init__(self
, config
=None):
1608 config : typing.Mapping[str, typing.Any]
1610 self
.config
= config
1613 class ModelUnset(Type
):
1614 _toSchema
= {'keys': 'Keys'}
1615 _toPy
= {'Keys': 'keys'}
1616 def __init__(self
, keys
=None):
1618 keys : typing.Sequence[str]
1623 class ModelUserInfo(Type
):
1624 _toSchema
= {'displayname': 'displayname', 'user': 'user', 'lastconnection': 'lastconnection', 'access': 'access'}
1625 _toPy
= {'displayname': 'displayname', 'user': 'user', 'lastconnection': 'lastconnection', 'access': 'access'}
1626 def __init__(self
, access
=None, displayname
=None, lastconnection
=None, user
=None):
1630 lastconnection : str
1633 self
.access
= access
1634 self
.displayname
= displayname
1635 self
.lastconnection
= lastconnection
1639 class ModelUserInfoResult(Type
):
1640 _toSchema
= {'result': 'result', 'error': 'error'}
1641 _toPy
= {'result': 'result', 'error': 'error'}
1642 def __init__(self
, error
=None, result
=None):
1645 result : ModelUserInfo
1647 self
.error
= Error
.from_json(error
) if error
else None
1648 self
.result
= ModelUserInfo
.from_json(result
) if result
else None
1651 class ModelUserInfoResults(Type
):
1652 _toSchema
= {'results': 'results'}
1653 _toPy
= {'results': 'results'}
1654 def __init__(self
, results
=None):
1656 results : typing.Sequence[~ModelUserInfoResult]
1658 self
.results
= [ModelUserInfoResult
.from_json(o
) for o
in results
or []]
1661 class PrivateAddress(Type
):
1662 _toSchema
= {'target': 'Target'}
1663 _toPy
= {'Target': 'target'}
1664 def __init__(self
, target
=None):
1668 self
.target
= target
1671 class PrivateAddressResults(Type
):
1672 _toSchema
= {'privateaddress': 'PrivateAddress'}
1673 _toPy
= {'PrivateAddress': 'privateaddress'}
1674 def __init__(self
, privateaddress
=None):
1676 privateaddress : str
1678 self
.privateaddress
= privateaddress
1681 class ProvisioningScriptParams(Type
):
1682 _toSchema
= {'disablepackagecommands': 'DisablePackageCommands', 'machineid': 'MachineId', 'datadir': 'DataDir', 'nonce': 'Nonce'}
1683 _toPy
= {'MachineId': 'machineid', 'DisablePackageCommands': 'disablepackagecommands', 'DataDir': 'datadir', 'Nonce': 'nonce'}
1684 def __init__(self
, datadir
=None, disablepackagecommands
=None, machineid
=None, nonce
=None):
1687 disablepackagecommands : bool
1691 self
.datadir
= datadir
1692 self
.disablepackagecommands
= disablepackagecommands
1693 self
.machineid
= machineid
1697 class ProvisioningScriptResult(Type
):
1698 _toSchema
= {'script': 'Script'}
1699 _toPy
= {'Script': 'script'}
1700 def __init__(self
, script
=None):
1704 self
.script
= script
1707 class PublicAddress(Type
):
1708 _toSchema
= {'target': 'Target'}
1709 _toPy
= {'Target': 'target'}
1710 def __init__(self
, target
=None):
1714 self
.target
= target
1717 class PublicAddressResults(Type
):
1718 _toSchema
= {'publicaddress': 'PublicAddress'}
1719 _toPy
= {'PublicAddress': 'publicaddress'}
1720 def __init__(self
, publicaddress
=None):
1724 self
.publicaddress
= publicaddress
1727 class RelationStatus(Type
):
1728 _toSchema
= {'key': 'Key', 'endpoints': 'Endpoints', 'scope': 'Scope', 'id_': 'Id', 'interface': 'Interface'}
1729 _toPy
= {'Key': 'key', 'Interface': 'interface', 'Id': 'id_', 'Endpoints': 'endpoints', 'Scope': 'scope'}
1730 def __init__(self
, endpoints
=None, id_
=None, interface
=None, key
=None, scope
=None):
1732 endpoints : typing.Sequence[~EndpointStatus]
1738 self
.endpoints
= [EndpointStatus
.from_json(o
) for o
in endpoints
or []]
1740 self
.interface
= interface
1745 class ResolveCharmResult(Type
):
1746 _toSchema
= {'error': 'Error', 'url': 'URL'}
1747 _toPy
= {'URL': 'url', 'Error': 'error'}
1748 def __init__(self
, error
=None, url
=None):
1754 self
.url
= URL
.from_json(url
) if url
else None
1757 class ResolveCharmResults(Type
):
1758 _toSchema
= {'urls': 'URLs'}
1759 _toPy
= {'URLs': 'urls'}
1760 def __init__(self
, urls
=None):
1762 urls : typing.Sequence[~ResolveCharmResult]
1764 self
.urls
= [ResolveCharmResult
.from_json(o
) for o
in urls
or []]
1767 class ResolveCharms(Type
):
1768 _toSchema
= {'references': 'References'}
1769 _toPy
= {'References': 'references'}
1770 def __init__(self
, references
=None):
1772 references : typing.Sequence[~URL]
1774 self
.references
= [URL
.from_json(o
) for o
in references
or []]
1777 class Resolved(Type
):
1778 _toSchema
= {'unitname': 'UnitName', 'retry': 'Retry'}
1779 _toPy
= {'UnitName': 'unitname', 'Retry': 'retry'}
1780 def __init__(self
, retry
=None, unitname
=None):
1786 self
.unitname
= unitname
1789 class SetModelAgentVersion(Type
):
1790 _toSchema
= {'minor': 'Minor', 'major': 'Major', 'patch': 'Patch', 'tag': 'Tag', 'build': 'Build'}
1791 _toPy
= {'Patch': 'patch', 'Major': 'major', 'Minor': 'minor', 'Tag': 'tag', 'Build': 'build'}
1792 def __init__(self
, build
=None, major
=None, minor
=None, patch
=None, tag
=None):
1807 class StatusHistoryFilter(Type
):
1808 _toSchema
= {'delta': 'Delta', 'date': 'Date', 'size': 'Size'}
1809 _toPy
= {'Delta': 'delta', 'Date': 'date', 'Size': 'size'}
1810 def __init__(self
, date
=None, delta
=None, size
=None):
1821 class StatusHistoryRequest(Type
):
1822 _toSchema
= {'historykind': 'HistoryKind', 'filter_': 'Filter', 'tag': 'Tag', 'size': 'Size'}
1823 _toPy
= {'Tag': 'tag', 'Size': 'size', 'Filter': 'filter_', 'HistoryKind': 'historykind'}
1824 def __init__(self
, filter_
=None, historykind
=None, size
=None, tag
=None):
1826 filter_ : StatusHistoryFilter
1831 self
.filter_
= StatusHistoryFilter
.from_json(filter_
) if filter_
else None
1832 self
.historykind
= historykind
1837 class StatusHistoryRequests(Type
):
1838 _toSchema
= {'requests': 'Requests'}
1839 _toPy
= {'Requests': 'requests'}
1840 def __init__(self
, requests
=None):
1842 requests : typing.Sequence[~StatusHistoryRequest]
1844 self
.requests
= [StatusHistoryRequest
.from_json(o
) for o
in requests
or []]
1847 class StatusHistoryResult(Type
):
1848 _toSchema
= {'history': 'History', 'error': 'Error'}
1849 _toPy
= {'History': 'history', 'Error': 'error'}
1850 def __init__(self
, error
=None, history
=None):
1855 self
.error
= Error
.from_json(error
) if error
else None
1856 self
.history
= History
.from_json(history
) if history
else None
1859 class StatusHistoryResults(Type
):
1860 _toSchema
= {'results': 'Results'}
1861 _toPy
= {'Results': 'results'}
1862 def __init__(self
, results
=None):
1864 results : typing.Sequence[~StatusHistoryResult]
1866 self
.results
= [StatusHistoryResult
.from_json(o
) for o
in results
or []]
1869 class StatusParams(Type
):
1870 _toSchema
= {'patterns': 'Patterns'}
1871 _toPy
= {'Patterns': 'patterns'}
1872 def __init__(self
, patterns
=None):
1874 patterns : typing.Sequence[str]
1876 self
.patterns
= patterns
1880 _toSchema
= {'sha256': 'sha256', 'url': 'url', 'size': 'size', 'version': 'version'}
1881 _toPy
= {'sha256': 'sha256', 'url': 'url', 'size': 'size', 'version': 'version'}
1882 def __init__(self
, sha256
=None, size
=None, url
=None, version
=None):
1889 self
.sha256
= sha256
1892 self
.version
= Binary
.from_json(version
) if version
else None
1896 _toSchema
= {'revision': 'Revision', 'series': 'Series', 'schema': 'Schema', 'channel': 'Channel', 'name': 'Name', 'user': 'User'}
1897 _toPy
= {'Name': 'name', 'Revision': 'revision', 'User': 'user', 'Schema': 'schema', 'Channel': 'channel', 'Series': 'series'}
1898 def __init__(self
, channel
=None, name
=None, revision
=None, schema
=None, series
=None, user
=None):
1907 self
.channel
= channel
1909 self
.revision
= revision
1910 self
.schema
= schema
1911 self
.series
= series
1915 class UnitStatus(Type
):
1916 _toSchema
= {'charm': 'Charm', 'publicaddress': 'PublicAddress', 'openedports': 'OpenedPorts', 'agentstatus': 'AgentStatus', 'subordinates': 'Subordinates', 'workloadstatus': 'WorkloadStatus', 'machine': 'Machine'}
1917 _toPy
= {'AgentStatus': 'agentstatus', 'Charm': 'charm', 'OpenedPorts': 'openedports', 'WorkloadStatus': 'workloadstatus', 'PublicAddress': 'publicaddress', 'Machine': 'machine', 'Subordinates': 'subordinates'}
1918 def __init__(self
, agentstatus
=None, charm
=None, machine
=None, openedports
=None, publicaddress
=None, subordinates
=None, workloadstatus
=None):
1920 agentstatus : DetailedStatus
1923 openedports : typing.Sequence[str]
1925 subordinates : typing.Mapping[str, ~UnitStatus]
1926 workloadstatus : DetailedStatus
1928 self
.agentstatus
= DetailedStatus
.from_json(agentstatus
) if agentstatus
else None
1930 self
.machine
= machine
1931 self
.openedports
= openedports
1932 self
.publicaddress
= publicaddress
1933 self
.subordinates
= {k
: UnitStatus
.from_json(v
) for k
, v
in (subordinates
or dict()).items()}
1934 self
.workloadstatus
= DetailedStatus
.from_json(workloadstatus
) if workloadstatus
else None
1937 class DestroyControllerArgs(Type
):
1938 _toSchema
= {'destroy_models': 'destroy-models'}
1939 _toPy
= {'destroy-models': 'destroy_models'}
1940 def __init__(self
, destroy_models
=None):
1942 destroy_models : bool
1944 self
.destroy_models
= destroy_models
1947 class InitiateModelMigrationArgs(Type
):
1948 _toSchema
= {'specs': 'specs'}
1949 _toPy
= {'specs': 'specs'}
1950 def __init__(self
, specs
=None):
1952 specs : typing.Sequence[~ModelMigrationSpec]
1954 self
.specs
= [ModelMigrationSpec
.from_json(o
) for o
in specs
or []]
1957 class InitiateModelMigrationResult(Type
):
1958 _toSchema
= {'id_': 'id', 'model_tag': 'model-tag', 'error': 'error'}
1959 _toPy
= {'id': 'id_', 'error': 'error', 'model-tag': 'model_tag'}
1960 def __init__(self
, error
=None, id_
=None, model_tag
=None):
1966 self
.error
= Error
.from_json(error
) if error
else None
1968 self
.model_tag
= model_tag
1971 class InitiateModelMigrationResults(Type
):
1972 _toSchema
= {'results': 'results'}
1973 _toPy
= {'results': 'results'}
1974 def __init__(self
, results
=None):
1976 results : typing.Sequence[~InitiateModelMigrationResult]
1978 self
.results
= [InitiateModelMigrationResult
.from_json(o
) for o
in results
or []]
1982 _toSchema
= {'uuid': 'UUID', 'ownertag': 'OwnerTag', 'name': 'Name'}
1983 _toPy
= {'OwnerTag': 'ownertag', 'Name': 'name', 'UUID': 'uuid'}
1984 def __init__(self
, name
=None, ownertag
=None, uuid
=None):
1991 self
.ownertag
= ownertag
1995 class ModelBlockInfo(Type
):
1996 _toSchema
= {'blocks': 'blocks', 'model_uuid': 'model-uuid', 'owner_tag': 'owner-tag', 'name': 'name'}
1997 _toPy
= {'owner-tag': 'owner_tag', 'blocks': 'blocks', 'model-uuid': 'model_uuid', 'name': 'name'}
1998 def __init__(self
, blocks
=None, model_uuid
=None, name
=None, owner_tag
=None):
2000 blocks : typing.Sequence[str]
2005 self
.blocks
= blocks
2006 self
.model_uuid
= model_uuid
2008 self
.owner_tag
= owner_tag
2011 class ModelBlockInfoList(Type
):
2012 _toSchema
= {'models': 'models'}
2013 _toPy
= {'models': 'models'}
2014 def __init__(self
, models
=None):
2016 models : typing.Sequence[~ModelBlockInfo]
2018 self
.models
= [ModelBlockInfo
.from_json(o
) for o
in models
or []]
2021 class ModelMigrationSpec(Type
):
2022 _toSchema
= {'model_tag': 'model-tag', 'target_info': 'target-info'}
2023 _toPy
= {'model-tag': 'model_tag', 'target-info': 'target_info'}
2024 def __init__(self
, model_tag
=None, target_info
=None):
2027 target_info : ModelMigrationTargetInfo
2029 self
.model_tag
= model_tag
2030 self
.target_info
= ModelMigrationTargetInfo
.from_json(target_info
) if target_info
else None
2033 class ModelMigrationTargetInfo(Type
):
2034 _toSchema
= {'auth_tag': 'auth-tag', 'ca_cert': 'ca-cert', 'controller_tag': 'controller-tag', 'password': 'password', 'addrs': 'addrs'}
2035 _toPy
= {'ca-cert': 'ca_cert', 'auth-tag': 'auth_tag', 'password': 'password', 'controller-tag': 'controller_tag', 'addrs': 'addrs'}
2036 def __init__(self
, addrs
=None, auth_tag
=None, ca_cert
=None, controller_tag
=None, password
=None):
2038 addrs : typing.Sequence[str]
2041 controller_tag : str
2045 self
.auth_tag
= auth_tag
2046 self
.ca_cert
= ca_cert
2047 self
.controller_tag
= controller_tag
2048 self
.password
= password
2051 class ModelStatus(Type
):
2052 _toSchema
= {'model_tag': 'model-tag', 'life': 'life', 'application_count': 'application-count', 'hosted_machine_count': 'hosted-machine-count', 'owner_tag': 'owner-tag'}
2053 _toPy
= {'life': 'life', 'application-count': 'application_count', 'hosted-machine-count': 'hosted_machine_count', 'model-tag': 'model_tag', 'owner-tag': 'owner_tag'}
2054 def __init__(self
, application_count
=None, hosted_machine_count
=None, life
=None, model_tag
=None, owner_tag
=None):
2056 application_count : int
2057 hosted_machine_count : int
2062 self
.application_count
= application_count
2063 self
.hosted_machine_count
= hosted_machine_count
2065 self
.model_tag
= model_tag
2066 self
.owner_tag
= owner_tag
2069 class ModelStatusResults(Type
):
2070 _toSchema
= {'models': 'models'}
2071 _toPy
= {'models': 'models'}
2072 def __init__(self
, models
=None):
2074 models : typing.Sequence[~ModelStatus]
2076 self
.models
= [ModelStatus
.from_json(o
) for o
in models
or []]
2079 class RemoveBlocksArgs(Type
):
2080 _toSchema
= {'all_': 'all'}
2081 _toPy
= {'all': 'all_'}
2082 def __init__(self
, all_
=None):
2089 class UserModel(Type
):
2090 _toSchema
= {'model': 'Model', 'lastconnection': 'LastConnection'}
2091 _toPy
= {'Model': 'model', 'LastConnection': 'lastconnection'}
2092 def __init__(self
, lastconnection
=None, model
=None):
2094 lastconnection : str
2097 self
.lastconnection
= lastconnection
2098 self
.model
= Model
.from_json(model
) if model
else None
2101 class UserModelList(Type
):
2102 _toSchema
= {'usermodels': 'UserModels'}
2103 _toPy
= {'UserModels': 'usermodels'}
2104 def __init__(self
, usermodels
=None):
2106 usermodels : typing.Sequence[~UserModel]
2108 self
.usermodels
= [UserModel
.from_json(o
) for o
in usermodels
or []]
2111 class BytesResult(Type
):
2112 _toSchema
= {'result': 'Result'}
2113 _toPy
= {'Result': 'result'}
2114 def __init__(self
, result
=None):
2116 result : typing.Sequence[int]
2118 self
.result
= result
2121 class DeployerConnectionValues(Type
):
2122 _toSchema
= {'stateaddresses': 'StateAddresses', 'apiaddresses': 'APIAddresses'}
2123 _toPy
= {'StateAddresses': 'stateaddresses', 'APIAddresses': 'apiaddresses'}
2124 def __init__(self
, apiaddresses
=None, stateaddresses
=None):
2126 apiaddresses : typing.Sequence[str]
2127 stateaddresses : typing.Sequence[str]
2129 self
.apiaddresses
= apiaddresses
2130 self
.stateaddresses
= stateaddresses
2133 class LifeResult(Type
):
2134 _toSchema
= {'life': 'Life', 'error': 'Error'}
2135 _toPy
= {'Life': 'life', 'Error': 'error'}
2136 def __init__(self
, error
=None, life
=None):
2141 self
.error
= Error
.from_json(error
) if error
else None
2145 class LifeResults(Type
):
2146 _toSchema
= {'results': 'Results'}
2147 _toPy
= {'Results': 'results'}
2148 def __init__(self
, results
=None):
2150 results : typing.Sequence[~LifeResult]
2152 self
.results
= [LifeResult
.from_json(o
) for o
in results
or []]
2155 class StringsResult(Type
):
2156 _toSchema
= {'result': 'Result', 'error': 'Error'}
2157 _toPy
= {'Result': 'result', 'Error': 'error'}
2158 def __init__(self
, error
=None, result
=None):
2161 result : typing.Sequence[str]
2163 self
.error
= Error
.from_json(error
) if error
else None
2164 self
.result
= result
2167 class StringsWatchResults(Type
):
2168 _toSchema
= {'results': 'Results'}
2169 _toPy
= {'Results': 'results'}
2170 def __init__(self
, results
=None):
2172 results : typing.Sequence[~StringsWatchResult]
2174 self
.results
= [StringsWatchResult
.from_json(o
) for o
in results
or []]
2177 class AddSubnetParams(Type
):
2178 _toSchema
= {'subnetproviderid': 'SubnetProviderId', 'spacetag': 'SpaceTag', 'subnettag': 'SubnetTag', 'zones': 'Zones'}
2179 _toPy
= {'SubnetTag': 'subnettag', 'SpaceTag': 'spacetag', 'Zones': 'zones', 'SubnetProviderId': 'subnetproviderid'}
2180 def __init__(self
, spacetag
=None, subnetproviderid
=None, subnettag
=None, zones
=None):
2183 subnetproviderid : str
2185 zones : typing.Sequence[str]
2187 self
.spacetag
= spacetag
2188 self
.subnetproviderid
= subnetproviderid
2189 self
.subnettag
= subnettag
2193 class AddSubnetsParams(Type
):
2194 _toSchema
= {'subnets': 'Subnets'}
2195 _toPy
= {'Subnets': 'subnets'}
2196 def __init__(self
, subnets
=None):
2198 subnets : typing.Sequence[~AddSubnetParams]
2200 self
.subnets
= [AddSubnetParams
.from_json(o
) for o
in subnets
or []]
2203 class CreateSpaceParams(Type
):
2204 _toSchema
= {'providerid': 'ProviderId', 'public': 'Public', 'spacetag': 'SpaceTag', 'subnettags': 'SubnetTags'}
2205 _toPy
= {'Public': 'public', 'SpaceTag': 'spacetag', 'SubnetTags': 'subnettags', 'ProviderId': 'providerid'}
2206 def __init__(self
, providerid
=None, public
=None, spacetag
=None, subnettags
=None):
2211 subnettags : typing.Sequence[str]
2213 self
.providerid
= providerid
2214 self
.public
= public
2215 self
.spacetag
= spacetag
2216 self
.subnettags
= subnettags
2219 class CreateSpacesParams(Type
):
2220 _toSchema
= {'spaces': 'Spaces'}
2221 _toPy
= {'Spaces': 'spaces'}
2222 def __init__(self
, spaces
=None):
2224 spaces : typing.Sequence[~CreateSpaceParams]
2226 self
.spaces
= [CreateSpaceParams
.from_json(o
) for o
in spaces
or []]
2229 class DiscoverSpacesResults(Type
):
2230 _toSchema
= {'results': 'Results'}
2231 _toPy
= {'Results': 'results'}
2232 def __init__(self
, results
=None):
2234 results : typing.Sequence[~ProviderSpace]
2236 self
.results
= [ProviderSpace
.from_json(o
) for o
in results
or []]
2239 class ListSubnetsResults(Type
):
2240 _toSchema
= {'results': 'Results'}
2241 _toPy
= {'Results': 'results'}
2242 def __init__(self
, results
=None):
2244 results : typing.Sequence[~Subnet]
2246 self
.results
= [Subnet
.from_json(o
) for o
in results
or []]
2249 class ProviderSpace(Type
):
2250 _toSchema
= {'providerid': 'ProviderId', 'subnets': 'Subnets', 'error': 'Error', 'name': 'Name'}
2251 _toPy
= {'ProviderId': 'providerid', 'Subnets': 'subnets', 'Error': 'error', 'Name': 'name'}
2252 def __init__(self
, error
=None, name
=None, providerid
=None, subnets
=None):
2257 subnets : typing.Sequence[~Subnet]
2259 self
.error
= Error
.from_json(error
) if error
else None
2261 self
.providerid
= providerid
2262 self
.subnets
= [Subnet
.from_json(o
) for o
in subnets
or []]
2266 _toSchema
= {'staticrangelowip': 'StaticRangeLowIP', 'spacetag': 'SpaceTag', 'cidr': 'CIDR', 'providerid': 'ProviderId', 'life': 'Life', 'staticrangehighip': 'StaticRangeHighIP', 'zones': 'Zones', 'vlantag': 'VLANTag', 'status': 'Status'}
2267 _toPy
= {'StaticRangeHighIP': 'staticrangehighip', 'VLANTag': 'vlantag', 'Zones': 'zones', 'SpaceTag': 'spacetag', 'Life': 'life', 'Status': 'status', 'ProviderId': 'providerid', 'StaticRangeLowIP': 'staticrangelowip', 'CIDR': 'cidr'}
2268 def __init__(self
, cidr
=None, life
=None, providerid
=None, spacetag
=None, staticrangehighip
=None, staticrangelowip
=None, status
=None, vlantag
=None, zones
=None):
2274 staticrangehighip : typing.Sequence[int]
2275 staticrangelowip : typing.Sequence[int]
2278 zones : typing.Sequence[str]
2282 self
.providerid
= providerid
2283 self
.spacetag
= spacetag
2284 self
.staticrangehighip
= staticrangehighip
2285 self
.staticrangelowip
= staticrangelowip
2286 self
.status
= status
2287 self
.vlantag
= vlantag
2291 class SubnetsFilters(Type
):
2292 _toSchema
= {'spacetag': 'SpaceTag', 'zone': 'Zone'}
2293 _toPy
= {'SpaceTag': 'spacetag', 'Zone': 'zone'}
2294 def __init__(self
, spacetag
=None, zone
=None):
2299 self
.spacetag
= spacetag
2303 class BlockDevice(Type
):
2304 _toSchema
= {'inuse': 'InUse', 'busaddress': 'BusAddress', 'devicename': 'DeviceName', 'size': 'Size', 'filesystemtype': 'FilesystemType', 'uuid': 'UUID', 'hardwareid': 'HardwareId', 'label': 'Label', 'mountpoint': 'MountPoint', 'devicelinks': 'DeviceLinks'}
2305 _toPy
= {'FilesystemType': 'filesystemtype', 'Label': 'label', 'Size': 'size', 'UUID': 'uuid', 'MountPoint': 'mountpoint', 'BusAddress': 'busaddress', 'InUse': 'inuse', 'DeviceName': 'devicename', 'DeviceLinks': 'devicelinks', 'HardwareId': 'hardwareid'}
2306 def __init__(self
, busaddress
=None, devicelinks
=None, devicename
=None, filesystemtype
=None, hardwareid
=None, inuse
=None, label
=None, mountpoint
=None, size
=None, uuid
=None):
2309 devicelinks : typing.Sequence[str]
2311 filesystemtype : str
2319 self
.busaddress
= busaddress
2320 self
.devicelinks
= devicelinks
2321 self
.devicename
= devicename
2322 self
.filesystemtype
= filesystemtype
2323 self
.hardwareid
= hardwareid
2326 self
.mountpoint
= mountpoint
2331 class MachineBlockDevices(Type
):
2332 _toSchema
= {'blockdevices': 'blockdevices', 'machine': 'machine'}
2333 _toPy
= {'blockdevices': 'blockdevices', 'machine': 'machine'}
2334 def __init__(self
, blockdevices
=None, machine
=None):
2336 blockdevices : typing.Sequence[~BlockDevice]
2339 self
.blockdevices
= [BlockDevice
.from_json(o
) for o
in blockdevices
or []]
2340 self
.machine
= machine
2343 class SetMachineBlockDevices(Type
):
2344 _toSchema
= {'machineblockdevices': 'machineblockdevices'}
2345 _toPy
= {'machineblockdevices': 'machineblockdevices'}
2346 def __init__(self
, machineblockdevices
=None):
2348 machineblockdevices : typing.Sequence[~MachineBlockDevices]
2350 self
.machineblockdevices
= [MachineBlockDevices
.from_json(o
) for o
in machineblockdevices
or []]
2353 class MachineStorageId(Type
):
2354 _toSchema
= {'attachmenttag': 'attachmenttag', 'machinetag': 'machinetag'}
2355 _toPy
= {'attachmenttag': 'attachmenttag', 'machinetag': 'machinetag'}
2356 def __init__(self
, attachmenttag
=None, machinetag
=None):
2361 self
.attachmenttag
= attachmenttag
2362 self
.machinetag
= machinetag
2365 class MachineStorageIdsWatchResult(Type
):
2366 _toSchema
= {'changes': 'Changes', 'machinestorageidswatcherid': 'MachineStorageIdsWatcherId', 'error': 'Error'}
2367 _toPy
= {'Changes': 'changes', 'Error': 'error', 'MachineStorageIdsWatcherId': 'machinestorageidswatcherid'}
2368 def __init__(self
, changes
=None, error
=None, machinestorageidswatcherid
=None):
2370 changes : typing.Sequence[~MachineStorageId]
2372 machinestorageidswatcherid : str
2374 self
.changes
= [MachineStorageId
.from_json(o
) for o
in changes
or []]
2375 self
.error
= Error
.from_json(error
) if error
else None
2376 self
.machinestorageidswatcherid
= machinestorageidswatcherid
2379 class BoolResults(Type
):
2380 _toSchema
= {'results': 'Results'}
2381 _toPy
= {'Results': 'results'}
2382 def __init__(self
, results
=None):
2384 results : typing.Sequence[~BoolResult]
2386 self
.results
= [BoolResult
.from_json(o
) for o
in results
or []]
2389 class MachinePortRange(Type
):
2390 _toSchema
= {'unittag': 'UnitTag', 'portrange': 'PortRange', 'relationtag': 'RelationTag'}
2391 _toPy
= {'RelationTag': 'relationtag', 'UnitTag': 'unittag', 'PortRange': 'portrange'}
2392 def __init__(self
, portrange
=None, relationtag
=None, unittag
=None):
2394 portrange : PortRange
2398 self
.portrange
= PortRange
.from_json(portrange
) if portrange
else None
2399 self
.relationtag
= relationtag
2400 self
.unittag
= unittag
2403 class MachinePorts(Type
):
2404 _toSchema
= {'subnettag': 'SubnetTag', 'machinetag': 'MachineTag'}
2405 _toPy
= {'MachineTag': 'machinetag', 'SubnetTag': 'subnettag'}
2406 def __init__(self
, machinetag
=None, subnettag
=None):
2411 self
.machinetag
= machinetag
2412 self
.subnettag
= subnettag
2415 class MachinePortsParams(Type
):
2416 _toSchema
= {'params': 'Params'}
2417 _toPy
= {'Params': 'params'}
2418 def __init__(self
, params
=None):
2420 params : typing.Sequence[~MachinePorts]
2422 self
.params
= [MachinePorts
.from_json(o
) for o
in params
or []]
2425 class MachinePortsResult(Type
):
2426 _toSchema
= {'ports': 'Ports', 'error': 'Error'}
2427 _toPy
= {'Error': 'error', 'Ports': 'ports'}
2428 def __init__(self
, error
=None, ports
=None):
2431 ports : typing.Sequence[~MachinePortRange]
2433 self
.error
= Error
.from_json(error
) if error
else None
2434 self
.ports
= [MachinePortRange
.from_json(o
) for o
in ports
or []]
2437 class MachinePortsResults(Type
):
2438 _toSchema
= {'results': 'Results'}
2439 _toPy
= {'Results': 'results'}
2440 def __init__(self
, results
=None):
2442 results : typing.Sequence[~MachinePortsResult]
2444 self
.results
= [MachinePortsResult
.from_json(o
) for o
in results
or []]
2447 class NotifyWatchResults(Type
):
2448 _toSchema
= {'results': 'Results'}
2449 _toPy
= {'Results': 'results'}
2450 def __init__(self
, results
=None):
2452 results : typing.Sequence[~NotifyWatchResult]
2454 self
.results
= [NotifyWatchResult
.from_json(o
) for o
in results
or []]
2457 class PortRange(Type
):
2458 _toSchema
= {'toport': 'ToPort', 'fromport': 'FromPort', 'protocol': 'Protocol'}
2459 _toPy
= {'FromPort': 'fromport', 'Protocol': 'protocol', 'ToPort': 'toport'}
2460 def __init__(self
, fromport
=None, protocol
=None, toport
=None):
2466 self
.fromport
= fromport
2467 self
.protocol
= protocol
2468 self
.toport
= toport
2471 class StringResults(Type
):
2472 _toSchema
= {'results': 'Results'}
2473 _toPy
= {'Results': 'results'}
2474 def __init__(self
, results
=None):
2476 results : typing.Sequence[~StringResult]
2478 self
.results
= [StringResult
.from_json(o
) for o
in results
or []]
2481 class StringsResults(Type
):
2482 _toSchema
= {'results': 'Results'}
2483 _toPy
= {'Results': 'results'}
2484 def __init__(self
, results
=None):
2486 results : typing.Sequence[~StringsResult]
2488 self
.results
= [StringsResult
.from_json(o
) for o
in results
or []]
2491 class ControllersChangeResult(Type
):
2492 _toSchema
= {'result': 'Result', 'error': 'Error'}
2493 _toPy
= {'Result': 'result', 'Error': 'error'}
2494 def __init__(self
, error
=None, result
=None):
2497 result : ControllersChanges
2499 self
.error
= Error
.from_json(error
) if error
else None
2500 self
.result
= ControllersChanges
.from_json(result
) if result
else None
2503 class ControllersChangeResults(Type
):
2504 _toSchema
= {'results': 'Results'}
2505 _toPy
= {'Results': 'results'}
2506 def __init__(self
, results
=None):
2508 results : typing.Sequence[~ControllersChangeResult]
2510 self
.results
= [ControllersChangeResult
.from_json(o
) for o
in results
or []]
2513 class ControllersChanges(Type
):
2514 _toSchema
= {'maintained': 'maintained', 'added': 'added', 'removed': 'removed', 'promoted': 'promoted', 'converted': 'converted', 'demoted': 'demoted'}
2515 _toPy
= {'maintained': 'maintained', 'added': 'added', 'removed': 'removed', 'promoted': 'promoted', 'converted': 'converted', 'demoted': 'demoted'}
2516 def __init__(self
, added
=None, converted
=None, demoted
=None, maintained
=None, promoted
=None, removed
=None):
2518 added : typing.Sequence[str]
2519 converted : typing.Sequence[str]
2520 demoted : typing.Sequence[str]
2521 maintained : typing.Sequence[str]
2522 promoted : typing.Sequence[str]
2523 removed : typing.Sequence[str]
2526 self
.converted
= converted
2527 self
.demoted
= demoted
2528 self
.maintained
= maintained
2529 self
.promoted
= promoted
2530 self
.removed
= removed
2533 class ControllersSpec(Type
):
2534 _toSchema
= {'constraints': 'constraints', 'modeltag': 'ModelTag', 'num_controllers': 'num-controllers', 'placement': 'placement', 'series': 'series'}
2535 _toPy
= {'ModelTag': 'modeltag', 'series': 'series', 'num-controllers': 'num_controllers', 'placement': 'placement', 'constraints': 'constraints'}
2536 def __init__(self
, modeltag
=None, constraints
=None, num_controllers
=None, placement
=None, series
=None):
2540 num_controllers : int
2541 placement : typing.Sequence[str]
2544 self
.modeltag
= modeltag
2545 self
.constraints
= Value
.from_json(constraints
) if constraints
else None
2546 self
.num_controllers
= num_controllers
2547 self
.placement
= placement
2548 self
.series
= series
2551 class ControllersSpecs(Type
):
2552 _toSchema
= {'specs': 'Specs'}
2553 _toPy
= {'Specs': 'specs'}
2554 def __init__(self
, specs
=None):
2556 specs : typing.Sequence[~ControllersSpec]
2558 self
.specs
= [ControllersSpec
.from_json(o
) for o
in specs
or []]
2561 class HAMember(Type
):
2562 _toSchema
= {'publicaddress': 'PublicAddress', 'series': 'Series', 'tag': 'Tag'}
2563 _toPy
= {'Tag': 'tag', 'PublicAddress': 'publicaddress', 'Series': 'series'}
2564 def __init__(self
, publicaddress
=None, series
=None, tag
=None):
2566 publicaddress : Address
2570 self
.publicaddress
= Address
.from_json(publicaddress
) if publicaddress
else None
2571 self
.series
= series
2576 _toSchema
= {'priority': 'Priority', 'slavedelay': 'SlaveDelay', 'id_': 'Id', 'hidden': 'Hidden', 'votes': 'Votes', 'buildindexes': 'BuildIndexes', 'address': 'Address', 'tags': 'Tags', 'arbiter': 'Arbiter'}
2577 _toPy
= {'Hidden': 'hidden', 'Priority': 'priority', 'SlaveDelay': 'slavedelay', 'Id': 'id_', 'Arbiter': 'arbiter', 'Votes': 'votes', 'Tags': 'tags', 'Address': 'address', 'BuildIndexes': 'buildindexes'}
2578 def __init__(self
, address
=None, arbiter
=None, buildindexes
=None, hidden
=None, id_
=None, priority
=None, slavedelay
=None, tags
=None, votes
=None):
2587 tags : typing.Mapping[str, str]
2590 self
.address
= address
2591 self
.arbiter
= arbiter
2592 self
.buildindexes
= buildindexes
2593 self
.hidden
= hidden
2595 self
.priority
= priority
2596 self
.slavedelay
= slavedelay
2601 class MongoUpgradeResults(Type
):
2602 _toSchema
= {'members': 'Members', 'master': 'Master', 'rsmembers': 'RsMembers'}
2603 _toPy
= {'Master': 'master', 'Members': 'members', 'RsMembers': 'rsmembers'}
2604 def __init__(self
, master
=None, members
=None, rsmembers
=None):
2607 members : typing.Sequence[~HAMember]
2608 rsmembers : typing.Sequence[~Member]
2610 self
.master
= HAMember
.from_json(master
) if master
else None
2611 self
.members
= [HAMember
.from_json(o
) for o
in members
or []]
2612 self
.rsmembers
= [Member
.from_json(o
) for o
in rsmembers
or []]
2615 class ResumeReplicationParams(Type
):
2616 _toSchema
= {'members': 'Members'}
2617 _toPy
= {'Members': 'members'}
2618 def __init__(self
, members
=None):
2620 members : typing.Sequence[~Member]
2622 self
.members
= [Member
.from_json(o
) for o
in members
or []]
2625 class UpgradeMongoParams(Type
):
2626 _toSchema
= {'minor': 'Minor', 'storageengine': 'StorageEngine', 'patch': 'Patch', 'major': 'Major'}
2627 _toPy
= {'Patch': 'patch', 'Major': 'major', 'StorageEngine': 'storageengine', 'Minor': 'minor'}
2628 def __init__(self
, major
=None, minor
=None, patch
=None, storageengine
=None):
2638 self
.storageengine
= storageengine
2641 class Version(Type
):
2642 _toSchema
= {'minor': 'Minor', 'storageengine': 'StorageEngine', 'patch': 'Patch', 'major': 'Major'}
2643 _toPy
= {'Patch': 'patch', 'Major': 'major', 'StorageEngine': 'storageengine', 'Minor': 'minor'}
2644 def __init__(self
, major
=None, minor
=None, patch
=None, storageengine
=None):
2654 self
.storageengine
= storageengine
2657 class SSHHostKeySet(Type
):
2658 _toSchema
= {'entity_keys': 'entity-keys'}
2659 _toPy
= {'entity-keys': 'entity_keys'}
2660 def __init__(self
, entity_keys
=None):
2662 entity_keys : typing.Sequence[~SSHHostKeys]
2664 self
.entity_keys
= [SSHHostKeys
.from_json(o
) for o
in entity_keys
or []]
2667 class SSHHostKeys(Type
):
2668 _toSchema
= {'public_keys': 'public-keys', 'tag': 'tag'}
2669 _toPy
= {'public-keys': 'public_keys', 'tag': 'tag'}
2670 def __init__(self
, public_keys
=None, tag
=None):
2672 public_keys : typing.Sequence[str]
2675 self
.public_keys
= public_keys
2679 class ImageFilterParams(Type
):
2680 _toSchema
= {'images': 'images'}
2681 _toPy
= {'images': 'images'}
2682 def __init__(self
, images
=None):
2684 images : typing.Sequence[~ImageSpec]
2686 self
.images
= [ImageSpec
.from_json(o
) for o
in images
or []]
2689 class ImageMetadata(Type
):
2690 _toSchema
= {'created': 'created', 'arch': 'arch', 'kind': 'kind', 'series': 'series', 'url': 'url'}
2691 _toPy
= {'created': 'created', 'arch': 'arch', 'kind': 'kind', 'series': 'series', 'url': 'url'}
2692 def __init__(self
, arch
=None, created
=None, kind
=None, series
=None, url
=None):
2701 self
.created
= created
2703 self
.series
= series
2707 class ImageSpec(Type
):
2708 _toSchema
= {'series': 'series', 'arch': 'arch', 'kind': 'kind'}
2709 _toPy
= {'series': 'series', 'arch': 'arch', 'kind': 'kind'}
2710 def __init__(self
, arch
=None, kind
=None, series
=None):
2718 self
.series
= series
2721 class ListImageResult(Type
):
2722 _toSchema
= {'result': 'result'}
2723 _toPy
= {'result': 'result'}
2724 def __init__(self
, result
=None):
2726 result : typing.Sequence[~ImageMetadata]
2728 self
.result
= [ImageMetadata
.from_json(o
) for o
in result
or []]
2731 class CloudImageMetadata(Type
):
2732 _toSchema
= {'image_id': 'image_id', 'priority': 'priority', 'series': 'series', 'region': 'region', 'virt_type': 'virt_type', 'version': 'version', 'root_storage_size': 'root_storage_size', 'stream': 'stream', 'arch': 'arch', 'source': 'source', 'root_storage_type': 'root_storage_type'}
2733 _toPy
= {'image_id': 'image_id', 'priority': 'priority', 'series': 'series', 'region': 'region', 'virt_type': 'virt_type', 'version': 'version', 'root_storage_size': 'root_storage_size', 'stream': 'stream', 'arch': 'arch', 'source': 'source', 'root_storage_type': 'root_storage_type'}
2734 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):
2740 root_storage_size : int
2741 root_storage_type : str
2749 self
.image_id
= image_id
2750 self
.priority
= priority
2751 self
.region
= region
2752 self
.root_storage_size
= root_storage_size
2753 self
.root_storage_type
= root_storage_type
2754 self
.series
= series
2755 self
.source
= source
2756 self
.stream
= stream
2757 self
.version
= version
2758 self
.virt_type
= virt_type
2761 class CloudImageMetadataList(Type
):
2762 _toSchema
= {'metadata': 'metadata'}
2763 _toPy
= {'metadata': 'metadata'}
2764 def __init__(self
, metadata
=None):
2766 metadata : typing.Sequence[~CloudImageMetadata]
2768 self
.metadata
= [CloudImageMetadata
.from_json(o
) for o
in metadata
or []]
2771 class ImageMetadataFilter(Type
):
2772 _toSchema
= {'virt_type': 'virt_type', 'series': 'series', 'region': 'region', 'arches': 'arches', 'stream': 'stream', 'root_storage_type': 'root-storage-type'}
2773 _toPy
= {'virt_type': 'virt_type', 'series': 'series', 'region': 'region', 'arches': 'arches', 'stream': 'stream', 'root-storage-type': 'root_storage_type'}
2774 def __init__(self
, arches
=None, region
=None, root_storage_type
=None, series
=None, stream
=None, virt_type
=None):
2776 arches : typing.Sequence[str]
2778 root_storage_type : str
2779 series : typing.Sequence[str]
2783 self
.arches
= arches
2784 self
.region
= region
2785 self
.root_storage_type
= root_storage_type
2786 self
.series
= series
2787 self
.stream
= stream
2788 self
.virt_type
= virt_type
2791 class ListCloudImageMetadataResult(Type
):
2792 _toSchema
= {'result': 'result'}
2793 _toPy
= {'result': 'result'}
2794 def __init__(self
, result
=None):
2796 result : typing.Sequence[~CloudImageMetadata]
2798 self
.result
= [CloudImageMetadata
.from_json(o
) for o
in result
or []]
2801 class MetadataImageIds(Type
):
2802 _toSchema
= {'image_ids': 'image_ids'}
2803 _toPy
= {'image_ids': 'image_ids'}
2804 def __init__(self
, image_ids
=None):
2806 image_ids : typing.Sequence[str]
2808 self
.image_ids
= image_ids
2811 class MetadataSaveParams(Type
):
2812 _toSchema
= {'metadata': 'metadata'}
2813 _toPy
= {'metadata': 'metadata'}
2814 def __init__(self
, metadata
=None):
2816 metadata : typing.Sequence[~CloudImageMetadataList]
2818 self
.metadata
= [CloudImageMetadataList
.from_json(o
) for o
in metadata
or []]
2821 class EntityStatusArgs(Type
):
2822 _toSchema
= {'data': 'Data', 'tag': 'Tag', 'info': 'Info', 'status': 'Status'}
2823 _toPy
= {'Tag': 'tag', 'Status': 'status', 'Data': 'data', 'Info': 'info'}
2824 def __init__(self
, data
=None, info
=None, status
=None, tag
=None):
2826 data : typing.Mapping[str, typing.Any]
2833 self
.status
= status
2837 class MachineAddresses(Type
):
2838 _toSchema
= {'addresses': 'Addresses', 'tag': 'Tag'}
2839 _toPy
= {'Addresses': 'addresses', 'Tag': 'tag'}
2840 def __init__(self
, addresses
=None, tag
=None):
2842 addresses : typing.Sequence[~Address]
2845 self
.addresses
= [Address
.from_json(o
) for o
in addresses
or []]
2849 class MachineAddressesResult(Type
):
2850 _toSchema
= {'addresses': 'Addresses', 'error': 'Error'}
2851 _toPy
= {'Addresses': 'addresses', 'Error': 'error'}
2852 def __init__(self
, addresses
=None, error
=None):
2854 addresses : typing.Sequence[~Address]
2857 self
.addresses
= [Address
.from_json(o
) for o
in addresses
or []]
2858 self
.error
= Error
.from_json(error
) if error
else None
2861 class MachineAddressesResults(Type
):
2862 _toSchema
= {'results': 'Results'}
2863 _toPy
= {'Results': 'results'}
2864 def __init__(self
, results
=None):
2866 results : typing.Sequence[~MachineAddressesResult]
2868 self
.results
= [MachineAddressesResult
.from_json(o
) for o
in results
or []]
2871 class SetMachinesAddresses(Type
):
2872 _toSchema
= {'machineaddresses': 'MachineAddresses'}
2873 _toPy
= {'MachineAddresses': 'machineaddresses'}
2874 def __init__(self
, machineaddresses
=None):
2876 machineaddresses : typing.Sequence[~MachineAddresses]
2878 self
.machineaddresses
= [MachineAddresses
.from_json(o
) for o
in machineaddresses
or []]
2881 class SetStatus(Type
):
2882 _toSchema
= {'entities': 'Entities'}
2883 _toPy
= {'Entities': 'entities'}
2884 def __init__(self
, entities
=None):
2886 entities : typing.Sequence[~EntityStatusArgs]
2888 self
.entities
= [EntityStatusArgs
.from_json(o
) for o
in entities
or []]
2891 class StatusResult(Type
):
2892 _toSchema
= {'since': 'Since', 'data': 'Data', 'info': 'Info', 'life': 'Life', 'error': 'Error', 'id_': 'Id', 'status': 'Status'}
2893 _toPy
= {'Id': 'id_', 'Data': 'data', 'Since': 'since', 'Error': 'error', 'Life': 'life', 'Status': 'status', 'Info': 'info'}
2894 def __init__(self
, data
=None, error
=None, id_
=None, info
=None, life
=None, since
=None, status
=None):
2896 data : typing.Mapping[str, typing.Any]
2905 self
.error
= Error
.from_json(error
) if error
else None
2910 self
.status
= status
2913 class StatusResults(Type
):
2914 _toSchema
= {'results': 'Results'}
2915 _toPy
= {'Results': 'results'}
2916 def __init__(self
, results
=None):
2918 results : typing.Sequence[~StatusResult]
2920 self
.results
= [StatusResult
.from_json(o
) for o
in results
or []]
2923 class ListSSHKeys(Type
):
2924 _toSchema
= {'mode': 'Mode', 'entities': 'Entities'}
2925 _toPy
= {'Entities': 'entities', 'Mode': 'mode'}
2926 def __init__(self
, entities
=None, mode
=None):
2931 self
.entities
= Entities
.from_json(entities
) if entities
else None
2935 class ModifyUserSSHKeys(Type
):
2936 _toSchema
= {'keys': 'Keys', 'user': 'User'}
2937 _toPy
= {'User': 'user', 'Keys': 'keys'}
2938 def __init__(self
, keys
=None, user
=None):
2940 keys : typing.Sequence[str]
2947 class ApplicationTag(Type
):
2948 _toSchema
= {'name': 'Name'}
2949 _toPy
= {'Name': 'name'}
2950 def __init__(self
, name
=None):
2957 class ClaimLeadershipBulkParams(Type
):
2958 _toSchema
= {'params': 'Params'}
2959 _toPy
= {'Params': 'params'}
2960 def __init__(self
, params
=None):
2962 params : typing.Sequence[~ClaimLeadershipParams]
2964 self
.params
= [ClaimLeadershipParams
.from_json(o
) for o
in params
or []]
2967 class ClaimLeadershipBulkResults(Type
):
2968 _toSchema
= {'results': 'Results'}
2969 _toPy
= {'Results': 'results'}
2970 def __init__(self
, results
=None):
2972 results : typing.Sequence[~ErrorResult]
2974 self
.results
= [ErrorResult
.from_json(o
) for o
in results
or []]
2977 class ClaimLeadershipParams(Type
):
2978 _toSchema
= {'unittag': 'UnitTag', 'applicationtag': 'ApplicationTag', 'durationseconds': 'DurationSeconds'}
2979 _toPy
= {'UnitTag': 'unittag', 'DurationSeconds': 'durationseconds', 'ApplicationTag': 'applicationtag'}
2980 def __init__(self
, applicationtag
=None, durationseconds
=None, unittag
=None):
2982 applicationtag : str
2983 durationseconds : float
2986 self
.applicationtag
= applicationtag
2987 self
.durationseconds
= durationseconds
2988 self
.unittag
= unittag
2991 class ActionExecutionResult(Type
):
2992 _toSchema
= {'message': 'message', 'results': 'results', 'actiontag': 'actiontag', 'status': 'status'}
2993 _toPy
= {'message': 'message', 'results': 'results', 'actiontag': 'actiontag', 'status': 'status'}
2994 def __init__(self
, actiontag
=None, message
=None, results
=None, status
=None):
2998 results : typing.Mapping[str, typing.Any]
3001 self
.actiontag
= actiontag
3002 self
.message
= message
3003 self
.results
= results
3004 self
.status
= status
3007 class ActionExecutionResults(Type
):
3008 _toSchema
= {'results': 'results'}
3009 _toPy
= {'results': 'results'}
3010 def __init__(self
, results
=None):
3012 results : typing.Sequence[~ActionExecutionResult]
3014 self
.results
= [ActionExecutionResult
.from_json(o
) for o
in results
or []]
3017 class JobsResult(Type
):
3018 _toSchema
= {'jobs': 'Jobs', 'error': 'Error'}
3019 _toPy
= {'Error': 'error', 'Jobs': 'jobs'}
3020 def __init__(self
, error
=None, jobs
=None):
3023 jobs : typing.Sequence[str]
3025 self
.error
= Error
.from_json(error
) if error
else None
3029 class JobsResults(Type
):
3030 _toSchema
= {'results': 'Results'}
3031 _toPy
= {'Results': 'results'}
3032 def __init__(self
, results
=None):
3034 results : typing.Sequence[~JobsResult]
3036 self
.results
= [JobsResult
.from_json(o
) for o
in results
or []]
3039 class NetworkConfig(Type
):
3040 _toSchema
= {'mtu': 'MTU', 'disabled': 'Disabled', 'interfacename': 'InterfaceName', 'dnsservers': 'DNSServers', 'providerid': 'ProviderId', 'providersubnetid': 'ProviderSubnetId', 'deviceindex': 'DeviceIndex', 'vlantag': 'VLANTag', 'provideraddressid': 'ProviderAddressId', 'dnssearchdomains': 'DNSSearchDomains', 'noautostart': 'NoAutoStart', 'macaddress': 'MACAddress', 'address': 'Address', 'cidr': 'CIDR', 'interfacetype': 'InterfaceType', 'parentinterfacename': 'ParentInterfaceName', 'gatewayaddress': 'GatewayAddress', 'providervlanid': 'ProviderVLANId', 'configtype': 'ConfigType', 'providerspaceid': 'ProviderSpaceId'}
3041 _toPy
= {'InterfaceType': 'interfacetype', 'ConfigType': 'configtype', 'ProviderVLANId': 'providervlanid', 'ProviderAddressId': 'provideraddressid', 'Disabled': 'disabled', 'ProviderSpaceId': 'providerspaceid', 'GatewayAddress': 'gatewayaddress', 'InterfaceName': 'interfacename', 'ProviderSubnetId': 'providersubnetid', 'MTU': 'mtu', 'VLANTag': 'vlantag', 'NoAutoStart': 'noautostart', 'DNSServers': 'dnsservers', 'DNSSearchDomains': 'dnssearchdomains', 'DeviceIndex': 'deviceindex', 'Address': 'address', 'ProviderId': 'providerid', 'MACAddress': 'macaddress', 'CIDR': 'cidr', 'ParentInterfaceName': 'parentinterfacename'}
3042 def __init__(self
, address
=None, cidr
=None, configtype
=None, dnssearchdomains
=None, dnsservers
=None, deviceindex
=None, disabled
=None, gatewayaddress
=None, interfacename
=None, interfacetype
=None, macaddress
=None, mtu
=None, noautostart
=None, parentinterfacename
=None, provideraddressid
=None, providerid
=None, providerspaceid
=None, providersubnetid
=None, providervlanid
=None, vlantag
=None):
3047 dnssearchdomains : typing.Sequence[str]
3048 dnsservers : typing.Sequence[str]
3051 gatewayaddress : str
3057 parentinterfacename : str
3058 provideraddressid : str
3060 providerspaceid : str
3061 providersubnetid : str
3062 providervlanid : str
3065 self
.address
= address
3067 self
.configtype
= configtype
3068 self
.dnssearchdomains
= dnssearchdomains
3069 self
.dnsservers
= dnsservers
3070 self
.deviceindex
= deviceindex
3071 self
.disabled
= disabled
3072 self
.gatewayaddress
= gatewayaddress
3073 self
.interfacename
= interfacename
3074 self
.interfacetype
= interfacetype
3075 self
.macaddress
= macaddress
3077 self
.noautostart
= noautostart
3078 self
.parentinterfacename
= parentinterfacename
3079 self
.provideraddressid
= provideraddressid
3080 self
.providerid
= providerid
3081 self
.providerspaceid
= providerspaceid
3082 self
.providersubnetid
= providersubnetid
3083 self
.providervlanid
= providervlanid
3084 self
.vlantag
= vlantag
3087 class SetMachineNetworkConfig(Type
):
3088 _toSchema
= {'config': 'Config', 'tag': 'Tag'}
3089 _toPy
= {'Tag': 'tag', 'Config': 'config'}
3090 def __init__(self
, config
=None, tag
=None):
3092 config : typing.Sequence[~NetworkConfig]
3095 self
.config
= [NetworkConfig
.from_json(o
) for o
in config
or []]
3099 class MeterStatusResult(Type
):
3100 _toSchema
= {'code': 'Code', 'error': 'Error', 'info': 'Info'}
3101 _toPy
= {'Code': 'code', 'Error': 'error', 'Info': 'info'}
3102 def __init__(self
, code
=None, error
=None, info
=None):
3109 self
.error
= Error
.from_json(error
) if error
else None
3113 class MeterStatusResults(Type
):
3114 _toSchema
= {'results': 'Results'}
3115 _toPy
= {'Results': 'results'}
3116 def __init__(self
, results
=None):
3118 results : typing.Sequence[~MeterStatusResult]
3120 self
.results
= [MeterStatusResult
.from_json(o
) for o
in results
or []]
3124 _toSchema
= {'key': 'Key', 'time': 'Time', 'value': 'Value'}
3125 _toPy
= {'Value': 'value', 'Key': 'key', 'Time': 'time'}
3126 def __init__(self
, key
=None, time
=None, value
=None):
3137 class MetricBatch(Type
):
3138 _toSchema
= {'charmurl': 'CharmURL', 'uuid': 'UUID', 'created': 'Created', 'metrics': 'Metrics'}
3139 _toPy
= {'CharmURL': 'charmurl', 'Metrics': 'metrics', 'Created': 'created', 'UUID': 'uuid'}
3140 def __init__(self
, charmurl
=None, created
=None, metrics
=None, uuid
=None):
3144 metrics : typing.Sequence[~Metric]
3147 self
.charmurl
= charmurl
3148 self
.created
= created
3149 self
.metrics
= [Metric
.from_json(o
) for o
in metrics
or []]
3153 class MetricBatchParam(Type
):
3154 _toSchema
= {'batch': 'Batch', 'tag': 'Tag'}
3155 _toPy
= {'Tag': 'tag', 'Batch': 'batch'}
3156 def __init__(self
, batch
=None, tag
=None):
3161 self
.batch
= MetricBatch
.from_json(batch
) if batch
else None
3165 class MetricBatchParams(Type
):
3166 _toSchema
= {'batches': 'Batches'}
3167 _toPy
= {'Batches': 'batches'}
3168 def __init__(self
, batches
=None):
3170 batches : typing.Sequence[~MetricBatchParam]
3172 self
.batches
= [MetricBatchParam
.from_json(o
) for o
in batches
or []]
3175 class EntityMetrics(Type
):
3176 _toSchema
= {'error': 'error', 'metrics': 'metrics'}
3177 _toPy
= {'error': 'error', 'metrics': 'metrics'}
3178 def __init__(self
, error
=None, metrics
=None):
3181 metrics : typing.Sequence[~MetricResult]
3183 self
.error
= Error
.from_json(error
) if error
else None
3184 self
.metrics
= [MetricResult
.from_json(o
) for o
in metrics
or []]
3187 class MeterStatusParam(Type
):
3188 _toSchema
= {'code': 'code', 'tag': 'tag', 'info': 'info'}
3189 _toPy
= {'code': 'code', 'tag': 'tag', 'info': 'info'}
3190 def __init__(self
, code
=None, info
=None, tag
=None):
3201 class MeterStatusParams(Type
):
3202 _toSchema
= {'statues': 'statues'}
3203 _toPy
= {'statues': 'statues'}
3204 def __init__(self
, statues
=None):
3206 statues : typing.Sequence[~MeterStatusParam]
3208 self
.statues
= [MeterStatusParam
.from_json(o
) for o
in statues
or []]
3211 class MetricResult(Type
):
3212 _toSchema
= {'key': 'key', 'time': 'time', 'value': 'value'}
3213 _toPy
= {'key': 'key', 'time': 'time', 'value': 'value'}
3214 def __init__(self
, key
=None, time
=None, value
=None):
3225 class MetricResults(Type
):
3226 _toSchema
= {'results': 'results'}
3227 _toPy
= {'results': 'results'}
3228 def __init__(self
, results
=None):
3230 results : typing.Sequence[~EntityMetrics]
3232 self
.results
= [EntityMetrics
.from_json(o
) for o
in results
or []]
3235 class PhaseResult(Type
):
3236 _toSchema
= {'error': 'Error', 'phase': 'phase'}
3237 _toPy
= {'Error': 'error', 'phase': 'phase'}
3238 def __init__(self
, error
=None, phase
=None):
3243 self
.error
= Error
.from_json(error
) if error
else None
3247 class PhaseResults(Type
):
3248 _toSchema
= {'results': 'Results'}
3249 _toPy
= {'Results': 'results'}
3250 def __init__(self
, results
=None):
3252 results : typing.Sequence[~PhaseResult]
3254 self
.results
= [PhaseResult
.from_json(o
) for o
in results
or []]
3257 class FullMigrationStatus(Type
):
3258 _toSchema
= {'attempt': 'attempt', 'phase': 'phase', 'spec': 'spec'}
3259 _toPy
= {'attempt': 'attempt', 'phase': 'phase', 'spec': 'spec'}
3260 def __init__(self
, attempt
=None, phase
=None, spec
=None):
3264 spec : ModelMigrationSpec
3266 self
.attempt
= attempt
3268 self
.spec
= ModelMigrationSpec
.from_json(spec
) if spec
else None
3271 class SerializedModel(Type
):
3272 _toSchema
= {'bytes_': 'bytes'}
3273 _toPy
= {'bytes': 'bytes_'}
3274 def __init__(self
, bytes_
=None):
3276 bytes_ : typing.Sequence[int]
3278 self
.bytes_
= bytes_
3281 class SetMigrationPhaseArgs(Type
):
3282 _toSchema
= {'phase': 'phase'}
3283 _toPy
= {'phase': 'phase'}
3284 def __init__(self
, phase
=None):
3291 class MigrationStatus(Type
):
3292 _toSchema
= {'attempt': 'attempt', 'source_api_addrs': 'source-api-addrs', 'target_api_addrs': 'target-api-addrs', 'source_ca_cert': 'source-ca-cert', 'phase': 'phase', 'target_ca_cert': 'target-ca-cert'}
3293 _toPy
= {'target-ca-cert': 'target_ca_cert', 'source-ca-cert': 'source_ca_cert', 'attempt': 'attempt', 'source-api-addrs': 'source_api_addrs', 'phase': 'phase', 'target-api-addrs': 'target_api_addrs'}
3294 def __init__(self
, attempt
=None, phase
=None, source_api_addrs
=None, source_ca_cert
=None, target_api_addrs
=None, target_ca_cert
=None):
3298 source_api_addrs : typing.Sequence[str]
3299 source_ca_cert : str
3300 target_api_addrs : typing.Sequence[str]
3301 target_ca_cert : str
3303 self
.attempt
= attempt
3305 self
.source_api_addrs
= source_api_addrs
3306 self
.source_ca_cert
= source_ca_cert
3307 self
.target_api_addrs
= target_api_addrs
3308 self
.target_ca_cert
= target_ca_cert
3311 class ModelArgs(Type
):
3312 _toSchema
= {'model_tag': 'model-tag'}
3313 _toPy
= {'model-tag': 'model_tag'}
3314 def __init__(self
, model_tag
=None):
3318 self
.model_tag
= model_tag
3321 class ModelCreateArgs(Type
):
3322 _toSchema
= {'account': 'Account', 'ownertag': 'OwnerTag', 'config': 'Config'}
3323 _toPy
= {'Account': 'account', 'OwnerTag': 'ownertag', 'Config': 'config'}
3324 def __init__(self
, account
=None, config
=None, ownertag
=None):
3326 account : typing.Mapping[str, typing.Any]
3327 config : typing.Mapping[str, typing.Any]
3330 self
.account
= account
3331 self
.config
= config
3332 self
.ownertag
= ownertag
3335 class ModelInfoResult(Type
):
3336 _toSchema
= {'result': 'result', 'error': 'error'}
3337 _toPy
= {'result': 'result', 'error': 'error'}
3338 def __init__(self
, error
=None, result
=None):
3343 self
.error
= Error
.from_json(error
) if error
else None
3344 self
.result
= ModelInfo
.from_json(result
) if result
else None
3347 class ModelInfoResults(Type
):
3348 _toSchema
= {'results': 'results'}
3349 _toPy
= {'results': 'results'}
3350 def __init__(self
, results
=None):
3352 results : typing.Sequence[~ModelInfoResult]
3354 self
.results
= [ModelInfoResult
.from_json(o
) for o
in results
or []]
3357 class ModelSkeletonConfigArgs(Type
):
3358 _toSchema
= {'region': 'Region', 'provider': 'Provider'}
3359 _toPy
= {'Provider': 'provider', 'Region': 'region'}
3360 def __init__(self
, provider
=None, region
=None):
3365 self
.provider
= provider
3366 self
.region
= region
3369 class ModifyModelAccess(Type
):
3370 _toSchema
= {'action': 'action', 'model_tag': 'model-tag', 'user_tag': 'user-tag', 'access': 'access'}
3371 _toPy
= {'user-tag': 'user_tag', 'action': 'action', 'model-tag': 'model_tag', 'access': 'access'}
3372 def __init__(self
, access
=None, action
=None, model_tag
=None, user_tag
=None):
3379 self
.access
= access
3380 self
.action
= action
3381 self
.model_tag
= model_tag
3382 self
.user_tag
= user_tag
3385 class ModifyModelAccessRequest(Type
):
3386 _toSchema
= {'changes': 'changes'}
3387 _toPy
= {'changes': 'changes'}
3388 def __init__(self
, changes
=None):
3390 changes : typing.Sequence[~ModifyModelAccess]
3392 self
.changes
= [ModifyModelAccess
.from_json(o
) for o
in changes
or []]
3395 class ConstraintsResult(Type
):
3396 _toSchema
= {'constraints': 'Constraints', 'error': 'Error'}
3397 _toPy
= {'Constraints': 'constraints', 'Error': 'error'}
3398 def __init__(self
, constraints
=None, error
=None):
3403 self
.constraints
= Value
.from_json(constraints
) if constraints
else None
3404 self
.error
= Error
.from_json(error
) if error
else None
3407 class ConstraintsResults(Type
):
3408 _toSchema
= {'results': 'Results'}
3409 _toPy
= {'Results': 'results'}
3410 def __init__(self
, results
=None):
3412 results : typing.Sequence[~ConstraintsResult]
3414 self
.results
= [ConstraintsResult
.from_json(o
) for o
in results
or []]
3417 class ContainerConfig(Type
):
3418 _toSchema
= {'allowlxcloopmounts': 'AllowLXCLoopMounts', 'updatebehavior': 'UpdateBehavior', 'aptmirror': 'AptMirror', 'authorizedkeys': 'AuthorizedKeys', 'sslhostnameverification': 'SSLHostnameVerification', 'aptproxy': 'AptProxy', 'providertype': 'ProviderType', 'proxy': 'Proxy'}
3419 _toPy
= {'UpdateBehavior': 'updatebehavior', 'SSLHostnameVerification': 'sslhostnameverification', 'AptMirror': 'aptmirror', 'Proxy': 'proxy', 'AptProxy': 'aptproxy', 'AuthorizedKeys': 'authorizedkeys', 'AllowLXCLoopMounts': 'allowlxcloopmounts', 'ProviderType': 'providertype'}
3420 def __init__(self
, allowlxcloopmounts
=None, aptmirror
=None, aptproxy
=None, authorizedkeys
=None, providertype
=None, proxy
=None, sslhostnameverification
=None, updatebehavior
=None):
3422 allowlxcloopmounts : bool
3425 authorizedkeys : str
3428 sslhostnameverification : bool
3429 updatebehavior : UpdateBehavior
3431 self
.allowlxcloopmounts
= allowlxcloopmounts
3432 self
.aptmirror
= aptmirror
3433 self
.aptproxy
= Settings
.from_json(aptproxy
) if aptproxy
else None
3434 self
.authorizedkeys
= authorizedkeys
3435 self
.providertype
= providertype
3436 self
.proxy
= Settings
.from_json(proxy
) if proxy
else None
3437 self
.sslhostnameverification
= sslhostnameverification
3438 self
.updatebehavior
= UpdateBehavior
.from_json(updatebehavior
) if updatebehavior
else None
3441 class ContainerManagerConfig(Type
):
3442 _toSchema
= {'managerconfig': 'ManagerConfig'}
3443 _toPy
= {'ManagerConfig': 'managerconfig'}
3444 def __init__(self
, managerconfig
=None):
3446 managerconfig : typing.Mapping[str, str]
3448 self
.managerconfig
= managerconfig
3451 class ContainerManagerConfigParams(Type
):
3452 _toSchema
= {'type_': 'Type'}
3453 _toPy
= {'Type': 'type_'}
3454 def __init__(self
, type_
=None):
3461 class DistributionGroupResult(Type
):
3462 _toSchema
= {'result': 'Result', 'error': 'Error'}
3463 _toPy
= {'Result': 'result', 'Error': 'error'}
3464 def __init__(self
, error
=None, result
=None):
3467 result : typing.Sequence[str]
3469 self
.error
= Error
.from_json(error
) if error
else None
3470 self
.result
= result
3473 class DistributionGroupResults(Type
):
3474 _toSchema
= {'results': 'Results'}
3475 _toPy
= {'Results': 'results'}
3476 def __init__(self
, results
=None):
3478 results : typing.Sequence[~DistributionGroupResult]
3480 self
.results
= [DistributionGroupResult
.from_json(o
) for o
in results
or []]
3483 class InstanceInfo(Type
):
3484 _toSchema
= {'networkconfig': 'NetworkConfig', 'nonce': 'Nonce', 'characteristics': 'Characteristics', 'volumeattachments': 'VolumeAttachments', 'instanceid': 'InstanceId', 'tag': 'Tag', 'volumes': 'Volumes'}
3485 _toPy
= {'Characteristics': 'characteristics', 'InstanceId': 'instanceid', 'Volumes': 'volumes', 'Nonce': 'nonce', 'VolumeAttachments': 'volumeattachments', 'Tag': 'tag', 'NetworkConfig': 'networkconfig'}
3486 def __init__(self
, characteristics
=None, instanceid
=None, networkconfig
=None, nonce
=None, tag
=None, volumeattachments
=None, volumes
=None):
3488 characteristics : HardwareCharacteristics
3490 networkconfig : typing.Sequence[~NetworkConfig]
3493 volumeattachments : typing.Mapping[str, ~VolumeAttachmentInfo]
3494 volumes : typing.Sequence[~Volume]
3496 self
.characteristics
= HardwareCharacteristics
.from_json(characteristics
) if characteristics
else None
3497 self
.instanceid
= instanceid
3498 self
.networkconfig
= [NetworkConfig
.from_json(o
) for o
in networkconfig
or []]
3501 self
.volumeattachments
= {k
: VolumeAttachmentInfo
.from_json(v
) for k
, v
in (volumeattachments
or dict()).items()}
3502 self
.volumes
= [Volume
.from_json(o
) for o
in volumes
or []]
3505 class InstancesInfo(Type
):
3506 _toSchema
= {'machines': 'Machines'}
3507 _toPy
= {'Machines': 'machines'}
3508 def __init__(self
, machines
=None):
3510 machines : typing.Sequence[~InstanceInfo]
3512 self
.machines
= [InstanceInfo
.from_json(o
) for o
in machines
or []]
3515 class MachineContainers(Type
):
3516 _toSchema
= {'containertypes': 'ContainerTypes', 'machinetag': 'MachineTag'}
3517 _toPy
= {'MachineTag': 'machinetag', 'ContainerTypes': 'containertypes'}
3518 def __init__(self
, containertypes
=None, machinetag
=None):
3520 containertypes : typing.Sequence[str]
3523 self
.containertypes
= containertypes
3524 self
.machinetag
= machinetag
3527 class MachineContainersParams(Type
):
3528 _toSchema
= {'params': 'Params'}
3529 _toPy
= {'Params': 'params'}
3530 def __init__(self
, params
=None):
3532 params : typing.Sequence[~MachineContainers]
3534 self
.params
= [MachineContainers
.from_json(o
) for o
in params
or []]
3537 class MachineNetworkConfigResult(Type
):
3538 _toSchema
= {'info': 'Info', 'error': 'Error'}
3539 _toPy
= {'Error': 'error', 'Info': 'info'}
3540 def __init__(self
, error
=None, info
=None):
3543 info : typing.Sequence[~NetworkConfig]
3545 self
.error
= Error
.from_json(error
) if error
else None
3546 self
.info
= [NetworkConfig
.from_json(o
) for o
in info
or []]
3549 class MachineNetworkConfigResults(Type
):
3550 _toSchema
= {'results': 'Results'}
3551 _toPy
= {'Results': 'results'}
3552 def __init__(self
, results
=None):
3554 results : typing.Sequence[~MachineNetworkConfigResult]
3556 self
.results
= [MachineNetworkConfigResult
.from_json(o
) for o
in results
or []]
3559 class ProvisioningInfo(Type
):
3560 _toSchema
= {'jobs': 'Jobs', 'series': 'Series', 'imagemetadata': 'ImageMetadata', 'placement': 'Placement', 'subnetstozones': 'SubnetsToZones', 'constraints': 'Constraints', 'tags': 'Tags', 'endpointbindings': 'EndpointBindings', 'volumes': 'Volumes'}
3561 _toPy
= {'Constraints': 'constraints', 'ImageMetadata': 'imagemetadata', 'SubnetsToZones': 'subnetstozones', 'Series': 'series', 'Volumes': 'volumes', 'Tags': 'tags', 'EndpointBindings': 'endpointbindings', 'Placement': 'placement', 'Jobs': 'jobs'}
3562 def __init__(self
, constraints
=None, endpointbindings
=None, imagemetadata
=None, jobs
=None, placement
=None, series
=None, subnetstozones
=None, tags
=None, volumes
=None):
3565 endpointbindings : typing.Mapping[str, str]
3566 imagemetadata : typing.Sequence[~CloudImageMetadata]
3567 jobs : typing.Sequence[str]
3570 subnetstozones : typing.Sequence[str]
3571 tags : typing.Mapping[str, str]
3572 volumes : typing.Sequence[~VolumeParams]
3574 self
.constraints
= Value
.from_json(constraints
) if constraints
else None
3575 self
.endpointbindings
= endpointbindings
3576 self
.imagemetadata
= [CloudImageMetadata
.from_json(o
) for o
in imagemetadata
or []]
3578 self
.placement
= placement
3579 self
.series
= series
3580 self
.subnetstozones
= subnetstozones
3582 self
.volumes
= [VolumeParams
.from_json(o
) for o
in volumes
or []]
3585 class ProvisioningInfoResult(Type
):
3586 _toSchema
= {'result': 'Result', 'error': 'Error'}
3587 _toPy
= {'Result': 'result', 'Error': 'error'}
3588 def __init__(self
, error
=None, result
=None):
3591 result : ProvisioningInfo
3593 self
.error
= Error
.from_json(error
) if error
else None
3594 self
.result
= ProvisioningInfo
.from_json(result
) if result
else None
3597 class ProvisioningInfoResults(Type
):
3598 _toSchema
= {'results': 'Results'}
3599 _toPy
= {'Results': 'results'}
3600 def __init__(self
, results
=None):
3602 results : typing.Sequence[~ProvisioningInfoResult]
3604 self
.results
= [ProvisioningInfoResult
.from_json(o
) for o
in results
or []]
3607 class Settings(Type
):
3608 _toSchema
= {'ftp': 'Ftp', 'noproxy': 'NoProxy', 'http': 'Http', 'https': 'Https'}
3609 _toPy
= {'Http': 'http', 'Https': 'https', 'NoProxy': 'noproxy', 'Ftp': 'ftp'}
3610 def __init__(self
, ftp
=None, http
=None, https
=None, noproxy
=None):
3620 self
.noproxy
= noproxy
3623 class ToolsResult(Type
):
3624 _toSchema
= {'toolslist': 'ToolsList', 'disablesslhostnameverification': 'DisableSSLHostnameVerification', 'error': 'Error'}
3625 _toPy
= {'Error': 'error', 'DisableSSLHostnameVerification': 'disablesslhostnameverification', 'ToolsList': 'toolslist'}
3626 def __init__(self
, disablesslhostnameverification
=None, error
=None, toolslist
=None):
3628 disablesslhostnameverification : bool
3630 toolslist : typing.Sequence[~Tools]
3632 self
.disablesslhostnameverification
= disablesslhostnameverification
3633 self
.error
= Error
.from_json(error
) if error
else None
3634 self
.toolslist
= [Tools
.from_json(o
) for o
in toolslist
or []]
3637 class ToolsResults(Type
):
3638 _toSchema
= {'results': 'Results'}
3639 _toPy
= {'Results': 'results'}
3640 def __init__(self
, results
=None):
3642 results : typing.Sequence[~ToolsResult]
3644 self
.results
= [ToolsResult
.from_json(o
) for o
in results
or []]
3647 class UpdateBehavior(Type
):
3648 _toSchema
= {'enableosupgrade': 'EnableOSUpgrade', 'enableosrefreshupdate': 'EnableOSRefreshUpdate'}
3649 _toPy
= {'EnableOSRefreshUpdate': 'enableosrefreshupdate', 'EnableOSUpgrade': 'enableosupgrade'}
3650 def __init__(self
, enableosrefreshupdate
=None, enableosupgrade
=None):
3652 enableosrefreshupdate : bool
3653 enableosupgrade : bool
3655 self
.enableosrefreshupdate
= enableosrefreshupdate
3656 self
.enableosupgrade
= enableosupgrade
3660 _toSchema
= {'volumetag': 'volumetag', 'info': 'info'}
3661 _toPy
= {'volumetag': 'volumetag', 'info': 'info'}
3662 def __init__(self
, info
=None, volumetag
=None):
3667 self
.info
= VolumeInfo
.from_json(info
) if info
else None
3668 self
.volumetag
= volumetag
3671 class VolumeAttachmentInfo(Type
):
3672 _toSchema
= {'read_only': 'read-only', 'devicelink': 'devicelink', 'busaddress': 'busaddress', 'devicename': 'devicename'}
3673 _toPy
= {'devicelink': 'devicelink', 'busaddress': 'busaddress', 'devicename': 'devicename', 'read-only': 'read_only'}
3674 def __init__(self
, busaddress
=None, devicelink
=None, devicename
=None, read_only
=None):
3681 self
.busaddress
= busaddress
3682 self
.devicelink
= devicelink
3683 self
.devicename
= devicename
3684 self
.read_only
= read_only
3687 class VolumeAttachmentParams(Type
):
3688 _toSchema
= {'volumetag': 'volumetag', 'read_only': 'read-only', 'provider': 'provider', 'volumeid': 'volumeid', 'instanceid': 'instanceid', 'machinetag': 'machinetag'}
3689 _toPy
= {'volumetag': 'volumetag', 'provider': 'provider', 'read-only': 'read_only', 'volumeid': 'volumeid', 'instanceid': 'instanceid', 'machinetag': 'machinetag'}
3690 def __init__(self
, instanceid
=None, machinetag
=None, provider
=None, read_only
=None, volumeid
=None, volumetag
=None):
3699 self
.instanceid
= instanceid
3700 self
.machinetag
= machinetag
3701 self
.provider
= provider
3702 self
.read_only
= read_only
3703 self
.volumeid
= volumeid
3704 self
.volumetag
= volumetag
3707 class VolumeInfo(Type
):
3708 _toSchema
= {'hardwareid': 'hardwareid', 'persistent': 'persistent', 'size': 'size', 'volumeid': 'volumeid'}
3709 _toPy
= {'hardwareid': 'hardwareid', 'persistent': 'persistent', 'size': 'size', 'volumeid': 'volumeid'}
3710 def __init__(self
, hardwareid
=None, persistent
=None, size
=None, volumeid
=None):
3717 self
.hardwareid
= hardwareid
3718 self
.persistent
= persistent
3720 self
.volumeid
= volumeid
3723 class VolumeParams(Type
):
3724 _toSchema
= {'attachment': 'attachment', 'attributes': 'attributes', 'size': 'size', 'volumetag': 'volumetag', 'tags': 'tags', 'provider': 'provider'}
3725 _toPy
= {'attachment': 'attachment', 'attributes': 'attributes', 'size': 'size', 'volumetag': 'volumetag', 'tags': 'tags', 'provider': 'provider'}
3726 def __init__(self
, attachment
=None, attributes
=None, provider
=None, size
=None, tags
=None, volumetag
=None):
3728 attachment : VolumeAttachmentParams
3729 attributes : typing.Mapping[str, typing.Any]
3732 tags : typing.Mapping[str, str]
3735 self
.attachment
= VolumeAttachmentParams
.from_json(attachment
) if attachment
else None
3736 self
.attributes
= attributes
3737 self
.provider
= provider
3740 self
.volumetag
= volumetag
3743 class WatchContainer(Type
):
3744 _toSchema
= {'machinetag': 'MachineTag', 'containertype': 'ContainerType'}
3745 _toPy
= {'MachineTag': 'machinetag', 'ContainerType': 'containertype'}
3746 def __init__(self
, containertype
=None, machinetag
=None):
3751 self
.containertype
= containertype
3752 self
.machinetag
= machinetag
3755 class WatchContainers(Type
):
3756 _toSchema
= {'params': 'Params'}
3757 _toPy
= {'Params': 'params'}
3758 def __init__(self
, params
=None):
3760 params : typing.Sequence[~WatchContainer]
3762 self
.params
= [WatchContainer
.from_json(o
) for o
in params
or []]
3765 class ProxyConfig(Type
):
3766 _toSchema
= {'ftp': 'FTP', 'noproxy': 'NoProxy', 'http': 'HTTP', 'https': 'HTTPS'}
3767 _toPy
= {'NoProxy': 'noproxy', 'FTP': 'ftp', 'HTTPS': 'https', 'HTTP': 'http'}
3768 def __init__(self
, ftp
=None, http
=None, https
=None, noproxy
=None):
3778 self
.noproxy
= noproxy
3781 class ProxyConfigResult(Type
):
3782 _toSchema
= {'proxysettings': 'ProxySettings', 'aptproxysettings': 'APTProxySettings', 'error': 'Error'}
3783 _toPy
= {'ProxySettings': 'proxysettings', 'APTProxySettings': 'aptproxysettings', 'Error': 'error'}
3784 def __init__(self
, aptproxysettings
=None, error
=None, proxysettings
=None):
3786 aptproxysettings : ProxyConfig
3788 proxysettings : ProxyConfig
3790 self
.aptproxysettings
= ProxyConfig
.from_json(aptproxysettings
) if aptproxysettings
else None
3791 self
.error
= Error
.from_json(error
) if error
else None
3792 self
.proxysettings
= ProxyConfig
.from_json(proxysettings
) if proxysettings
else None
3795 class ProxyConfigResults(Type
):
3796 _toSchema
= {'results': 'Results'}
3797 _toPy
= {'Results': 'results'}
3798 def __init__(self
, results
=None):
3800 results : typing.Sequence[~ProxyConfigResult]
3802 self
.results
= [ProxyConfigResult
.from_json(o
) for o
in results
or []]
3805 class RebootActionResult(Type
):
3806 _toSchema
= {'result': 'result', 'error': 'error'}
3807 _toPy
= {'result': 'result', 'error': 'error'}
3808 def __init__(self
, error
=None, result
=None):
3813 self
.error
= Error
.from_json(error
) if error
else None
3814 self
.result
= result
3817 class RebootActionResults(Type
):
3818 _toSchema
= {'results': 'results'}
3819 _toPy
= {'results': 'results'}
3820 def __init__(self
, results
=None):
3822 results : typing.Sequence[~RebootActionResult]
3824 self
.results
= [RebootActionResult
.from_json(o
) for o
in results
or []]
3827 class RelationUnitsChange(Type
):
3828 _toSchema
= {'departed': 'Departed', 'changed': 'Changed'}
3829 _toPy
= {'Changed': 'changed', 'Departed': 'departed'}
3830 def __init__(self
, changed
=None, departed
=None):
3832 changed : typing.Mapping[str, ~UnitSettings]
3833 departed : typing.Sequence[str]
3835 self
.changed
= {k
: UnitSettings
.from_json(v
) for k
, v
in (changed
or dict()).items()}
3836 self
.departed
= departed
3839 class RelationUnitsWatchResult(Type
):
3840 _toSchema
= {'changes': 'Changes', 'relationunitswatcherid': 'RelationUnitsWatcherId', 'error': 'Error'}
3841 _toPy
= {'Changes': 'changes', 'RelationUnitsWatcherId': 'relationunitswatcherid', 'Error': 'error'}
3842 def __init__(self
, changes
=None, error
=None, relationunitswatcherid
=None):
3844 changes : RelationUnitsChange
3846 relationunitswatcherid : str
3848 self
.changes
= RelationUnitsChange
.from_json(changes
) if changes
else None
3849 self
.error
= Error
.from_json(error
) if error
else None
3850 self
.relationunitswatcherid
= relationunitswatcherid
3853 class UnitSettings(Type
):
3854 _toSchema
= {'version': 'Version'}
3855 _toPy
= {'Version': 'version'}
3856 def __init__(self
, version
=None):
3860 self
.version
= version
3863 class RetryStrategy(Type
):
3864 _toSchema
= {'jitterretrytime': 'JitterRetryTime', 'shouldretry': 'ShouldRetry', 'minretrytime': 'MinRetryTime', 'retrytimefactor': 'RetryTimeFactor', 'maxretrytime': 'MaxRetryTime'}
3865 _toPy
= {'MinRetryTime': 'minretrytime', 'JitterRetryTime': 'jitterretrytime', 'RetryTimeFactor': 'retrytimefactor', 'MaxRetryTime': 'maxretrytime', 'ShouldRetry': 'shouldretry'}
3866 def __init__(self
, jitterretrytime
=None, maxretrytime
=None, minretrytime
=None, retrytimefactor
=None, shouldretry
=None):
3868 jitterretrytime : bool
3871 retrytimefactor : int
3874 self
.jitterretrytime
= jitterretrytime
3875 self
.maxretrytime
= maxretrytime
3876 self
.minretrytime
= minretrytime
3877 self
.retrytimefactor
= retrytimefactor
3878 self
.shouldretry
= shouldretry
3881 class RetryStrategyResult(Type
):
3882 _toSchema
= {'result': 'Result', 'error': 'Error'}
3883 _toPy
= {'Result': 'result', 'Error': 'error'}
3884 def __init__(self
, error
=None, result
=None):
3887 result : RetryStrategy
3889 self
.error
= Error
.from_json(error
) if error
else None
3890 self
.result
= RetryStrategy
.from_json(result
) if result
else None
3893 class RetryStrategyResults(Type
):
3894 _toSchema
= {'results': 'Results'}
3895 _toPy
= {'Results': 'results'}
3896 def __init__(self
, results
=None):
3898 results : typing.Sequence[~RetryStrategyResult]
3900 self
.results
= [RetryStrategyResult
.from_json(o
) for o
in results
or []]
3903 class SSHAddressResult(Type
):
3904 _toSchema
= {'address': 'address', 'error': 'error'}
3905 _toPy
= {'address': 'address', 'error': 'error'}
3906 def __init__(self
, address
=None, error
=None):
3911 self
.address
= address
3912 self
.error
= Error
.from_json(error
) if error
else None
3915 class SSHAddressResults(Type
):
3916 _toSchema
= {'results': 'results'}
3917 _toPy
= {'results': 'results'}
3918 def __init__(self
, results
=None):
3920 results : typing.Sequence[~SSHAddressResult]
3922 self
.results
= [SSHAddressResult
.from_json(o
) for o
in results
or []]
3925 class SSHProxyResult(Type
):
3926 _toSchema
= {'use_proxy': 'use-proxy'}
3927 _toPy
= {'use-proxy': 'use_proxy'}
3928 def __init__(self
, use_proxy
=None):
3932 self
.use_proxy
= use_proxy
3935 class SSHPublicKeysResult(Type
):
3936 _toSchema
= {'public_keys': 'public-keys', 'error': 'error'}
3937 _toPy
= {'public-keys': 'public_keys', 'error': 'error'}
3938 def __init__(self
, error
=None, public_keys
=None):
3941 public_keys : typing.Sequence[str]
3943 self
.error
= Error
.from_json(error
) if error
else None
3944 self
.public_keys
= public_keys
3947 class SSHPublicKeysResults(Type
):
3948 _toSchema
= {'results': 'results'}
3949 _toPy
= {'results': 'results'}
3950 def __init__(self
, results
=None):
3952 results : typing.Sequence[~SSHPublicKeysResult]
3954 self
.results
= [SSHPublicKeysResult
.from_json(o
) for o
in results
or []]
3957 class SingularClaim(Type
):
3958 _toSchema
= {'controllertag': 'ControllerTag', 'duration': 'Duration', 'modeltag': 'ModelTag'}
3959 _toPy
= {'ModelTag': 'modeltag', 'ControllerTag': 'controllertag', 'Duration': 'duration'}
3960 def __init__(self
, controllertag
=None, duration
=None, modeltag
=None):
3966 self
.controllertag
= controllertag
3967 self
.duration
= duration
3968 self
.modeltag
= modeltag
3971 class SingularClaims(Type
):
3972 _toSchema
= {'claims': 'Claims'}
3973 _toPy
= {'Claims': 'claims'}
3974 def __init__(self
, claims
=None):
3976 claims : typing.Sequence[~SingularClaim]
3978 self
.claims
= [SingularClaim
.from_json(o
) for o
in claims
or []]
3981 class ListSpacesResults(Type
):
3982 _toSchema
= {'results': 'Results'}
3983 _toPy
= {'Results': 'results'}
3984 def __init__(self
, results
=None):
3986 results : typing.Sequence[~Space]
3988 self
.results
= [Space
.from_json(o
) for o
in results
or []]
3992 _toSchema
= {'subnets': 'Subnets', 'error': 'Error', 'name': 'Name'}
3993 _toPy
= {'Subnets': 'subnets', 'Error': 'error', 'Name': 'name'}
3994 def __init__(self
, error
=None, name
=None, subnets
=None):
3998 subnets : typing.Sequence[~Subnet]
4000 self
.error
= Error
.from_json(error
) if error
else None
4002 self
.subnets
= [Subnet
.from_json(o
) for o
in subnets
or []]
4005 class StatusHistoryPruneArgs(Type
):
4006 _toSchema
= {'maxhistorytime': 'MaxHistoryTime', 'maxhistorymb': 'MaxHistoryMB'}
4007 _toPy
= {'MaxHistoryTime': 'maxhistorytime', 'MaxHistoryMB': 'maxhistorymb'}
4008 def __init__(self
, maxhistorymb
=None, maxhistorytime
=None):
4011 maxhistorytime : int
4013 self
.maxhistorymb
= maxhistorymb
4014 self
.maxhistorytime
= maxhistorytime
4017 class FilesystemAttachmentInfo(Type
):
4018 _toSchema
= {'mountpoint': 'mountpoint', 'read_only': 'read-only'}
4019 _toPy
= {'mountpoint': 'mountpoint', 'read-only': 'read_only'}
4020 def __init__(self
, mountpoint
=None, read_only
=None):
4025 self
.mountpoint
= mountpoint
4026 self
.read_only
= read_only
4029 class FilesystemDetails(Type
):
4030 _toSchema
= {'machineattachments': 'machineattachments', 'info': 'info', 'volumetag': 'volumetag', 'filesystemtag': 'filesystemtag', 'storage': 'storage', 'status': 'status'}
4031 _toPy
= {'machineattachments': 'machineattachments', 'info': 'info', 'volumetag': 'volumetag', 'filesystemtag': 'filesystemtag', 'storage': 'storage', 'status': 'status'}
4032 def __init__(self
, filesystemtag
=None, info
=None, machineattachments
=None, status
=None, storage
=None, volumetag
=None):
4035 info : FilesystemInfo
4036 machineattachments : typing.Mapping[str, ~FilesystemAttachmentInfo]
4037 status : EntityStatus
4038 storage : StorageDetails
4041 self
.filesystemtag
= filesystemtag
4042 self
.info
= FilesystemInfo
.from_json(info
) if info
else None
4043 self
.machineattachments
= {k
: FilesystemAttachmentInfo
.from_json(v
) for k
, v
in (machineattachments
or dict()).items()}
4044 self
.status
= EntityStatus
.from_json(status
) if status
else None
4045 self
.storage
= StorageDetails
.from_json(storage
) if storage
else None
4046 self
.volumetag
= volumetag
4049 class FilesystemDetailsListResult(Type
):
4050 _toSchema
= {'result': 'result', 'error': 'error'}
4051 _toPy
= {'result': 'result', 'error': 'error'}
4052 def __init__(self
, error
=None, result
=None):
4055 result : typing.Sequence[~FilesystemDetails]
4057 self
.error
= Error
.from_json(error
) if error
else None
4058 self
.result
= [FilesystemDetails
.from_json(o
) for o
in result
or []]
4061 class FilesystemDetailsListResults(Type
):
4062 _toSchema
= {'results': 'results'}
4063 _toPy
= {'results': 'results'}
4064 def __init__(self
, results
=None):
4066 results : typing.Sequence[~FilesystemDetailsListResult]
4068 self
.results
= [FilesystemDetailsListResult
.from_json(o
) for o
in results
or []]
4071 class FilesystemFilter(Type
):
4072 _toSchema
= {'machines': 'machines'}
4073 _toPy
= {'machines': 'machines'}
4074 def __init__(self
, machines
=None):
4076 machines : typing.Sequence[str]
4078 self
.machines
= machines
4081 class FilesystemFilters(Type
):
4082 _toSchema
= {'filters': 'filters'}
4083 _toPy
= {'filters': 'filters'}
4084 def __init__(self
, filters
=None):
4086 filters : typing.Sequence[~FilesystemFilter]
4088 self
.filters
= [FilesystemFilter
.from_json(o
) for o
in filters
or []]
4091 class FilesystemInfo(Type
):
4092 _toSchema
= {'filesystemid': 'filesystemid', 'size': 'size'}
4093 _toPy
= {'filesystemid': 'filesystemid', 'size': 'size'}
4094 def __init__(self
, filesystemid
=None, size
=None):
4099 self
.filesystemid
= filesystemid
4103 class StorageAddParams(Type
):
4104 _toSchema
= {'storage': 'storage', 'storagename': 'StorageName', 'unit': 'unit'}
4105 _toPy
= {'StorageName': 'storagename', 'storage': 'storage', 'unit': 'unit'}
4106 def __init__(self
, storagename
=None, storage
=None, unit
=None):
4109 storage : StorageConstraints
4112 self
.storagename
= storagename
4113 self
.storage
= StorageConstraints
.from_json(storage
) if storage
else None
4117 class StorageAttachmentDetails(Type
):
4118 _toSchema
= {'unittag': 'unittag', 'storagetag': 'storagetag', 'location': 'location', 'machinetag': 'machinetag'}
4119 _toPy
= {'unittag': 'unittag', 'storagetag': 'storagetag', 'location': 'location', 'machinetag': 'machinetag'}
4120 def __init__(self
, location
=None, machinetag
=None, storagetag
=None, unittag
=None):
4127 self
.location
= location
4128 self
.machinetag
= machinetag
4129 self
.storagetag
= storagetag
4130 self
.unittag
= unittag
4133 class StorageConstraints(Type
):
4134 _toSchema
= {'pool': 'Pool', 'size': 'Size', 'count': 'Count'}
4135 _toPy
= {'Count': 'count', 'Pool': 'pool', 'Size': 'size'}
4136 def __init__(self
, count
=None, pool
=None, size
=None):
4147 class StorageDetails(Type
):
4148 _toSchema
= {'persistent': 'Persistent', 'storagetag': 'storagetag', 'kind': 'kind', 'ownertag': 'ownertag', 'attachments': 'attachments', 'status': 'status'}
4149 _toPy
= {'storagetag': 'storagetag', 'kind': 'kind', 'Persistent': 'persistent', 'ownertag': 'ownertag', 'attachments': 'attachments', 'status': 'status'}
4150 def __init__(self
, persistent
=None, attachments
=None, kind
=None, ownertag
=None, status
=None, storagetag
=None):
4153 attachments : typing.Mapping[str, ~StorageAttachmentDetails]
4156 status : EntityStatus
4159 self
.persistent
= persistent
4160 self
.attachments
= {k
: StorageAttachmentDetails
.from_json(v
) for k
, v
in (attachments
or dict()).items()}
4162 self
.ownertag
= ownertag
4163 self
.status
= EntityStatus
.from_json(status
) if status
else None
4164 self
.storagetag
= storagetag
4167 class StorageDetailsListResult(Type
):
4168 _toSchema
= {'result': 'result', 'error': 'error'}
4169 _toPy
= {'result': 'result', 'error': 'error'}
4170 def __init__(self
, error
=None, result
=None):
4173 result : typing.Sequence[~StorageDetails]
4175 self
.error
= Error
.from_json(error
) if error
else None
4176 self
.result
= [StorageDetails
.from_json(o
) for o
in result
or []]
4179 class StorageDetailsListResults(Type
):
4180 _toSchema
= {'results': 'results'}
4181 _toPy
= {'results': 'results'}
4182 def __init__(self
, results
=None):
4184 results : typing.Sequence[~StorageDetailsListResult]
4186 self
.results
= [StorageDetailsListResult
.from_json(o
) for o
in results
or []]
4189 class StorageDetailsResult(Type
):
4190 _toSchema
= {'result': 'result', 'error': 'error'}
4191 _toPy
= {'result': 'result', 'error': 'error'}
4192 def __init__(self
, error
=None, result
=None):
4195 result : StorageDetails
4197 self
.error
= Error
.from_json(error
) if error
else None
4198 self
.result
= StorageDetails
.from_json(result
) if result
else None
4201 class StorageDetailsResults(Type
):
4202 _toSchema
= {'results': 'results'}
4203 _toPy
= {'results': 'results'}
4204 def __init__(self
, results
=None):
4206 results : typing.Sequence[~StorageDetailsResult]
4208 self
.results
= [StorageDetailsResult
.from_json(o
) for o
in results
or []]
4211 class StorageFilter(Type
):
4221 class StorageFilters(Type
):
4222 _toSchema
= {'filters': 'filters'}
4223 _toPy
= {'filters': 'filters'}
4224 def __init__(self
, filters
=None):
4226 filters : typing.Sequence[~StorageFilter]
4228 self
.filters
= [StorageFilter
.from_json(o
) for o
in filters
or []]
4231 class StoragePool(Type
):
4232 _toSchema
= {'provider': 'provider', 'attrs': 'attrs', 'name': 'name'}
4233 _toPy
= {'provider': 'provider', 'attrs': 'attrs', 'name': 'name'}
4234 def __init__(self
, attrs
=None, name
=None, provider
=None):
4236 attrs : typing.Mapping[str, typing.Any]
4242 self
.provider
= provider
4245 class StoragePoolFilter(Type
):
4246 _toSchema
= {'providers': 'providers', 'names': 'names'}
4247 _toPy
= {'providers': 'providers', 'names': 'names'}
4248 def __init__(self
, names
=None, providers
=None):
4250 names : typing.Sequence[str]
4251 providers : typing.Sequence[str]
4254 self
.providers
= providers
4257 class StoragePoolFilters(Type
):
4258 _toSchema
= {'filters': 'filters'}
4259 _toPy
= {'filters': 'filters'}
4260 def __init__(self
, filters
=None):
4262 filters : typing.Sequence[~StoragePoolFilter]
4264 self
.filters
= [StoragePoolFilter
.from_json(o
) for o
in filters
or []]
4267 class StoragePoolsResult(Type
):
4268 _toSchema
= {'error': 'error', 'storagepools': 'storagepools'}
4269 _toPy
= {'error': 'error', 'storagepools': 'storagepools'}
4270 def __init__(self
, error
=None, storagepools
=None):
4273 storagepools : typing.Sequence[~StoragePool]
4275 self
.error
= Error
.from_json(error
) if error
else None
4276 self
.storagepools
= [StoragePool
.from_json(o
) for o
in storagepools
or []]
4279 class StoragePoolsResults(Type
):
4280 _toSchema
= {'results': 'results'}
4281 _toPy
= {'results': 'results'}
4282 def __init__(self
, results
=None):
4284 results : typing.Sequence[~StoragePoolsResult]
4286 self
.results
= [StoragePoolsResult
.from_json(o
) for o
in results
or []]
4289 class StoragesAddParams(Type
):
4290 _toSchema
= {'storages': 'storages'}
4291 _toPy
= {'storages': 'storages'}
4292 def __init__(self
, storages
=None):
4294 storages : typing.Sequence[~StorageAddParams]
4296 self
.storages
= [StorageAddParams
.from_json(o
) for o
in storages
or []]
4299 class VolumeDetails(Type
):
4300 _toSchema
= {'machineattachments': 'machineattachments', 'volumetag': 'volumetag', 'info': 'info', 'storage': 'storage', 'status': 'status'}
4301 _toPy
= {'machineattachments': 'machineattachments', 'volumetag': 'volumetag', 'info': 'info', 'storage': 'storage', 'status': 'status'}
4302 def __init__(self
, info
=None, machineattachments
=None, status
=None, storage
=None, volumetag
=None):
4305 machineattachments : typing.Mapping[str, ~VolumeAttachmentInfo]
4306 status : EntityStatus
4307 storage : StorageDetails
4310 self
.info
= VolumeInfo
.from_json(info
) if info
else None
4311 self
.machineattachments
= {k
: VolumeAttachmentInfo
.from_json(v
) for k
, v
in (machineattachments
or dict()).items()}
4312 self
.status
= EntityStatus
.from_json(status
) if status
else None
4313 self
.storage
= StorageDetails
.from_json(storage
) if storage
else None
4314 self
.volumetag
= volumetag
4317 class VolumeDetailsListResult(Type
):
4318 _toSchema
= {'result': 'result', 'error': 'error'}
4319 _toPy
= {'result': 'result', 'error': 'error'}
4320 def __init__(self
, error
=None, result
=None):
4323 result : typing.Sequence[~VolumeDetails]
4325 self
.error
= Error
.from_json(error
) if error
else None
4326 self
.result
= [VolumeDetails
.from_json(o
) for o
in result
or []]
4329 class VolumeDetailsListResults(Type
):
4330 _toSchema
= {'results': 'results'}
4331 _toPy
= {'results': 'results'}
4332 def __init__(self
, results
=None):
4334 results : typing.Sequence[~VolumeDetailsListResult]
4336 self
.results
= [VolumeDetailsListResult
.from_json(o
) for o
in results
or []]
4339 class VolumeFilter(Type
):
4340 _toSchema
= {'machines': 'machines'}
4341 _toPy
= {'machines': 'machines'}
4342 def __init__(self
, machines
=None):
4344 machines : typing.Sequence[str]
4346 self
.machines
= machines
4349 class VolumeFilters(Type
):
4350 _toSchema
= {'filters': 'filters'}
4351 _toPy
= {'filters': 'filters'}
4352 def __init__(self
, filters
=None):
4354 filters : typing.Sequence[~VolumeFilter]
4356 self
.filters
= [VolumeFilter
.from_json(o
) for o
in filters
or []]
4359 class BlockDeviceResult(Type
):
4360 _toSchema
= {'result': 'result', 'error': 'error'}
4361 _toPy
= {'result': 'result', 'error': 'error'}
4362 def __init__(self
, error
=None, result
=None):
4365 result : BlockDevice
4367 self
.error
= Error
.from_json(error
) if error
else None
4368 self
.result
= BlockDevice
.from_json(result
) if result
else None
4371 class BlockDeviceResults(Type
):
4372 _toSchema
= {'results': 'results'}
4373 _toPy
= {'results': 'results'}
4374 def __init__(self
, results
=None):
4376 results : typing.Sequence[~BlockDeviceResult]
4378 self
.results
= [BlockDeviceResult
.from_json(o
) for o
in results
or []]
4381 class Filesystem(Type
):
4382 _toSchema
= {'filesystemtag': 'filesystemtag', 'volumetag': 'volumetag', 'info': 'info'}
4383 _toPy
= {'filesystemtag': 'filesystemtag', 'volumetag': 'volumetag', 'info': 'info'}
4384 def __init__(self
, filesystemtag
=None, info
=None, volumetag
=None):
4387 info : FilesystemInfo
4390 self
.filesystemtag
= filesystemtag
4391 self
.info
= FilesystemInfo
.from_json(info
) if info
else None
4392 self
.volumetag
= volumetag
4395 class FilesystemAttachment(Type
):
4396 _toSchema
= {'filesystemtag': 'filesystemtag', 'info': 'info', 'machinetag': 'machinetag'}
4397 _toPy
= {'filesystemtag': 'filesystemtag', 'info': 'info', 'machinetag': 'machinetag'}
4398 def __init__(self
, filesystemtag
=None, info
=None, machinetag
=None):
4401 info : FilesystemAttachmentInfo
4404 self
.filesystemtag
= filesystemtag
4405 self
.info
= FilesystemAttachmentInfo
.from_json(info
) if info
else None
4406 self
.machinetag
= machinetag
4409 class FilesystemAttachmentParams(Type
):
4410 _toSchema
= {'filesystemtag': 'filesystemtag', 'mountpoint': 'mountpoint', 'read_only': 'read-only', 'provider': 'provider', 'filesystemid': 'filesystemid', 'instanceid': 'instanceid', 'machinetag': 'machinetag'}
4411 _toPy
= {'filesystemtag': 'filesystemtag', 'mountpoint': 'mountpoint', 'provider': 'provider', 'read-only': 'read_only', 'filesystemid': 'filesystemid', 'instanceid': 'instanceid', 'machinetag': 'machinetag'}
4412 def __init__(self
, filesystemid
=None, filesystemtag
=None, instanceid
=None, machinetag
=None, mountpoint
=None, provider
=None, read_only
=None):
4422 self
.filesystemid
= filesystemid
4423 self
.filesystemtag
= filesystemtag
4424 self
.instanceid
= instanceid
4425 self
.machinetag
= machinetag
4426 self
.mountpoint
= mountpoint
4427 self
.provider
= provider
4428 self
.read_only
= read_only
4431 class FilesystemAttachmentParamsResult(Type
):
4432 _toSchema
= {'result': 'result', 'error': 'error'}
4433 _toPy
= {'result': 'result', 'error': 'error'}
4434 def __init__(self
, error
=None, result
=None):
4437 result : FilesystemAttachmentParams
4439 self
.error
= Error
.from_json(error
) if error
else None
4440 self
.result
= FilesystemAttachmentParams
.from_json(result
) if result
else None
4443 class FilesystemAttachmentParamsResults(Type
):
4444 _toSchema
= {'results': 'results'}
4445 _toPy
= {'results': 'results'}
4446 def __init__(self
, results
=None):
4448 results : typing.Sequence[~FilesystemAttachmentParamsResult]
4450 self
.results
= [FilesystemAttachmentParamsResult
.from_json(o
) for o
in results
or []]
4453 class FilesystemAttachmentResult(Type
):
4454 _toSchema
= {'result': 'result', 'error': 'error'}
4455 _toPy
= {'result': 'result', 'error': 'error'}
4456 def __init__(self
, error
=None, result
=None):
4459 result : FilesystemAttachment
4461 self
.error
= Error
.from_json(error
) if error
else None
4462 self
.result
= FilesystemAttachment
.from_json(result
) if result
else None
4465 class FilesystemAttachmentResults(Type
):
4466 _toSchema
= {'results': 'results'}
4467 _toPy
= {'results': 'results'}
4468 def __init__(self
, results
=None):
4470 results : typing.Sequence[~FilesystemAttachmentResult]
4472 self
.results
= [FilesystemAttachmentResult
.from_json(o
) for o
in results
or []]
4475 class FilesystemAttachments(Type
):
4476 _toSchema
= {'filesystemattachments': 'filesystemattachments'}
4477 _toPy
= {'filesystemattachments': 'filesystemattachments'}
4478 def __init__(self
, filesystemattachments
=None):
4480 filesystemattachments : typing.Sequence[~FilesystemAttachment]
4482 self
.filesystemattachments
= [FilesystemAttachment
.from_json(o
) for o
in filesystemattachments
or []]
4485 class FilesystemParams(Type
):
4486 _toSchema
= {'attachment': 'attachment', 'attributes': 'attributes', 'size': 'size', 'volumetag': 'volumetag', 'filesystemtag': 'filesystemtag', 'tags': 'tags', 'provider': 'provider'}
4487 _toPy
= {'attachment': 'attachment', 'attributes': 'attributes', 'size': 'size', 'volumetag': 'volumetag', 'filesystemtag': 'filesystemtag', 'tags': 'tags', 'provider': 'provider'}
4488 def __init__(self
, attachment
=None, attributes
=None, filesystemtag
=None, provider
=None, size
=None, tags
=None, volumetag
=None):
4490 attachment : FilesystemAttachmentParams
4491 attributes : typing.Mapping[str, typing.Any]
4495 tags : typing.Mapping[str, str]
4498 self
.attachment
= FilesystemAttachmentParams
.from_json(attachment
) if attachment
else None
4499 self
.attributes
= attributes
4500 self
.filesystemtag
= filesystemtag
4501 self
.provider
= provider
4504 self
.volumetag
= volumetag
4507 class FilesystemParamsResult(Type
):
4508 _toSchema
= {'result': 'result', 'error': 'error'}
4509 _toPy
= {'result': 'result', 'error': 'error'}
4510 def __init__(self
, error
=None, result
=None):
4513 result : FilesystemParams
4515 self
.error
= Error
.from_json(error
) if error
else None
4516 self
.result
= FilesystemParams
.from_json(result
) if result
else None
4519 class FilesystemParamsResults(Type
):
4520 _toSchema
= {'results': 'results'}
4521 _toPy
= {'results': 'results'}
4522 def __init__(self
, results
=None):
4524 results : typing.Sequence[~FilesystemParamsResult]
4526 self
.results
= [FilesystemParamsResult
.from_json(o
) for o
in results
or []]
4529 class FilesystemResult(Type
):
4530 _toSchema
= {'result': 'result', 'error': 'error'}
4531 _toPy
= {'result': 'result', 'error': 'error'}
4532 def __init__(self
, error
=None, result
=None):
4537 self
.error
= Error
.from_json(error
) if error
else None
4538 self
.result
= Filesystem
.from_json(result
) if result
else None
4541 class FilesystemResults(Type
):
4542 _toSchema
= {'results': 'results'}
4543 _toPy
= {'results': 'results'}
4544 def __init__(self
, results
=None):
4546 results : typing.Sequence[~FilesystemResult]
4548 self
.results
= [FilesystemResult
.from_json(o
) for o
in results
or []]
4551 class Filesystems(Type
):
4552 _toSchema
= {'filesystems': 'filesystems'}
4553 _toPy
= {'filesystems': 'filesystems'}
4554 def __init__(self
, filesystems
=None):
4556 filesystems : typing.Sequence[~Filesystem]
4558 self
.filesystems
= [Filesystem
.from_json(o
) for o
in filesystems
or []]
4561 class MachineStorageIds(Type
):
4562 _toSchema
= {'ids': 'ids'}
4563 _toPy
= {'ids': 'ids'}
4564 def __init__(self
, ids
=None):
4566 ids : typing.Sequence[~MachineStorageId]
4568 self
.ids
= [MachineStorageId
.from_json(o
) for o
in ids
or []]
4571 class MachineStorageIdsWatchResults(Type
):
4572 _toSchema
= {'results': 'Results'}
4573 _toPy
= {'Results': 'results'}
4574 def __init__(self
, results
=None):
4576 results : typing.Sequence[~MachineStorageIdsWatchResult]
4578 self
.results
= [MachineStorageIdsWatchResult
.from_json(o
) for o
in results
or []]
4581 class VolumeAttachment(Type
):
4582 _toSchema
= {'volumetag': 'volumetag', 'info': 'info', 'machinetag': 'machinetag'}
4583 _toPy
= {'volumetag': 'volumetag', 'info': 'info', 'machinetag': 'machinetag'}
4584 def __init__(self
, info
=None, machinetag
=None, volumetag
=None):
4586 info : VolumeAttachmentInfo
4590 self
.info
= VolumeAttachmentInfo
.from_json(info
) if info
else None
4591 self
.machinetag
= machinetag
4592 self
.volumetag
= volumetag
4595 class VolumeAttachmentParamsResult(Type
):
4596 _toSchema
= {'result': 'result', 'error': 'error'}
4597 _toPy
= {'result': 'result', 'error': 'error'}
4598 def __init__(self
, error
=None, result
=None):
4601 result : VolumeAttachmentParams
4603 self
.error
= Error
.from_json(error
) if error
else None
4604 self
.result
= VolumeAttachmentParams
.from_json(result
) if result
else None
4607 class VolumeAttachmentParamsResults(Type
):
4608 _toSchema
= {'results': 'results'}
4609 _toPy
= {'results': 'results'}
4610 def __init__(self
, results
=None):
4612 results : typing.Sequence[~VolumeAttachmentParamsResult]
4614 self
.results
= [VolumeAttachmentParamsResult
.from_json(o
) for o
in results
or []]
4617 class VolumeAttachmentResult(Type
):
4618 _toSchema
= {'result': 'result', 'error': 'error'}
4619 _toPy
= {'result': 'result', 'error': 'error'}
4620 def __init__(self
, error
=None, result
=None):
4623 result : VolumeAttachment
4625 self
.error
= Error
.from_json(error
) if error
else None
4626 self
.result
= VolumeAttachment
.from_json(result
) if result
else None
4629 class VolumeAttachmentResults(Type
):
4630 _toSchema
= {'results': 'results'}
4631 _toPy
= {'results': 'results'}
4632 def __init__(self
, results
=None):
4634 results : typing.Sequence[~VolumeAttachmentResult]
4636 self
.results
= [VolumeAttachmentResult
.from_json(o
) for o
in results
or []]
4639 class VolumeAttachments(Type
):
4640 _toSchema
= {'volumeattachments': 'volumeattachments'}
4641 _toPy
= {'volumeattachments': 'volumeattachments'}
4642 def __init__(self
, volumeattachments
=None):
4644 volumeattachments : typing.Sequence[~VolumeAttachment]
4646 self
.volumeattachments
= [VolumeAttachment
.from_json(o
) for o
in volumeattachments
or []]
4649 class VolumeParamsResult(Type
):
4650 _toSchema
= {'result': 'result', 'error': 'error'}
4651 _toPy
= {'result': 'result', 'error': 'error'}
4652 def __init__(self
, error
=None, result
=None):
4655 result : VolumeParams
4657 self
.error
= Error
.from_json(error
) if error
else None
4658 self
.result
= VolumeParams
.from_json(result
) if result
else None
4661 class VolumeParamsResults(Type
):
4662 _toSchema
= {'results': 'results'}
4663 _toPy
= {'results': 'results'}
4664 def __init__(self
, results
=None):
4666 results : typing.Sequence[~VolumeParamsResult]
4668 self
.results
= [VolumeParamsResult
.from_json(o
) for o
in results
or []]
4671 class VolumeResult(Type
):
4672 _toSchema
= {'result': 'result', 'error': 'error'}
4673 _toPy
= {'result': 'result', 'error': 'error'}
4674 def __init__(self
, error
=None, result
=None):
4679 self
.error
= Error
.from_json(error
) if error
else None
4680 self
.result
= Volume
.from_json(result
) if result
else None
4683 class VolumeResults(Type
):
4684 _toSchema
= {'results': 'results'}
4685 _toPy
= {'results': 'results'}
4686 def __init__(self
, results
=None):
4688 results : typing.Sequence[~VolumeResult]
4690 self
.results
= [VolumeResult
.from_json(o
) for o
in results
or []]
4693 class Volumes(Type
):
4694 _toSchema
= {'volumes': 'volumes'}
4695 _toPy
= {'volumes': 'volumes'}
4696 def __init__(self
, volumes
=None):
4698 volumes : typing.Sequence[~Volume]
4700 self
.volumes
= [Volume
.from_json(o
) for o
in volumes
or []]
4703 class SpaceResult(Type
):
4704 _toSchema
= {'error': 'Error', 'tag': 'Tag'}
4705 _toPy
= {'Tag': 'tag', 'Error': 'error'}
4706 def __init__(self
, error
=None, tag
=None):
4711 self
.error
= Error
.from_json(error
) if error
else None
4715 class SpaceResults(Type
):
4716 _toSchema
= {'results': 'Results'}
4717 _toPy
= {'Results': 'results'}
4718 def __init__(self
, results
=None):
4720 results : typing.Sequence[~SpaceResult]
4722 self
.results
= [SpaceResult
.from_json(o
) for o
in results
or []]
4725 class ZoneResult(Type
):
4726 _toSchema
= {'error': 'Error', 'available': 'Available', 'name': 'Name'}
4727 _toPy
= {'Error': 'error', 'Available': 'available', 'Name': 'name'}
4728 def __init__(self
, available
=None, error
=None, name
=None):
4734 self
.available
= available
4735 self
.error
= Error
.from_json(error
) if error
else None
4739 class ZoneResults(Type
):
4740 _toSchema
= {'results': 'Results'}
4741 _toPy
= {'Results': 'results'}
4742 def __init__(self
, results
=None):
4744 results : typing.Sequence[~ZoneResult]
4746 self
.results
= [ZoneResult
.from_json(o
) for o
in results
or []]
4749 class UndertakerModelInfo(Type
):
4750 _toSchema
= {'globalname': 'GlobalName', 'uuid': 'UUID', 'life': 'Life', 'issystem': 'IsSystem', 'name': 'Name'}
4751 _toPy
= {'GlobalName': 'globalname', 'IsSystem': 'issystem', 'Life': 'life', 'Name': 'name', 'UUID': 'uuid'}
4752 def __init__(self
, globalname
=None, issystem
=None, life
=None, name
=None, uuid
=None):
4760 self
.globalname
= globalname
4761 self
.issystem
= issystem
4767 class UndertakerModelInfoResult(Type
):
4768 _toSchema
= {'result': 'Result', 'error': 'Error'}
4769 _toPy
= {'Result': 'result', 'Error': 'error'}
4770 def __init__(self
, error
=None, result
=None):
4773 result : UndertakerModelInfo
4775 self
.error
= Error
.from_json(error
) if error
else None
4776 self
.result
= UndertakerModelInfo
.from_json(result
) if result
else None
4779 class ApplicationStatusResult(Type
):
4780 _toSchema
= {'units': 'Units', 'application': 'Application', 'error': 'Error'}
4781 _toPy
= {'Error': 'error', 'Application': 'application', 'Units': 'units'}
4782 def __init__(self
, application
=None, error
=None, units
=None):
4784 application : StatusResult
4786 units : typing.Mapping[str, ~StatusResult]
4788 self
.application
= StatusResult
.from_json(application
) if application
else None
4789 self
.error
= Error
.from_json(error
) if error
else None
4790 self
.units
= {k
: StatusResult
.from_json(v
) for k
, v
in (units
or dict()).items()}
4793 class ApplicationStatusResults(Type
):
4794 _toSchema
= {'results': 'Results'}
4795 _toPy
= {'Results': 'results'}
4796 def __init__(self
, results
=None):
4798 results : typing.Sequence[~ApplicationStatusResult]
4800 self
.results
= [ApplicationStatusResult
.from_json(o
) for o
in results
or []]
4803 class CharmURL(Type
):
4804 _toSchema
= {'url': 'URL'}
4805 _toPy
= {'URL': 'url'}
4806 def __init__(self
, url
=None):
4813 class CharmURLs(Type
):
4814 _toSchema
= {'urls': 'URLs'}
4815 _toPy
= {'URLs': 'urls'}
4816 def __init__(self
, urls
=None):
4818 urls : typing.Sequence[~CharmURL]
4820 self
.urls
= [CharmURL
.from_json(o
) for o
in urls
or []]
4823 class ConfigSettingsResult(Type
):
4824 _toSchema
= {'settings': 'Settings', 'error': 'Error'}
4825 _toPy
= {'Settings': 'settings', 'Error': 'error'}
4826 def __init__(self
, error
=None, settings
=None):
4829 settings : typing.Mapping[str, typing.Any]
4831 self
.error
= Error
.from_json(error
) if error
else None
4832 self
.settings
= settings
4835 class ConfigSettingsResults(Type
):
4836 _toSchema
= {'results': 'Results'}
4837 _toPy
= {'Results': 'results'}
4838 def __init__(self
, results
=None):
4840 results : typing.Sequence[~ConfigSettingsResult]
4842 self
.results
= [ConfigSettingsResult
.from_json(o
) for o
in results
or []]
4845 class Endpoint(Type
):
4846 _toSchema
= {'relation': 'Relation', 'applicationname': 'ApplicationName'}
4847 _toPy
= {'Relation': 'relation', 'ApplicationName': 'applicationname'}
4848 def __init__(self
, applicationname
=None, relation
=None):
4850 applicationname : str
4853 self
.applicationname
= applicationname
4854 self
.relation
= Relation
.from_json(relation
) if relation
else None
4857 class EntitiesCharmURL(Type
):
4858 _toSchema
= {'entities': 'Entities'}
4859 _toPy
= {'Entities': 'entities'}
4860 def __init__(self
, entities
=None):
4862 entities : typing.Sequence[~EntityCharmURL]
4864 self
.entities
= [EntityCharmURL
.from_json(o
) for o
in entities
or []]
4867 class EntitiesPortRanges(Type
):
4868 _toSchema
= {'entities': 'Entities'}
4869 _toPy
= {'Entities': 'entities'}
4870 def __init__(self
, entities
=None):
4872 entities : typing.Sequence[~EntityPortRange]
4874 self
.entities
= [EntityPortRange
.from_json(o
) for o
in entities
or []]
4877 class EntityCharmURL(Type
):
4878 _toSchema
= {'charmurl': 'CharmURL', 'tag': 'Tag'}
4879 _toPy
= {'CharmURL': 'charmurl', 'Tag': 'tag'}
4880 def __init__(self
, charmurl
=None, tag
=None):
4885 self
.charmurl
= charmurl
4889 class EntityPortRange(Type
):
4890 _toSchema
= {'toport': 'ToPort', 'fromport': 'FromPort', 'protocol': 'Protocol', 'tag': 'Tag'}
4891 _toPy
= {'FromPort': 'fromport', 'Tag': 'tag', 'Protocol': 'protocol', 'ToPort': 'toport'}
4892 def __init__(self
, fromport
=None, protocol
=None, tag
=None, toport
=None):
4899 self
.fromport
= fromport
4900 self
.protocol
= protocol
4902 self
.toport
= toport
4905 class GetLeadershipSettingsBulkResults(Type
):
4906 _toSchema
= {'results': 'Results'}
4907 _toPy
= {'Results': 'results'}
4908 def __init__(self
, results
=None):
4910 results : typing.Sequence[~GetLeadershipSettingsResult]
4912 self
.results
= [GetLeadershipSettingsResult
.from_json(o
) for o
in results
or []]
4915 class GetLeadershipSettingsResult(Type
):
4916 _toSchema
= {'settings': 'Settings', 'error': 'Error'}
4917 _toPy
= {'Settings': 'settings', 'Error': 'error'}
4918 def __init__(self
, error
=None, settings
=None):
4921 settings : typing.Mapping[str, str]
4923 self
.error
= Error
.from_json(error
) if error
else None
4924 self
.settings
= settings
4927 class IntResult(Type
):
4928 _toSchema
= {'result': 'Result', 'error': 'Error'}
4929 _toPy
= {'Result': 'result', 'Error': 'error'}
4930 def __init__(self
, error
=None, result
=None):
4935 self
.error
= Error
.from_json(error
) if error
else None
4936 self
.result
= result
4939 class IntResults(Type
):
4940 _toSchema
= {'results': 'Results'}
4941 _toPy
= {'Results': 'results'}
4942 def __init__(self
, results
=None):
4944 results : typing.Sequence[~IntResult]
4946 self
.results
= [IntResult
.from_json(o
) for o
in results
or []]
4949 class MergeLeadershipSettingsBulkParams(Type
):
4950 _toSchema
= {'params': 'Params'}
4951 _toPy
= {'Params': 'params'}
4952 def __init__(self
, params
=None):
4954 params : typing.Sequence[~MergeLeadershipSettingsParam]
4956 self
.params
= [MergeLeadershipSettingsParam
.from_json(o
) for o
in params
or []]
4959 class MergeLeadershipSettingsParam(Type
):
4960 _toSchema
= {'applicationtag': 'ApplicationTag', 'settings': 'Settings'}
4961 _toPy
= {'Settings': 'settings', 'ApplicationTag': 'applicationtag'}
4962 def __init__(self
, applicationtag
=None, settings
=None):
4964 applicationtag : str
4965 settings : typing.Mapping[str, str]
4967 self
.applicationtag
= applicationtag
4968 self
.settings
= settings
4971 class ModelResult(Type
):
4972 _toSchema
= {'uuid': 'UUID', 'error': 'Error', 'name': 'Name'}
4973 _toPy
= {'Error': 'error', 'Name': 'name', 'UUID': 'uuid'}
4974 def __init__(self
, error
=None, name
=None, uuid
=None):
4980 self
.error
= Error
.from_json(error
) if error
else None
4985 class RelationIds(Type
):
4986 _toSchema
= {'relationids': 'RelationIds'}
4987 _toPy
= {'RelationIds': 'relationids'}
4988 def __init__(self
, relationids
=None):
4990 relationids : typing.Sequence[int]
4992 self
.relationids
= relationids
4995 class RelationResult(Type
):
4996 _toSchema
= {'key': 'Key', 'life': 'Life', 'id_': 'Id', 'endpoint': 'Endpoint', 'error': 'Error'}
4997 _toPy
= {'Endpoint': 'endpoint', 'Id': 'id_', 'Error': 'error', 'Key': 'key', 'Life': 'life'}
4998 def __init__(self
, endpoint
=None, error
=None, id_
=None, key
=None, life
=None):
5006 self
.endpoint
= Endpoint
.from_json(endpoint
) if endpoint
else None
5007 self
.error
= Error
.from_json(error
) if error
else None
5013 class RelationResults(Type
):
5014 _toSchema
= {'results': 'Results'}
5015 _toPy
= {'Results': 'results'}
5016 def __init__(self
, results
=None):
5018 results : typing.Sequence[~RelationResult]
5020 self
.results
= [RelationResult
.from_json(o
) for o
in results
or []]
5023 class RelationUnit(Type
):
5024 _toSchema
= {'relation': 'Relation', 'unit': 'Unit'}
5025 _toPy
= {'Relation': 'relation', 'Unit': 'unit'}
5026 def __init__(self
, relation
=None, unit
=None):
5031 self
.relation
= relation
5035 class RelationUnitPair(Type
):
5036 _toSchema
= {'localunit': 'LocalUnit', 'relation': 'Relation', 'remoteunit': 'RemoteUnit'}
5037 _toPy
= {'RemoteUnit': 'remoteunit', 'Relation': 'relation', 'LocalUnit': 'localunit'}
5038 def __init__(self
, localunit
=None, relation
=None, remoteunit
=None):
5044 self
.localunit
= localunit
5045 self
.relation
= relation
5046 self
.remoteunit
= remoteunit
5049 class RelationUnitPairs(Type
):
5050 _toSchema
= {'relationunitpairs': 'RelationUnitPairs'}
5051 _toPy
= {'RelationUnitPairs': 'relationunitpairs'}
5052 def __init__(self
, relationunitpairs
=None):
5054 relationunitpairs : typing.Sequence[~RelationUnitPair]
5056 self
.relationunitpairs
= [RelationUnitPair
.from_json(o
) for o
in relationunitpairs
or []]
5059 class RelationUnitSettings(Type
):
5060 _toSchema
= {'settings': 'Settings', 'relation': 'Relation', 'unit': 'Unit'}
5061 _toPy
= {'Settings': 'settings', 'Relation': 'relation', 'Unit': 'unit'}
5062 def __init__(self
, relation
=None, settings
=None, unit
=None):
5065 settings : typing.Mapping[str, str]
5068 self
.relation
= relation
5069 self
.settings
= settings
5073 class RelationUnits(Type
):
5074 _toSchema
= {'relationunits': 'RelationUnits'}
5075 _toPy
= {'RelationUnits': 'relationunits'}
5076 def __init__(self
, relationunits
=None):
5078 relationunits : typing.Sequence[~RelationUnit]
5080 self
.relationunits
= [RelationUnit
.from_json(o
) for o
in relationunits
or []]
5083 class RelationUnitsSettings(Type
):
5084 _toSchema
= {'relationunits': 'RelationUnits'}
5085 _toPy
= {'RelationUnits': 'relationunits'}
5086 def __init__(self
, relationunits
=None):
5088 relationunits : typing.Sequence[~RelationUnitSettings]
5090 self
.relationunits
= [RelationUnitSettings
.from_json(o
) for o
in relationunits
or []]
5093 class RelationUnitsWatchResults(Type
):
5094 _toSchema
= {'results': 'Results'}
5095 _toPy
= {'Results': 'results'}
5096 def __init__(self
, results
=None):
5098 results : typing.Sequence[~RelationUnitsWatchResult]
5100 self
.results
= [RelationUnitsWatchResult
.from_json(o
) for o
in results
or []]
5103 class ResolvedModeResult(Type
):
5104 _toSchema
= {'mode': 'Mode', 'error': 'Error'}
5105 _toPy
= {'Error': 'error', 'Mode': 'mode'}
5106 def __init__(self
, error
=None, mode
=None):
5111 self
.error
= Error
.from_json(error
) if error
else None
5115 class ResolvedModeResults(Type
):
5116 _toSchema
= {'results': 'Results'}
5117 _toPy
= {'Results': 'results'}
5118 def __init__(self
, results
=None):
5120 results : typing.Sequence[~ResolvedModeResult]
5122 self
.results
= [ResolvedModeResult
.from_json(o
) for o
in results
or []]
5125 class SettingsResult(Type
):
5126 _toSchema
= {'settings': 'Settings', 'error': 'Error'}
5127 _toPy
= {'Settings': 'settings', 'Error': 'error'}
5128 def __init__(self
, error
=None, settings
=None):
5131 settings : typing.Mapping[str, str]
5133 self
.error
= Error
.from_json(error
) if error
else None
5134 self
.settings
= settings
5137 class SettingsResults(Type
):
5138 _toSchema
= {'results': 'Results'}
5139 _toPy
= {'Results': 'results'}
5140 def __init__(self
, results
=None):
5142 results : typing.Sequence[~SettingsResult]
5144 self
.results
= [SettingsResult
.from_json(o
) for o
in results
or []]
5147 class StorageAttachment(Type
):
5148 _toSchema
= {'storagetag': 'StorageTag', 'location': 'Location', 'life': 'Life', 'unittag': 'UnitTag', 'ownertag': 'OwnerTag', 'kind': 'Kind'}
5149 _toPy
= {'OwnerTag': 'ownertag', 'StorageTag': 'storagetag', 'UnitTag': 'unittag', 'Life': 'life', 'Location': 'location', 'Kind': 'kind'}
5150 def __init__(self
, kind
=None, life
=None, location
=None, ownertag
=None, storagetag
=None, unittag
=None):
5161 self
.location
= location
5162 self
.ownertag
= ownertag
5163 self
.storagetag
= storagetag
5164 self
.unittag
= unittag
5167 class StorageAttachmentId(Type
):
5168 _toSchema
= {'unittag': 'unittag', 'storagetag': 'storagetag'}
5169 _toPy
= {'unittag': 'unittag', 'storagetag': 'storagetag'}
5170 def __init__(self
, storagetag
=None, unittag
=None):
5175 self
.storagetag
= storagetag
5176 self
.unittag
= unittag
5179 class StorageAttachmentIds(Type
):
5180 _toSchema
= {'ids': 'ids'}
5181 _toPy
= {'ids': 'ids'}
5182 def __init__(self
, ids
=None):
5184 ids : typing.Sequence[~StorageAttachmentId]
5186 self
.ids
= [StorageAttachmentId
.from_json(o
) for o
in ids
or []]
5189 class StorageAttachmentIdsResult(Type
):
5190 _toSchema
= {'result': 'result', 'error': 'error'}
5191 _toPy
= {'result': 'result', 'error': 'error'}
5192 def __init__(self
, error
=None, result
=None):
5195 result : StorageAttachmentIds
5197 self
.error
= Error
.from_json(error
) if error
else None
5198 self
.result
= StorageAttachmentIds
.from_json(result
) if result
else None
5201 class StorageAttachmentIdsResults(Type
):
5202 _toSchema
= {'results': 'results'}
5203 _toPy
= {'results': 'results'}
5204 def __init__(self
, results
=None):
5206 results : typing.Sequence[~StorageAttachmentIdsResult]
5208 self
.results
= [StorageAttachmentIdsResult
.from_json(o
) for o
in results
or []]
5211 class StorageAttachmentResult(Type
):
5212 _toSchema
= {'result': 'result', 'error': 'error'}
5213 _toPy
= {'result': 'result', 'error': 'error'}
5214 def __init__(self
, error
=None, result
=None):
5217 result : StorageAttachment
5219 self
.error
= Error
.from_json(error
) if error
else None
5220 self
.result
= StorageAttachment
.from_json(result
) if result
else None
5223 class StorageAttachmentResults(Type
):
5224 _toSchema
= {'results': 'results'}
5225 _toPy
= {'results': 'results'}
5226 def __init__(self
, results
=None):
5228 results : typing.Sequence[~StorageAttachmentResult]
5230 self
.results
= [StorageAttachmentResult
.from_json(o
) for o
in results
or []]
5233 class StringBoolResult(Type
):
5234 _toSchema
= {'result': 'Result', 'ok': 'Ok', 'error': 'Error'}
5235 _toPy
= {'Result': 'result', 'Error': 'error', 'Ok': 'ok'}
5236 def __init__(self
, error
=None, ok
=None, result
=None):
5242 self
.error
= Error
.from_json(error
) if error
else None
5244 self
.result
= result
5247 class StringBoolResults(Type
):
5248 _toSchema
= {'results': 'Results'}
5249 _toPy
= {'Results': 'results'}
5250 def __init__(self
, results
=None):
5252 results : typing.Sequence[~StringBoolResult]
5254 self
.results
= [StringBoolResult
.from_json(o
) for o
in results
or []]
5257 class UnitNetworkConfig(Type
):
5258 _toSchema
= {'unittag': 'UnitTag', 'bindingname': 'BindingName'}
5259 _toPy
= {'BindingName': 'bindingname', 'UnitTag': 'unittag'}
5260 def __init__(self
, bindingname
=None, unittag
=None):
5265 self
.bindingname
= bindingname
5266 self
.unittag
= unittag
5269 class UnitNetworkConfigResult(Type
):
5270 _toSchema
= {'info': 'Info', 'error': 'Error'}
5271 _toPy
= {'Error': 'error', 'Info': 'info'}
5272 def __init__(self
, error
=None, info
=None):
5275 info : typing.Sequence[~NetworkConfig]
5277 self
.error
= Error
.from_json(error
) if error
else None
5278 self
.info
= [NetworkConfig
.from_json(o
) for o
in info
or []]
5281 class UnitNetworkConfigResults(Type
):
5282 _toSchema
= {'results': 'Results'}
5283 _toPy
= {'Results': 'results'}
5284 def __init__(self
, results
=None):
5286 results : typing.Sequence[~UnitNetworkConfigResult]
5288 self
.results
= [UnitNetworkConfigResult
.from_json(o
) for o
in results
or []]
5291 class UnitsNetworkConfig(Type
):
5292 _toSchema
= {'args': 'Args'}
5293 _toPy
= {'Args': 'args'}
5294 def __init__(self
, args
=None):
5296 args : typing.Sequence[~UnitNetworkConfig]
5298 self
.args
= [UnitNetworkConfig
.from_json(o
) for o
in args
or []]
5301 class EntitiesVersion(Type
):
5302 _toSchema
= {'agenttools': 'AgentTools'}
5303 _toPy
= {'AgentTools': 'agenttools'}
5304 def __init__(self
, agenttools
=None):
5306 agenttools : typing.Sequence[~EntityVersion]
5308 self
.agenttools
= [EntityVersion
.from_json(o
) for o
in agenttools
or []]
5311 class EntityVersion(Type
):
5312 _toSchema
= {'tools': 'Tools', 'tag': 'Tag'}
5313 _toPy
= {'Tag': 'tag', 'Tools': 'tools'}
5314 def __init__(self
, tag
=None, tools
=None):
5320 self
.tools
= Version
.from_json(tools
) if tools
else None
5323 class VersionResult(Type
):
5324 _toSchema
= {'error': 'Error', 'version': 'Version'}
5325 _toPy
= {'Error': 'error', 'Version': 'version'}
5326 def __init__(self
, error
=None, version
=None):
5331 self
.error
= Error
.from_json(error
) if error
else None
5332 self
.version
= Number
.from_json(version
) if version
else None
5335 class VersionResults(Type
):
5336 _toSchema
= {'results': 'Results'}
5337 _toPy
= {'Results': 'results'}
5338 def __init__(self
, results
=None):
5340 results : typing.Sequence[~VersionResult]
5342 self
.results
= [VersionResult
.from_json(o
) for o
in results
or []]
5345 class AddUser(Type
):
5346 _toSchema
= {'model_access_permission': 'model-access-permission', 'shared_model_tags': 'shared-model-tags', 'password': 'password', 'username': 'username', 'display_name': 'display-name'}
5347 _toPy
= {'model-access-permission': 'model_access_permission', 'password': 'password', 'username': 'username', 'shared-model-tags': 'shared_model_tags', 'display-name': 'display_name'}
5348 def __init__(self
, display_name
=None, model_access_permission
=None, password
=None, shared_model_tags
=None, username
=None):
5351 model_access_permission : str
5353 shared_model_tags : typing.Sequence[str]
5356 self
.display_name
= display_name
5357 self
.model_access_permission
= model_access_permission
5358 self
.password
= password
5359 self
.shared_model_tags
= shared_model_tags
5360 self
.username
= username
5363 class AddUserResult(Type
):
5364 _toSchema
= {'tag': 'tag', 'error': 'error', 'secret_key': 'secret-key'}
5365 _toPy
= {'error': 'error', 'tag': 'tag', 'secret-key': 'secret_key'}
5366 def __init__(self
, error
=None, secret_key
=None, tag
=None):
5369 secret_key : typing.Sequence[int]
5372 self
.error
= Error
.from_json(error
) if error
else None
5373 self
.secret_key
= secret_key
5377 class AddUserResults(Type
):
5378 _toSchema
= {'results': 'results'}
5379 _toPy
= {'results': 'results'}
5380 def __init__(self
, results
=None):
5382 results : typing.Sequence[~AddUserResult]
5384 self
.results
= [AddUserResult
.from_json(o
) for o
in results
or []]
5387 class AddUsers(Type
):
5388 _toSchema
= {'users': 'users'}
5389 _toPy
= {'users': 'users'}
5390 def __init__(self
, users
=None):
5392 users : typing.Sequence[~AddUser]
5394 self
.users
= [AddUser
.from_json(o
) for o
in users
or []]
5397 class MacaroonResult(Type
):
5398 _toSchema
= {'result': 'result', 'error': 'error'}
5399 _toPy
= {'result': 'result', 'error': 'error'}
5400 def __init__(self
, error
=None, result
=None):
5405 self
.error
= Error
.from_json(error
) if error
else None
5406 self
.result
= Macaroon
.from_json(result
) if result
else None
5409 class MacaroonResults(Type
):
5410 _toSchema
= {'results': 'results'}
5411 _toPy
= {'results': 'results'}
5412 def __init__(self
, results
=None):
5414 results : typing.Sequence[~MacaroonResult]
5416 self
.results
= [MacaroonResult
.from_json(o
) for o
in results
or []]
5419 class UserInfo(Type
):
5420 _toSchema
= {'date_created': 'date-created', 'last_connection': 'last-connection', 'disabled': 'disabled', 'display_name': 'display-name', 'created_by': 'created-by', 'username': 'username'}
5421 _toPy
= {'last-connection': 'last_connection', 'date-created': 'date_created', 'disabled': 'disabled', 'created-by': 'created_by', 'username': 'username', 'display-name': 'display_name'}
5422 def __init__(self
, created_by
=None, date_created
=None, disabled
=None, display_name
=None, last_connection
=None, username
=None):
5428 last_connection : str
5431 self
.created_by
= created_by
5432 self
.date_created
= date_created
5433 self
.disabled
= disabled
5434 self
.display_name
= display_name
5435 self
.last_connection
= last_connection
5436 self
.username
= username
5439 class UserInfoRequest(Type
):
5440 _toSchema
= {'include_disabled': 'include-disabled', 'entities': 'entities'}
5441 _toPy
= {'include-disabled': 'include_disabled', 'entities': 'entities'}
5442 def __init__(self
, entities
=None, include_disabled
=None):
5444 entities : typing.Sequence[~Entity]
5445 include_disabled : bool
5447 self
.entities
= [Entity
.from_json(o
) for o
in entities
or []]
5448 self
.include_disabled
= include_disabled
5451 class UserInfoResult(Type
):
5452 _toSchema
= {'result': 'result', 'error': 'error'}
5453 _toPy
= {'result': 'result', 'error': 'error'}
5454 def __init__(self
, error
=None, result
=None):
5459 self
.error
= Error
.from_json(error
) if error
else None
5460 self
.result
= UserInfo
.from_json(result
) if result
else None
5463 class UserInfoResults(Type
):
5464 _toSchema
= {'results': 'results'}
5465 _toPy
= {'results': 'results'}
5466 def __init__(self
, results
=None):
5468 results : typing.Sequence[~UserInfoResult]
5470 self
.results
= [UserInfoResult
.from_json(o
) for o
in results
or []]
5473 class ActionFacade(Type
):
5476 schema
= {'definitions': {'Action': {'additionalProperties': False,
5477 'properties': {'name': {'type': 'string'},
5478 'parameters': {'patternProperties': {'.*': {'additionalProperties': True,
5481 'receiver': {'type': 'string'},
5482 'tag': {'type': 'string'}},
5483 'required': ['tag', 'receiver', 'name'],
5485 'ActionResult': {'additionalProperties': False,
5486 'properties': {'action': {'$ref': '#/definitions/Action'},
5487 'completed': {'format': 'date-time',
5489 'enqueued': {'format': 'date-time',
5491 'error': {'$ref': '#/definitions/Error'},
5492 'message': {'type': 'string'},
5493 'output': {'patternProperties': {'.*': {'additionalProperties': True,
5496 'started': {'format': 'date-time',
5498 'status': {'type': 'string'}},
5500 'ActionResults': {'additionalProperties': False,
5501 'properties': {'results': {'items': {'$ref': '#/definitions/ActionResult'},
5504 'ActionSpec': {'additionalProperties': False,
5505 'properties': {'Description': {'type': 'string'},
5506 'Params': {'patternProperties': {'.*': {'additionalProperties': True,
5509 'required': ['Description', 'Params'],
5511 'Actions': {'additionalProperties': False,
5512 'properties': {'ActionSpecs': {'patternProperties': {'.*': {'$ref': '#/definitions/ActionSpec'}},
5514 'required': ['ActionSpecs'],
5516 'ActionsByName': {'additionalProperties': False,
5517 'properties': {'actions': {'items': {'$ref': '#/definitions/ActionResult'},
5519 'error': {'$ref': '#/definitions/Error'},
5520 'name': {'type': 'string'}},
5522 'ActionsByNames': {'additionalProperties': False,
5523 'properties': {'actions': {'items': {'$ref': '#/definitions/ActionsByName'},
5526 'ActionsByReceiver': {'additionalProperties': False,
5527 'properties': {'actions': {'items': {'$ref': '#/definitions/ActionResult'},
5529 'error': {'$ref': '#/definitions/Error'},
5530 'receiver': {'type': 'string'}},
5532 'ActionsByReceivers': {'additionalProperties': False,
5533 'properties': {'actions': {'items': {'$ref': '#/definitions/ActionsByReceiver'},
5536 'ApplicationCharmActionsResult': {'additionalProperties': False,
5537 'properties': {'ApplicationTag': {'type': 'string'},
5538 'actions': {'$ref': '#/definitions/Actions'},
5539 'error': {'$ref': '#/definitions/Error'}},
5541 'ApplicationsCharmActionsResults': {'additionalProperties': False,
5542 'properties': {'results': {'items': {'$ref': '#/definitions/ApplicationCharmActionsResult'},
5545 'Entities': {'additionalProperties': False,
5546 'properties': {'Entities': {'items': {'$ref': '#/definitions/Entity'},
5548 'required': ['Entities'],
5550 'Entity': {'additionalProperties': False,
5551 'properties': {'Tag': {'type': 'string'}},
5552 'required': ['Tag'],
5554 'Error': {'additionalProperties': False,
5555 'properties': {'Code': {'type': 'string'},
5556 'Info': {'$ref': '#/definitions/ErrorInfo'},
5557 'Message': {'type': 'string'}},
5558 'required': ['Message', 'Code'],
5560 'ErrorInfo': {'additionalProperties': False,
5561 'properties': {'Macaroon': {'$ref': '#/definitions/Macaroon'},
5562 'MacaroonPath': {'type': 'string'}},
5564 'FindActionsByNames': {'additionalProperties': False,
5565 'properties': {'names': {'items': {'type': 'string'},
5568 'FindTags': {'additionalProperties': False,
5569 'properties': {'prefixes': {'items': {'type': 'string'},
5571 'required': ['prefixes'],
5573 'FindTagsResults': {'additionalProperties': False,
5574 'properties': {'matches': {'patternProperties': {'.*': {'items': {'$ref': '#/definitions/Entity'},
5577 'required': ['matches'],
5579 'Macaroon': {'additionalProperties': False,
5580 'properties': {'caveats': {'items': {'$ref': '#/definitions/caveat'},
5582 'data': {'items': {'type': 'integer'},
5584 'id': {'$ref': '#/definitions/packet'},
5585 'location': {'$ref': '#/definitions/packet'},
5586 'sig': {'items': {'type': 'integer'},
5588 'required': ['data',
5594 'RunParams': {'additionalProperties': False,
5595 'properties': {'Applications': {'items': {'type': 'string'},
5597 'Commands': {'type': 'string'},
5598 'Machines': {'items': {'type': 'string'},
5600 'Timeout': {'type': 'integer'},
5601 'Units': {'items': {'type': 'string'},
5603 'required': ['Commands',
5609 'caveat': {'additionalProperties': False,
5610 'properties': {'caveatId': {'$ref': '#/definitions/packet'},
5611 'location': {'$ref': '#/definitions/packet'},
5612 'verificationId': {'$ref': '#/definitions/packet'}},
5613 'required': ['location',
5617 'packet': {'additionalProperties': False,
5618 'properties': {'headerLen': {'type': 'integer'},
5619 'start': {'type': 'integer'},
5620 'totalLen': {'type': 'integer'}},
5621 'required': ['start', 'totalLen', 'headerLen'],
5623 'properties': {'Actions': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
5624 'Result': {'$ref': '#/definitions/ActionResults'}},
5626 'ApplicationsCharmsActions': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
5627 'Result': {'$ref': '#/definitions/ApplicationsCharmActionsResults'}},
5629 'Cancel': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
5630 'Result': {'$ref': '#/definitions/ActionResults'}},
5632 'Enqueue': {'properties': {'Params': {'$ref': '#/definitions/Actions'},
5633 'Result': {'$ref': '#/definitions/ActionResults'}},
5635 'FindActionTagsByPrefix': {'properties': {'Params': {'$ref': '#/definitions/FindTags'},
5636 'Result': {'$ref': '#/definitions/FindTagsResults'}},
5638 'FindActionsByNames': {'properties': {'Params': {'$ref': '#/definitions/FindActionsByNames'},
5639 'Result': {'$ref': '#/definitions/ActionsByNames'}},
5641 'ListAll': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
5642 'Result': {'$ref': '#/definitions/ActionsByReceivers'}},
5644 'ListCompleted': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
5645 'Result': {'$ref': '#/definitions/ActionsByReceivers'}},
5647 'ListPending': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
5648 'Result': {'$ref': '#/definitions/ActionsByReceivers'}},
5650 'ListRunning': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
5651 'Result': {'$ref': '#/definitions/ActionsByReceivers'}},
5653 'Run': {'properties': {'Params': {'$ref': '#/definitions/RunParams'},
5654 'Result': {'$ref': '#/definitions/ActionResults'}},
5656 'RunOnAllMachines': {'properties': {'Params': {'$ref': '#/definitions/RunParams'},
5657 'Result': {'$ref': '#/definitions/ActionResults'}},
5662 @ReturnMapping(ActionResults
)
5663 async def Actions(self
, entities
):
5665 entities : typing.Sequence[~Entity]
5666 Returns -> typing.Sequence[~ActionResult]
5668 # map input types to rpc msg
5670 msg
= dict(Type
='Action', Request
='Actions', Version
=2, Params
=params
)
5671 params
['Entities'] = entities
5672 reply
= await self
.rpc(msg
)
5677 @ReturnMapping(ApplicationsCharmActionsResults
)
5678 async def ApplicationsCharmsActions(self
, entities
):
5680 entities : typing.Sequence[~Entity]
5681 Returns -> typing.Sequence[~ApplicationCharmActionsResult]
5683 # map input types to rpc msg
5685 msg
= dict(Type
='Action', Request
='ApplicationsCharmsActions', Version
=2, Params
=params
)
5686 params
['Entities'] = entities
5687 reply
= await self
.rpc(msg
)
5692 @ReturnMapping(ActionResults
)
5693 async def Cancel(self
, entities
):
5695 entities : typing.Sequence[~Entity]
5696 Returns -> typing.Sequence[~ActionResult]
5698 # map input types to rpc msg
5700 msg
= dict(Type
='Action', Request
='Cancel', Version
=2, Params
=params
)
5701 params
['Entities'] = entities
5702 reply
= await self
.rpc(msg
)
5707 @ReturnMapping(ActionResults
)
5708 async def Enqueue(self
, actionspecs
):
5710 actionspecs : typing.Mapping[str, ~ActionSpec]
5711 Returns -> typing.Sequence[~ActionResult]
5713 # map input types to rpc msg
5715 msg
= dict(Type
='Action', Request
='Enqueue', Version
=2, Params
=params
)
5716 params
['ActionSpecs'] = actionspecs
5717 reply
= await self
.rpc(msg
)
5722 @ReturnMapping(FindTagsResults
)
5723 async def FindActionTagsByPrefix(self
, prefixes
):
5725 prefixes : typing.Sequence[str]
5726 Returns -> typing.Sequence[~Entity]
5728 # map input types to rpc msg
5730 msg
= dict(Type
='Action', Request
='FindActionTagsByPrefix', Version
=2, Params
=params
)
5731 params
['prefixes'] = prefixes
5732 reply
= await self
.rpc(msg
)
5737 @ReturnMapping(ActionsByNames
)
5738 async def FindActionsByNames(self
, names
):
5740 names : typing.Sequence[str]
5741 Returns -> typing.Sequence[~ActionsByName]
5743 # map input types to rpc msg
5745 msg
= dict(Type
='Action', Request
='FindActionsByNames', Version
=2, Params
=params
)
5746 params
['names'] = names
5747 reply
= await self
.rpc(msg
)
5752 @ReturnMapping(ActionsByReceivers
)
5753 async def ListAll(self
, entities
):
5755 entities : typing.Sequence[~Entity]
5756 Returns -> typing.Sequence[~ActionsByReceiver]
5758 # map input types to rpc msg
5760 msg
= dict(Type
='Action', Request
='ListAll', Version
=2, Params
=params
)
5761 params
['Entities'] = entities
5762 reply
= await self
.rpc(msg
)
5767 @ReturnMapping(ActionsByReceivers
)
5768 async def ListCompleted(self
, entities
):
5770 entities : typing.Sequence[~Entity]
5771 Returns -> typing.Sequence[~ActionsByReceiver]
5773 # map input types to rpc msg
5775 msg
= dict(Type
='Action', Request
='ListCompleted', Version
=2, Params
=params
)
5776 params
['Entities'] = entities
5777 reply
= await self
.rpc(msg
)
5782 @ReturnMapping(ActionsByReceivers
)
5783 async def ListPending(self
, entities
):
5785 entities : typing.Sequence[~Entity]
5786 Returns -> typing.Sequence[~ActionsByReceiver]
5788 # map input types to rpc msg
5790 msg
= dict(Type
='Action', Request
='ListPending', Version
=2, Params
=params
)
5791 params
['Entities'] = entities
5792 reply
= await self
.rpc(msg
)
5797 @ReturnMapping(ActionsByReceivers
)
5798 async def ListRunning(self
, entities
):
5800 entities : typing.Sequence[~Entity]
5801 Returns -> typing.Sequence[~ActionsByReceiver]
5803 # map input types to rpc msg
5805 msg
= dict(Type
='Action', Request
='ListRunning', Version
=2, Params
=params
)
5806 params
['Entities'] = entities
5807 reply
= await self
.rpc(msg
)
5812 @ReturnMapping(ActionResults
)
5813 async def Run(self
, applications
, commands
, machines
, timeout
, units
):
5815 applications : typing.Sequence[str]
5817 machines : typing.Sequence[str]
5819 units : typing.Sequence[str]
5820 Returns -> typing.Sequence[~ActionResult]
5822 # map input types to rpc msg
5824 msg
= dict(Type
='Action', Request
='Run', Version
=2, Params
=params
)
5825 params
['Applications'] = applications
5826 params
['Commands'] = commands
5827 params
['Machines'] = machines
5828 params
['Timeout'] = timeout
5829 params
['Units'] = units
5830 reply
= await self
.rpc(msg
)
5835 @ReturnMapping(ActionResults
)
5836 async def RunOnAllMachines(self
, applications
, commands
, machines
, timeout
, units
):
5838 applications : typing.Sequence[str]
5840 machines : typing.Sequence[str]
5842 units : typing.Sequence[str]
5843 Returns -> typing.Sequence[~ActionResult]
5845 # map input types to rpc msg
5847 msg
= dict(Type
='Action', Request
='RunOnAllMachines', Version
=2, Params
=params
)
5848 params
['Applications'] = applications
5849 params
['Commands'] = commands
5850 params
['Machines'] = machines
5851 params
['Timeout'] = timeout
5852 params
['Units'] = units
5853 reply
= await self
.rpc(msg
)
5857 class AddresserFacade(Type
):
5860 schema
= {'definitions': {'BoolResult': {'additionalProperties': False,
5861 'properties': {'Error': {'$ref': '#/definitions/Error'},
5862 'Result': {'type': 'boolean'}},
5863 'required': ['Error', 'Result'],
5865 'EntitiesWatchResult': {'additionalProperties': False,
5866 'properties': {'Changes': {'items': {'type': 'string'},
5868 'EntityWatcherId': {'type': 'string'},
5869 'Error': {'$ref': '#/definitions/Error'}},
5870 'required': ['EntityWatcherId',
5874 'Error': {'additionalProperties': False,
5875 'properties': {'Code': {'type': 'string'},
5876 'Info': {'$ref': '#/definitions/ErrorInfo'},
5877 'Message': {'type': 'string'}},
5878 'required': ['Message', 'Code'],
5880 'ErrorInfo': {'additionalProperties': False,
5881 'properties': {'Macaroon': {'$ref': '#/definitions/Macaroon'},
5882 'MacaroonPath': {'type': 'string'}},
5884 'ErrorResult': {'additionalProperties': False,
5885 'properties': {'Error': {'$ref': '#/definitions/Error'}},
5886 'required': ['Error'],
5888 'Macaroon': {'additionalProperties': False,
5889 'properties': {'caveats': {'items': {'$ref': '#/definitions/caveat'},
5891 'data': {'items': {'type': 'integer'},
5893 'id': {'$ref': '#/definitions/packet'},
5894 'location': {'$ref': '#/definitions/packet'},
5895 'sig': {'items': {'type': 'integer'},
5897 'required': ['data',
5903 'caveat': {'additionalProperties': False,
5904 'properties': {'caveatId': {'$ref': '#/definitions/packet'},
5905 'location': {'$ref': '#/definitions/packet'},
5906 'verificationId': {'$ref': '#/definitions/packet'}},
5907 'required': ['location',
5911 'packet': {'additionalProperties': False,
5912 'properties': {'headerLen': {'type': 'integer'},
5913 'start': {'type': 'integer'},
5914 'totalLen': {'type': 'integer'}},
5915 'required': ['start', 'totalLen', 'headerLen'],
5917 'properties': {'CanDeallocateAddresses': {'properties': {'Result': {'$ref': '#/definitions/BoolResult'}},
5919 'CleanupIPAddresses': {'properties': {'Result': {'$ref': '#/definitions/ErrorResult'}},
5921 'WatchIPAddresses': {'properties': {'Result': {'$ref': '#/definitions/EntitiesWatchResult'}},
5926 @ReturnMapping(BoolResult
)
5927 async def CanDeallocateAddresses(self
):
5930 Returns -> typing.Union[_ForwardRef('Error'), bool]
5932 # map input types to rpc msg
5934 msg
= dict(Type
='Addresser', Request
='CanDeallocateAddresses', Version
=2, Params
=params
)
5936 reply
= await self
.rpc(msg
)
5941 @ReturnMapping(ErrorResult
)
5942 async def CleanupIPAddresses(self
):
5947 # map input types to rpc msg
5949 msg
= dict(Type
='Addresser', Request
='CleanupIPAddresses', Version
=2, Params
=params
)
5951 reply
= await self
.rpc(msg
)
5956 @ReturnMapping(EntitiesWatchResult
)
5957 async def WatchIPAddresses(self
):
5960 Returns -> typing.Union[typing.Sequence[str], _ForwardRef('Error')]
5962 # map input types to rpc msg
5964 msg
= dict(Type
='Addresser', Request
='WatchIPAddresses', Version
=2, Params
=params
)
5966 reply
= await self
.rpc(msg
)
5970 class AgentFacade(Type
):
5973 schema
= {'definitions': {'AgentGetEntitiesResult': {'additionalProperties': False,
5974 'properties': {'ContainerType': {'type': 'string'},
5975 'Error': {'$ref': '#/definitions/Error'},
5976 'Jobs': {'items': {'type': 'string'},
5978 'Life': {'type': 'string'}},
5979 'required': ['Life',
5984 'AgentGetEntitiesResults': {'additionalProperties': False,
5985 'properties': {'Entities': {'items': {'$ref': '#/definitions/AgentGetEntitiesResult'},
5987 'required': ['Entities'],
5989 'Entities': {'additionalProperties': False,
5990 'properties': {'Entities': {'items': {'$ref': '#/definitions/Entity'},
5992 'required': ['Entities'],
5994 'Entity': {'additionalProperties': False,
5995 'properties': {'Tag': {'type': 'string'}},
5996 'required': ['Tag'],
5998 'EntityPassword': {'additionalProperties': False,
5999 'properties': {'Password': {'type': 'string'},
6000 'Tag': {'type': 'string'}},
6001 'required': ['Tag', 'Password'],
6003 'EntityPasswords': {'additionalProperties': False,
6004 'properties': {'Changes': {'items': {'$ref': '#/definitions/EntityPassword'},
6006 'required': ['Changes'],
6008 'Error': {'additionalProperties': False,
6009 'properties': {'Code': {'type': 'string'},
6010 'Info': {'$ref': '#/definitions/ErrorInfo'},
6011 'Message': {'type': 'string'}},
6012 'required': ['Message', 'Code'],
6014 'ErrorInfo': {'additionalProperties': False,
6015 'properties': {'Macaroon': {'$ref': '#/definitions/Macaroon'},
6016 'MacaroonPath': {'type': 'string'}},
6018 'ErrorResult': {'additionalProperties': False,
6019 'properties': {'Error': {'$ref': '#/definitions/Error'}},
6020 'required': ['Error'],
6022 'ErrorResults': {'additionalProperties': False,
6023 'properties': {'Results': {'items': {'$ref': '#/definitions/ErrorResult'},
6025 'required': ['Results'],
6027 'IsMasterResult': {'additionalProperties': False,
6028 'properties': {'Master': {'type': 'boolean'}},
6029 'required': ['Master'],
6031 'Macaroon': {'additionalProperties': False,
6032 'properties': {'caveats': {'items': {'$ref': '#/definitions/caveat'},
6034 'data': {'items': {'type': 'integer'},
6036 'id': {'$ref': '#/definitions/packet'},
6037 'location': {'$ref': '#/definitions/packet'},
6038 'sig': {'items': {'type': 'integer'},
6040 'required': ['data',
6046 'ModelConfigResult': {'additionalProperties': False,
6047 'properties': {'Config': {'patternProperties': {'.*': {'additionalProperties': True,
6050 'required': ['Config'],
6052 'NotifyWatchResult': {'additionalProperties': False,
6053 'properties': {'Error': {'$ref': '#/definitions/Error'},
6054 'NotifyWatcherId': {'type': 'string'}},
6055 'required': ['NotifyWatcherId', 'Error'],
6057 'StateServingInfo': {'additionalProperties': False,
6058 'properties': {'APIPort': {'type': 'integer'},
6059 'CAPrivateKey': {'type': 'string'},
6060 'Cert': {'type': 'string'},
6061 'PrivateKey': {'type': 'string'},
6062 'SharedSecret': {'type': 'string'},
6063 'StatePort': {'type': 'integer'},
6064 'SystemIdentity': {'type': 'string'}},
6065 'required': ['APIPort',
6073 'caveat': {'additionalProperties': False,
6074 'properties': {'caveatId': {'$ref': '#/definitions/packet'},
6075 'location': {'$ref': '#/definitions/packet'},
6076 'verificationId': {'$ref': '#/definitions/packet'}},
6077 'required': ['location',
6081 'packet': {'additionalProperties': False,
6082 'properties': {'headerLen': {'type': 'integer'},
6083 'start': {'type': 'integer'},
6084 'totalLen': {'type': 'integer'}},
6085 'required': ['start', 'totalLen', 'headerLen'],
6087 'properties': {'ClearReboot': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
6088 'Result': {'$ref': '#/definitions/ErrorResults'}},
6090 'GetEntities': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
6091 'Result': {'$ref': '#/definitions/AgentGetEntitiesResults'}},
6093 'IsMaster': {'properties': {'Result': {'$ref': '#/definitions/IsMasterResult'}},
6095 'ModelConfig': {'properties': {'Result': {'$ref': '#/definitions/ModelConfigResult'}},
6097 'SetPasswords': {'properties': {'Params': {'$ref': '#/definitions/EntityPasswords'},
6098 'Result': {'$ref': '#/definitions/ErrorResults'}},
6100 'StateServingInfo': {'properties': {'Result': {'$ref': '#/definitions/StateServingInfo'}},
6102 'WatchForModelConfigChanges': {'properties': {'Result': {'$ref': '#/definitions/NotifyWatchResult'}},
6107 @ReturnMapping(ErrorResults
)
6108 async def ClearReboot(self
, entities
):
6110 entities : typing.Sequence[~Entity]
6111 Returns -> typing.Sequence[~ErrorResult]
6113 # map input types to rpc msg
6115 msg
= dict(Type
='Agent', Request
='ClearReboot', Version
=2, Params
=params
)
6116 params
['Entities'] = entities
6117 reply
= await self
.rpc(msg
)
6122 @ReturnMapping(AgentGetEntitiesResults
)
6123 async def GetEntities(self
, entities
):
6125 entities : typing.Sequence[~Entity]
6126 Returns -> typing.Sequence[~AgentGetEntitiesResult]
6128 # map input types to rpc msg
6130 msg
= dict(Type
='Agent', Request
='GetEntities', Version
=2, Params
=params
)
6131 params
['Entities'] = entities
6132 reply
= await self
.rpc(msg
)
6137 @ReturnMapping(IsMasterResult
)
6138 async def IsMaster(self
):
6143 # map input types to rpc msg
6145 msg
= dict(Type
='Agent', Request
='IsMaster', Version
=2, Params
=params
)
6147 reply
= await self
.rpc(msg
)
6152 @ReturnMapping(ModelConfigResult
)
6153 async def ModelConfig(self
):
6156 Returns -> typing.Mapping[str, typing.Any]
6158 # map input types to rpc msg
6160 msg
= dict(Type
='Agent', Request
='ModelConfig', Version
=2, Params
=params
)
6162 reply
= await self
.rpc(msg
)
6167 @ReturnMapping(ErrorResults
)
6168 async def SetPasswords(self
, changes
):
6170 changes : typing.Sequence[~EntityPassword]
6171 Returns -> typing.Sequence[~ErrorResult]
6173 # map input types to rpc msg
6175 msg
= dict(Type
='Agent', Request
='SetPasswords', Version
=2, Params
=params
)
6176 params
['Changes'] = changes
6177 reply
= await self
.rpc(msg
)
6182 @ReturnMapping(StateServingInfo
)
6183 async def StateServingInfo(self
):
6186 Returns -> typing.Union[int, str]
6188 # map input types to rpc msg
6190 msg
= dict(Type
='Agent', Request
='StateServingInfo', Version
=2, Params
=params
)
6192 reply
= await self
.rpc(msg
)
6197 @ReturnMapping(NotifyWatchResult
)
6198 async def WatchForModelConfigChanges(self
):
6201 Returns -> typing.Union[_ForwardRef('Error'), str]
6203 # map input types to rpc msg
6205 msg
= dict(Type
='Agent', Request
='WatchForModelConfigChanges', Version
=2, Params
=params
)
6207 reply
= await self
.rpc(msg
)
6211 class AgentToolsFacade(Type
):
6214 schema
= {'properties': {'UpdateToolsAvailable': {'type': 'object'}}, 'type': 'object'}
6217 @ReturnMapping(None)
6218 async def UpdateToolsAvailable(self
):
6223 # map input types to rpc msg
6225 msg
= dict(Type
='AgentTools', Request
='UpdateToolsAvailable', Version
=1, Params
=params
)
6227 reply
= await self
.rpc(msg
)
6231 class AllModelWatcherFacade(Type
):
6232 name
= 'AllModelWatcher'
6234 schema
= {'definitions': {'AllWatcherNextResults': {'additionalProperties': False,
6235 'properties': {'Deltas': {'items': {'$ref': '#/definitions/Delta'},
6237 'required': ['Deltas'],
6239 'Delta': {'additionalProperties': False,
6240 'properties': {'Entity': {'additionalProperties': True,
6242 'Removed': {'type': 'boolean'}},
6243 'required': ['Removed', 'Entity'],
6245 'properties': {'Next': {'properties': {'Result': {'$ref': '#/definitions/AllWatcherNextResults'}},
6247 'Stop': {'type': 'object'}},
6251 @ReturnMapping(AllWatcherNextResults
)
6252 async def Next(self
):
6255 Returns -> typing.Sequence[~Delta]
6257 # map input types to rpc msg
6259 msg
= dict(Type
='AllModelWatcher', Request
='Next', Version
=2, Params
=params
)
6261 reply
= await self
.rpc(msg
)
6266 @ReturnMapping(None)
6267 async def Stop(self
):
6272 # map input types to rpc msg
6274 msg
= dict(Type
='AllModelWatcher', Request
='Stop', Version
=2, Params
=params
)
6276 reply
= await self
.rpc(msg
)
6280 class AllWatcherFacade(Type
):
6283 schema
= {'definitions': {'AllWatcherNextResults': {'additionalProperties': False,
6284 'properties': {'Deltas': {'items': {'$ref': '#/definitions/Delta'},
6286 'required': ['Deltas'],
6288 'Delta': {'additionalProperties': False,
6289 'properties': {'Entity': {'additionalProperties': True,
6291 'Removed': {'type': 'boolean'}},
6292 'required': ['Removed', 'Entity'],
6294 'properties': {'Next': {'properties': {'Result': {'$ref': '#/definitions/AllWatcherNextResults'}},
6296 'Stop': {'type': 'object'}},
6300 @ReturnMapping(AllWatcherNextResults
)
6301 async def Next(self
):
6304 Returns -> typing.Sequence[~Delta]
6306 # map input types to rpc msg
6308 msg
= dict(Type
='AllWatcher', Request
='Next', Version
=1, Params
=params
)
6310 reply
= await self
.rpc(msg
)
6315 @ReturnMapping(None)
6316 async def Stop(self
):
6321 # map input types to rpc msg
6323 msg
= dict(Type
='AllWatcher', Request
='Stop', Version
=1, Params
=params
)
6325 reply
= await self
.rpc(msg
)
6329 class AnnotationsFacade(Type
):
6330 name
= 'Annotations'
6332 schema
= {'definitions': {'AnnotationsGetResult': {'additionalProperties': False,
6333 'properties': {'Annotations': {'patternProperties': {'.*': {'type': 'string'}},
6335 'EntityTag': {'type': 'string'},
6336 'Error': {'$ref': '#/definitions/ErrorResult'}},
6337 'required': ['EntityTag',
6341 'AnnotationsGetResults': {'additionalProperties': False,
6342 'properties': {'Results': {'items': {'$ref': '#/definitions/AnnotationsGetResult'},
6344 'required': ['Results'],
6346 'AnnotationsSet': {'additionalProperties': False,
6347 'properties': {'Annotations': {'items': {'$ref': '#/definitions/EntityAnnotations'},
6349 'required': ['Annotations'],
6351 'Entities': {'additionalProperties': False,
6352 'properties': {'Entities': {'items': {'$ref': '#/definitions/Entity'},
6354 'required': ['Entities'],
6356 'Entity': {'additionalProperties': False,
6357 'properties': {'Tag': {'type': 'string'}},
6358 'required': ['Tag'],
6360 'EntityAnnotations': {'additionalProperties': False,
6361 'properties': {'Annotations': {'patternProperties': {'.*': {'type': 'string'}},
6363 'EntityTag': {'type': 'string'}},
6364 'required': ['EntityTag', 'Annotations'],
6366 'Error': {'additionalProperties': False,
6367 'properties': {'Code': {'type': 'string'},
6368 'Info': {'$ref': '#/definitions/ErrorInfo'},
6369 'Message': {'type': 'string'}},
6370 'required': ['Message', 'Code'],
6372 'ErrorInfo': {'additionalProperties': False,
6373 'properties': {'Macaroon': {'$ref': '#/definitions/Macaroon'},
6374 'MacaroonPath': {'type': 'string'}},
6376 'ErrorResult': {'additionalProperties': False,
6377 'properties': {'Error': {'$ref': '#/definitions/Error'}},
6378 'required': ['Error'],
6380 'ErrorResults': {'additionalProperties': False,
6381 'properties': {'Results': {'items': {'$ref': '#/definitions/ErrorResult'},
6383 'required': ['Results'],
6385 'Macaroon': {'additionalProperties': False,
6386 'properties': {'caveats': {'items': {'$ref': '#/definitions/caveat'},
6388 'data': {'items': {'type': 'integer'},
6390 'id': {'$ref': '#/definitions/packet'},
6391 'location': {'$ref': '#/definitions/packet'},
6392 'sig': {'items': {'type': 'integer'},
6394 'required': ['data',
6400 'caveat': {'additionalProperties': False,
6401 'properties': {'caveatId': {'$ref': '#/definitions/packet'},
6402 'location': {'$ref': '#/definitions/packet'},
6403 'verificationId': {'$ref': '#/definitions/packet'}},
6404 'required': ['location',
6408 'packet': {'additionalProperties': False,
6409 'properties': {'headerLen': {'type': 'integer'},
6410 'start': {'type': 'integer'},
6411 'totalLen': {'type': 'integer'}},
6412 'required': ['start', 'totalLen', 'headerLen'],
6414 'properties': {'Get': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
6415 'Result': {'$ref': '#/definitions/AnnotationsGetResults'}},
6417 'Set': {'properties': {'Params': {'$ref': '#/definitions/AnnotationsSet'},
6418 'Result': {'$ref': '#/definitions/ErrorResults'}},
6423 @ReturnMapping(AnnotationsGetResults
)
6424 async def Get(self
, entities
):
6426 entities : typing.Sequence[~Entity]
6427 Returns -> typing.Sequence[~AnnotationsGetResult]
6429 # map input types to rpc msg
6431 msg
= dict(Type
='Annotations', Request
='Get', Version
=2, Params
=params
)
6432 params
['Entities'] = entities
6433 reply
= await self
.rpc(msg
)
6438 @ReturnMapping(ErrorResults
)
6439 async def Set(self
, annotations
):
6441 annotations : typing.Sequence[~EntityAnnotations]
6442 Returns -> typing.Sequence[~ErrorResult]
6444 # map input types to rpc msg
6446 msg
= dict(Type
='Annotations', Request
='Set', Version
=2, Params
=params
)
6447 params
['Annotations'] = annotations
6448 reply
= await self
.rpc(msg
)
6452 class ApplicationFacade(Type
):
6453 name
= 'Application'
6455 schema
= {'definitions': {'AddApplicationUnits': {'additionalProperties': False,
6456 'properties': {'ApplicationName': {'type': 'string'},
6457 'NumUnits': {'type': 'integer'},
6458 'Placement': {'items': {'$ref': '#/definitions/Placement'},
6460 'required': ['ApplicationName',
6464 'AddApplicationUnitsResults': {'additionalProperties': False,
6465 'properties': {'Units': {'items': {'type': 'string'},
6467 'required': ['Units'],
6469 'AddRelation': {'additionalProperties': False,
6470 'properties': {'Endpoints': {'items': {'type': 'string'},
6472 'required': ['Endpoints'],
6474 'AddRelationResults': {'additionalProperties': False,
6475 'properties': {'Endpoints': {'patternProperties': {'.*': {'$ref': '#/definitions/Relation'}},
6477 'required': ['Endpoints'],
6479 'ApplicationCharmRelations': {'additionalProperties': False,
6480 'properties': {'ApplicationName': {'type': 'string'}},
6481 'required': ['ApplicationName'],
6483 'ApplicationCharmRelationsResults': {'additionalProperties': False,
6484 'properties': {'CharmRelations': {'items': {'type': 'string'},
6486 'required': ['CharmRelations'],
6488 'ApplicationDeploy': {'additionalProperties': False,
6489 'properties': {'ApplicationName': {'type': 'string'},
6490 'Channel': {'type': 'string'},
6491 'CharmUrl': {'type': 'string'},
6492 'Config': {'patternProperties': {'.*': {'type': 'string'}},
6494 'ConfigYAML': {'type': 'string'},
6495 'Constraints': {'$ref': '#/definitions/Value'},
6496 'EndpointBindings': {'patternProperties': {'.*': {'type': 'string'}},
6498 'NumUnits': {'type': 'integer'},
6499 'Placement': {'items': {'$ref': '#/definitions/Placement'},
6501 'Resources': {'patternProperties': {'.*': {'type': 'string'}},
6503 'Series': {'type': 'string'},
6504 'Storage': {'patternProperties': {'.*': {'$ref': '#/definitions/Constraints'}},
6506 'required': ['ApplicationName',
6519 'ApplicationDestroy': {'additionalProperties': False,
6520 'properties': {'ApplicationName': {'type': 'string'}},
6521 'required': ['ApplicationName'],
6523 'ApplicationExpose': {'additionalProperties': False,
6524 'properties': {'ApplicationName': {'type': 'string'}},
6525 'required': ['ApplicationName'],
6527 'ApplicationGet': {'additionalProperties': False,
6528 'properties': {'ApplicationName': {'type': 'string'}},
6529 'required': ['ApplicationName'],
6531 'ApplicationGetResults': {'additionalProperties': False,
6532 'properties': {'Application': {'type': 'string'},
6533 'Charm': {'type': 'string'},
6534 'Config': {'patternProperties': {'.*': {'additionalProperties': True,
6537 'Constraints': {'$ref': '#/definitions/Value'}},
6538 'required': ['Application',
6543 'ApplicationMetricCredential': {'additionalProperties': False,
6544 'properties': {'ApplicationName': {'type': 'string'},
6545 'MetricCredentials': {'items': {'type': 'integer'},
6547 'required': ['ApplicationName',
6548 'MetricCredentials'],
6550 'ApplicationMetricCredentials': {'additionalProperties': False,
6551 'properties': {'Creds': {'items': {'$ref': '#/definitions/ApplicationMetricCredential'},
6553 'required': ['Creds'],
6555 'ApplicationSet': {'additionalProperties': False,
6556 'properties': {'ApplicationName': {'type': 'string'},
6557 'Options': {'patternProperties': {'.*': {'type': 'string'}},
6559 'required': ['ApplicationName', 'Options'],
6561 'ApplicationSetCharm': {'additionalProperties': False,
6562 'properties': {'applicationname': {'type': 'string'},
6563 'charmurl': {'type': 'string'},
6564 'cs-channel': {'type': 'string'},
6565 'forceseries': {'type': 'boolean'},
6566 'forceunits': {'type': 'boolean'},
6567 'resourceids': {'patternProperties': {'.*': {'type': 'string'}},
6569 'required': ['applicationname',
6576 'ApplicationUnexpose': {'additionalProperties': False,
6577 'properties': {'ApplicationName': {'type': 'string'}},
6578 'required': ['ApplicationName'],
6580 'ApplicationUnset': {'additionalProperties': False,
6581 'properties': {'ApplicationName': {'type': 'string'},
6582 'Options': {'items': {'type': 'string'},
6584 'required': ['ApplicationName',
6587 'ApplicationUpdate': {'additionalProperties': False,
6588 'properties': {'ApplicationName': {'type': 'string'},
6589 'CharmUrl': {'type': 'string'},
6590 'Constraints': {'$ref': '#/definitions/Value'},
6591 'ForceCharmUrl': {'type': 'boolean'},
6592 'ForceSeries': {'type': 'boolean'},
6593 'MinUnits': {'type': 'integer'},
6594 'SettingsStrings': {'patternProperties': {'.*': {'type': 'string'}},
6596 'SettingsYAML': {'type': 'string'}},
6597 'required': ['ApplicationName',
6606 'ApplicationsDeploy': {'additionalProperties': False,
6607 'properties': {'Applications': {'items': {'$ref': '#/definitions/ApplicationDeploy'},
6609 'required': ['Applications'],
6611 'Constraints': {'additionalProperties': False,
6612 'properties': {'Count': {'type': 'integer'},
6613 'Pool': {'type': 'string'},
6614 'Size': {'type': 'integer'}},
6615 'required': ['Pool', 'Size', 'Count'],
6617 'DestroyApplicationUnits': {'additionalProperties': False,
6618 'properties': {'UnitNames': {'items': {'type': 'string'},
6620 'required': ['UnitNames'],
6622 'DestroyRelation': {'additionalProperties': False,
6623 'properties': {'Endpoints': {'items': {'type': 'string'},
6625 'required': ['Endpoints'],
6627 'Error': {'additionalProperties': False,
6628 'properties': {'Code': {'type': 'string'},
6629 'Info': {'$ref': '#/definitions/ErrorInfo'},
6630 'Message': {'type': 'string'}},
6631 'required': ['Message', 'Code'],
6633 'ErrorInfo': {'additionalProperties': False,
6634 'properties': {'Macaroon': {'$ref': '#/definitions/Macaroon'},
6635 'MacaroonPath': {'type': 'string'}},
6637 'ErrorResult': {'additionalProperties': False,
6638 'properties': {'Error': {'$ref': '#/definitions/Error'}},
6639 'required': ['Error'],
6641 'ErrorResults': {'additionalProperties': False,
6642 'properties': {'Results': {'items': {'$ref': '#/definitions/ErrorResult'},
6644 'required': ['Results'],
6646 'GetApplicationConstraints': {'additionalProperties': False,
6647 'properties': {'ApplicationName': {'type': 'string'}},
6648 'required': ['ApplicationName'],
6650 'GetConstraintsResults': {'additionalProperties': False,
6651 'properties': {'Constraints': {'$ref': '#/definitions/Value'}},
6652 'required': ['Constraints'],
6654 'Macaroon': {'additionalProperties': False,
6655 'properties': {'caveats': {'items': {'$ref': '#/definitions/caveat'},
6657 'data': {'items': {'type': 'integer'},
6659 'id': {'$ref': '#/definitions/packet'},
6660 'location': {'$ref': '#/definitions/packet'},
6661 'sig': {'items': {'type': 'integer'},
6663 'required': ['data',
6669 'Placement': {'additionalProperties': False,
6670 'properties': {'Directive': {'type': 'string'},
6671 'Scope': {'type': 'string'}},
6672 'required': ['Scope', 'Directive'],
6674 'Relation': {'additionalProperties': False,
6675 'properties': {'Interface': {'type': 'string'},
6676 'Limit': {'type': 'integer'},
6677 'Name': {'type': 'string'},
6678 'Optional': {'type': 'boolean'},
6679 'Role': {'type': 'string'},
6680 'Scope': {'type': 'string'}},
6681 'required': ['Name',
6688 'SetConstraints': {'additionalProperties': False,
6689 'properties': {'ApplicationName': {'type': 'string'},
6690 'Constraints': {'$ref': '#/definitions/Value'}},
6691 'required': ['ApplicationName',
6694 'StringResult': {'additionalProperties': False,
6695 'properties': {'Error': {'$ref': '#/definitions/Error'},
6696 'Result': {'type': 'string'}},
6697 'required': ['Error', 'Result'],
6699 'Value': {'additionalProperties': False,
6700 'properties': {'arch': {'type': 'string'},
6701 'container': {'type': 'string'},
6702 'cpu-cores': {'type': 'integer'},
6703 'cpu-power': {'type': 'integer'},
6704 'instance-type': {'type': 'string'},
6705 'mem': {'type': 'integer'},
6706 'root-disk': {'type': 'integer'},
6707 'spaces': {'items': {'type': 'string'},
6709 'tags': {'items': {'type': 'string'},
6711 'virt-type': {'type': 'string'}},
6713 'caveat': {'additionalProperties': False,
6714 'properties': {'caveatId': {'$ref': '#/definitions/packet'},
6715 'location': {'$ref': '#/definitions/packet'},
6716 'verificationId': {'$ref': '#/definitions/packet'}},
6717 'required': ['location',
6721 'packet': {'additionalProperties': False,
6722 'properties': {'headerLen': {'type': 'integer'},
6723 'start': {'type': 'integer'},
6724 'totalLen': {'type': 'integer'}},
6725 'required': ['start', 'totalLen', 'headerLen'],
6727 'properties': {'AddRelation': {'properties': {'Params': {'$ref': '#/definitions/AddRelation'},
6728 'Result': {'$ref': '#/definitions/AddRelationResults'}},
6730 'AddUnits': {'properties': {'Params': {'$ref': '#/definitions/AddApplicationUnits'},
6731 'Result': {'$ref': '#/definitions/AddApplicationUnitsResults'}},
6733 'CharmRelations': {'properties': {'Params': {'$ref': '#/definitions/ApplicationCharmRelations'},
6734 'Result': {'$ref': '#/definitions/ApplicationCharmRelationsResults'}},
6736 'Deploy': {'properties': {'Params': {'$ref': '#/definitions/ApplicationsDeploy'},
6737 'Result': {'$ref': '#/definitions/ErrorResults'}},
6739 'Destroy': {'properties': {'Params': {'$ref': '#/definitions/ApplicationDestroy'}},
6741 'DestroyRelation': {'properties': {'Params': {'$ref': '#/definitions/DestroyRelation'}},
6743 'DestroyUnits': {'properties': {'Params': {'$ref': '#/definitions/DestroyApplicationUnits'}},
6745 'Expose': {'properties': {'Params': {'$ref': '#/definitions/ApplicationExpose'}},
6747 'Get': {'properties': {'Params': {'$ref': '#/definitions/ApplicationGet'},
6748 'Result': {'$ref': '#/definitions/ApplicationGetResults'}},
6750 'GetCharmURL': {'properties': {'Params': {'$ref': '#/definitions/ApplicationGet'},
6751 'Result': {'$ref': '#/definitions/StringResult'}},
6753 'GetConstraints': {'properties': {'Params': {'$ref': '#/definitions/GetApplicationConstraints'},
6754 'Result': {'$ref': '#/definitions/GetConstraintsResults'}},
6756 'Set': {'properties': {'Params': {'$ref': '#/definitions/ApplicationSet'}},
6758 'SetCharm': {'properties': {'Params': {'$ref': '#/definitions/ApplicationSetCharm'}},
6760 'SetConstraints': {'properties': {'Params': {'$ref': '#/definitions/SetConstraints'}},
6762 'SetMetricCredentials': {'properties': {'Params': {'$ref': '#/definitions/ApplicationMetricCredentials'},
6763 'Result': {'$ref': '#/definitions/ErrorResults'}},
6765 'Unexpose': {'properties': {'Params': {'$ref': '#/definitions/ApplicationUnexpose'}},
6767 'Unset': {'properties': {'Params': {'$ref': '#/definitions/ApplicationUnset'}},
6769 'Update': {'properties': {'Params': {'$ref': '#/definitions/ApplicationUpdate'}},
6774 @ReturnMapping(AddRelationResults
)
6775 async def AddRelation(self
, endpoints
):
6777 endpoints : typing.Sequence[str]
6778 Returns -> typing.Mapping[str, ~Relation]
6780 # map input types to rpc msg
6782 msg
= dict(Type
='Application', Request
='AddRelation', Version
=1, Params
=params
)
6783 params
['Endpoints'] = endpoints
6784 reply
= await self
.rpc(msg
)
6789 @ReturnMapping(AddApplicationUnitsResults
)
6790 async def AddUnits(self
, applicationname
, numunits
, placement
):
6792 applicationname : str
6794 placement : typing.Sequence[~Placement]
6795 Returns -> typing.Sequence[str]
6797 # map input types to rpc msg
6799 msg
= dict(Type
='Application', Request
='AddUnits', Version
=1, Params
=params
)
6800 params
['ApplicationName'] = applicationname
6801 params
['NumUnits'] = numunits
6802 params
['Placement'] = placement
6803 reply
= await self
.rpc(msg
)
6808 @ReturnMapping(ApplicationCharmRelationsResults
)
6809 async def CharmRelations(self
, applicationname
):
6811 applicationname : str
6812 Returns -> typing.Sequence[str]
6814 # map input types to rpc msg
6816 msg
= dict(Type
='Application', Request
='CharmRelations', Version
=1, Params
=params
)
6817 params
['ApplicationName'] = applicationname
6818 reply
= await self
.rpc(msg
)
6823 @ReturnMapping(ErrorResults
)
6824 async def Deploy(self
, applications
):
6826 applications : typing.Sequence[~ApplicationDeploy]
6827 Returns -> typing.Sequence[~ErrorResult]
6829 # map input types to rpc msg
6831 msg
= dict(Type
='Application', Request
='Deploy', Version
=1, Params
=params
)
6832 params
['Applications'] = applications
6833 reply
= await self
.rpc(msg
)
6838 @ReturnMapping(None)
6839 async def Destroy(self
, applicationname
):
6841 applicationname : str
6844 # map input types to rpc msg
6846 msg
= dict(Type
='Application', Request
='Destroy', Version
=1, Params
=params
)
6847 params
['ApplicationName'] = applicationname
6848 reply
= await self
.rpc(msg
)
6853 @ReturnMapping(None)
6854 async def DestroyRelation(self
, endpoints
):
6856 endpoints : typing.Sequence[str]
6859 # map input types to rpc msg
6861 msg
= dict(Type
='Application', Request
='DestroyRelation', Version
=1, Params
=params
)
6862 params
['Endpoints'] = endpoints
6863 reply
= await self
.rpc(msg
)
6868 @ReturnMapping(None)
6869 async def DestroyUnits(self
, unitnames
):
6871 unitnames : typing.Sequence[str]
6874 # map input types to rpc msg
6876 msg
= dict(Type
='Application', Request
='DestroyUnits', Version
=1, Params
=params
)
6877 params
['UnitNames'] = unitnames
6878 reply
= await self
.rpc(msg
)
6883 @ReturnMapping(None)
6884 async def Expose(self
, applicationname
):
6886 applicationname : str
6889 # map input types to rpc msg
6891 msg
= dict(Type
='Application', Request
='Expose', Version
=1, Params
=params
)
6892 params
['ApplicationName'] = applicationname
6893 reply
= await self
.rpc(msg
)
6898 @ReturnMapping(ApplicationGetResults
)
6899 async def Get(self
, applicationname
):
6901 applicationname : str
6902 Returns -> typing.Union[str, typing.Mapping[str, typing.Any], _ForwardRef('Value')]
6904 # map input types to rpc msg
6906 msg
= dict(Type
='Application', Request
='Get', Version
=1, Params
=params
)
6907 params
['ApplicationName'] = applicationname
6908 reply
= await self
.rpc(msg
)
6913 @ReturnMapping(StringResult
)
6914 async def GetCharmURL(self
, applicationname
):
6916 applicationname : str
6917 Returns -> typing.Union[_ForwardRef('Error'), str]
6919 # map input types to rpc msg
6921 msg
= dict(Type
='Application', Request
='GetCharmURL', Version
=1, Params
=params
)
6922 params
['ApplicationName'] = applicationname
6923 reply
= await self
.rpc(msg
)
6928 @ReturnMapping(GetConstraintsResults
)
6929 async def GetConstraints(self
, applicationname
):
6931 applicationname : str
6934 # map input types to rpc msg
6936 msg
= dict(Type
='Application', Request
='GetConstraints', Version
=1, Params
=params
)
6937 params
['ApplicationName'] = applicationname
6938 reply
= await self
.rpc(msg
)
6943 @ReturnMapping(None)
6944 async def Set(self
, applicationname
, options
):
6946 applicationname : str
6947 options : typing.Mapping[str, str]
6950 # map input types to rpc msg
6952 msg
= dict(Type
='Application', Request
='Set', Version
=1, Params
=params
)
6953 params
['ApplicationName'] = applicationname
6954 params
['Options'] = options
6955 reply
= await self
.rpc(msg
)
6960 @ReturnMapping(None)
6961 async def SetCharm(self
, applicationname
, charmurl
, cs_channel
, forceseries
, forceunits
, resourceids
):
6963 applicationname : str
6968 resourceids : typing.Mapping[str, str]
6971 # map input types to rpc msg
6973 msg
= dict(Type
='Application', Request
='SetCharm', Version
=1, Params
=params
)
6974 params
['applicationname'] = applicationname
6975 params
['charmurl'] = charmurl
6976 params
['cs-channel'] = cs_channel
6977 params
['forceseries'] = forceseries
6978 params
['forceunits'] = forceunits
6979 params
['resourceids'] = resourceids
6980 reply
= await self
.rpc(msg
)
6985 @ReturnMapping(None)
6986 async def SetConstraints(self
, applicationname
, constraints
):
6988 applicationname : str
6992 # map input types to rpc msg
6994 msg
= dict(Type
='Application', Request
='SetConstraints', Version
=1, Params
=params
)
6995 params
['ApplicationName'] = applicationname
6996 params
['Constraints'] = constraints
6997 reply
= await self
.rpc(msg
)
7002 @ReturnMapping(ErrorResults
)
7003 async def SetMetricCredentials(self
, creds
):
7005 creds : typing.Sequence[~ApplicationMetricCredential]
7006 Returns -> typing.Sequence[~ErrorResult]
7008 # map input types to rpc msg
7010 msg
= dict(Type
='Application', Request
='SetMetricCredentials', Version
=1, Params
=params
)
7011 params
['Creds'] = creds
7012 reply
= await self
.rpc(msg
)
7017 @ReturnMapping(None)
7018 async def Unexpose(self
, applicationname
):
7020 applicationname : str
7023 # map input types to rpc msg
7025 msg
= dict(Type
='Application', Request
='Unexpose', Version
=1, Params
=params
)
7026 params
['ApplicationName'] = applicationname
7027 reply
= await self
.rpc(msg
)
7032 @ReturnMapping(None)
7033 async def Unset(self
, applicationname
, options
):
7035 applicationname : str
7036 options : typing.Sequence[str]
7039 # map input types to rpc msg
7041 msg
= dict(Type
='Application', Request
='Unset', Version
=1, Params
=params
)
7042 params
['ApplicationName'] = applicationname
7043 params
['Options'] = options
7044 reply
= await self
.rpc(msg
)
7049 @ReturnMapping(None)
7050 async def Update(self
, applicationname
, charmurl
, constraints
, forcecharmurl
, forceseries
, minunits
, settingsstrings
, settingsyaml
):
7052 applicationname : str
7055 forcecharmurl : bool
7058 settingsstrings : typing.Mapping[str, str]
7062 # map input types to rpc msg
7064 msg
= dict(Type
='Application', Request
='Update', Version
=1, Params
=params
)
7065 params
['ApplicationName'] = applicationname
7066 params
['CharmUrl'] = charmurl
7067 params
['Constraints'] = constraints
7068 params
['ForceCharmUrl'] = forcecharmurl
7069 params
['ForceSeries'] = forceseries
7070 params
['MinUnits'] = minunits
7071 params
['SettingsStrings'] = settingsstrings
7072 params
['SettingsYAML'] = settingsyaml
7073 reply
= await self
.rpc(msg
)
7077 class ApplicationScalerFacade(Type
):
7078 name
= 'ApplicationScaler'
7080 schema
= {'definitions': {'Entities': {'additionalProperties': False,
7081 'properties': {'Entities': {'items': {'$ref': '#/definitions/Entity'},
7083 'required': ['Entities'],
7085 'Entity': {'additionalProperties': False,
7086 'properties': {'Tag': {'type': 'string'}},
7087 'required': ['Tag'],
7089 'Error': {'additionalProperties': False,
7090 'properties': {'Code': {'type': 'string'},
7091 'Info': {'$ref': '#/definitions/ErrorInfo'},
7092 'Message': {'type': 'string'}},
7093 'required': ['Message', 'Code'],
7095 'ErrorInfo': {'additionalProperties': False,
7096 'properties': {'Macaroon': {'$ref': '#/definitions/Macaroon'},
7097 'MacaroonPath': {'type': 'string'}},
7099 'ErrorResult': {'additionalProperties': False,
7100 'properties': {'Error': {'$ref': '#/definitions/Error'}},
7101 'required': ['Error'],
7103 'ErrorResults': {'additionalProperties': False,
7104 'properties': {'Results': {'items': {'$ref': '#/definitions/ErrorResult'},
7106 'required': ['Results'],
7108 'Macaroon': {'additionalProperties': False,
7109 'properties': {'caveats': {'items': {'$ref': '#/definitions/caveat'},
7111 'data': {'items': {'type': 'integer'},
7113 'id': {'$ref': '#/definitions/packet'},
7114 'location': {'$ref': '#/definitions/packet'},
7115 'sig': {'items': {'type': 'integer'},
7117 'required': ['data',
7123 'StringsWatchResult': {'additionalProperties': False,
7124 'properties': {'Changes': {'items': {'type': 'string'},
7126 'Error': {'$ref': '#/definitions/Error'},
7127 'StringsWatcherId': {'type': 'string'}},
7128 'required': ['StringsWatcherId',
7132 'caveat': {'additionalProperties': False,
7133 'properties': {'caveatId': {'$ref': '#/definitions/packet'},
7134 'location': {'$ref': '#/definitions/packet'},
7135 'verificationId': {'$ref': '#/definitions/packet'}},
7136 'required': ['location',
7140 'packet': {'additionalProperties': False,
7141 'properties': {'headerLen': {'type': 'integer'},
7142 'start': {'type': 'integer'},
7143 'totalLen': {'type': 'integer'}},
7144 'required': ['start', 'totalLen', 'headerLen'],
7146 'properties': {'Rescale': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
7147 'Result': {'$ref': '#/definitions/ErrorResults'}},
7149 'Watch': {'properties': {'Result': {'$ref': '#/definitions/StringsWatchResult'}},
7154 @ReturnMapping(ErrorResults
)
7155 async def Rescale(self
, entities
):
7157 entities : typing.Sequence[~Entity]
7158 Returns -> typing.Sequence[~ErrorResult]
7160 # map input types to rpc msg
7162 msg
= dict(Type
='ApplicationScaler', Request
='Rescale', Version
=1, Params
=params
)
7163 params
['Entities'] = entities
7164 reply
= await self
.rpc(msg
)
7169 @ReturnMapping(StringsWatchResult
)
7170 async def Watch(self
):
7173 Returns -> typing.Union[typing.Sequence[str], _ForwardRef('Error')]
7175 # map input types to rpc msg
7177 msg
= dict(Type
='ApplicationScaler', Request
='Watch', Version
=1, Params
=params
)
7179 reply
= await self
.rpc(msg
)
7183 class BackupsFacade(Type
):
7186 schema
= {'definitions': {'BackupsCreateArgs': {'additionalProperties': False,
7187 'properties': {'Notes': {'type': 'string'}},
7188 'required': ['Notes'],
7190 'BackupsInfoArgs': {'additionalProperties': False,
7191 'properties': {'ID': {'type': 'string'}},
7194 'BackupsListArgs': {'additionalProperties': False,
7196 'BackupsListResult': {'additionalProperties': False,
7197 'properties': {'List': {'items': {'$ref': '#/definitions/BackupsMetadataResult'},
7199 'required': ['List'],
7201 'BackupsMetadataResult': {'additionalProperties': False,
7202 'properties': {'CACert': {'type': 'string'},
7203 'CAPrivateKey': {'type': 'string'},
7204 'Checksum': {'type': 'string'},
7205 'ChecksumFormat': {'type': 'string'},
7206 'Finished': {'format': 'date-time',
7208 'Hostname': {'type': 'string'},
7209 'ID': {'type': 'string'},
7210 'Machine': {'type': 'string'},
7211 'Model': {'type': 'string'},
7212 'Notes': {'type': 'string'},
7213 'Series': {'type': 'string'},
7214 'Size': {'type': 'integer'},
7215 'Started': {'format': 'date-time',
7217 'Stored': {'format': 'date-time',
7219 'Version': {'$ref': '#/definitions/Number'}},
7236 'BackupsRemoveArgs': {'additionalProperties': False,
7237 'properties': {'ID': {'type': 'string'}},
7240 'Number': {'additionalProperties': False,
7241 'properties': {'Build': {'type': 'integer'},
7242 'Major': {'type': 'integer'},
7243 'Minor': {'type': 'integer'},
7244 'Patch': {'type': 'integer'},
7245 'Tag': {'type': 'string'}},
7246 'required': ['Major',
7252 'RestoreArgs': {'additionalProperties': False,
7253 'properties': {'BackupId': {'type': 'string'}},
7254 'required': ['BackupId'],
7256 'properties': {'Create': {'properties': {'Params': {'$ref': '#/definitions/BackupsCreateArgs'},
7257 'Result': {'$ref': '#/definitions/BackupsMetadataResult'}},
7259 'FinishRestore': {'type': 'object'},
7260 'Info': {'properties': {'Params': {'$ref': '#/definitions/BackupsInfoArgs'},
7261 'Result': {'$ref': '#/definitions/BackupsMetadataResult'}},
7263 'List': {'properties': {'Params': {'$ref': '#/definitions/BackupsListArgs'},
7264 'Result': {'$ref': '#/definitions/BackupsListResult'}},
7266 'PrepareRestore': {'type': 'object'},
7267 'Remove': {'properties': {'Params': {'$ref': '#/definitions/BackupsRemoveArgs'}},
7269 'Restore': {'properties': {'Params': {'$ref': '#/definitions/RestoreArgs'}},
7274 @ReturnMapping(BackupsMetadataResult
)
7275 async def Create(self
, notes
):
7278 Returns -> typing.Union[str, int, _ForwardRef('Number')]
7280 # map input types to rpc msg
7282 msg
= dict(Type
='Backups', Request
='Create', Version
=1, Params
=params
)
7283 params
['Notes'] = notes
7284 reply
= await self
.rpc(msg
)
7289 @ReturnMapping(None)
7290 async def FinishRestore(self
):
7295 # map input types to rpc msg
7297 msg
= dict(Type
='Backups', Request
='FinishRestore', Version
=1, Params
=params
)
7299 reply
= await self
.rpc(msg
)
7304 @ReturnMapping(BackupsMetadataResult
)
7305 async def Info(self
, id_
):
7308 Returns -> typing.Union[str, int, _ForwardRef('Number')]
7310 # map input types to rpc msg
7312 msg
= dict(Type
='Backups', Request
='Info', Version
=1, Params
=params
)
7314 reply
= await self
.rpc(msg
)
7319 @ReturnMapping(BackupsListResult
)
7320 async def List(self
):
7323 Returns -> typing.Sequence[~BackupsMetadataResult]
7325 # map input types to rpc msg
7327 msg
= dict(Type
='Backups', Request
='List', Version
=1, Params
=params
)
7329 reply
= await self
.rpc(msg
)
7334 @ReturnMapping(None)
7335 async def PrepareRestore(self
):
7340 # map input types to rpc msg
7342 msg
= dict(Type
='Backups', Request
='PrepareRestore', Version
=1, Params
=params
)
7344 reply
= await self
.rpc(msg
)
7349 @ReturnMapping(None)
7350 async def Remove(self
, id_
):
7355 # map input types to rpc msg
7357 msg
= dict(Type
='Backups', Request
='Remove', Version
=1, Params
=params
)
7359 reply
= await self
.rpc(msg
)
7364 @ReturnMapping(None)
7365 async def Restore(self
, backupid
):
7370 # map input types to rpc msg
7372 msg
= dict(Type
='Backups', Request
='Restore', Version
=1, Params
=params
)
7373 params
['BackupId'] = backupid
7374 reply
= await self
.rpc(msg
)
7378 class BlockFacade(Type
):
7381 schema
= {'definitions': {'Block': {'additionalProperties': False,
7382 'properties': {'id': {'type': 'string'},
7383 'message': {'type': 'string'},
7384 'tag': {'type': 'string'},
7385 'type': {'type': 'string'}},
7386 'required': ['id', 'tag', 'type'],
7388 'BlockResult': {'additionalProperties': False,
7389 'properties': {'error': {'$ref': '#/definitions/Error'},
7390 'result': {'$ref': '#/definitions/Block'}},
7391 'required': ['result'],
7393 'BlockResults': {'additionalProperties': False,
7394 'properties': {'results': {'items': {'$ref': '#/definitions/BlockResult'},
7397 'BlockSwitchParams': {'additionalProperties': False,
7398 'properties': {'message': {'type': 'string'},
7399 'type': {'type': 'string'}},
7400 'required': ['type'],
7402 'Error': {'additionalProperties': False,
7403 'properties': {'Code': {'type': 'string'},
7404 'Info': {'$ref': '#/definitions/ErrorInfo'},
7405 'Message': {'type': 'string'}},
7406 'required': ['Message', 'Code'],
7408 'ErrorInfo': {'additionalProperties': False,
7409 'properties': {'Macaroon': {'$ref': '#/definitions/Macaroon'},
7410 'MacaroonPath': {'type': 'string'}},
7412 'ErrorResult': {'additionalProperties': False,
7413 'properties': {'Error': {'$ref': '#/definitions/Error'}},
7414 'required': ['Error'],
7416 'Macaroon': {'additionalProperties': False,
7417 'properties': {'caveats': {'items': {'$ref': '#/definitions/caveat'},
7419 'data': {'items': {'type': 'integer'},
7421 'id': {'$ref': '#/definitions/packet'},
7422 'location': {'$ref': '#/definitions/packet'},
7423 'sig': {'items': {'type': 'integer'},
7425 'required': ['data',
7431 'caveat': {'additionalProperties': False,
7432 'properties': {'caveatId': {'$ref': '#/definitions/packet'},
7433 'location': {'$ref': '#/definitions/packet'},
7434 'verificationId': {'$ref': '#/definitions/packet'}},
7435 'required': ['location',
7439 'packet': {'additionalProperties': False,
7440 'properties': {'headerLen': {'type': 'integer'},
7441 'start': {'type': 'integer'},
7442 'totalLen': {'type': 'integer'}},
7443 'required': ['start', 'totalLen', 'headerLen'],
7445 'properties': {'List': {'properties': {'Result': {'$ref': '#/definitions/BlockResults'}},
7447 'SwitchBlockOff': {'properties': {'Params': {'$ref': '#/definitions/BlockSwitchParams'},
7448 'Result': {'$ref': '#/definitions/ErrorResult'}},
7450 'SwitchBlockOn': {'properties': {'Params': {'$ref': '#/definitions/BlockSwitchParams'},
7451 'Result': {'$ref': '#/definitions/ErrorResult'}},
7456 @ReturnMapping(BlockResults
)
7457 async def List(self
):
7460 Returns -> typing.Sequence[~BlockResult]
7462 # map input types to rpc msg
7464 msg
= dict(Type
='Block', Request
='List', Version
=2, Params
=params
)
7466 reply
= await self
.rpc(msg
)
7471 @ReturnMapping(ErrorResult
)
7472 async def SwitchBlockOff(self
, message
, type_
):
7478 # map input types to rpc msg
7480 msg
= dict(Type
='Block', Request
='SwitchBlockOff', Version
=2, Params
=params
)
7481 params
['message'] = message
7482 params
['type'] = type_
7483 reply
= await self
.rpc(msg
)
7488 @ReturnMapping(ErrorResult
)
7489 async def SwitchBlockOn(self
, message
, type_
):
7495 # map input types to rpc msg
7497 msg
= dict(Type
='Block', Request
='SwitchBlockOn', Version
=2, Params
=params
)
7498 params
['message'] = message
7499 params
['type'] = type_
7500 reply
= await self
.rpc(msg
)
7504 class CharmRevisionUpdaterFacade(Type
):
7505 name
= 'CharmRevisionUpdater'
7507 schema
= {'definitions': {'Error': {'additionalProperties': False,
7508 'properties': {'Code': {'type': 'string'},
7509 'Info': {'$ref': '#/definitions/ErrorInfo'},
7510 'Message': {'type': 'string'}},
7511 'required': ['Message', 'Code'],
7513 'ErrorInfo': {'additionalProperties': False,
7514 'properties': {'Macaroon': {'$ref': '#/definitions/Macaroon'},
7515 'MacaroonPath': {'type': 'string'}},
7517 'ErrorResult': {'additionalProperties': False,
7518 'properties': {'Error': {'$ref': '#/definitions/Error'}},
7519 'required': ['Error'],
7521 'Macaroon': {'additionalProperties': False,
7522 'properties': {'caveats': {'items': {'$ref': '#/definitions/caveat'},
7524 'data': {'items': {'type': 'integer'},
7526 'id': {'$ref': '#/definitions/packet'},
7527 'location': {'$ref': '#/definitions/packet'},
7528 'sig': {'items': {'type': 'integer'},
7530 'required': ['data',
7536 'caveat': {'additionalProperties': False,
7537 'properties': {'caveatId': {'$ref': '#/definitions/packet'},
7538 'location': {'$ref': '#/definitions/packet'},
7539 'verificationId': {'$ref': '#/definitions/packet'}},
7540 'required': ['location',
7544 'packet': {'additionalProperties': False,
7545 'properties': {'headerLen': {'type': 'integer'},
7546 'start': {'type': 'integer'},
7547 'totalLen': {'type': 'integer'}},
7548 'required': ['start', 'totalLen', 'headerLen'],
7550 'properties': {'UpdateLatestRevisions': {'properties': {'Result': {'$ref': '#/definitions/ErrorResult'}},
7555 @ReturnMapping(ErrorResult
)
7556 async def UpdateLatestRevisions(self
):
7561 # map input types to rpc msg
7563 msg
= dict(Type
='CharmRevisionUpdater', Request
='UpdateLatestRevisions', Version
=2, Params
=params
)
7565 reply
= await self
.rpc(msg
)
7569 class CharmsFacade(Type
):
7572 schema
= {'definitions': {'CharmInfo': {'additionalProperties': False,
7573 'properties': {'CharmURL': {'type': 'string'}},
7574 'required': ['CharmURL'],
7576 'CharmsList': {'additionalProperties': False,
7577 'properties': {'Names': {'items': {'type': 'string'},
7579 'required': ['Names'],
7581 'CharmsListResult': {'additionalProperties': False,
7582 'properties': {'CharmURLs': {'items': {'type': 'string'},
7584 'required': ['CharmURLs'],
7586 'IsMeteredResult': {'additionalProperties': False,
7587 'properties': {'Metered': {'type': 'boolean'}},
7588 'required': ['Metered'],
7590 'properties': {'CharmInfo': {'properties': {'Params': {'$ref': '#/definitions/CharmInfo'},
7591 'Result': {'$ref': '#/definitions/CharmInfo'}},
7593 'IsMetered': {'properties': {'Params': {'$ref': '#/definitions/CharmInfo'},
7594 'Result': {'$ref': '#/definitions/IsMeteredResult'}},
7596 'List': {'properties': {'Params': {'$ref': '#/definitions/CharmsList'},
7597 'Result': {'$ref': '#/definitions/CharmsListResult'}},
7602 @ReturnMapping(CharmInfo
)
7603 async def CharmInfo(self
, charmurl
):
7608 # map input types to rpc msg
7610 msg
= dict(Type
='Charms', Request
='CharmInfo', Version
=2, Params
=params
)
7611 params
['CharmURL'] = charmurl
7612 reply
= await self
.rpc(msg
)
7617 @ReturnMapping(IsMeteredResult
)
7618 async def IsMetered(self
, charmurl
):
7623 # map input types to rpc msg
7625 msg
= dict(Type
='Charms', Request
='IsMetered', Version
=2, Params
=params
)
7626 params
['CharmURL'] = charmurl
7627 reply
= await self
.rpc(msg
)
7632 @ReturnMapping(CharmsListResult
)
7633 async def List(self
, names
):
7635 names : typing.Sequence[str]
7636 Returns -> typing.Sequence[str]
7638 # map input types to rpc msg
7640 msg
= dict(Type
='Charms', Request
='List', Version
=2, Params
=params
)
7641 params
['Names'] = names
7642 reply
= await self
.rpc(msg
)
7646 class CleanerFacade(Type
):
7649 schema
= {'definitions': {'Error': {'additionalProperties': False,
7650 'properties': {'Code': {'type': 'string'},
7651 'Info': {'$ref': '#/definitions/ErrorInfo'},
7652 'Message': {'type': 'string'}},
7653 'required': ['Message', 'Code'],
7655 'ErrorInfo': {'additionalProperties': False,
7656 'properties': {'Macaroon': {'$ref': '#/definitions/Macaroon'},
7657 'MacaroonPath': {'type': 'string'}},
7659 'Macaroon': {'additionalProperties': False,
7660 'properties': {'caveats': {'items': {'$ref': '#/definitions/caveat'},
7662 'data': {'items': {'type': 'integer'},
7664 'id': {'$ref': '#/definitions/packet'},
7665 'location': {'$ref': '#/definitions/packet'},
7666 'sig': {'items': {'type': 'integer'},
7668 'required': ['data',
7674 'NotifyWatchResult': {'additionalProperties': False,
7675 'properties': {'Error': {'$ref': '#/definitions/Error'},
7676 'NotifyWatcherId': {'type': 'string'}},
7677 'required': ['NotifyWatcherId', 'Error'],
7679 'caveat': {'additionalProperties': False,
7680 'properties': {'caveatId': {'$ref': '#/definitions/packet'},
7681 'location': {'$ref': '#/definitions/packet'},
7682 'verificationId': {'$ref': '#/definitions/packet'}},
7683 'required': ['location',
7687 'packet': {'additionalProperties': False,
7688 'properties': {'headerLen': {'type': 'integer'},
7689 'start': {'type': 'integer'},
7690 'totalLen': {'type': 'integer'}},
7691 'required': ['start', 'totalLen', 'headerLen'],
7693 'properties': {'Cleanup': {'type': 'object'},
7694 'WatchCleanups': {'properties': {'Result': {'$ref': '#/definitions/NotifyWatchResult'}},
7699 @ReturnMapping(None)
7700 async def Cleanup(self
):
7705 # map input types to rpc msg
7707 msg
= dict(Type
='Cleaner', Request
='Cleanup', Version
=2, Params
=params
)
7709 reply
= await self
.rpc(msg
)
7714 @ReturnMapping(NotifyWatchResult
)
7715 async def WatchCleanups(self
):
7718 Returns -> typing.Union[_ForwardRef('Error'), str]
7720 # map input types to rpc msg
7722 msg
= dict(Type
='Cleaner', Request
='WatchCleanups', Version
=2, Params
=params
)
7724 reply
= await self
.rpc(msg
)
7728 class ClientFacade(Type
):
7731 schema
= {'definitions': {'APIHostPortsResult': {'additionalProperties': False,
7732 'properties': {'Servers': {'items': {'items': {'$ref': '#/definitions/HostPort'},
7735 'required': ['Servers'],
7737 'AddCharm': {'additionalProperties': False,
7738 'properties': {'Channel': {'type': 'string'},
7739 'URL': {'type': 'string'}},
7740 'required': ['URL', 'Channel'],
7742 'AddCharmWithAuthorization': {'additionalProperties': False,
7743 'properties': {'Channel': {'type': 'string'},
7744 'CharmStoreMacaroon': {'$ref': '#/definitions/Macaroon'},
7745 'URL': {'type': 'string'}},
7748 'CharmStoreMacaroon'],
7750 'AddMachineParams': {'additionalProperties': False,
7751 'properties': {'Addrs': {'items': {'$ref': '#/definitions/Address'},
7753 'Constraints': {'$ref': '#/definitions/Value'},
7754 'ContainerType': {'type': 'string'},
7755 'Disks': {'items': {'$ref': '#/definitions/Constraints'},
7757 'HardwareCharacteristics': {'$ref': '#/definitions/HardwareCharacteristics'},
7758 'InstanceId': {'type': 'string'},
7759 'Jobs': {'items': {'type': 'string'},
7761 'Nonce': {'type': 'string'},
7762 'ParentId': {'type': 'string'},
7763 'Placement': {'$ref': '#/definitions/Placement'},
7764 'Series': {'type': 'string'}},
7765 'required': ['Series',
7774 'HardwareCharacteristics',
7777 'AddMachines': {'additionalProperties': False,
7778 'properties': {'MachineParams': {'items': {'$ref': '#/definitions/AddMachineParams'},
7780 'required': ['MachineParams'],
7782 'AddMachinesResult': {'additionalProperties': False,
7783 'properties': {'Error': {'$ref': '#/definitions/Error'},
7784 'Machine': {'type': 'string'}},
7785 'required': ['Machine', 'Error'],
7787 'AddMachinesResults': {'additionalProperties': False,
7788 'properties': {'Machines': {'items': {'$ref': '#/definitions/AddMachinesResult'},
7790 'required': ['Machines'],
7792 'Address': {'additionalProperties': False,
7793 'properties': {'Scope': {'type': 'string'},
7794 'SpaceName': {'type': 'string'},
7795 'Type': {'type': 'string'},
7796 'Value': {'type': 'string'}},
7797 'required': ['Value', 'Type', 'Scope'],
7799 'AgentVersionResult': {'additionalProperties': False,
7800 'properties': {'Version': {'$ref': '#/definitions/Number'}},
7801 'required': ['Version'],
7803 'AllWatcherId': {'additionalProperties': False,
7804 'properties': {'AllWatcherId': {'type': 'string'}},
7805 'required': ['AllWatcherId'],
7807 'ApplicationStatus': {'additionalProperties': False,
7808 'properties': {'CanUpgradeTo': {'type': 'string'},
7809 'Charm': {'type': 'string'},
7810 'Err': {'additionalProperties': True,
7812 'Exposed': {'type': 'boolean'},
7813 'Life': {'type': 'string'},
7814 'MeterStatuses': {'patternProperties': {'.*': {'$ref': '#/definitions/MeterStatus'}},
7816 'Relations': {'patternProperties': {'.*': {'items': {'type': 'string'},
7819 'Status': {'$ref': '#/definitions/DetailedStatus'},
7820 'SubordinateTo': {'items': {'type': 'string'},
7822 'Units': {'patternProperties': {'.*': {'$ref': '#/definitions/UnitStatus'}},
7835 'Binary': {'additionalProperties': False,
7836 'properties': {'Arch': {'type': 'string'},
7837 'Number': {'$ref': '#/definitions/Number'},
7838 'Series': {'type': 'string'}},
7839 'required': ['Number', 'Series', 'Arch'],
7841 'BundleChangesChange': {'additionalProperties': False,
7842 'properties': {'args': {'items': {'additionalProperties': True,
7845 'id': {'type': 'string'},
7846 'method': {'type': 'string'},
7847 'requires': {'items': {'type': 'string'},
7854 'CharmInfo': {'additionalProperties': False,
7855 'properties': {'CharmURL': {'type': 'string'}},
7856 'required': ['CharmURL'],
7858 'Constraints': {'additionalProperties': False,
7859 'properties': {'Count': {'type': 'integer'},
7860 'Pool': {'type': 'string'},
7861 'Size': {'type': 'integer'}},
7862 'required': ['Pool', 'Size', 'Count'],
7864 'DestroyMachines': {'additionalProperties': False,
7865 'properties': {'Force': {'type': 'boolean'},
7866 'MachineNames': {'items': {'type': 'string'},
7868 'required': ['MachineNames', 'Force'],
7870 'DetailedStatus': {'additionalProperties': False,
7871 'properties': {'Data': {'patternProperties': {'.*': {'additionalProperties': True,
7874 'Err': {'additionalProperties': True,
7876 'Info': {'type': 'string'},
7877 'Kind': {'type': 'string'},
7878 'Life': {'type': 'string'},
7879 'Since': {'format': 'date-time',
7881 'Status': {'type': 'string'},
7882 'Version': {'type': 'string'}},
7883 'required': ['Status',
7892 'EndpointStatus': {'additionalProperties': False,
7893 'properties': {'ApplicationName': {'type': 'string'},
7894 'Name': {'type': 'string'},
7895 'Role': {'type': 'string'},
7896 'Subordinate': {'type': 'boolean'}},
7897 'required': ['ApplicationName',
7902 'Entities': {'additionalProperties': False,
7903 'properties': {'Entities': {'items': {'$ref': '#/definitions/Entity'},
7905 'required': ['Entities'],
7907 'Entity': {'additionalProperties': False,
7908 'properties': {'Tag': {'type': 'string'}},
7909 'required': ['Tag'],
7911 'EntityStatus': {'additionalProperties': False,
7912 'properties': {'Data': {'patternProperties': {'.*': {'additionalProperties': True,
7915 'Info': {'type': 'string'},
7916 'Since': {'format': 'date-time',
7918 'Status': {'type': 'string'}},
7919 'required': ['Status',
7924 'Error': {'additionalProperties': False,
7925 'properties': {'Code': {'type': 'string'},
7926 'Info': {'$ref': '#/definitions/ErrorInfo'},
7927 'Message': {'type': 'string'}},
7928 'required': ['Message', 'Code'],
7930 'ErrorInfo': {'additionalProperties': False,
7931 'properties': {'Macaroon': {'$ref': '#/definitions/Macaroon'},
7932 'MacaroonPath': {'type': 'string'}},
7934 'ErrorResult': {'additionalProperties': False,
7935 'properties': {'Error': {'$ref': '#/definitions/Error'}},
7936 'required': ['Error'],
7938 'ErrorResults': {'additionalProperties': False,
7939 'properties': {'Results': {'items': {'$ref': '#/definitions/ErrorResult'},
7941 'required': ['Results'],
7943 'FindToolsParams': {'additionalProperties': False,
7944 'properties': {'Arch': {'type': 'string'},
7945 'MajorVersion': {'type': 'integer'},
7946 'MinorVersion': {'type': 'integer'},
7947 'Number': {'$ref': '#/definitions/Number'},
7948 'Series': {'type': 'string'}},
7949 'required': ['Number',
7955 'FindToolsResult': {'additionalProperties': False,
7956 'properties': {'Error': {'$ref': '#/definitions/Error'},
7957 'List': {'items': {'$ref': '#/definitions/Tools'},
7959 'required': ['List', 'Error'],
7961 'FullStatus': {'additionalProperties': False,
7962 'properties': {'Applications': {'patternProperties': {'.*': {'$ref': '#/definitions/ApplicationStatus'}},
7964 'AvailableVersion': {'type': 'string'},
7965 'Machines': {'patternProperties': {'.*': {'$ref': '#/definitions/MachineStatus'}},
7967 'ModelName': {'type': 'string'},
7968 'Relations': {'items': {'$ref': '#/definitions/RelationStatus'},
7970 'required': ['ModelName',
7976 'GetBundleChangesParams': {'additionalProperties': False,
7977 'properties': {'yaml': {'type': 'string'}},
7978 'required': ['yaml'],
7980 'GetBundleChangesResults': {'additionalProperties': False,
7981 'properties': {'changes': {'items': {'$ref': '#/definitions/BundleChangesChange'},
7983 'errors': {'items': {'type': 'string'},
7986 'GetConstraintsResults': {'additionalProperties': False,
7987 'properties': {'Constraints': {'$ref': '#/definitions/Value'}},
7988 'required': ['Constraints'],
7990 'HardwareCharacteristics': {'additionalProperties': False,
7991 'properties': {'Arch': {'type': 'string'},
7992 'AvailabilityZone': {'type': 'string'},
7993 'CpuCores': {'type': 'integer'},
7994 'CpuPower': {'type': 'integer'},
7995 'Mem': {'type': 'integer'},
7996 'RootDisk': {'type': 'integer'},
7997 'Tags': {'items': {'type': 'string'},
8000 'History': {'additionalProperties': False,
8001 'properties': {'Error': {'$ref': '#/definitions/Error'},
8002 'Statuses': {'items': {'$ref': '#/definitions/DetailedStatus'},
8004 'required': ['Statuses'],
8006 'HostPort': {'additionalProperties': False,
8007 'properties': {'Address': {'$ref': '#/definitions/Address'},
8008 'Port': {'type': 'integer'}},
8009 'required': ['Address', 'Port'],
8011 'Macaroon': {'additionalProperties': False,
8012 'properties': {'caveats': {'items': {'$ref': '#/definitions/caveat'},
8014 'data': {'items': {'type': 'integer'},
8016 'id': {'$ref': '#/definitions/packet'},
8017 'location': {'$ref': '#/definitions/packet'},
8018 'sig': {'items': {'type': 'integer'},
8020 'required': ['data',
8026 'MachineStatus': {'additionalProperties': False,
8027 'properties': {'AgentStatus': {'$ref': '#/definitions/DetailedStatus'},
8028 'Containers': {'patternProperties': {'.*': {'$ref': '#/definitions/MachineStatus'}},
8030 'DNSName': {'type': 'string'},
8031 'Hardware': {'type': 'string'},
8032 'HasVote': {'type': 'boolean'},
8033 'Id': {'type': 'string'},
8034 'InstanceId': {'type': 'string'},
8035 'InstanceStatus': {'$ref': '#/definitions/DetailedStatus'},
8036 'Jobs': {'items': {'type': 'string'},
8038 'Series': {'type': 'string'},
8039 'WantsVote': {'type': 'boolean'}},
8040 'required': ['AgentStatus',
8052 'MeterStatus': {'additionalProperties': False,
8053 'properties': {'Color': {'type': 'string'},
8054 'Message': {'type': 'string'}},
8055 'required': ['Color', 'Message'],
8057 'ModelConfigResults': {'additionalProperties': False,
8058 'properties': {'Config': {'patternProperties': {'.*': {'additionalProperties': True,
8061 'required': ['Config'],
8063 'ModelInfo': {'additionalProperties': False,
8064 'properties': {'Cloud': {'type': 'string'},
8065 'DefaultSeries': {'type': 'string'},
8066 'Life': {'type': 'string'},
8067 'Name': {'type': 'string'},
8068 'OwnerTag': {'type': 'string'},
8069 'ProviderType': {'type': 'string'},
8070 'ServerUUID': {'type': 'string'},
8071 'Status': {'$ref': '#/definitions/EntityStatus'},
8072 'UUID': {'type': 'string'},
8073 'Users': {'items': {'$ref': '#/definitions/ModelUserInfo'},
8075 'required': ['Name',
8086 'ModelSet': {'additionalProperties': False,
8087 'properties': {'Config': {'patternProperties': {'.*': {'additionalProperties': True,
8090 'required': ['Config'],
8092 'ModelUnset': {'additionalProperties': False,
8093 'properties': {'Keys': {'items': {'type': 'string'},
8095 'required': ['Keys'],
8097 'ModelUserInfo': {'additionalProperties': False,
8098 'properties': {'access': {'type': 'string'},
8099 'displayname': {'type': 'string'},
8100 'lastconnection': {'format': 'date-time',
8102 'user': {'type': 'string'}},
8103 'required': ['user',
8108 'ModelUserInfoResult': {'additionalProperties': False,
8109 'properties': {'error': {'$ref': '#/definitions/Error'},
8110 'result': {'$ref': '#/definitions/ModelUserInfo'}},
8112 'ModelUserInfoResults': {'additionalProperties': False,
8113 'properties': {'results': {'items': {'$ref': '#/definitions/ModelUserInfoResult'},
8115 'required': ['results'],
8117 'Number': {'additionalProperties': False,
8118 'properties': {'Build': {'type': 'integer'},
8119 'Major': {'type': 'integer'},
8120 'Minor': {'type': 'integer'},
8121 'Patch': {'type': 'integer'},
8122 'Tag': {'type': 'string'}},
8123 'required': ['Major',
8129 'Placement': {'additionalProperties': False,
8130 'properties': {'Directive': {'type': 'string'},
8131 'Scope': {'type': 'string'}},
8132 'required': ['Scope', 'Directive'],
8134 'PrivateAddress': {'additionalProperties': False,
8135 'properties': {'Target': {'type': 'string'}},
8136 'required': ['Target'],
8138 'PrivateAddressResults': {'additionalProperties': False,
8139 'properties': {'PrivateAddress': {'type': 'string'}},
8140 'required': ['PrivateAddress'],
8142 'ProvisioningScriptParams': {'additionalProperties': False,
8143 'properties': {'DataDir': {'type': 'string'},
8144 'DisablePackageCommands': {'type': 'boolean'},
8145 'MachineId': {'type': 'string'},
8146 'Nonce': {'type': 'string'}},
8147 'required': ['MachineId',
8150 'DisablePackageCommands'],
8152 'ProvisioningScriptResult': {'additionalProperties': False,
8153 'properties': {'Script': {'type': 'string'}},
8154 'required': ['Script'],
8156 'PublicAddress': {'additionalProperties': False,
8157 'properties': {'Target': {'type': 'string'}},
8158 'required': ['Target'],
8160 'PublicAddressResults': {'additionalProperties': False,
8161 'properties': {'PublicAddress': {'type': 'string'}},
8162 'required': ['PublicAddress'],
8164 'RelationStatus': {'additionalProperties': False,
8165 'properties': {'Endpoints': {'items': {'$ref': '#/definitions/EndpointStatus'},
8167 'Id': {'type': 'integer'},
8168 'Interface': {'type': 'string'},
8169 'Key': {'type': 'string'},
8170 'Scope': {'type': 'string'}},
8177 'ResolveCharmResult': {'additionalProperties': False,
8178 'properties': {'Error': {'type': 'string'},
8179 'URL': {'$ref': '#/definitions/URL'}},
8181 'ResolveCharmResults': {'additionalProperties': False,
8182 'properties': {'URLs': {'items': {'$ref': '#/definitions/ResolveCharmResult'},
8184 'required': ['URLs'],
8186 'ResolveCharms': {'additionalProperties': False,
8187 'properties': {'References': {'items': {'$ref': '#/definitions/URL'},
8189 'required': ['References'],
8191 'Resolved': {'additionalProperties': False,
8192 'properties': {'Retry': {'type': 'boolean'},
8193 'UnitName': {'type': 'string'}},
8194 'required': ['UnitName', 'Retry'],
8196 'SetConstraints': {'additionalProperties': False,
8197 'properties': {'ApplicationName': {'type': 'string'},
8198 'Constraints': {'$ref': '#/definitions/Value'}},
8199 'required': ['ApplicationName',
8202 'SetModelAgentVersion': {'additionalProperties': False,
8203 'properties': {'Version': {'$ref': '#/definitions/Number'}},
8204 'required': ['Version'],
8206 'StatusHistoryFilter': {'additionalProperties': False,
8207 'properties': {'Date': {'format': 'date-time',
8209 'Delta': {'type': 'integer'},
8210 'Size': {'type': 'integer'}},
8211 'required': ['Size', 'Date', 'Delta'],
8213 'StatusHistoryRequest': {'additionalProperties': False,
8214 'properties': {'Filter': {'$ref': '#/definitions/StatusHistoryFilter'},
8215 'HistoryKind': {'type': 'string'},
8216 'Size': {'type': 'integer'},
8217 'Tag': {'type': 'string'}},
8218 'required': ['HistoryKind',
8223 'StatusHistoryRequests': {'additionalProperties': False,
8224 'properties': {'Requests': {'items': {'$ref': '#/definitions/StatusHistoryRequest'},
8226 'required': ['Requests'],
8228 'StatusHistoryResult': {'additionalProperties': False,
8229 'properties': {'Error': {'$ref': '#/definitions/Error'},
8230 'History': {'$ref': '#/definitions/History'}},
8231 'required': ['History'],
8233 'StatusHistoryResults': {'additionalProperties': False,
8234 'properties': {'Results': {'items': {'$ref': '#/definitions/StatusHistoryResult'},
8236 'required': ['Results'],
8238 'StatusParams': {'additionalProperties': False,
8239 'properties': {'Patterns': {'items': {'type': 'string'},
8241 'required': ['Patterns'],
8243 'Tools': {'additionalProperties': False,
8244 'properties': {'sha256': {'type': 'string'},
8245 'size': {'type': 'integer'},
8246 'url': {'type': 'string'},
8247 'version': {'$ref': '#/definitions/Binary'}},
8248 'required': ['version', 'url', 'size'],
8250 'URL': {'additionalProperties': False,
8251 'properties': {'Channel': {'type': 'string'},
8252 'Name': {'type': 'string'},
8253 'Revision': {'type': 'integer'},
8254 'Schema': {'type': 'string'},
8255 'Series': {'type': 'string'},
8256 'User': {'type': 'string'}},
8257 'required': ['Schema',
8264 'UnitStatus': {'additionalProperties': False,
8265 'properties': {'AgentStatus': {'$ref': '#/definitions/DetailedStatus'},
8266 'Charm': {'type': 'string'},
8267 'Machine': {'type': 'string'},
8268 'OpenedPorts': {'items': {'type': 'string'},
8270 'PublicAddress': {'type': 'string'},
8271 'Subordinates': {'patternProperties': {'.*': {'$ref': '#/definitions/UnitStatus'}},
8273 'WorkloadStatus': {'$ref': '#/definitions/DetailedStatus'}},
8274 'required': ['AgentStatus',
8282 'Value': {'additionalProperties': False,
8283 'properties': {'arch': {'type': 'string'},
8284 'container': {'type': 'string'},
8285 'cpu-cores': {'type': 'integer'},
8286 'cpu-power': {'type': 'integer'},
8287 'instance-type': {'type': 'string'},
8288 'mem': {'type': 'integer'},
8289 'root-disk': {'type': 'integer'},
8290 'spaces': {'items': {'type': 'string'},
8292 'tags': {'items': {'type': 'string'},
8294 'virt-type': {'type': 'string'}},
8296 'caveat': {'additionalProperties': False,
8297 'properties': {'caveatId': {'$ref': '#/definitions/packet'},
8298 'location': {'$ref': '#/definitions/packet'},
8299 'verificationId': {'$ref': '#/definitions/packet'}},
8300 'required': ['location',
8304 'packet': {'additionalProperties': False,
8305 'properties': {'headerLen': {'type': 'integer'},
8306 'start': {'type': 'integer'},
8307 'totalLen': {'type': 'integer'}},
8308 'required': ['start', 'totalLen', 'headerLen'],
8310 'properties': {'APIHostPorts': {'properties': {'Result': {'$ref': '#/definitions/APIHostPortsResult'}},
8312 'AbortCurrentUpgrade': {'type': 'object'},
8313 'AddCharm': {'properties': {'Params': {'$ref': '#/definitions/AddCharm'}},
8315 'AddCharmWithAuthorization': {'properties': {'Params': {'$ref': '#/definitions/AddCharmWithAuthorization'}},
8317 'AddMachines': {'properties': {'Params': {'$ref': '#/definitions/AddMachines'},
8318 'Result': {'$ref': '#/definitions/AddMachinesResults'}},
8320 'AddMachinesV2': {'properties': {'Params': {'$ref': '#/definitions/AddMachines'},
8321 'Result': {'$ref': '#/definitions/AddMachinesResults'}},
8323 'AgentVersion': {'properties': {'Result': {'$ref': '#/definitions/AgentVersionResult'}},
8325 'CharmInfo': {'properties': {'Params': {'$ref': '#/definitions/CharmInfo'},
8326 'Result': {'$ref': '#/definitions/CharmInfo'}},
8328 'DestroyMachines': {'properties': {'Params': {'$ref': '#/definitions/DestroyMachines'}},
8330 'DestroyModel': {'type': 'object'},
8331 'FindTools': {'properties': {'Params': {'$ref': '#/definitions/FindToolsParams'},
8332 'Result': {'$ref': '#/definitions/FindToolsResult'}},
8334 'FullStatus': {'properties': {'Params': {'$ref': '#/definitions/StatusParams'},
8335 'Result': {'$ref': '#/definitions/FullStatus'}},
8337 'GetBundleChanges': {'properties': {'Params': {'$ref': '#/definitions/GetBundleChangesParams'},
8338 'Result': {'$ref': '#/definitions/GetBundleChangesResults'}},
8340 'GetModelConstraints': {'properties': {'Result': {'$ref': '#/definitions/GetConstraintsResults'}},
8342 'InjectMachines': {'properties': {'Params': {'$ref': '#/definitions/AddMachines'},
8343 'Result': {'$ref': '#/definitions/AddMachinesResults'}},
8345 'ModelGet': {'properties': {'Result': {'$ref': '#/definitions/ModelConfigResults'}},
8347 'ModelInfo': {'properties': {'Result': {'$ref': '#/definitions/ModelInfo'}},
8349 'ModelSet': {'properties': {'Params': {'$ref': '#/definitions/ModelSet'}},
8351 'ModelUnset': {'properties': {'Params': {'$ref': '#/definitions/ModelUnset'}},
8353 'ModelUserInfo': {'properties': {'Result': {'$ref': '#/definitions/ModelUserInfoResults'}},
8355 'PrivateAddress': {'properties': {'Params': {'$ref': '#/definitions/PrivateAddress'},
8356 'Result': {'$ref': '#/definitions/PrivateAddressResults'}},
8358 'ProvisioningScript': {'properties': {'Params': {'$ref': '#/definitions/ProvisioningScriptParams'},
8359 'Result': {'$ref': '#/definitions/ProvisioningScriptResult'}},
8361 'PublicAddress': {'properties': {'Params': {'$ref': '#/definitions/PublicAddress'},
8362 'Result': {'$ref': '#/definitions/PublicAddressResults'}},
8364 'ResolveCharms': {'properties': {'Params': {'$ref': '#/definitions/ResolveCharms'},
8365 'Result': {'$ref': '#/definitions/ResolveCharmResults'}},
8367 'Resolved': {'properties': {'Params': {'$ref': '#/definitions/Resolved'}},
8369 'RetryProvisioning': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
8370 'Result': {'$ref': '#/definitions/ErrorResults'}},
8372 'SetModelAgentVersion': {'properties': {'Params': {'$ref': '#/definitions/SetModelAgentVersion'}},
8374 'SetModelConstraints': {'properties': {'Params': {'$ref': '#/definitions/SetConstraints'}},
8376 'StatusHistory': {'properties': {'Params': {'$ref': '#/definitions/StatusHistoryRequests'},
8377 'Result': {'$ref': '#/definitions/StatusHistoryResults'}},
8379 'WatchAll': {'properties': {'Result': {'$ref': '#/definitions/AllWatcherId'}},
8384 @ReturnMapping(APIHostPortsResult
)
8385 async def APIHostPorts(self
):
8388 Returns -> typing.Sequence[~HostPort]
8390 # map input types to rpc msg
8392 msg
= dict(Type
='Client', Request
='APIHostPorts', Version
=1, Params
=params
)
8394 reply
= await self
.rpc(msg
)
8399 @ReturnMapping(None)
8400 async def AbortCurrentUpgrade(self
):
8405 # map input types to rpc msg
8407 msg
= dict(Type
='Client', Request
='AbortCurrentUpgrade', Version
=1, Params
=params
)
8409 reply
= await self
.rpc(msg
)
8414 @ReturnMapping(None)
8415 async def AddCharm(self
, channel
, url
):
8421 # map input types to rpc msg
8423 msg
= dict(Type
='Client', Request
='AddCharm', Version
=1, Params
=params
)
8424 params
['Channel'] = channel
8426 reply
= await self
.rpc(msg
)
8431 @ReturnMapping(None)
8432 async def AddCharmWithAuthorization(self
, channel
, charmstoremacaroon
, url
):
8435 charmstoremacaroon : Macaroon
8439 # map input types to rpc msg
8441 msg
= dict(Type
='Client', Request
='AddCharmWithAuthorization', Version
=1, Params
=params
)
8442 params
['Channel'] = channel
8443 params
['CharmStoreMacaroon'] = charmstoremacaroon
8445 reply
= await self
.rpc(msg
)
8450 @ReturnMapping(AddMachinesResults
)
8451 async def AddMachines(self
, machineparams
):
8453 machineparams : typing.Sequence[~AddMachineParams]
8454 Returns -> typing.Sequence[~AddMachinesResult]
8456 # map input types to rpc msg
8458 msg
= dict(Type
='Client', Request
='AddMachines', Version
=1, Params
=params
)
8459 params
['MachineParams'] = machineparams
8460 reply
= await self
.rpc(msg
)
8465 @ReturnMapping(AddMachinesResults
)
8466 async def AddMachinesV2(self
, machineparams
):
8468 machineparams : typing.Sequence[~AddMachineParams]
8469 Returns -> typing.Sequence[~AddMachinesResult]
8471 # map input types to rpc msg
8473 msg
= dict(Type
='Client', Request
='AddMachinesV2', Version
=1, Params
=params
)
8474 params
['MachineParams'] = machineparams
8475 reply
= await self
.rpc(msg
)
8480 @ReturnMapping(AgentVersionResult
)
8481 async def AgentVersion(self
):
8486 # map input types to rpc msg
8488 msg
= dict(Type
='Client', Request
='AgentVersion', Version
=1, Params
=params
)
8490 reply
= await self
.rpc(msg
)
8495 @ReturnMapping(CharmInfo
)
8496 async def CharmInfo(self
, charmurl
):
8501 # map input types to rpc msg
8503 msg
= dict(Type
='Client', Request
='CharmInfo', Version
=1, Params
=params
)
8504 params
['CharmURL'] = charmurl
8505 reply
= await self
.rpc(msg
)
8510 @ReturnMapping(None)
8511 async def DestroyMachines(self
, force
, machinenames
):
8514 machinenames : typing.Sequence[str]
8517 # map input types to rpc msg
8519 msg
= dict(Type
='Client', Request
='DestroyMachines', Version
=1, Params
=params
)
8520 params
['Force'] = force
8521 params
['MachineNames'] = machinenames
8522 reply
= await self
.rpc(msg
)
8527 @ReturnMapping(None)
8528 async def DestroyModel(self
):
8533 # map input types to rpc msg
8535 msg
= dict(Type
='Client', Request
='DestroyModel', Version
=1, Params
=params
)
8537 reply
= await self
.rpc(msg
)
8542 @ReturnMapping(FindToolsResult
)
8543 async def FindTools(self
, arch
, majorversion
, minorversion
, number
, series
):
8550 Returns -> typing.Union[_ForwardRef('Error'), typing.Sequence[~Tools]]
8552 # map input types to rpc msg
8554 msg
= dict(Type
='Client', Request
='FindTools', Version
=1, Params
=params
)
8555 params
['Arch'] = arch
8556 params
['MajorVersion'] = majorversion
8557 params
['MinorVersion'] = minorversion
8558 params
['Number'] = number
8559 params
['Series'] = series
8560 reply
= await self
.rpc(msg
)
8565 @ReturnMapping(FullStatus
)
8566 async def FullStatus(self
, patterns
):
8568 patterns : typing.Sequence[str]
8569 Returns -> typing.Union[typing.Mapping[str, ~MachineStatus], typing.Sequence[~RelationStatus]]
8571 # map input types to rpc msg
8573 msg
= dict(Type
='Client', Request
='FullStatus', Version
=1, Params
=params
)
8574 params
['Patterns'] = patterns
8575 reply
= await self
.rpc(msg
)
8580 @ReturnMapping(GetBundleChangesResults
)
8581 async def GetBundleChanges(self
, yaml
):
8584 Returns -> typing.Sequence[~BundleChangesChange]
8586 # map input types to rpc msg
8588 msg
= dict(Type
='Client', Request
='GetBundleChanges', Version
=1, Params
=params
)
8589 params
['yaml'] = yaml
8590 reply
= await self
.rpc(msg
)
8595 @ReturnMapping(GetConstraintsResults
)
8596 async def GetModelConstraints(self
):
8601 # map input types to rpc msg
8603 msg
= dict(Type
='Client', Request
='GetModelConstraints', Version
=1, Params
=params
)
8605 reply
= await self
.rpc(msg
)
8610 @ReturnMapping(AddMachinesResults
)
8611 async def InjectMachines(self
, machineparams
):
8613 machineparams : typing.Sequence[~AddMachineParams]
8614 Returns -> typing.Sequence[~AddMachinesResult]
8616 # map input types to rpc msg
8618 msg
= dict(Type
='Client', Request
='InjectMachines', Version
=1, Params
=params
)
8619 params
['MachineParams'] = machineparams
8620 reply
= await self
.rpc(msg
)
8625 @ReturnMapping(ModelConfigResults
)
8626 async def ModelGet(self
):
8629 Returns -> typing.Mapping[str, typing.Any]
8631 # map input types to rpc msg
8633 msg
= dict(Type
='Client', Request
='ModelGet', Version
=1, Params
=params
)
8635 reply
= await self
.rpc(msg
)
8640 @ReturnMapping(ModelInfo
)
8641 async def ModelInfo(self
):
8644 Returns -> typing.Union[_ForwardRef('EntityStatus'), typing.Sequence[~ModelUserInfo]]
8646 # map input types to rpc msg
8648 msg
= dict(Type
='Client', Request
='ModelInfo', Version
=1, Params
=params
)
8650 reply
= await self
.rpc(msg
)
8655 @ReturnMapping(None)
8656 async def ModelSet(self
, config
):
8658 config : typing.Mapping[str, typing.Any]
8661 # map input types to rpc msg
8663 msg
= dict(Type
='Client', Request
='ModelSet', Version
=1, Params
=params
)
8664 params
['Config'] = config
8665 reply
= await self
.rpc(msg
)
8670 @ReturnMapping(None)
8671 async def ModelUnset(self
, keys
):
8673 keys : typing.Sequence[str]
8676 # map input types to rpc msg
8678 msg
= dict(Type
='Client', Request
='ModelUnset', Version
=1, Params
=params
)
8679 params
['Keys'] = keys
8680 reply
= await self
.rpc(msg
)
8685 @ReturnMapping(ModelUserInfoResults
)
8686 async def ModelUserInfo(self
):
8689 Returns -> typing.Sequence[~ModelUserInfoResult]
8691 # map input types to rpc msg
8693 msg
= dict(Type
='Client', Request
='ModelUserInfo', Version
=1, Params
=params
)
8695 reply
= await self
.rpc(msg
)
8700 @ReturnMapping(PrivateAddressResults
)
8701 async def PrivateAddress(self
, target
):
8706 # map input types to rpc msg
8708 msg
= dict(Type
='Client', Request
='PrivateAddress', Version
=1, Params
=params
)
8709 params
['Target'] = target
8710 reply
= await self
.rpc(msg
)
8715 @ReturnMapping(ProvisioningScriptResult
)
8716 async def ProvisioningScript(self
, datadir
, disablepackagecommands
, machineid
, nonce
):
8719 disablepackagecommands : bool
8724 # map input types to rpc msg
8726 msg
= dict(Type
='Client', Request
='ProvisioningScript', Version
=1, Params
=params
)
8727 params
['DataDir'] = datadir
8728 params
['DisablePackageCommands'] = disablepackagecommands
8729 params
['MachineId'] = machineid
8730 params
['Nonce'] = nonce
8731 reply
= await self
.rpc(msg
)
8736 @ReturnMapping(PublicAddressResults
)
8737 async def PublicAddress(self
, target
):
8742 # map input types to rpc msg
8744 msg
= dict(Type
='Client', Request
='PublicAddress', Version
=1, Params
=params
)
8745 params
['Target'] = target
8746 reply
= await self
.rpc(msg
)
8751 @ReturnMapping(ResolveCharmResults
)
8752 async def ResolveCharms(self
, references
):
8754 references : typing.Sequence[~URL]
8755 Returns -> typing.Sequence[~ResolveCharmResult]
8757 # map input types to rpc msg
8759 msg
= dict(Type
='Client', Request
='ResolveCharms', Version
=1, Params
=params
)
8760 params
['References'] = references
8761 reply
= await self
.rpc(msg
)
8766 @ReturnMapping(None)
8767 async def Resolved(self
, retry
, unitname
):
8773 # map input types to rpc msg
8775 msg
= dict(Type
='Client', Request
='Resolved', Version
=1, Params
=params
)
8776 params
['Retry'] = retry
8777 params
['UnitName'] = unitname
8778 reply
= await self
.rpc(msg
)
8783 @ReturnMapping(ErrorResults
)
8784 async def RetryProvisioning(self
, entities
):
8786 entities : typing.Sequence[~Entity]
8787 Returns -> typing.Sequence[~ErrorResult]
8789 # map input types to rpc msg
8791 msg
= dict(Type
='Client', Request
='RetryProvisioning', Version
=1, Params
=params
)
8792 params
['Entities'] = entities
8793 reply
= await self
.rpc(msg
)
8798 @ReturnMapping(None)
8799 async def SetModelAgentVersion(self
, build
, major
, minor
, patch
, tag
):
8808 # map input types to rpc msg
8810 msg
= dict(Type
='Client', Request
='SetModelAgentVersion', Version
=1, Params
=params
)
8811 params
['Build'] = build
8812 params
['Major'] = major
8813 params
['Minor'] = minor
8814 params
['Patch'] = patch
8816 reply
= await self
.rpc(msg
)
8821 @ReturnMapping(None)
8822 async def SetModelConstraints(self
, applicationname
, constraints
):
8824 applicationname : str
8828 # map input types to rpc msg
8830 msg
= dict(Type
='Client', Request
='SetModelConstraints', Version
=1, Params
=params
)
8831 params
['ApplicationName'] = applicationname
8832 params
['Constraints'] = constraints
8833 reply
= await self
.rpc(msg
)
8838 @ReturnMapping(StatusHistoryResults
)
8839 async def StatusHistory(self
, requests
):
8841 requests : typing.Sequence[~StatusHistoryRequest]
8842 Returns -> typing.Sequence[~StatusHistoryResult]
8844 # map input types to rpc msg
8846 msg
= dict(Type
='Client', Request
='StatusHistory', Version
=1, Params
=params
)
8847 params
['Requests'] = requests
8848 reply
= await self
.rpc(msg
)
8853 @ReturnMapping(AllWatcherId
)
8854 async def WatchAll(self
):
8859 # map input types to rpc msg
8861 msg
= dict(Type
='Client', Request
='WatchAll', Version
=1, Params
=params
)
8863 reply
= await self
.rpc(msg
)
8867 class ControllerFacade(Type
):
8870 schema
= {'definitions': {'AllWatcherId': {'additionalProperties': False,
8871 'properties': {'AllWatcherId': {'type': 'string'}},
8872 'required': ['AllWatcherId'],
8874 'DestroyControllerArgs': {'additionalProperties': False,
8875 'properties': {'destroy-models': {'type': 'boolean'}},
8876 'required': ['destroy-models'],
8878 'Entities': {'additionalProperties': False,
8879 'properties': {'Entities': {'items': {'$ref': '#/definitions/Entity'},
8881 'required': ['Entities'],
8883 'Entity': {'additionalProperties': False,
8884 'properties': {'Tag': {'type': 'string'}},
8885 'required': ['Tag'],
8887 'Error': {'additionalProperties': False,
8888 'properties': {'Code': {'type': 'string'},
8889 'Info': {'$ref': '#/definitions/ErrorInfo'},
8890 'Message': {'type': 'string'}},
8891 'required': ['Message', 'Code'],
8893 'ErrorInfo': {'additionalProperties': False,
8894 'properties': {'Macaroon': {'$ref': '#/definitions/Macaroon'},
8895 'MacaroonPath': {'type': 'string'}},
8897 'InitiateModelMigrationArgs': {'additionalProperties': False,
8898 'properties': {'specs': {'items': {'$ref': '#/definitions/ModelMigrationSpec'},
8900 'required': ['specs'],
8902 'InitiateModelMigrationResult': {'additionalProperties': False,
8903 'properties': {'error': {'$ref': '#/definitions/Error'},
8904 'id': {'type': 'string'},
8905 'model-tag': {'type': 'string'}},
8906 'required': ['model-tag',
8910 'InitiateModelMigrationResults': {'additionalProperties': False,
8911 'properties': {'results': {'items': {'$ref': '#/definitions/InitiateModelMigrationResult'},
8913 'required': ['results'],
8915 'Macaroon': {'additionalProperties': False,
8916 'properties': {'caveats': {'items': {'$ref': '#/definitions/caveat'},
8918 'data': {'items': {'type': 'integer'},
8920 'id': {'$ref': '#/definitions/packet'},
8921 'location': {'$ref': '#/definitions/packet'},
8922 'sig': {'items': {'type': 'integer'},
8924 'required': ['data',
8930 'Model': {'additionalProperties': False,
8931 'properties': {'Name': {'type': 'string'},
8932 'OwnerTag': {'type': 'string'},
8933 'UUID': {'type': 'string'}},
8934 'required': ['Name', 'UUID', 'OwnerTag'],
8936 'ModelBlockInfo': {'additionalProperties': False,
8937 'properties': {'blocks': {'items': {'type': 'string'},
8939 'model-uuid': {'type': 'string'},
8940 'name': {'type': 'string'},
8941 'owner-tag': {'type': 'string'}},
8942 'required': ['name',
8947 'ModelBlockInfoList': {'additionalProperties': False,
8948 'properties': {'models': {'items': {'$ref': '#/definitions/ModelBlockInfo'},
8951 'ModelConfigResults': {'additionalProperties': False,
8952 'properties': {'Config': {'patternProperties': {'.*': {'additionalProperties': True,
8955 'required': ['Config'],
8957 'ModelMigrationSpec': {'additionalProperties': False,
8958 'properties': {'model-tag': {'type': 'string'},
8959 'target-info': {'$ref': '#/definitions/ModelMigrationTargetInfo'}},
8960 'required': ['model-tag',
8963 'ModelMigrationTargetInfo': {'additionalProperties': False,
8964 'properties': {'addrs': {'items': {'type': 'string'},
8966 'auth-tag': {'type': 'string'},
8967 'ca-cert': {'type': 'string'},
8968 'controller-tag': {'type': 'string'},
8969 'password': {'type': 'string'}},
8970 'required': ['controller-tag',
8976 'ModelStatus': {'additionalProperties': False,
8977 'properties': {'application-count': {'type': 'integer'},
8978 'hosted-machine-count': {'type': 'integer'},
8979 'life': {'type': 'string'},
8980 'model-tag': {'type': 'string'},
8981 'owner-tag': {'type': 'string'}},
8982 'required': ['model-tag',
8984 'hosted-machine-count',
8985 'application-count',
8988 'ModelStatusResults': {'additionalProperties': False,
8989 'properties': {'models': {'items': {'$ref': '#/definitions/ModelStatus'},
8991 'required': ['models'],
8993 'RemoveBlocksArgs': {'additionalProperties': False,
8994 'properties': {'all': {'type': 'boolean'}},
8995 'required': ['all'],
8997 'UserModel': {'additionalProperties': False,
8998 'properties': {'LastConnection': {'format': 'date-time',
9000 'Model': {'$ref': '#/definitions/Model'}},
9001 'required': ['Model', 'LastConnection'],
9003 'UserModelList': {'additionalProperties': False,
9004 'properties': {'UserModels': {'items': {'$ref': '#/definitions/UserModel'},
9006 'required': ['UserModels'],
9008 'caveat': {'additionalProperties': False,
9009 'properties': {'caveatId': {'$ref': '#/definitions/packet'},
9010 'location': {'$ref': '#/definitions/packet'},
9011 'verificationId': {'$ref': '#/definitions/packet'}},
9012 'required': ['location',
9016 'packet': {'additionalProperties': False,
9017 'properties': {'headerLen': {'type': 'integer'},
9018 'start': {'type': 'integer'},
9019 'totalLen': {'type': 'integer'}},
9020 'required': ['start', 'totalLen', 'headerLen'],
9022 'properties': {'AllModels': {'properties': {'Result': {'$ref': '#/definitions/UserModelList'}},
9024 'DestroyController': {'properties': {'Params': {'$ref': '#/definitions/DestroyControllerArgs'}},
9026 'InitiateModelMigration': {'properties': {'Params': {'$ref': '#/definitions/InitiateModelMigrationArgs'},
9027 'Result': {'$ref': '#/definitions/InitiateModelMigrationResults'}},
9029 'ListBlockedModels': {'properties': {'Result': {'$ref': '#/definitions/ModelBlockInfoList'}},
9031 'ModelConfig': {'properties': {'Result': {'$ref': '#/definitions/ModelConfigResults'}},
9033 'ModelStatus': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
9034 'Result': {'$ref': '#/definitions/ModelStatusResults'}},
9036 'RemoveBlocks': {'properties': {'Params': {'$ref': '#/definitions/RemoveBlocksArgs'}},
9038 'WatchAllModels': {'properties': {'Result': {'$ref': '#/definitions/AllWatcherId'}},
9043 @ReturnMapping(UserModelList
)
9044 async def AllModels(self
):
9047 Returns -> typing.Sequence[~UserModel]
9049 # map input types to rpc msg
9051 msg
= dict(Type
='Controller', Request
='AllModels', Version
=3, Params
=params
)
9053 reply
= await self
.rpc(msg
)
9058 @ReturnMapping(None)
9059 async def DestroyController(self
, destroy_models
):
9061 destroy_models : bool
9064 # map input types to rpc msg
9066 msg
= dict(Type
='Controller', Request
='DestroyController', Version
=3, Params
=params
)
9067 params
['destroy-models'] = destroy_models
9068 reply
= await self
.rpc(msg
)
9073 @ReturnMapping(InitiateModelMigrationResults
)
9074 async def InitiateModelMigration(self
, specs
):
9076 specs : typing.Sequence[~ModelMigrationSpec]
9077 Returns -> typing.Sequence[~InitiateModelMigrationResult]
9079 # map input types to rpc msg
9081 msg
= dict(Type
='Controller', Request
='InitiateModelMigration', Version
=3, Params
=params
)
9082 params
['specs'] = specs
9083 reply
= await self
.rpc(msg
)
9088 @ReturnMapping(ModelBlockInfoList
)
9089 async def ListBlockedModels(self
):
9092 Returns -> typing.Sequence[~ModelBlockInfo]
9094 # map input types to rpc msg
9096 msg
= dict(Type
='Controller', Request
='ListBlockedModels', Version
=3, Params
=params
)
9098 reply
= await self
.rpc(msg
)
9103 @ReturnMapping(ModelConfigResults
)
9104 async def ModelConfig(self
):
9107 Returns -> typing.Mapping[str, typing.Any]
9109 # map input types to rpc msg
9111 msg
= dict(Type
='Controller', Request
='ModelConfig', Version
=3, Params
=params
)
9113 reply
= await self
.rpc(msg
)
9118 @ReturnMapping(ModelStatusResults
)
9119 async def ModelStatus(self
, entities
):
9121 entities : typing.Sequence[~Entity]
9122 Returns -> typing.Sequence[~ModelStatus]
9124 # map input types to rpc msg
9126 msg
= dict(Type
='Controller', Request
='ModelStatus', Version
=3, Params
=params
)
9127 params
['Entities'] = entities
9128 reply
= await self
.rpc(msg
)
9133 @ReturnMapping(None)
9134 async def RemoveBlocks(self
, all_
):
9139 # map input types to rpc msg
9141 msg
= dict(Type
='Controller', Request
='RemoveBlocks', Version
=3, Params
=params
)
9142 params
['all'] = all_
9143 reply
= await self
.rpc(msg
)
9148 @ReturnMapping(AllWatcherId
)
9149 async def WatchAllModels(self
):
9154 # map input types to rpc msg
9156 msg
= dict(Type
='Controller', Request
='WatchAllModels', Version
=3, Params
=params
)
9158 reply
= await self
.rpc(msg
)
9162 class DeployerFacade(Type
):
9165 schema
= {'definitions': {'APIHostPortsResult': {'additionalProperties': False,
9166 'properties': {'Servers': {'items': {'items': {'$ref': '#/definitions/HostPort'},
9169 'required': ['Servers'],
9171 'Address': {'additionalProperties': False,
9172 'properties': {'Scope': {'type': 'string'},
9173 'SpaceName': {'type': 'string'},
9174 'Type': {'type': 'string'},
9175 'Value': {'type': 'string'}},
9176 'required': ['Value', 'Type', 'Scope'],
9178 'BytesResult': {'additionalProperties': False,
9179 'properties': {'Result': {'items': {'type': 'integer'},
9181 'required': ['Result'],
9183 'DeployerConnectionValues': {'additionalProperties': False,
9184 'properties': {'APIAddresses': {'items': {'type': 'string'},
9186 'StateAddresses': {'items': {'type': 'string'},
9188 'required': ['StateAddresses',
9191 'Entities': {'additionalProperties': False,
9192 'properties': {'Entities': {'items': {'$ref': '#/definitions/Entity'},
9194 'required': ['Entities'],
9196 'Entity': {'additionalProperties': False,
9197 'properties': {'Tag': {'type': 'string'}},
9198 'required': ['Tag'],
9200 'EntityPassword': {'additionalProperties': False,
9201 'properties': {'Password': {'type': 'string'},
9202 'Tag': {'type': 'string'}},
9203 'required': ['Tag', 'Password'],
9205 'EntityPasswords': {'additionalProperties': False,
9206 'properties': {'Changes': {'items': {'$ref': '#/definitions/EntityPassword'},
9208 'required': ['Changes'],
9210 'Error': {'additionalProperties': False,
9211 'properties': {'Code': {'type': 'string'},
9212 'Info': {'$ref': '#/definitions/ErrorInfo'},
9213 'Message': {'type': 'string'}},
9214 'required': ['Message', 'Code'],
9216 'ErrorInfo': {'additionalProperties': False,
9217 'properties': {'Macaroon': {'$ref': '#/definitions/Macaroon'},
9218 'MacaroonPath': {'type': 'string'}},
9220 'ErrorResult': {'additionalProperties': False,
9221 'properties': {'Error': {'$ref': '#/definitions/Error'}},
9222 'required': ['Error'],
9224 'ErrorResults': {'additionalProperties': False,
9225 'properties': {'Results': {'items': {'$ref': '#/definitions/ErrorResult'},
9227 'required': ['Results'],
9229 'HostPort': {'additionalProperties': False,
9230 'properties': {'Address': {'$ref': '#/definitions/Address'},
9231 'Port': {'type': 'integer'}},
9232 'required': ['Address', 'Port'],
9234 'LifeResult': {'additionalProperties': False,
9235 'properties': {'Error': {'$ref': '#/definitions/Error'},
9236 'Life': {'type': 'string'}},
9237 'required': ['Life', 'Error'],
9239 'LifeResults': {'additionalProperties': False,
9240 'properties': {'Results': {'items': {'$ref': '#/definitions/LifeResult'},
9242 'required': ['Results'],
9244 'Macaroon': {'additionalProperties': False,
9245 'properties': {'caveats': {'items': {'$ref': '#/definitions/caveat'},
9247 'data': {'items': {'type': 'integer'},
9249 'id': {'$ref': '#/definitions/packet'},
9250 'location': {'$ref': '#/definitions/packet'},
9251 'sig': {'items': {'type': 'integer'},
9253 'required': ['data',
9259 'NotifyWatchResult': {'additionalProperties': False,
9260 'properties': {'Error': {'$ref': '#/definitions/Error'},
9261 'NotifyWatcherId': {'type': 'string'}},
9262 'required': ['NotifyWatcherId', 'Error'],
9264 'StringResult': {'additionalProperties': False,
9265 'properties': {'Error': {'$ref': '#/definitions/Error'},
9266 'Result': {'type': 'string'}},
9267 'required': ['Error', 'Result'],
9269 'StringsResult': {'additionalProperties': False,
9270 'properties': {'Error': {'$ref': '#/definitions/Error'},
9271 'Result': {'items': {'type': 'string'},
9273 'required': ['Error', 'Result'],
9275 'StringsWatchResult': {'additionalProperties': False,
9276 'properties': {'Changes': {'items': {'type': 'string'},
9278 'Error': {'$ref': '#/definitions/Error'},
9279 'StringsWatcherId': {'type': 'string'}},
9280 'required': ['StringsWatcherId',
9284 'StringsWatchResults': {'additionalProperties': False,
9285 'properties': {'Results': {'items': {'$ref': '#/definitions/StringsWatchResult'},
9287 'required': ['Results'],
9289 'caveat': {'additionalProperties': False,
9290 'properties': {'caveatId': {'$ref': '#/definitions/packet'},
9291 'location': {'$ref': '#/definitions/packet'},
9292 'verificationId': {'$ref': '#/definitions/packet'}},
9293 'required': ['location',
9297 'packet': {'additionalProperties': False,
9298 'properties': {'headerLen': {'type': 'integer'},
9299 'start': {'type': 'integer'},
9300 'totalLen': {'type': 'integer'}},
9301 'required': ['start', 'totalLen', 'headerLen'],
9303 'properties': {'APIAddresses': {'properties': {'Result': {'$ref': '#/definitions/StringsResult'}},
9305 'APIHostPorts': {'properties': {'Result': {'$ref': '#/definitions/APIHostPortsResult'}},
9307 'CACert': {'properties': {'Result': {'$ref': '#/definitions/BytesResult'}},
9309 'ConnectionInfo': {'properties': {'Result': {'$ref': '#/definitions/DeployerConnectionValues'}},
9311 'Life': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
9312 'Result': {'$ref': '#/definitions/LifeResults'}},
9314 'ModelUUID': {'properties': {'Result': {'$ref': '#/definitions/StringResult'}},
9316 'Remove': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
9317 'Result': {'$ref': '#/definitions/ErrorResults'}},
9319 'SetPasswords': {'properties': {'Params': {'$ref': '#/definitions/EntityPasswords'},
9320 'Result': {'$ref': '#/definitions/ErrorResults'}},
9322 'StateAddresses': {'properties': {'Result': {'$ref': '#/definitions/StringsResult'}},
9324 'WatchAPIHostPorts': {'properties': {'Result': {'$ref': '#/definitions/NotifyWatchResult'}},
9326 'WatchUnits': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
9327 'Result': {'$ref': '#/definitions/StringsWatchResults'}},
9332 @ReturnMapping(StringsResult
)
9333 async def APIAddresses(self
):
9336 Returns -> typing.Union[_ForwardRef('Error'), typing.Sequence[str]]
9338 # map input types to rpc msg
9340 msg
= dict(Type
='Deployer', Request
='APIAddresses', Version
=1, Params
=params
)
9342 reply
= await self
.rpc(msg
)
9347 @ReturnMapping(APIHostPortsResult
)
9348 async def APIHostPorts(self
):
9351 Returns -> typing.Sequence[~HostPort]
9353 # map input types to rpc msg
9355 msg
= dict(Type
='Deployer', Request
='APIHostPorts', Version
=1, Params
=params
)
9357 reply
= await self
.rpc(msg
)
9362 @ReturnMapping(BytesResult
)
9363 async def CACert(self
):
9366 Returns -> typing.Sequence[int]
9368 # map input types to rpc msg
9370 msg
= dict(Type
='Deployer', Request
='CACert', Version
=1, Params
=params
)
9372 reply
= await self
.rpc(msg
)
9377 @ReturnMapping(DeployerConnectionValues
)
9378 async def ConnectionInfo(self
):
9381 Returns -> typing.Sequence[str]
9383 # map input types to rpc msg
9385 msg
= dict(Type
='Deployer', Request
='ConnectionInfo', Version
=1, Params
=params
)
9387 reply
= await self
.rpc(msg
)
9392 @ReturnMapping(LifeResults
)
9393 async def Life(self
, entities
):
9395 entities : typing.Sequence[~Entity]
9396 Returns -> typing.Sequence[~LifeResult]
9398 # map input types to rpc msg
9400 msg
= dict(Type
='Deployer', Request
='Life', Version
=1, Params
=params
)
9401 params
['Entities'] = entities
9402 reply
= await self
.rpc(msg
)
9407 @ReturnMapping(StringResult
)
9408 async def ModelUUID(self
):
9411 Returns -> typing.Union[_ForwardRef('Error'), str]
9413 # map input types to rpc msg
9415 msg
= dict(Type
='Deployer', Request
='ModelUUID', Version
=1, Params
=params
)
9417 reply
= await self
.rpc(msg
)
9422 @ReturnMapping(ErrorResults
)
9423 async def Remove(self
, entities
):
9425 entities : typing.Sequence[~Entity]
9426 Returns -> typing.Sequence[~ErrorResult]
9428 # map input types to rpc msg
9430 msg
= dict(Type
='Deployer', Request
='Remove', Version
=1, Params
=params
)
9431 params
['Entities'] = entities
9432 reply
= await self
.rpc(msg
)
9437 @ReturnMapping(ErrorResults
)
9438 async def SetPasswords(self
, changes
):
9440 changes : typing.Sequence[~EntityPassword]
9441 Returns -> typing.Sequence[~ErrorResult]
9443 # map input types to rpc msg
9445 msg
= dict(Type
='Deployer', Request
='SetPasswords', Version
=1, Params
=params
)
9446 params
['Changes'] = changes
9447 reply
= await self
.rpc(msg
)
9452 @ReturnMapping(StringsResult
)
9453 async def StateAddresses(self
):
9456 Returns -> typing.Union[_ForwardRef('Error'), typing.Sequence[str]]
9458 # map input types to rpc msg
9460 msg
= dict(Type
='Deployer', Request
='StateAddresses', Version
=1, Params
=params
)
9462 reply
= await self
.rpc(msg
)
9467 @ReturnMapping(NotifyWatchResult
)
9468 async def WatchAPIHostPorts(self
):
9471 Returns -> typing.Union[_ForwardRef('Error'), str]
9473 # map input types to rpc msg
9475 msg
= dict(Type
='Deployer', Request
='WatchAPIHostPorts', Version
=1, Params
=params
)
9477 reply
= await self
.rpc(msg
)
9482 @ReturnMapping(StringsWatchResults
)
9483 async def WatchUnits(self
, entities
):
9485 entities : typing.Sequence[~Entity]
9486 Returns -> typing.Sequence[~StringsWatchResult]
9488 # map input types to rpc msg
9490 msg
= dict(Type
='Deployer', Request
='WatchUnits', Version
=1, Params
=params
)
9491 params
['Entities'] = entities
9492 reply
= await self
.rpc(msg
)
9496 class DiscoverSpacesFacade(Type
):
9497 name
= 'DiscoverSpaces'
9499 schema
= {'definitions': {'AddSubnetParams': {'additionalProperties': False,
9500 'properties': {'SpaceTag': {'type': 'string'},
9501 'SubnetProviderId': {'type': 'string'},
9502 'SubnetTag': {'type': 'string'},
9503 'Zones': {'items': {'type': 'string'},
9505 'required': ['SpaceTag'],
9507 'AddSubnetsParams': {'additionalProperties': False,
9508 'properties': {'Subnets': {'items': {'$ref': '#/definitions/AddSubnetParams'},
9510 'required': ['Subnets'],
9512 'CreateSpaceParams': {'additionalProperties': False,
9513 'properties': {'ProviderId': {'type': 'string'},
9514 'Public': {'type': 'boolean'},
9515 'SpaceTag': {'type': 'string'},
9516 'SubnetTags': {'items': {'type': 'string'},
9518 'required': ['SubnetTags',
9522 'CreateSpacesParams': {'additionalProperties': False,
9523 'properties': {'Spaces': {'items': {'$ref': '#/definitions/CreateSpaceParams'},
9525 'required': ['Spaces'],
9527 'DiscoverSpacesResults': {'additionalProperties': False,
9528 'properties': {'Results': {'items': {'$ref': '#/definitions/ProviderSpace'},
9530 'required': ['Results'],
9532 'Error': {'additionalProperties': False,
9533 'properties': {'Code': {'type': 'string'},
9534 'Info': {'$ref': '#/definitions/ErrorInfo'},
9535 'Message': {'type': 'string'}},
9536 'required': ['Message', 'Code'],
9538 'ErrorInfo': {'additionalProperties': False,
9539 'properties': {'Macaroon': {'$ref': '#/definitions/Macaroon'},
9540 'MacaroonPath': {'type': 'string'}},
9542 'ErrorResult': {'additionalProperties': False,
9543 'properties': {'Error': {'$ref': '#/definitions/Error'}},
9544 'required': ['Error'],
9546 'ErrorResults': {'additionalProperties': False,
9547 'properties': {'Results': {'items': {'$ref': '#/definitions/ErrorResult'},
9549 'required': ['Results'],
9551 'ListSubnetsResults': {'additionalProperties': False,
9552 'properties': {'Results': {'items': {'$ref': '#/definitions/Subnet'},
9554 'required': ['Results'],
9556 'Macaroon': {'additionalProperties': False,
9557 'properties': {'caveats': {'items': {'$ref': '#/definitions/caveat'},
9559 'data': {'items': {'type': 'integer'},
9561 'id': {'$ref': '#/definitions/packet'},
9562 'location': {'$ref': '#/definitions/packet'},
9563 'sig': {'items': {'type': 'integer'},
9565 'required': ['data',
9571 'ModelConfigResult': {'additionalProperties': False,
9572 'properties': {'Config': {'patternProperties': {'.*': {'additionalProperties': True,
9575 'required': ['Config'],
9577 'ProviderSpace': {'additionalProperties': False,
9578 'properties': {'Error': {'$ref': '#/definitions/Error'},
9579 'Name': {'type': 'string'},
9580 'ProviderId': {'type': 'string'},
9581 'Subnets': {'items': {'$ref': '#/definitions/Subnet'},
9583 'required': ['Name',
9587 'Subnet': {'additionalProperties': False,
9588 'properties': {'CIDR': {'type': 'string'},
9589 'Life': {'type': 'string'},
9590 'ProviderId': {'type': 'string'},
9591 'SpaceTag': {'type': 'string'},
9592 'StaticRangeHighIP': {'items': {'type': 'integer'},
9594 'StaticRangeLowIP': {'items': {'type': 'integer'},
9596 'Status': {'type': 'string'},
9597 'VLANTag': {'type': 'integer'},
9598 'Zones': {'items': {'type': 'string'},
9600 'required': ['CIDR',
9606 'SubnetsFilters': {'additionalProperties': False,
9607 'properties': {'SpaceTag': {'type': 'string'},
9608 'Zone': {'type': 'string'}},
9610 'caveat': {'additionalProperties': False,
9611 'properties': {'caveatId': {'$ref': '#/definitions/packet'},
9612 'location': {'$ref': '#/definitions/packet'},
9613 'verificationId': {'$ref': '#/definitions/packet'}},
9614 'required': ['location',
9618 'packet': {'additionalProperties': False,
9619 'properties': {'headerLen': {'type': 'integer'},
9620 'start': {'type': 'integer'},
9621 'totalLen': {'type': 'integer'}},
9622 'required': ['start', 'totalLen', 'headerLen'],
9624 'properties': {'AddSubnets': {'properties': {'Params': {'$ref': '#/definitions/AddSubnetsParams'},
9625 'Result': {'$ref': '#/definitions/ErrorResults'}},
9627 'CreateSpaces': {'properties': {'Params': {'$ref': '#/definitions/CreateSpacesParams'},
9628 'Result': {'$ref': '#/definitions/ErrorResults'}},
9630 'ListSpaces': {'properties': {'Result': {'$ref': '#/definitions/DiscoverSpacesResults'}},
9632 'ListSubnets': {'properties': {'Params': {'$ref': '#/definitions/SubnetsFilters'},
9633 'Result': {'$ref': '#/definitions/ListSubnetsResults'}},
9635 'ModelConfig': {'properties': {'Result': {'$ref': '#/definitions/ModelConfigResult'}},
9640 @ReturnMapping(ErrorResults
)
9641 async def AddSubnets(self
, subnets
):
9643 subnets : typing.Sequence[~AddSubnetParams]
9644 Returns -> typing.Sequence[~ErrorResult]
9646 # map input types to rpc msg
9648 msg
= dict(Type
='DiscoverSpaces', Request
='AddSubnets', Version
=2, Params
=params
)
9649 params
['Subnets'] = subnets
9650 reply
= await self
.rpc(msg
)
9655 @ReturnMapping(ErrorResults
)
9656 async def CreateSpaces(self
, spaces
):
9658 spaces : typing.Sequence[~CreateSpaceParams]
9659 Returns -> typing.Sequence[~ErrorResult]
9661 # map input types to rpc msg
9663 msg
= dict(Type
='DiscoverSpaces', Request
='CreateSpaces', Version
=2, Params
=params
)
9664 params
['Spaces'] = spaces
9665 reply
= await self
.rpc(msg
)
9670 @ReturnMapping(DiscoverSpacesResults
)
9671 async def ListSpaces(self
):
9674 Returns -> typing.Sequence[~ProviderSpace]
9676 # map input types to rpc msg
9678 msg
= dict(Type
='DiscoverSpaces', Request
='ListSpaces', Version
=2, Params
=params
)
9680 reply
= await self
.rpc(msg
)
9685 @ReturnMapping(ListSubnetsResults
)
9686 async def ListSubnets(self
, spacetag
, zone
):
9690 Returns -> typing.Sequence[~Subnet]
9692 # map input types to rpc msg
9694 msg
= dict(Type
='DiscoverSpaces', Request
='ListSubnets', Version
=2, Params
=params
)
9695 params
['SpaceTag'] = spacetag
9696 params
['Zone'] = zone
9697 reply
= await self
.rpc(msg
)
9702 @ReturnMapping(ModelConfigResult
)
9703 async def ModelConfig(self
):
9706 Returns -> typing.Mapping[str, typing.Any]
9708 # map input types to rpc msg
9710 msg
= dict(Type
='DiscoverSpaces', Request
='ModelConfig', Version
=2, Params
=params
)
9712 reply
= await self
.rpc(msg
)
9716 class DiskManagerFacade(Type
):
9717 name
= 'DiskManager'
9719 schema
= {'definitions': {'BlockDevice': {'additionalProperties': False,
9720 'properties': {'BusAddress': {'type': 'string'},
9721 'DeviceLinks': {'items': {'type': 'string'},
9723 'DeviceName': {'type': 'string'},
9724 'FilesystemType': {'type': 'string'},
9725 'HardwareId': {'type': 'string'},
9726 'InUse': {'type': 'boolean'},
9727 'Label': {'type': 'string'},
9728 'MountPoint': {'type': 'string'},
9729 'Size': {'type': 'integer'},
9730 'UUID': {'type': 'string'}},
9731 'required': ['DeviceName',
9742 'Error': {'additionalProperties': False,
9743 'properties': {'Code': {'type': 'string'},
9744 'Info': {'$ref': '#/definitions/ErrorInfo'},
9745 'Message': {'type': 'string'}},
9746 'required': ['Message', 'Code'],
9748 'ErrorInfo': {'additionalProperties': False,
9749 'properties': {'Macaroon': {'$ref': '#/definitions/Macaroon'},
9750 'MacaroonPath': {'type': 'string'}},
9752 'ErrorResult': {'additionalProperties': False,
9753 'properties': {'Error': {'$ref': '#/definitions/Error'}},
9754 'required': ['Error'],
9756 'ErrorResults': {'additionalProperties': False,
9757 'properties': {'Results': {'items': {'$ref': '#/definitions/ErrorResult'},
9759 'required': ['Results'],
9761 'Macaroon': {'additionalProperties': False,
9762 'properties': {'caveats': {'items': {'$ref': '#/definitions/caveat'},
9764 'data': {'items': {'type': 'integer'},
9766 'id': {'$ref': '#/definitions/packet'},
9767 'location': {'$ref': '#/definitions/packet'},
9768 'sig': {'items': {'type': 'integer'},
9770 'required': ['data',
9776 'MachineBlockDevices': {'additionalProperties': False,
9777 'properties': {'blockdevices': {'items': {'$ref': '#/definitions/BlockDevice'},
9779 'machine': {'type': 'string'}},
9780 'required': ['machine'],
9782 'SetMachineBlockDevices': {'additionalProperties': False,
9783 'properties': {'machineblockdevices': {'items': {'$ref': '#/definitions/MachineBlockDevices'},
9785 'required': ['machineblockdevices'],
9787 'caveat': {'additionalProperties': False,
9788 'properties': {'caveatId': {'$ref': '#/definitions/packet'},
9789 'location': {'$ref': '#/definitions/packet'},
9790 'verificationId': {'$ref': '#/definitions/packet'}},
9791 'required': ['location',
9795 'packet': {'additionalProperties': False,
9796 'properties': {'headerLen': {'type': 'integer'},
9797 'start': {'type': 'integer'},
9798 'totalLen': {'type': 'integer'}},
9799 'required': ['start', 'totalLen', 'headerLen'],
9801 'properties': {'SetMachineBlockDevices': {'properties': {'Params': {'$ref': '#/definitions/SetMachineBlockDevices'},
9802 'Result': {'$ref': '#/definitions/ErrorResults'}},
9807 @ReturnMapping(ErrorResults
)
9808 async def SetMachineBlockDevices(self
, machineblockdevices
):
9810 machineblockdevices : typing.Sequence[~MachineBlockDevices]
9811 Returns -> typing.Sequence[~ErrorResult]
9813 # map input types to rpc msg
9815 msg
= dict(Type
='DiskManager', Request
='SetMachineBlockDevices', Version
=2, Params
=params
)
9816 params
['machineblockdevices'] = machineblockdevices
9817 reply
= await self
.rpc(msg
)
9821 class EntityWatcherFacade(Type
):
9822 name
= 'EntityWatcher'
9824 schema
= {'definitions': {'EntitiesWatchResult': {'additionalProperties': False,
9825 'properties': {'Changes': {'items': {'type': 'string'},
9827 'EntityWatcherId': {'type': 'string'},
9828 'Error': {'$ref': '#/definitions/Error'}},
9829 'required': ['EntityWatcherId',
9833 'Error': {'additionalProperties': False,
9834 'properties': {'Code': {'type': 'string'},
9835 'Info': {'$ref': '#/definitions/ErrorInfo'},
9836 'Message': {'type': 'string'}},
9837 'required': ['Message', 'Code'],
9839 'ErrorInfo': {'additionalProperties': False,
9840 'properties': {'Macaroon': {'$ref': '#/definitions/Macaroon'},
9841 'MacaroonPath': {'type': 'string'}},
9843 'Macaroon': {'additionalProperties': False,
9844 'properties': {'caveats': {'items': {'$ref': '#/definitions/caveat'},
9846 'data': {'items': {'type': 'integer'},
9848 'id': {'$ref': '#/definitions/packet'},
9849 'location': {'$ref': '#/definitions/packet'},
9850 'sig': {'items': {'type': 'integer'},
9852 'required': ['data',
9858 'caveat': {'additionalProperties': False,
9859 'properties': {'caveatId': {'$ref': '#/definitions/packet'},
9860 'location': {'$ref': '#/definitions/packet'},
9861 'verificationId': {'$ref': '#/definitions/packet'}},
9862 'required': ['location',
9866 'packet': {'additionalProperties': False,
9867 'properties': {'headerLen': {'type': 'integer'},
9868 'start': {'type': 'integer'},
9869 'totalLen': {'type': 'integer'}},
9870 'required': ['start', 'totalLen', 'headerLen'],
9872 'properties': {'Next': {'properties': {'Result': {'$ref': '#/definitions/EntitiesWatchResult'}},
9874 'Stop': {'type': 'object'}},
9878 @ReturnMapping(EntitiesWatchResult
)
9879 async def Next(self
):
9882 Returns -> typing.Union[typing.Sequence[str], _ForwardRef('Error')]
9884 # map input types to rpc msg
9886 msg
= dict(Type
='EntityWatcher', Request
='Next', Version
=2, Params
=params
)
9888 reply
= await self
.rpc(msg
)
9893 @ReturnMapping(None)
9894 async def Stop(self
):
9899 # map input types to rpc msg
9901 msg
= dict(Type
='EntityWatcher', Request
='Stop', Version
=2, Params
=params
)
9903 reply
= await self
.rpc(msg
)
9907 class FilesystemAttachmentsWatcherFacade(Type
):
9908 name
= 'FilesystemAttachmentsWatcher'
9910 schema
= {'definitions': {'Error': {'additionalProperties': False,
9911 'properties': {'Code': {'type': 'string'},
9912 'Info': {'$ref': '#/definitions/ErrorInfo'},
9913 'Message': {'type': 'string'}},
9914 'required': ['Message', 'Code'],
9916 'ErrorInfo': {'additionalProperties': False,
9917 'properties': {'Macaroon': {'$ref': '#/definitions/Macaroon'},
9918 'MacaroonPath': {'type': 'string'}},
9920 'Macaroon': {'additionalProperties': False,
9921 'properties': {'caveats': {'items': {'$ref': '#/definitions/caveat'},
9923 'data': {'items': {'type': 'integer'},
9925 'id': {'$ref': '#/definitions/packet'},
9926 'location': {'$ref': '#/definitions/packet'},
9927 'sig': {'items': {'type': 'integer'},
9929 'required': ['data',
9935 'MachineStorageId': {'additionalProperties': False,
9936 'properties': {'attachmenttag': {'type': 'string'},
9937 'machinetag': {'type': 'string'}},
9938 'required': ['machinetag',
9941 'MachineStorageIdsWatchResult': {'additionalProperties': False,
9942 'properties': {'Changes': {'items': {'$ref': '#/definitions/MachineStorageId'},
9944 'Error': {'$ref': '#/definitions/Error'},
9945 'MachineStorageIdsWatcherId': {'type': 'string'}},
9946 'required': ['MachineStorageIdsWatcherId',
9950 'caveat': {'additionalProperties': False,
9951 'properties': {'caveatId': {'$ref': '#/definitions/packet'},
9952 'location': {'$ref': '#/definitions/packet'},
9953 'verificationId': {'$ref': '#/definitions/packet'}},
9954 'required': ['location',
9958 'packet': {'additionalProperties': False,
9959 'properties': {'headerLen': {'type': 'integer'},
9960 'start': {'type': 'integer'},
9961 'totalLen': {'type': 'integer'}},
9962 'required': ['start', 'totalLen', 'headerLen'],
9964 'properties': {'Next': {'properties': {'Result': {'$ref': '#/definitions/MachineStorageIdsWatchResult'}},
9966 'Stop': {'type': 'object'}},
9970 @ReturnMapping(MachineStorageIdsWatchResult
)
9971 async def Next(self
):
9974 Returns -> typing.Union[typing.Sequence[~MachineStorageId], _ForwardRef('Error')]
9976 # map input types to rpc msg
9978 msg
= dict(Type
='FilesystemAttachmentsWatcher', Request
='Next', Version
=2, Params
=params
)
9980 reply
= await self
.rpc(msg
)
9985 @ReturnMapping(None)
9986 async def Stop(self
):
9991 # map input types to rpc msg
9993 msg
= dict(Type
='FilesystemAttachmentsWatcher', Request
='Stop', Version
=2, Params
=params
)
9995 reply
= await self
.rpc(msg
)
9999 class FirewallerFacade(Type
):
10000 name
= 'Firewaller'
10002 schema
= {'definitions': {'BoolResult': {'additionalProperties': False,
10003 'properties': {'Error': {'$ref': '#/definitions/Error'},
10004 'Result': {'type': 'boolean'}},
10005 'required': ['Error', 'Result'],
10007 'BoolResults': {'additionalProperties': False,
10008 'properties': {'Results': {'items': {'$ref': '#/definitions/BoolResult'},
10010 'required': ['Results'],
10012 'Entities': {'additionalProperties': False,
10013 'properties': {'Entities': {'items': {'$ref': '#/definitions/Entity'},
10015 'required': ['Entities'],
10017 'Entity': {'additionalProperties': False,
10018 'properties': {'Tag': {'type': 'string'}},
10019 'required': ['Tag'],
10021 'Error': {'additionalProperties': False,
10022 'properties': {'Code': {'type': 'string'},
10023 'Info': {'$ref': '#/definitions/ErrorInfo'},
10024 'Message': {'type': 'string'}},
10025 'required': ['Message', 'Code'],
10027 'ErrorInfo': {'additionalProperties': False,
10028 'properties': {'Macaroon': {'$ref': '#/definitions/Macaroon'},
10029 'MacaroonPath': {'type': 'string'}},
10031 'LifeResult': {'additionalProperties': False,
10032 'properties': {'Error': {'$ref': '#/definitions/Error'},
10033 'Life': {'type': 'string'}},
10034 'required': ['Life', 'Error'],
10036 'LifeResults': {'additionalProperties': False,
10037 'properties': {'Results': {'items': {'$ref': '#/definitions/LifeResult'},
10039 'required': ['Results'],
10041 'Macaroon': {'additionalProperties': False,
10042 'properties': {'caveats': {'items': {'$ref': '#/definitions/caveat'},
10044 'data': {'items': {'type': 'integer'},
10046 'id': {'$ref': '#/definitions/packet'},
10047 'location': {'$ref': '#/definitions/packet'},
10048 'sig': {'items': {'type': 'integer'},
10050 'required': ['data',
10056 'MachinePortRange': {'additionalProperties': False,
10057 'properties': {'PortRange': {'$ref': '#/definitions/PortRange'},
10058 'RelationTag': {'type': 'string'},
10059 'UnitTag': {'type': 'string'}},
10060 'required': ['UnitTag',
10064 'MachinePorts': {'additionalProperties': False,
10065 'properties': {'MachineTag': {'type': 'string'},
10066 'SubnetTag': {'type': 'string'}},
10067 'required': ['MachineTag', 'SubnetTag'],
10069 'MachinePortsParams': {'additionalProperties': False,
10070 'properties': {'Params': {'items': {'$ref': '#/definitions/MachinePorts'},
10072 'required': ['Params'],
10074 'MachinePortsResult': {'additionalProperties': False,
10075 'properties': {'Error': {'$ref': '#/definitions/Error'},
10076 'Ports': {'items': {'$ref': '#/definitions/MachinePortRange'},
10078 'required': ['Error', 'Ports'],
10080 'MachinePortsResults': {'additionalProperties': False,
10081 'properties': {'Results': {'items': {'$ref': '#/definitions/MachinePortsResult'},
10083 'required': ['Results'],
10085 'ModelConfigResult': {'additionalProperties': False,
10086 'properties': {'Config': {'patternProperties': {'.*': {'additionalProperties': True,
10087 'type': 'object'}},
10088 'type': 'object'}},
10089 'required': ['Config'],
10091 'NotifyWatchResult': {'additionalProperties': False,
10092 'properties': {'Error': {'$ref': '#/definitions/Error'},
10093 'NotifyWatcherId': {'type': 'string'}},
10094 'required': ['NotifyWatcherId', 'Error'],
10096 'NotifyWatchResults': {'additionalProperties': False,
10097 'properties': {'Results': {'items': {'$ref': '#/definitions/NotifyWatchResult'},
10099 'required': ['Results'],
10101 'PortRange': {'additionalProperties': False,
10102 'properties': {'FromPort': {'type': 'integer'},
10103 'Protocol': {'type': 'string'},
10104 'ToPort': {'type': 'integer'}},
10105 'required': ['FromPort', 'ToPort', 'Protocol'],
10107 'StringResult': {'additionalProperties': False,
10108 'properties': {'Error': {'$ref': '#/definitions/Error'},
10109 'Result': {'type': 'string'}},
10110 'required': ['Error', 'Result'],
10112 'StringResults': {'additionalProperties': False,
10113 'properties': {'Results': {'items': {'$ref': '#/definitions/StringResult'},
10115 'required': ['Results'],
10117 'StringsResult': {'additionalProperties': False,
10118 'properties': {'Error': {'$ref': '#/definitions/Error'},
10119 'Result': {'items': {'type': 'string'},
10121 'required': ['Error', 'Result'],
10123 'StringsResults': {'additionalProperties': False,
10124 'properties': {'Results': {'items': {'$ref': '#/definitions/StringsResult'},
10126 'required': ['Results'],
10128 'StringsWatchResult': {'additionalProperties': False,
10129 'properties': {'Changes': {'items': {'type': 'string'},
10131 'Error': {'$ref': '#/definitions/Error'},
10132 'StringsWatcherId': {'type': 'string'}},
10133 'required': ['StringsWatcherId',
10137 'StringsWatchResults': {'additionalProperties': False,
10138 'properties': {'Results': {'items': {'$ref': '#/definitions/StringsWatchResult'},
10140 'required': ['Results'],
10142 'caveat': {'additionalProperties': False,
10143 'properties': {'caveatId': {'$ref': '#/definitions/packet'},
10144 'location': {'$ref': '#/definitions/packet'},
10145 'verificationId': {'$ref': '#/definitions/packet'}},
10146 'required': ['location',
10150 'packet': {'additionalProperties': False,
10151 'properties': {'headerLen': {'type': 'integer'},
10152 'start': {'type': 'integer'},
10153 'totalLen': {'type': 'integer'}},
10154 'required': ['start', 'totalLen', 'headerLen'],
10155 'type': 'object'}},
10156 'properties': {'GetAssignedMachine': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
10157 'Result': {'$ref': '#/definitions/StringResults'}},
10159 'GetExposed': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
10160 'Result': {'$ref': '#/definitions/BoolResults'}},
10162 'GetMachineActiveSubnets': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
10163 'Result': {'$ref': '#/definitions/StringsResults'}},
10165 'GetMachinePorts': {'properties': {'Params': {'$ref': '#/definitions/MachinePortsParams'},
10166 'Result': {'$ref': '#/definitions/MachinePortsResults'}},
10168 'InstanceId': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
10169 'Result': {'$ref': '#/definitions/StringResults'}},
10171 'Life': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
10172 'Result': {'$ref': '#/definitions/LifeResults'}},
10174 'ModelConfig': {'properties': {'Result': {'$ref': '#/definitions/ModelConfigResult'}},
10176 'Watch': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
10177 'Result': {'$ref': '#/definitions/NotifyWatchResults'}},
10179 'WatchForModelConfigChanges': {'properties': {'Result': {'$ref': '#/definitions/NotifyWatchResult'}},
10181 'WatchModelMachines': {'properties': {'Result': {'$ref': '#/definitions/StringsWatchResult'}},
10183 'WatchOpenedPorts': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
10184 'Result': {'$ref': '#/definitions/StringsWatchResults'}},
10186 'WatchUnits': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
10187 'Result': {'$ref': '#/definitions/StringsWatchResults'}},
10188 'type': 'object'}},
10192 @ReturnMapping(StringResults
)
10193 async def GetAssignedMachine(self
, entities
):
10195 entities : typing.Sequence[~Entity]
10196 Returns -> typing.Sequence[~StringResult]
10198 # map input types to rpc msg
10200 msg
= dict(Type
='Firewaller', Request
='GetAssignedMachine', Version
=3, Params
=params
)
10201 params
['Entities'] = entities
10202 reply
= await self
.rpc(msg
)
10207 @ReturnMapping(BoolResults
)
10208 async def GetExposed(self
, entities
):
10210 entities : typing.Sequence[~Entity]
10211 Returns -> typing.Sequence[~BoolResult]
10213 # map input types to rpc msg
10215 msg
= dict(Type
='Firewaller', Request
='GetExposed', Version
=3, Params
=params
)
10216 params
['Entities'] = entities
10217 reply
= await self
.rpc(msg
)
10222 @ReturnMapping(StringsResults
)
10223 async def GetMachineActiveSubnets(self
, entities
):
10225 entities : typing.Sequence[~Entity]
10226 Returns -> typing.Sequence[~StringsResult]
10228 # map input types to rpc msg
10230 msg
= dict(Type
='Firewaller', Request
='GetMachineActiveSubnets', Version
=3, Params
=params
)
10231 params
['Entities'] = entities
10232 reply
= await self
.rpc(msg
)
10237 @ReturnMapping(MachinePortsResults
)
10238 async def GetMachinePorts(self
, params
):
10240 params : typing.Sequence[~MachinePorts]
10241 Returns -> typing.Sequence[~MachinePortsResult]
10243 # map input types to rpc msg
10245 msg
= dict(Type
='Firewaller', Request
='GetMachinePorts', Version
=3, Params
=params
)
10246 params
['Params'] = params
10247 reply
= await self
.rpc(msg
)
10252 @ReturnMapping(StringResults
)
10253 async def InstanceId(self
, entities
):
10255 entities : typing.Sequence[~Entity]
10256 Returns -> typing.Sequence[~StringResult]
10258 # map input types to rpc msg
10260 msg
= dict(Type
='Firewaller', Request
='InstanceId', Version
=3, Params
=params
)
10261 params
['Entities'] = entities
10262 reply
= await self
.rpc(msg
)
10267 @ReturnMapping(LifeResults
)
10268 async def Life(self
, entities
):
10270 entities : typing.Sequence[~Entity]
10271 Returns -> typing.Sequence[~LifeResult]
10273 # map input types to rpc msg
10275 msg
= dict(Type
='Firewaller', Request
='Life', Version
=3, Params
=params
)
10276 params
['Entities'] = entities
10277 reply
= await self
.rpc(msg
)
10282 @ReturnMapping(ModelConfigResult
)
10283 async def ModelConfig(self
):
10286 Returns -> typing.Mapping[str, typing.Any]
10288 # map input types to rpc msg
10290 msg
= dict(Type
='Firewaller', Request
='ModelConfig', Version
=3, Params
=params
)
10292 reply
= await self
.rpc(msg
)
10297 @ReturnMapping(NotifyWatchResults
)
10298 async def Watch(self
, entities
):
10300 entities : typing.Sequence[~Entity]
10301 Returns -> typing.Sequence[~NotifyWatchResult]
10303 # map input types to rpc msg
10305 msg
= dict(Type
='Firewaller', Request
='Watch', Version
=3, Params
=params
)
10306 params
['Entities'] = entities
10307 reply
= await self
.rpc(msg
)
10312 @ReturnMapping(NotifyWatchResult
)
10313 async def WatchForModelConfigChanges(self
):
10316 Returns -> typing.Union[_ForwardRef('Error'), str]
10318 # map input types to rpc msg
10320 msg
= dict(Type
='Firewaller', Request
='WatchForModelConfigChanges', Version
=3, Params
=params
)
10322 reply
= await self
.rpc(msg
)
10327 @ReturnMapping(StringsWatchResult
)
10328 async def WatchModelMachines(self
):
10331 Returns -> typing.Union[typing.Sequence[str], _ForwardRef('Error')]
10333 # map input types to rpc msg
10335 msg
= dict(Type
='Firewaller', Request
='WatchModelMachines', Version
=3, Params
=params
)
10337 reply
= await self
.rpc(msg
)
10342 @ReturnMapping(StringsWatchResults
)
10343 async def WatchOpenedPorts(self
, entities
):
10345 entities : typing.Sequence[~Entity]
10346 Returns -> typing.Sequence[~StringsWatchResult]
10348 # map input types to rpc msg
10350 msg
= dict(Type
='Firewaller', Request
='WatchOpenedPorts', Version
=3, Params
=params
)
10351 params
['Entities'] = entities
10352 reply
= await self
.rpc(msg
)
10357 @ReturnMapping(StringsWatchResults
)
10358 async def WatchUnits(self
, entities
):
10360 entities : typing.Sequence[~Entity]
10361 Returns -> typing.Sequence[~StringsWatchResult]
10363 # map input types to rpc msg
10365 msg
= dict(Type
='Firewaller', Request
='WatchUnits', Version
=3, Params
=params
)
10366 params
['Entities'] = entities
10367 reply
= await self
.rpc(msg
)
10371 class HighAvailabilityFacade(Type
):
10372 name
= 'HighAvailability'
10374 schema
= {'definitions': {'Address': {'additionalProperties': False,
10375 'properties': {'Scope': {'type': 'string'},
10376 'SpaceName': {'type': 'string'},
10377 'SpaceProviderId': {'type': 'string'},
10378 'Type': {'type': 'string'},
10379 'Value': {'type': 'string'}},
10380 'required': ['Value',
10384 'SpaceProviderId'],
10386 'ControllersChangeResult': {'additionalProperties': False,
10387 'properties': {'Error': {'$ref': '#/definitions/Error'},
10388 'Result': {'$ref': '#/definitions/ControllersChanges'}},
10389 'required': ['Result', 'Error'],
10391 'ControllersChangeResults': {'additionalProperties': False,
10392 'properties': {'Results': {'items': {'$ref': '#/definitions/ControllersChangeResult'},
10394 'required': ['Results'],
10396 'ControllersChanges': {'additionalProperties': False,
10397 'properties': {'added': {'items': {'type': 'string'},
10399 'converted': {'items': {'type': 'string'},
10401 'demoted': {'items': {'type': 'string'},
10403 'maintained': {'items': {'type': 'string'},
10405 'promoted': {'items': {'type': 'string'},
10407 'removed': {'items': {'type': 'string'},
10410 'ControllersSpec': {'additionalProperties': False,
10411 'properties': {'ModelTag': {'type': 'string'},
10412 'constraints': {'$ref': '#/definitions/Value'},
10413 'num-controllers': {'type': 'integer'},
10414 'placement': {'items': {'type': 'string'},
10416 'series': {'type': 'string'}},
10417 'required': ['ModelTag',
10418 'num-controllers'],
10420 'ControllersSpecs': {'additionalProperties': False,
10421 'properties': {'Specs': {'items': {'$ref': '#/definitions/ControllersSpec'},
10423 'required': ['Specs'],
10425 'Error': {'additionalProperties': False,
10426 'properties': {'Code': {'type': 'string'},
10427 'Info': {'$ref': '#/definitions/ErrorInfo'},
10428 'Message': {'type': 'string'}},
10429 'required': ['Message', 'Code'],
10431 'ErrorInfo': {'additionalProperties': False,
10432 'properties': {'Macaroon': {'$ref': '#/definitions/Macaroon'},
10433 'MacaroonPath': {'type': 'string'}},
10435 'HAMember': {'additionalProperties': False,
10436 'properties': {'PublicAddress': {'$ref': '#/definitions/Address'},
10437 'Series': {'type': 'string'},
10438 'Tag': {'type': 'string'}},
10439 'required': ['Tag', 'PublicAddress', 'Series'],
10441 'Macaroon': {'additionalProperties': False,
10442 'properties': {'caveats': {'items': {'$ref': '#/definitions/caveat'},
10444 'data': {'items': {'type': 'integer'},
10446 'id': {'$ref': '#/definitions/packet'},
10447 'location': {'$ref': '#/definitions/packet'},
10448 'sig': {'items': {'type': 'integer'},
10450 'required': ['data',
10456 'Member': {'additionalProperties': False,
10457 'properties': {'Address': {'type': 'string'},
10458 'Arbiter': {'type': 'boolean'},
10459 'BuildIndexes': {'type': 'boolean'},
10460 'Hidden': {'type': 'boolean'},
10461 'Id': {'type': 'integer'},
10462 'Priority': {'type': 'number'},
10463 'SlaveDelay': {'type': 'integer'},
10464 'Tags': {'patternProperties': {'.*': {'type': 'string'}},
10466 'Votes': {'type': 'integer'}},
10477 'MongoUpgradeResults': {'additionalProperties': False,
10478 'properties': {'Master': {'$ref': '#/definitions/HAMember'},
10479 'Members': {'items': {'$ref': '#/definitions/HAMember'},
10481 'RsMembers': {'items': {'$ref': '#/definitions/Member'},
10483 'required': ['RsMembers',
10487 'ResumeReplicationParams': {'additionalProperties': False,
10488 'properties': {'Members': {'items': {'$ref': '#/definitions/Member'},
10490 'required': ['Members'],
10492 'UpgradeMongoParams': {'additionalProperties': False,
10493 'properties': {'Target': {'$ref': '#/definitions/Version'}},
10494 'required': ['Target'],
10496 'Value': {'additionalProperties': False,
10497 'properties': {'arch': {'type': 'string'},
10498 'container': {'type': 'string'},
10499 'cpu-cores': {'type': 'integer'},
10500 'cpu-power': {'type': 'integer'},
10501 'instance-type': {'type': 'string'},
10502 'mem': {'type': 'integer'},
10503 'root-disk': {'type': 'integer'},
10504 'spaces': {'items': {'type': 'string'},
10506 'tags': {'items': {'type': 'string'},
10508 'virt-type': {'type': 'string'}},
10510 'Version': {'additionalProperties': False,
10511 'properties': {'Major': {'type': 'integer'},
10512 'Minor': {'type': 'integer'},
10513 'Patch': {'type': 'string'},
10514 'StorageEngine': {'type': 'string'}},
10515 'required': ['Major',
10520 'caveat': {'additionalProperties': False,
10521 'properties': {'caveatId': {'$ref': '#/definitions/packet'},
10522 'location': {'$ref': '#/definitions/packet'},
10523 'verificationId': {'$ref': '#/definitions/packet'}},
10524 'required': ['location',
10528 'packet': {'additionalProperties': False,
10529 'properties': {'headerLen': {'type': 'integer'},
10530 'start': {'type': 'integer'},
10531 'totalLen': {'type': 'integer'}},
10532 'required': ['start', 'totalLen', 'headerLen'],
10533 'type': 'object'}},
10534 'properties': {'EnableHA': {'properties': {'Params': {'$ref': '#/definitions/ControllersSpecs'},
10535 'Result': {'$ref': '#/definitions/ControllersChangeResults'}},
10537 'ResumeHAReplicationAfterUpgrade': {'properties': {'Params': {'$ref': '#/definitions/ResumeReplicationParams'}},
10539 'StopHAReplicationForUpgrade': {'properties': {'Params': {'$ref': '#/definitions/UpgradeMongoParams'},
10540 'Result': {'$ref': '#/definitions/MongoUpgradeResults'}},
10541 'type': 'object'}},
10545 @ReturnMapping(ControllersChangeResults
)
10546 async def EnableHA(self
, specs
):
10548 specs : typing.Sequence[~ControllersSpec]
10549 Returns -> typing.Sequence[~ControllersChangeResult]
10551 # map input types to rpc msg
10553 msg
= dict(Type
='HighAvailability', Request
='EnableHA', Version
=2, Params
=params
)
10554 params
['Specs'] = specs
10555 reply
= await self
.rpc(msg
)
10560 @ReturnMapping(None)
10561 async def ResumeHAReplicationAfterUpgrade(self
, members
):
10563 members : typing.Sequence[~Member]
10566 # map input types to rpc msg
10568 msg
= dict(Type
='HighAvailability', Request
='ResumeHAReplicationAfterUpgrade', Version
=2, Params
=params
)
10569 params
['Members'] = members
10570 reply
= await self
.rpc(msg
)
10575 @ReturnMapping(MongoUpgradeResults
)
10576 async def StopHAReplicationForUpgrade(self
, major
, minor
, patch
, storageengine
):
10581 storageengine : str
10582 Returns -> typing.Union[_ForwardRef('HAMember'), typing.Sequence[~Member]]
10584 # map input types to rpc msg
10586 msg
= dict(Type
='HighAvailability', Request
='StopHAReplicationForUpgrade', Version
=2, Params
=params
)
10587 params
['Major'] = major
10588 params
['Minor'] = minor
10589 params
['Patch'] = patch
10590 params
['StorageEngine'] = storageengine
10591 reply
= await self
.rpc(msg
)
10595 class HostKeyReporterFacade(Type
):
10596 name
= 'HostKeyReporter'
10598 schema
= {'definitions': {'Error': {'additionalProperties': False,
10599 'properties': {'Code': {'type': 'string'},
10600 'Info': {'$ref': '#/definitions/ErrorInfo'},
10601 'Message': {'type': 'string'}},
10602 'required': ['Message', 'Code'],
10604 'ErrorInfo': {'additionalProperties': False,
10605 'properties': {'Macaroon': {'$ref': '#/definitions/Macaroon'},
10606 'MacaroonPath': {'type': 'string'}},
10608 'ErrorResult': {'additionalProperties': False,
10609 'properties': {'Error': {'$ref': '#/definitions/Error'}},
10610 'required': ['Error'],
10612 'ErrorResults': {'additionalProperties': False,
10613 'properties': {'Results': {'items': {'$ref': '#/definitions/ErrorResult'},
10615 'required': ['Results'],
10617 'Macaroon': {'additionalProperties': False,
10618 'properties': {'caveats': {'items': {'$ref': '#/definitions/caveat'},
10620 'data': {'items': {'type': 'integer'},
10622 'id': {'$ref': '#/definitions/packet'},
10623 'location': {'$ref': '#/definitions/packet'},
10624 'sig': {'items': {'type': 'integer'},
10626 'required': ['data',
10632 'SSHHostKeySet': {'additionalProperties': False,
10633 'properties': {'entity-keys': {'items': {'$ref': '#/definitions/SSHHostKeys'},
10635 'required': ['entity-keys'],
10637 'SSHHostKeys': {'additionalProperties': False,
10638 'properties': {'public-keys': {'items': {'type': 'string'},
10640 'tag': {'type': 'string'}},
10641 'required': ['tag', 'public-keys'],
10643 'caveat': {'additionalProperties': False,
10644 'properties': {'caveatId': {'$ref': '#/definitions/packet'},
10645 'location': {'$ref': '#/definitions/packet'},
10646 'verificationId': {'$ref': '#/definitions/packet'}},
10647 'required': ['location',
10651 'packet': {'additionalProperties': False,
10652 'properties': {'headerLen': {'type': 'integer'},
10653 'start': {'type': 'integer'},
10654 'totalLen': {'type': 'integer'}},
10655 'required': ['start', 'totalLen', 'headerLen'],
10656 'type': 'object'}},
10657 'properties': {'ReportKeys': {'properties': {'Params': {'$ref': '#/definitions/SSHHostKeySet'},
10658 'Result': {'$ref': '#/definitions/ErrorResults'}},
10659 'type': 'object'}},
10663 @ReturnMapping(ErrorResults
)
10664 async def ReportKeys(self
, entity_keys
):
10666 entity_keys : typing.Sequence[~SSHHostKeys]
10667 Returns -> typing.Sequence[~ErrorResult]
10669 # map input types to rpc msg
10671 msg
= dict(Type
='HostKeyReporter', Request
='ReportKeys', Version
=1, Params
=params
)
10672 params
['entity-keys'] = entity_keys
10673 reply
= await self
.rpc(msg
)
10677 class ImageManagerFacade(Type
):
10678 name
= 'ImageManager'
10680 schema
= {'definitions': {'Error': {'additionalProperties': False,
10681 'properties': {'Code': {'type': 'string'},
10682 'Info': {'$ref': '#/definitions/ErrorInfo'},
10683 'Message': {'type': 'string'}},
10684 'required': ['Message', 'Code'],
10686 'ErrorInfo': {'additionalProperties': False,
10687 'properties': {'Macaroon': {'$ref': '#/definitions/Macaroon'},
10688 'MacaroonPath': {'type': 'string'}},
10690 'ErrorResult': {'additionalProperties': False,
10691 'properties': {'Error': {'$ref': '#/definitions/Error'}},
10692 'required': ['Error'],
10694 'ErrorResults': {'additionalProperties': False,
10695 'properties': {'Results': {'items': {'$ref': '#/definitions/ErrorResult'},
10697 'required': ['Results'],
10699 'ImageFilterParams': {'additionalProperties': False,
10700 'properties': {'images': {'items': {'$ref': '#/definitions/ImageSpec'},
10702 'required': ['images'],
10704 'ImageMetadata': {'additionalProperties': False,
10705 'properties': {'arch': {'type': 'string'},
10706 'created': {'format': 'date-time',
10708 'kind': {'type': 'string'},
10709 'series': {'type': 'string'},
10710 'url': {'type': 'string'}},
10711 'required': ['kind',
10717 'ImageSpec': {'additionalProperties': False,
10718 'properties': {'arch': {'type': 'string'},
10719 'kind': {'type': 'string'},
10720 'series': {'type': 'string'}},
10721 'required': ['kind', 'arch', 'series'],
10723 'ListImageResult': {'additionalProperties': False,
10724 'properties': {'result': {'items': {'$ref': '#/definitions/ImageMetadata'},
10726 'required': ['result'],
10728 'Macaroon': {'additionalProperties': False,
10729 'properties': {'caveats': {'items': {'$ref': '#/definitions/caveat'},
10731 'data': {'items': {'type': 'integer'},
10733 'id': {'$ref': '#/definitions/packet'},
10734 'location': {'$ref': '#/definitions/packet'},
10735 'sig': {'items': {'type': 'integer'},
10737 'required': ['data',
10743 'caveat': {'additionalProperties': False,
10744 'properties': {'caveatId': {'$ref': '#/definitions/packet'},
10745 'location': {'$ref': '#/definitions/packet'},
10746 'verificationId': {'$ref': '#/definitions/packet'}},
10747 'required': ['location',
10751 'packet': {'additionalProperties': False,
10752 'properties': {'headerLen': {'type': 'integer'},
10753 'start': {'type': 'integer'},
10754 'totalLen': {'type': 'integer'}},
10755 'required': ['start', 'totalLen', 'headerLen'],
10756 'type': 'object'}},
10757 'properties': {'DeleteImages': {'properties': {'Params': {'$ref': '#/definitions/ImageFilterParams'},
10758 'Result': {'$ref': '#/definitions/ErrorResults'}},
10760 'ListImages': {'properties': {'Params': {'$ref': '#/definitions/ImageFilterParams'},
10761 'Result': {'$ref': '#/definitions/ListImageResult'}},
10762 'type': 'object'}},
10766 @ReturnMapping(ErrorResults
)
10767 async def DeleteImages(self
, images
):
10769 images : typing.Sequence[~ImageSpec]
10770 Returns -> typing.Sequence[~ErrorResult]
10772 # map input types to rpc msg
10774 msg
= dict(Type
='ImageManager', Request
='DeleteImages', Version
=2, Params
=params
)
10775 params
['images'] = images
10776 reply
= await self
.rpc(msg
)
10781 @ReturnMapping(ListImageResult
)
10782 async def ListImages(self
, images
):
10784 images : typing.Sequence[~ImageSpec]
10785 Returns -> typing.Sequence[~ImageMetadata]
10787 # map input types to rpc msg
10789 msg
= dict(Type
='ImageManager', Request
='ListImages', Version
=2, Params
=params
)
10790 params
['images'] = images
10791 reply
= await self
.rpc(msg
)
10795 class ImageMetadataFacade(Type
):
10796 name
= 'ImageMetadata'
10798 schema
= {'definitions': {'CloudImageMetadata': {'additionalProperties': False,
10799 'properties': {'arch': {'type': 'string'},
10800 'image_id': {'type': 'string'},
10801 'priority': {'type': 'integer'},
10802 'region': {'type': 'string'},
10803 'root_storage_size': {'type': 'integer'},
10804 'root_storage_type': {'type': 'string'},
10805 'series': {'type': 'string'},
10806 'source': {'type': 'string'},
10807 'stream': {'type': 'string'},
10808 'version': {'type': 'string'},
10809 'virt_type': {'type': 'string'}},
10810 'required': ['image_id',
10818 'CloudImageMetadataList': {'additionalProperties': False,
10819 'properties': {'metadata': {'items': {'$ref': '#/definitions/CloudImageMetadata'},
10822 'Error': {'additionalProperties': False,
10823 'properties': {'Code': {'type': 'string'},
10824 'Info': {'$ref': '#/definitions/ErrorInfo'},
10825 'Message': {'type': 'string'}},
10826 'required': ['Message', 'Code'],
10828 'ErrorInfo': {'additionalProperties': False,
10829 'properties': {'Macaroon': {'$ref': '#/definitions/Macaroon'},
10830 'MacaroonPath': {'type': 'string'}},
10832 'ErrorResult': {'additionalProperties': False,
10833 'properties': {'Error': {'$ref': '#/definitions/Error'}},
10834 'required': ['Error'],
10836 'ErrorResults': {'additionalProperties': False,
10837 'properties': {'Results': {'items': {'$ref': '#/definitions/ErrorResult'},
10839 'required': ['Results'],
10841 'ImageMetadataFilter': {'additionalProperties': False,
10842 'properties': {'arches': {'items': {'type': 'string'},
10844 'region': {'type': 'string'},
10845 'root-storage-type': {'type': 'string'},
10846 'series': {'items': {'type': 'string'},
10848 'stream': {'type': 'string'},
10849 'virt_type': {'type': 'string'}},
10851 'ListCloudImageMetadataResult': {'additionalProperties': False,
10852 'properties': {'result': {'items': {'$ref': '#/definitions/CloudImageMetadata'},
10854 'required': ['result'],
10856 'Macaroon': {'additionalProperties': False,
10857 'properties': {'caveats': {'items': {'$ref': '#/definitions/caveat'},
10859 'data': {'items': {'type': 'integer'},
10861 'id': {'$ref': '#/definitions/packet'},
10862 'location': {'$ref': '#/definitions/packet'},
10863 'sig': {'items': {'type': 'integer'},
10865 'required': ['data',
10871 'MetadataImageIds': {'additionalProperties': False,
10872 'properties': {'image_ids': {'items': {'type': 'string'},
10874 'required': ['image_ids'],
10876 'MetadataSaveParams': {'additionalProperties': False,
10877 'properties': {'metadata': {'items': {'$ref': '#/definitions/CloudImageMetadataList'},
10880 'caveat': {'additionalProperties': False,
10881 'properties': {'caveatId': {'$ref': '#/definitions/packet'},
10882 'location': {'$ref': '#/definitions/packet'},
10883 'verificationId': {'$ref': '#/definitions/packet'}},
10884 'required': ['location',
10888 'packet': {'additionalProperties': False,
10889 'properties': {'headerLen': {'type': 'integer'},
10890 'start': {'type': 'integer'},
10891 'totalLen': {'type': 'integer'}},
10892 'required': ['start', 'totalLen', 'headerLen'],
10893 'type': 'object'}},
10894 'properties': {'Delete': {'properties': {'Params': {'$ref': '#/definitions/MetadataImageIds'},
10895 'Result': {'$ref': '#/definitions/ErrorResults'}},
10897 'List': {'properties': {'Params': {'$ref': '#/definitions/ImageMetadataFilter'},
10898 'Result': {'$ref': '#/definitions/ListCloudImageMetadataResult'}},
10900 'Save': {'properties': {'Params': {'$ref': '#/definitions/MetadataSaveParams'},
10901 'Result': {'$ref': '#/definitions/ErrorResults'}},
10903 'UpdateFromPublishedImages': {'type': 'object'}},
10907 @ReturnMapping(ErrorResults
)
10908 async def Delete(self
, image_ids
):
10910 image_ids : typing.Sequence[str]
10911 Returns -> typing.Sequence[~ErrorResult]
10913 # map input types to rpc msg
10915 msg
= dict(Type
='ImageMetadata', Request
='Delete', Version
=2, Params
=params
)
10916 params
['image_ids'] = image_ids
10917 reply
= await self
.rpc(msg
)
10922 @ReturnMapping(ListCloudImageMetadataResult
)
10923 async def List(self
, arches
, region
, root_storage_type
, series
, stream
, virt_type
):
10925 arches : typing.Sequence[str]
10927 root_storage_type : str
10928 series : typing.Sequence[str]
10931 Returns -> typing.Sequence[~CloudImageMetadata]
10933 # map input types to rpc msg
10935 msg
= dict(Type
='ImageMetadata', Request
='List', Version
=2, Params
=params
)
10936 params
['arches'] = arches
10937 params
['region'] = region
10938 params
['root-storage-type'] = root_storage_type
10939 params
['series'] = series
10940 params
['stream'] = stream
10941 params
['virt_type'] = virt_type
10942 reply
= await self
.rpc(msg
)
10947 @ReturnMapping(ErrorResults
)
10948 async def Save(self
, metadata
):
10950 metadata : typing.Sequence[~CloudImageMetadataList]
10951 Returns -> typing.Sequence[~ErrorResult]
10953 # map input types to rpc msg
10955 msg
= dict(Type
='ImageMetadata', Request
='Save', Version
=2, Params
=params
)
10956 params
['metadata'] = metadata
10957 reply
= await self
.rpc(msg
)
10962 @ReturnMapping(None)
10963 async def UpdateFromPublishedImages(self
):
10968 # map input types to rpc msg
10970 msg
= dict(Type
='ImageMetadata', Request
='UpdateFromPublishedImages', Version
=2, Params
=params
)
10972 reply
= await self
.rpc(msg
)
10976 class InstancePollerFacade(Type
):
10977 name
= 'InstancePoller'
10979 schema
= {'definitions': {'Address': {'additionalProperties': False,
10980 'properties': {'Scope': {'type': 'string'},
10981 'SpaceName': {'type': 'string'},
10982 'Type': {'type': 'string'},
10983 'Value': {'type': 'string'}},
10984 'required': ['Value', 'Type', 'Scope'],
10986 'BoolResult': {'additionalProperties': False,
10987 'properties': {'Error': {'$ref': '#/definitions/Error'},
10988 'Result': {'type': 'boolean'}},
10989 'required': ['Error', 'Result'],
10991 'BoolResults': {'additionalProperties': False,
10992 'properties': {'Results': {'items': {'$ref': '#/definitions/BoolResult'},
10994 'required': ['Results'],
10996 'Entities': {'additionalProperties': False,
10997 'properties': {'Entities': {'items': {'$ref': '#/definitions/Entity'},
10999 'required': ['Entities'],
11001 'Entity': {'additionalProperties': False,
11002 'properties': {'Tag': {'type': 'string'}},
11003 'required': ['Tag'],
11005 'EntityStatusArgs': {'additionalProperties': False,
11006 'properties': {'Data': {'patternProperties': {'.*': {'additionalProperties': True,
11007 'type': 'object'}},
11009 'Info': {'type': 'string'},
11010 'Status': {'type': 'string'},
11011 'Tag': {'type': 'string'}},
11012 'required': ['Tag',
11017 'Error': {'additionalProperties': False,
11018 'properties': {'Code': {'type': 'string'},
11019 'Info': {'$ref': '#/definitions/ErrorInfo'},
11020 'Message': {'type': 'string'}},
11021 'required': ['Message', 'Code'],
11023 'ErrorInfo': {'additionalProperties': False,
11024 'properties': {'Macaroon': {'$ref': '#/definitions/Macaroon'},
11025 'MacaroonPath': {'type': 'string'}},
11027 'ErrorResult': {'additionalProperties': False,
11028 'properties': {'Error': {'$ref': '#/definitions/Error'}},
11029 'required': ['Error'],
11031 'ErrorResults': {'additionalProperties': False,
11032 'properties': {'Results': {'items': {'$ref': '#/definitions/ErrorResult'},
11034 'required': ['Results'],
11036 'LifeResult': {'additionalProperties': False,
11037 'properties': {'Error': {'$ref': '#/definitions/Error'},
11038 'Life': {'type': 'string'}},
11039 'required': ['Life', 'Error'],
11041 'LifeResults': {'additionalProperties': False,
11042 'properties': {'Results': {'items': {'$ref': '#/definitions/LifeResult'},
11044 'required': ['Results'],
11046 'Macaroon': {'additionalProperties': False,
11047 'properties': {'caveats': {'items': {'$ref': '#/definitions/caveat'},
11049 'data': {'items': {'type': 'integer'},
11051 'id': {'$ref': '#/definitions/packet'},
11052 'location': {'$ref': '#/definitions/packet'},
11053 'sig': {'items': {'type': 'integer'},
11055 'required': ['data',
11061 'MachineAddresses': {'additionalProperties': False,
11062 'properties': {'Addresses': {'items': {'$ref': '#/definitions/Address'},
11064 'Tag': {'type': 'string'}},
11065 'required': ['Tag', 'Addresses'],
11067 'MachineAddressesResult': {'additionalProperties': False,
11068 'properties': {'Addresses': {'items': {'$ref': '#/definitions/Address'},
11070 'Error': {'$ref': '#/definitions/Error'}},
11071 'required': ['Error', 'Addresses'],
11073 'MachineAddressesResults': {'additionalProperties': False,
11074 'properties': {'Results': {'items': {'$ref': '#/definitions/MachineAddressesResult'},
11076 'required': ['Results'],
11078 'ModelConfigResult': {'additionalProperties': False,
11079 'properties': {'Config': {'patternProperties': {'.*': {'additionalProperties': True,
11080 'type': 'object'}},
11081 'type': 'object'}},
11082 'required': ['Config'],
11084 'NotifyWatchResult': {'additionalProperties': False,
11085 'properties': {'Error': {'$ref': '#/definitions/Error'},
11086 'NotifyWatcherId': {'type': 'string'}},
11087 'required': ['NotifyWatcherId', 'Error'],
11089 'SetMachinesAddresses': {'additionalProperties': False,
11090 'properties': {'MachineAddresses': {'items': {'$ref': '#/definitions/MachineAddresses'},
11092 'required': ['MachineAddresses'],
11094 'SetStatus': {'additionalProperties': False,
11095 'properties': {'Entities': {'items': {'$ref': '#/definitions/EntityStatusArgs'},
11097 'required': ['Entities'],
11099 'StatusResult': {'additionalProperties': False,
11100 'properties': {'Data': {'patternProperties': {'.*': {'additionalProperties': True,
11101 'type': 'object'}},
11103 'Error': {'$ref': '#/definitions/Error'},
11104 'Id': {'type': 'string'},
11105 'Info': {'type': 'string'},
11106 'Life': {'type': 'string'},
11107 'Since': {'format': 'date-time',
11109 'Status': {'type': 'string'}},
11110 'required': ['Error',
11118 'StatusResults': {'additionalProperties': False,
11119 'properties': {'Results': {'items': {'$ref': '#/definitions/StatusResult'},
11121 'required': ['Results'],
11123 'StringResult': {'additionalProperties': False,
11124 'properties': {'Error': {'$ref': '#/definitions/Error'},
11125 'Result': {'type': 'string'}},
11126 'required': ['Error', 'Result'],
11128 'StringResults': {'additionalProperties': False,
11129 'properties': {'Results': {'items': {'$ref': '#/definitions/StringResult'},
11131 'required': ['Results'],
11133 'StringsWatchResult': {'additionalProperties': False,
11134 'properties': {'Changes': {'items': {'type': 'string'},
11136 'Error': {'$ref': '#/definitions/Error'},
11137 'StringsWatcherId': {'type': 'string'}},
11138 'required': ['StringsWatcherId',
11142 'caveat': {'additionalProperties': False,
11143 'properties': {'caveatId': {'$ref': '#/definitions/packet'},
11144 'location': {'$ref': '#/definitions/packet'},
11145 'verificationId': {'$ref': '#/definitions/packet'}},
11146 'required': ['location',
11150 'packet': {'additionalProperties': False,
11151 'properties': {'headerLen': {'type': 'integer'},
11152 'start': {'type': 'integer'},
11153 'totalLen': {'type': 'integer'}},
11154 'required': ['start', 'totalLen', 'headerLen'],
11155 'type': 'object'}},
11156 'properties': {'AreManuallyProvisioned': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
11157 'Result': {'$ref': '#/definitions/BoolResults'}},
11159 'InstanceId': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
11160 'Result': {'$ref': '#/definitions/StringResults'}},
11162 'InstanceStatus': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
11163 'Result': {'$ref': '#/definitions/StatusResults'}},
11165 'Life': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
11166 'Result': {'$ref': '#/definitions/LifeResults'}},
11168 'ModelConfig': {'properties': {'Result': {'$ref': '#/definitions/ModelConfigResult'}},
11170 'ProviderAddresses': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
11171 'Result': {'$ref': '#/definitions/MachineAddressesResults'}},
11173 'SetInstanceStatus': {'properties': {'Params': {'$ref': '#/definitions/SetStatus'},
11174 'Result': {'$ref': '#/definitions/ErrorResults'}},
11176 'SetProviderAddresses': {'properties': {'Params': {'$ref': '#/definitions/SetMachinesAddresses'},
11177 'Result': {'$ref': '#/definitions/ErrorResults'}},
11179 'Status': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
11180 'Result': {'$ref': '#/definitions/StatusResults'}},
11182 'WatchForModelConfigChanges': {'properties': {'Result': {'$ref': '#/definitions/NotifyWatchResult'}},
11184 'WatchModelMachines': {'properties': {'Result': {'$ref': '#/definitions/StringsWatchResult'}},
11185 'type': 'object'}},
11189 @ReturnMapping(BoolResults
)
11190 async def AreManuallyProvisioned(self
, entities
):
11192 entities : typing.Sequence[~Entity]
11193 Returns -> typing.Sequence[~BoolResult]
11195 # map input types to rpc msg
11197 msg
= dict(Type
='InstancePoller', Request
='AreManuallyProvisioned', Version
=3, Params
=params
)
11198 params
['Entities'] = entities
11199 reply
= await self
.rpc(msg
)
11204 @ReturnMapping(StringResults
)
11205 async def InstanceId(self
, entities
):
11207 entities : typing.Sequence[~Entity]
11208 Returns -> typing.Sequence[~StringResult]
11210 # map input types to rpc msg
11212 msg
= dict(Type
='InstancePoller', Request
='InstanceId', Version
=3, Params
=params
)
11213 params
['Entities'] = entities
11214 reply
= await self
.rpc(msg
)
11219 @ReturnMapping(StatusResults
)
11220 async def InstanceStatus(self
, entities
):
11222 entities : typing.Sequence[~Entity]
11223 Returns -> typing.Sequence[~StatusResult]
11225 # map input types to rpc msg
11227 msg
= dict(Type
='InstancePoller', Request
='InstanceStatus', Version
=3, Params
=params
)
11228 params
['Entities'] = entities
11229 reply
= await self
.rpc(msg
)
11234 @ReturnMapping(LifeResults
)
11235 async def Life(self
, entities
):
11237 entities : typing.Sequence[~Entity]
11238 Returns -> typing.Sequence[~LifeResult]
11240 # map input types to rpc msg
11242 msg
= dict(Type
='InstancePoller', Request
='Life', Version
=3, Params
=params
)
11243 params
['Entities'] = entities
11244 reply
= await self
.rpc(msg
)
11249 @ReturnMapping(ModelConfigResult
)
11250 async def ModelConfig(self
):
11253 Returns -> typing.Mapping[str, typing.Any]
11255 # map input types to rpc msg
11257 msg
= dict(Type
='InstancePoller', Request
='ModelConfig', Version
=3, Params
=params
)
11259 reply
= await self
.rpc(msg
)
11264 @ReturnMapping(MachineAddressesResults
)
11265 async def ProviderAddresses(self
, entities
):
11267 entities : typing.Sequence[~Entity]
11268 Returns -> typing.Sequence[~MachineAddressesResult]
11270 # map input types to rpc msg
11272 msg
= dict(Type
='InstancePoller', Request
='ProviderAddresses', Version
=3, Params
=params
)
11273 params
['Entities'] = entities
11274 reply
= await self
.rpc(msg
)
11279 @ReturnMapping(ErrorResults
)
11280 async def SetInstanceStatus(self
, entities
):
11282 entities : typing.Sequence[~EntityStatusArgs]
11283 Returns -> typing.Sequence[~ErrorResult]
11285 # map input types to rpc msg
11287 msg
= dict(Type
='InstancePoller', Request
='SetInstanceStatus', Version
=3, Params
=params
)
11288 params
['Entities'] = entities
11289 reply
= await self
.rpc(msg
)
11294 @ReturnMapping(ErrorResults
)
11295 async def SetProviderAddresses(self
, machineaddresses
):
11297 machineaddresses : typing.Sequence[~MachineAddresses]
11298 Returns -> typing.Sequence[~ErrorResult]
11300 # map input types to rpc msg
11302 msg
= dict(Type
='InstancePoller', Request
='SetProviderAddresses', Version
=3, Params
=params
)
11303 params
['MachineAddresses'] = machineaddresses
11304 reply
= await self
.rpc(msg
)
11309 @ReturnMapping(StatusResults
)
11310 async def Status(self
, entities
):
11312 entities : typing.Sequence[~Entity]
11313 Returns -> typing.Sequence[~StatusResult]
11315 # map input types to rpc msg
11317 msg
= dict(Type
='InstancePoller', Request
='Status', Version
=3, Params
=params
)
11318 params
['Entities'] = entities
11319 reply
= await self
.rpc(msg
)
11324 @ReturnMapping(NotifyWatchResult
)
11325 async def WatchForModelConfigChanges(self
):
11328 Returns -> typing.Union[_ForwardRef('Error'), str]
11330 # map input types to rpc msg
11332 msg
= dict(Type
='InstancePoller', Request
='WatchForModelConfigChanges', Version
=3, Params
=params
)
11334 reply
= await self
.rpc(msg
)
11339 @ReturnMapping(StringsWatchResult
)
11340 async def WatchModelMachines(self
):
11343 Returns -> typing.Union[typing.Sequence[str], _ForwardRef('Error')]
11345 # map input types to rpc msg
11347 msg
= dict(Type
='InstancePoller', Request
='WatchModelMachines', Version
=3, Params
=params
)
11349 reply
= await self
.rpc(msg
)
11353 class KeyManagerFacade(Type
):
11354 name
= 'KeyManager'
11356 schema
= {'definitions': {'Entities': {'additionalProperties': False,
11357 'properties': {'Entities': {'items': {'$ref': '#/definitions/Entity'},
11359 'required': ['Entities'],
11361 'Entity': {'additionalProperties': False,
11362 'properties': {'Tag': {'type': 'string'}},
11363 'required': ['Tag'],
11365 'Error': {'additionalProperties': False,
11366 'properties': {'Code': {'type': 'string'},
11367 'Info': {'$ref': '#/definitions/ErrorInfo'},
11368 'Message': {'type': 'string'}},
11369 'required': ['Message', 'Code'],
11371 'ErrorInfo': {'additionalProperties': False,
11372 'properties': {'Macaroon': {'$ref': '#/definitions/Macaroon'},
11373 'MacaroonPath': {'type': 'string'}},
11375 'ErrorResult': {'additionalProperties': False,
11376 'properties': {'Error': {'$ref': '#/definitions/Error'}},
11377 'required': ['Error'],
11379 'ErrorResults': {'additionalProperties': False,
11380 'properties': {'Results': {'items': {'$ref': '#/definitions/ErrorResult'},
11382 'required': ['Results'],
11384 'ListSSHKeys': {'additionalProperties': False,
11385 'properties': {'Entities': {'$ref': '#/definitions/Entities'},
11386 'Mode': {'type': 'boolean'}},
11387 'required': ['Entities', 'Mode'],
11389 'Macaroon': {'additionalProperties': False,
11390 'properties': {'caveats': {'items': {'$ref': '#/definitions/caveat'},
11392 'data': {'items': {'type': 'integer'},
11394 'id': {'$ref': '#/definitions/packet'},
11395 'location': {'$ref': '#/definitions/packet'},
11396 'sig': {'items': {'type': 'integer'},
11398 'required': ['data',
11404 'ModifyUserSSHKeys': {'additionalProperties': False,
11405 'properties': {'Keys': {'items': {'type': 'string'},
11407 'User': {'type': 'string'}},
11408 'required': ['User', 'Keys'],
11410 'StringsResult': {'additionalProperties': False,
11411 'properties': {'Error': {'$ref': '#/definitions/Error'},
11412 'Result': {'items': {'type': 'string'},
11414 'required': ['Error', 'Result'],
11416 'StringsResults': {'additionalProperties': False,
11417 'properties': {'Results': {'items': {'$ref': '#/definitions/StringsResult'},
11419 'required': ['Results'],
11421 'caveat': {'additionalProperties': False,
11422 'properties': {'caveatId': {'$ref': '#/definitions/packet'},
11423 'location': {'$ref': '#/definitions/packet'},
11424 'verificationId': {'$ref': '#/definitions/packet'}},
11425 'required': ['location',
11429 'packet': {'additionalProperties': False,
11430 'properties': {'headerLen': {'type': 'integer'},
11431 'start': {'type': 'integer'},
11432 'totalLen': {'type': 'integer'}},
11433 'required': ['start', 'totalLen', 'headerLen'],
11434 'type': 'object'}},
11435 'properties': {'AddKeys': {'properties': {'Params': {'$ref': '#/definitions/ModifyUserSSHKeys'},
11436 'Result': {'$ref': '#/definitions/ErrorResults'}},
11438 'DeleteKeys': {'properties': {'Params': {'$ref': '#/definitions/ModifyUserSSHKeys'},
11439 'Result': {'$ref': '#/definitions/ErrorResults'}},
11441 'ImportKeys': {'properties': {'Params': {'$ref': '#/definitions/ModifyUserSSHKeys'},
11442 'Result': {'$ref': '#/definitions/ErrorResults'}},
11444 'ListKeys': {'properties': {'Params': {'$ref': '#/definitions/ListSSHKeys'},
11445 'Result': {'$ref': '#/definitions/StringsResults'}},
11446 'type': 'object'}},
11450 @ReturnMapping(ErrorResults
)
11451 async def AddKeys(self
, keys
, user
):
11453 keys : typing.Sequence[str]
11455 Returns -> typing.Sequence[~ErrorResult]
11457 # map input types to rpc msg
11459 msg
= dict(Type
='KeyManager', Request
='AddKeys', Version
=1, Params
=params
)
11460 params
['Keys'] = keys
11461 params
['User'] = user
11462 reply
= await self
.rpc(msg
)
11467 @ReturnMapping(ErrorResults
)
11468 async def DeleteKeys(self
, keys
, user
):
11470 keys : typing.Sequence[str]
11472 Returns -> typing.Sequence[~ErrorResult]
11474 # map input types to rpc msg
11476 msg
= dict(Type
='KeyManager', Request
='DeleteKeys', Version
=1, Params
=params
)
11477 params
['Keys'] = keys
11478 params
['User'] = user
11479 reply
= await self
.rpc(msg
)
11484 @ReturnMapping(ErrorResults
)
11485 async def ImportKeys(self
, keys
, user
):
11487 keys : typing.Sequence[str]
11489 Returns -> typing.Sequence[~ErrorResult]
11491 # map input types to rpc msg
11493 msg
= dict(Type
='KeyManager', Request
='ImportKeys', Version
=1, Params
=params
)
11494 params
['Keys'] = keys
11495 params
['User'] = user
11496 reply
= await self
.rpc(msg
)
11501 @ReturnMapping(StringsResults
)
11502 async def ListKeys(self
, entities
, mode
):
11504 entities : Entities
11506 Returns -> typing.Sequence[~StringsResult]
11508 # map input types to rpc msg
11510 msg
= dict(Type
='KeyManager', Request
='ListKeys', Version
=1, Params
=params
)
11511 params
['Entities'] = entities
11512 params
['Mode'] = mode
11513 reply
= await self
.rpc(msg
)
11517 class KeyUpdaterFacade(Type
):
11518 name
= 'KeyUpdater'
11520 schema
= {'definitions': {'Entities': {'additionalProperties': False,
11521 'properties': {'Entities': {'items': {'$ref': '#/definitions/Entity'},
11523 'required': ['Entities'],
11525 'Entity': {'additionalProperties': False,
11526 'properties': {'Tag': {'type': 'string'}},
11527 'required': ['Tag'],
11529 'Error': {'additionalProperties': False,
11530 'properties': {'Code': {'type': 'string'},
11531 'Info': {'$ref': '#/definitions/ErrorInfo'},
11532 'Message': {'type': 'string'}},
11533 'required': ['Message', 'Code'],
11535 'ErrorInfo': {'additionalProperties': False,
11536 'properties': {'Macaroon': {'$ref': '#/definitions/Macaroon'},
11537 'MacaroonPath': {'type': 'string'}},
11539 'Macaroon': {'additionalProperties': False,
11540 'properties': {'caveats': {'items': {'$ref': '#/definitions/caveat'},
11542 'data': {'items': {'type': 'integer'},
11544 'id': {'$ref': '#/definitions/packet'},
11545 'location': {'$ref': '#/definitions/packet'},
11546 'sig': {'items': {'type': 'integer'},
11548 'required': ['data',
11554 'NotifyWatchResult': {'additionalProperties': False,
11555 'properties': {'Error': {'$ref': '#/definitions/Error'},
11556 'NotifyWatcherId': {'type': 'string'}},
11557 'required': ['NotifyWatcherId', 'Error'],
11559 'NotifyWatchResults': {'additionalProperties': False,
11560 'properties': {'Results': {'items': {'$ref': '#/definitions/NotifyWatchResult'},
11562 'required': ['Results'],
11564 'StringsResult': {'additionalProperties': False,
11565 'properties': {'Error': {'$ref': '#/definitions/Error'},
11566 'Result': {'items': {'type': 'string'},
11568 'required': ['Error', 'Result'],
11570 'StringsResults': {'additionalProperties': False,
11571 'properties': {'Results': {'items': {'$ref': '#/definitions/StringsResult'},
11573 'required': ['Results'],
11575 'caveat': {'additionalProperties': False,
11576 'properties': {'caveatId': {'$ref': '#/definitions/packet'},
11577 'location': {'$ref': '#/definitions/packet'},
11578 'verificationId': {'$ref': '#/definitions/packet'}},
11579 'required': ['location',
11583 'packet': {'additionalProperties': False,
11584 'properties': {'headerLen': {'type': 'integer'},
11585 'start': {'type': 'integer'},
11586 'totalLen': {'type': 'integer'}},
11587 'required': ['start', 'totalLen', 'headerLen'],
11588 'type': 'object'}},
11589 'properties': {'AuthorisedKeys': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
11590 'Result': {'$ref': '#/definitions/StringsResults'}},
11592 'WatchAuthorisedKeys': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
11593 'Result': {'$ref': '#/definitions/NotifyWatchResults'}},
11594 'type': 'object'}},
11598 @ReturnMapping(StringsResults
)
11599 async def AuthorisedKeys(self
, entities
):
11601 entities : typing.Sequence[~Entity]
11602 Returns -> typing.Sequence[~StringsResult]
11604 # map input types to rpc msg
11606 msg
= dict(Type
='KeyUpdater', Request
='AuthorisedKeys', Version
=1, Params
=params
)
11607 params
['Entities'] = entities
11608 reply
= await self
.rpc(msg
)
11613 @ReturnMapping(NotifyWatchResults
)
11614 async def WatchAuthorisedKeys(self
, entities
):
11616 entities : typing.Sequence[~Entity]
11617 Returns -> typing.Sequence[~NotifyWatchResult]
11619 # map input types to rpc msg
11621 msg
= dict(Type
='KeyUpdater', Request
='WatchAuthorisedKeys', Version
=1, Params
=params
)
11622 params
['Entities'] = entities
11623 reply
= await self
.rpc(msg
)
11627 class LeadershipServiceFacade(Type
):
11628 name
= 'LeadershipService'
11630 schema
= {'definitions': {'ApplicationTag': {'additionalProperties': False,
11631 'properties': {'Name': {'type': 'string'}},
11632 'required': ['Name'],
11634 'ClaimLeadershipBulkParams': {'additionalProperties': False,
11635 'properties': {'Params': {'items': {'$ref': '#/definitions/ClaimLeadershipParams'},
11637 'required': ['Params'],
11639 'ClaimLeadershipBulkResults': {'additionalProperties': False,
11640 'properties': {'Results': {'items': {'$ref': '#/definitions/ErrorResult'},
11642 'required': ['Results'],
11644 'ClaimLeadershipParams': {'additionalProperties': False,
11645 'properties': {'ApplicationTag': {'type': 'string'},
11646 'DurationSeconds': {'type': 'number'},
11647 'UnitTag': {'type': 'string'}},
11648 'required': ['ApplicationTag',
11650 'DurationSeconds'],
11652 'Error': {'additionalProperties': False,
11653 'properties': {'Code': {'type': 'string'},
11654 'Info': {'$ref': '#/definitions/ErrorInfo'},
11655 'Message': {'type': 'string'}},
11656 'required': ['Message', 'Code'],
11658 'ErrorInfo': {'additionalProperties': False,
11659 'properties': {'Macaroon': {'$ref': '#/definitions/Macaroon'},
11660 'MacaroonPath': {'type': 'string'}},
11662 'ErrorResult': {'additionalProperties': False,
11663 'properties': {'Error': {'$ref': '#/definitions/Error'}},
11664 'required': ['Error'],
11666 'Macaroon': {'additionalProperties': False,
11667 'properties': {'caveats': {'items': {'$ref': '#/definitions/caveat'},
11669 'data': {'items': {'type': 'integer'},
11671 'id': {'$ref': '#/definitions/packet'},
11672 'location': {'$ref': '#/definitions/packet'},
11673 'sig': {'items': {'type': 'integer'},
11675 'required': ['data',
11681 'caveat': {'additionalProperties': False,
11682 'properties': {'caveatId': {'$ref': '#/definitions/packet'},
11683 'location': {'$ref': '#/definitions/packet'},
11684 'verificationId': {'$ref': '#/definitions/packet'}},
11685 'required': ['location',
11689 'packet': {'additionalProperties': False,
11690 'properties': {'headerLen': {'type': 'integer'},
11691 'start': {'type': 'integer'},
11692 'totalLen': {'type': 'integer'}},
11693 'required': ['start', 'totalLen', 'headerLen'],
11694 'type': 'object'}},
11695 'properties': {'BlockUntilLeadershipReleased': {'properties': {'Params': {'$ref': '#/definitions/ApplicationTag'},
11696 'Result': {'$ref': '#/definitions/ErrorResult'}},
11698 'ClaimLeadership': {'properties': {'Params': {'$ref': '#/definitions/ClaimLeadershipBulkParams'},
11699 'Result': {'$ref': '#/definitions/ClaimLeadershipBulkResults'}},
11700 'type': 'object'}},
11704 @ReturnMapping(ErrorResult
)
11705 async def BlockUntilLeadershipReleased(self
, name
):
11710 # map input types to rpc msg
11712 msg
= dict(Type
='LeadershipService', Request
='BlockUntilLeadershipReleased', Version
=2, Params
=params
)
11713 params
['Name'] = name
11714 reply
= await self
.rpc(msg
)
11719 @ReturnMapping(ClaimLeadershipBulkResults
)
11720 async def ClaimLeadership(self
, params
):
11722 params : typing.Sequence[~ClaimLeadershipParams]
11723 Returns -> typing.Sequence[~ErrorResult]
11725 # map input types to rpc msg
11727 msg
= dict(Type
='LeadershipService', Request
='ClaimLeadership', Version
=2, Params
=params
)
11728 params
['Params'] = params
11729 reply
= await self
.rpc(msg
)
11733 class LifeFlagFacade(Type
):
11736 schema
= {'definitions': {'Entities': {'additionalProperties': False,
11737 'properties': {'Entities': {'items': {'$ref': '#/definitions/Entity'},
11739 'required': ['Entities'],
11741 'Entity': {'additionalProperties': False,
11742 'properties': {'Tag': {'type': 'string'}},
11743 'required': ['Tag'],
11745 'Error': {'additionalProperties': False,
11746 'properties': {'Code': {'type': 'string'},
11747 'Info': {'$ref': '#/definitions/ErrorInfo'},
11748 'Message': {'type': 'string'}},
11749 'required': ['Message', 'Code'],
11751 'ErrorInfo': {'additionalProperties': False,
11752 'properties': {'Macaroon': {'$ref': '#/definitions/Macaroon'},
11753 'MacaroonPath': {'type': 'string'}},
11755 'LifeResult': {'additionalProperties': False,
11756 'properties': {'Error': {'$ref': '#/definitions/Error'},
11757 'Life': {'type': 'string'}},
11758 'required': ['Life', 'Error'],
11760 'LifeResults': {'additionalProperties': False,
11761 'properties': {'Results': {'items': {'$ref': '#/definitions/LifeResult'},
11763 'required': ['Results'],
11765 'Macaroon': {'additionalProperties': False,
11766 'properties': {'caveats': {'items': {'$ref': '#/definitions/caveat'},
11768 'data': {'items': {'type': 'integer'},
11770 'id': {'$ref': '#/definitions/packet'},
11771 'location': {'$ref': '#/definitions/packet'},
11772 'sig': {'items': {'type': 'integer'},
11774 'required': ['data',
11780 'NotifyWatchResult': {'additionalProperties': False,
11781 'properties': {'Error': {'$ref': '#/definitions/Error'},
11782 'NotifyWatcherId': {'type': 'string'}},
11783 'required': ['NotifyWatcherId', 'Error'],
11785 'NotifyWatchResults': {'additionalProperties': False,
11786 'properties': {'Results': {'items': {'$ref': '#/definitions/NotifyWatchResult'},
11788 'required': ['Results'],
11790 'caveat': {'additionalProperties': False,
11791 'properties': {'caveatId': {'$ref': '#/definitions/packet'},
11792 'location': {'$ref': '#/definitions/packet'},
11793 'verificationId': {'$ref': '#/definitions/packet'}},
11794 'required': ['location',
11798 'packet': {'additionalProperties': False,
11799 'properties': {'headerLen': {'type': 'integer'},
11800 'start': {'type': 'integer'},
11801 'totalLen': {'type': 'integer'}},
11802 'required': ['start', 'totalLen', 'headerLen'],
11803 'type': 'object'}},
11804 'properties': {'Life': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
11805 'Result': {'$ref': '#/definitions/LifeResults'}},
11807 'Watch': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
11808 'Result': {'$ref': '#/definitions/NotifyWatchResults'}},
11809 'type': 'object'}},
11813 @ReturnMapping(LifeResults
)
11814 async def Life(self
, entities
):
11816 entities : typing.Sequence[~Entity]
11817 Returns -> typing.Sequence[~LifeResult]
11819 # map input types to rpc msg
11821 msg
= dict(Type
='LifeFlag', Request
='Life', Version
=1, Params
=params
)
11822 params
['Entities'] = entities
11823 reply
= await self
.rpc(msg
)
11828 @ReturnMapping(NotifyWatchResults
)
11829 async def Watch(self
, entities
):
11831 entities : typing.Sequence[~Entity]
11832 Returns -> typing.Sequence[~NotifyWatchResult]
11834 # map input types to rpc msg
11836 msg
= dict(Type
='LifeFlag', Request
='Watch', Version
=1, Params
=params
)
11837 params
['Entities'] = entities
11838 reply
= await self
.rpc(msg
)
11842 class LoggerFacade(Type
):
11845 schema
= {'definitions': {'Entities': {'additionalProperties': False,
11846 'properties': {'Entities': {'items': {'$ref': '#/definitions/Entity'},
11848 'required': ['Entities'],
11850 'Entity': {'additionalProperties': False,
11851 'properties': {'Tag': {'type': 'string'}},
11852 'required': ['Tag'],
11854 'Error': {'additionalProperties': False,
11855 'properties': {'Code': {'type': 'string'},
11856 'Info': {'$ref': '#/definitions/ErrorInfo'},
11857 'Message': {'type': 'string'}},
11858 'required': ['Message', 'Code'],
11860 'ErrorInfo': {'additionalProperties': False,
11861 'properties': {'Macaroon': {'$ref': '#/definitions/Macaroon'},
11862 'MacaroonPath': {'type': 'string'}},
11864 'Macaroon': {'additionalProperties': False,
11865 'properties': {'caveats': {'items': {'$ref': '#/definitions/caveat'},
11867 'data': {'items': {'type': 'integer'},
11869 'id': {'$ref': '#/definitions/packet'},
11870 'location': {'$ref': '#/definitions/packet'},
11871 'sig': {'items': {'type': 'integer'},
11873 'required': ['data',
11879 'NotifyWatchResult': {'additionalProperties': False,
11880 'properties': {'Error': {'$ref': '#/definitions/Error'},
11881 'NotifyWatcherId': {'type': 'string'}},
11882 'required': ['NotifyWatcherId', 'Error'],
11884 'NotifyWatchResults': {'additionalProperties': False,
11885 'properties': {'Results': {'items': {'$ref': '#/definitions/NotifyWatchResult'},
11887 'required': ['Results'],
11889 'StringResult': {'additionalProperties': False,
11890 'properties': {'Error': {'$ref': '#/definitions/Error'},
11891 'Result': {'type': 'string'}},
11892 'required': ['Error', 'Result'],
11894 'StringResults': {'additionalProperties': False,
11895 'properties': {'Results': {'items': {'$ref': '#/definitions/StringResult'},
11897 'required': ['Results'],
11899 'caveat': {'additionalProperties': False,
11900 'properties': {'caveatId': {'$ref': '#/definitions/packet'},
11901 'location': {'$ref': '#/definitions/packet'},
11902 'verificationId': {'$ref': '#/definitions/packet'}},
11903 'required': ['location',
11907 'packet': {'additionalProperties': False,
11908 'properties': {'headerLen': {'type': 'integer'},
11909 'start': {'type': 'integer'},
11910 'totalLen': {'type': 'integer'}},
11911 'required': ['start', 'totalLen', 'headerLen'],
11912 'type': 'object'}},
11913 'properties': {'LoggingConfig': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
11914 'Result': {'$ref': '#/definitions/StringResults'}},
11916 'WatchLoggingConfig': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
11917 'Result': {'$ref': '#/definitions/NotifyWatchResults'}},
11918 'type': 'object'}},
11922 @ReturnMapping(StringResults
)
11923 async def LoggingConfig(self
, entities
):
11925 entities : typing.Sequence[~Entity]
11926 Returns -> typing.Sequence[~StringResult]
11928 # map input types to rpc msg
11930 msg
= dict(Type
='Logger', Request
='LoggingConfig', Version
=1, Params
=params
)
11931 params
['Entities'] = entities
11932 reply
= await self
.rpc(msg
)
11937 @ReturnMapping(NotifyWatchResults
)
11938 async def WatchLoggingConfig(self
, entities
):
11940 entities : typing.Sequence[~Entity]
11941 Returns -> typing.Sequence[~NotifyWatchResult]
11943 # map input types to rpc msg
11945 msg
= dict(Type
='Logger', Request
='WatchLoggingConfig', Version
=1, Params
=params
)
11946 params
['Entities'] = entities
11947 reply
= await self
.rpc(msg
)
11951 class MachineActionsFacade(Type
):
11952 name
= 'MachineActions'
11954 schema
= {'definitions': {'Action': {'additionalProperties': False,
11955 'properties': {'name': {'type': 'string'},
11956 'parameters': {'patternProperties': {'.*': {'additionalProperties': True,
11957 'type': 'object'}},
11959 'receiver': {'type': 'string'},
11960 'tag': {'type': 'string'}},
11961 'required': ['tag', 'receiver', 'name'],
11963 'ActionExecutionResult': {'additionalProperties': False,
11964 'properties': {'actiontag': {'type': 'string'},
11965 'message': {'type': 'string'},
11966 'results': {'patternProperties': {'.*': {'additionalProperties': True,
11967 'type': 'object'}},
11969 'status': {'type': 'string'}},
11970 'required': ['actiontag', 'status'],
11972 'ActionExecutionResults': {'additionalProperties': False,
11973 'properties': {'results': {'items': {'$ref': '#/definitions/ActionExecutionResult'},
11976 'ActionResult': {'additionalProperties': False,
11977 'properties': {'action': {'$ref': '#/definitions/Action'},
11978 'completed': {'format': 'date-time',
11980 'enqueued': {'format': 'date-time',
11982 'error': {'$ref': '#/definitions/Error'},
11983 'message': {'type': 'string'},
11984 'output': {'patternProperties': {'.*': {'additionalProperties': True,
11985 'type': 'object'}},
11987 'started': {'format': 'date-time',
11989 'status': {'type': 'string'}},
11991 'ActionResults': {'additionalProperties': False,
11992 'properties': {'results': {'items': {'$ref': '#/definitions/ActionResult'},
11995 'ActionsByReceiver': {'additionalProperties': False,
11996 'properties': {'actions': {'items': {'$ref': '#/definitions/ActionResult'},
11998 'error': {'$ref': '#/definitions/Error'},
11999 'receiver': {'type': 'string'}},
12001 'ActionsByReceivers': {'additionalProperties': False,
12002 'properties': {'actions': {'items': {'$ref': '#/definitions/ActionsByReceiver'},
12005 'Entities': {'additionalProperties': False,
12006 'properties': {'Entities': {'items': {'$ref': '#/definitions/Entity'},
12008 'required': ['Entities'],
12010 'Entity': {'additionalProperties': False,
12011 'properties': {'Tag': {'type': 'string'}},
12012 'required': ['Tag'],
12014 'Error': {'additionalProperties': False,
12015 'properties': {'Code': {'type': 'string'},
12016 'Info': {'$ref': '#/definitions/ErrorInfo'},
12017 'Message': {'type': 'string'}},
12018 'required': ['Message', 'Code'],
12020 'ErrorInfo': {'additionalProperties': False,
12021 'properties': {'Macaroon': {'$ref': '#/definitions/Macaroon'},
12022 'MacaroonPath': {'type': 'string'}},
12024 'ErrorResult': {'additionalProperties': False,
12025 'properties': {'Error': {'$ref': '#/definitions/Error'}},
12026 'required': ['Error'],
12028 'ErrorResults': {'additionalProperties': False,
12029 'properties': {'Results': {'items': {'$ref': '#/definitions/ErrorResult'},
12031 'required': ['Results'],
12033 'Macaroon': {'additionalProperties': False,
12034 'properties': {'caveats': {'items': {'$ref': '#/definitions/caveat'},
12036 'data': {'items': {'type': 'integer'},
12038 'id': {'$ref': '#/definitions/packet'},
12039 'location': {'$ref': '#/definitions/packet'},
12040 'sig': {'items': {'type': 'integer'},
12042 'required': ['data',
12048 'StringsWatchResult': {'additionalProperties': False,
12049 'properties': {'Changes': {'items': {'type': 'string'},
12051 'Error': {'$ref': '#/definitions/Error'},
12052 'StringsWatcherId': {'type': 'string'}},
12053 'required': ['StringsWatcherId',
12057 'StringsWatchResults': {'additionalProperties': False,
12058 'properties': {'Results': {'items': {'$ref': '#/definitions/StringsWatchResult'},
12060 'required': ['Results'],
12062 'caveat': {'additionalProperties': False,
12063 'properties': {'caveatId': {'$ref': '#/definitions/packet'},
12064 'location': {'$ref': '#/definitions/packet'},
12065 'verificationId': {'$ref': '#/definitions/packet'}},
12066 'required': ['location',
12070 'packet': {'additionalProperties': False,
12071 'properties': {'headerLen': {'type': 'integer'},
12072 'start': {'type': 'integer'},
12073 'totalLen': {'type': 'integer'}},
12074 'required': ['start', 'totalLen', 'headerLen'],
12075 'type': 'object'}},
12076 'properties': {'Actions': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
12077 'Result': {'$ref': '#/definitions/ActionResults'}},
12079 'BeginActions': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
12080 'Result': {'$ref': '#/definitions/ErrorResults'}},
12082 'FinishActions': {'properties': {'Params': {'$ref': '#/definitions/ActionExecutionResults'},
12083 'Result': {'$ref': '#/definitions/ErrorResults'}},
12085 'RunningActions': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
12086 'Result': {'$ref': '#/definitions/ActionsByReceivers'}},
12088 'WatchActionNotifications': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
12089 'Result': {'$ref': '#/definitions/StringsWatchResults'}},
12090 'type': 'object'}},
12094 @ReturnMapping(ActionResults
)
12095 async def Actions(self
, entities
):
12097 entities : typing.Sequence[~Entity]
12098 Returns -> typing.Sequence[~ActionResult]
12100 # map input types to rpc msg
12102 msg
= dict(Type
='MachineActions', Request
='Actions', Version
=1, Params
=params
)
12103 params
['Entities'] = entities
12104 reply
= await self
.rpc(msg
)
12109 @ReturnMapping(ErrorResults
)
12110 async def BeginActions(self
, entities
):
12112 entities : typing.Sequence[~Entity]
12113 Returns -> typing.Sequence[~ErrorResult]
12115 # map input types to rpc msg
12117 msg
= dict(Type
='MachineActions', Request
='BeginActions', Version
=1, Params
=params
)
12118 params
['Entities'] = entities
12119 reply
= await self
.rpc(msg
)
12124 @ReturnMapping(ErrorResults
)
12125 async def FinishActions(self
, results
):
12127 results : typing.Sequence[~ActionExecutionResult]
12128 Returns -> typing.Sequence[~ErrorResult]
12130 # map input types to rpc msg
12132 msg
= dict(Type
='MachineActions', Request
='FinishActions', Version
=1, Params
=params
)
12133 params
['results'] = results
12134 reply
= await self
.rpc(msg
)
12139 @ReturnMapping(ActionsByReceivers
)
12140 async def RunningActions(self
, entities
):
12142 entities : typing.Sequence[~Entity]
12143 Returns -> typing.Sequence[~ActionsByReceiver]
12145 # map input types to rpc msg
12147 msg
= dict(Type
='MachineActions', Request
='RunningActions', Version
=1, Params
=params
)
12148 params
['Entities'] = entities
12149 reply
= await self
.rpc(msg
)
12154 @ReturnMapping(StringsWatchResults
)
12155 async def WatchActionNotifications(self
, entities
):
12157 entities : typing.Sequence[~Entity]
12158 Returns -> typing.Sequence[~StringsWatchResult]
12160 # map input types to rpc msg
12162 msg
= dict(Type
='MachineActions', Request
='WatchActionNotifications', Version
=1, Params
=params
)
12163 params
['Entities'] = entities
12164 reply
= await self
.rpc(msg
)
12168 class MachineManagerFacade(Type
):
12169 name
= 'MachineManager'
12171 schema
= {'definitions': {'AddMachineParams': {'additionalProperties': False,
12172 'properties': {'Addrs': {'items': {'$ref': '#/definitions/Address'},
12174 'Constraints': {'$ref': '#/definitions/Value'},
12175 'ContainerType': {'type': 'string'},
12176 'Disks': {'items': {'$ref': '#/definitions/Constraints'},
12178 'HardwareCharacteristics': {'$ref': '#/definitions/HardwareCharacteristics'},
12179 'InstanceId': {'type': 'string'},
12180 'Jobs': {'items': {'type': 'string'},
12182 'Nonce': {'type': 'string'},
12183 'ParentId': {'type': 'string'},
12184 'Placement': {'$ref': '#/definitions/Placement'},
12185 'Series': {'type': 'string'}},
12186 'required': ['Series',
12195 'HardwareCharacteristics',
12198 'AddMachines': {'additionalProperties': False,
12199 'properties': {'MachineParams': {'items': {'$ref': '#/definitions/AddMachineParams'},
12201 'required': ['MachineParams'],
12203 'AddMachinesResult': {'additionalProperties': False,
12204 'properties': {'Error': {'$ref': '#/definitions/Error'},
12205 'Machine': {'type': 'string'}},
12206 'required': ['Machine', 'Error'],
12208 'AddMachinesResults': {'additionalProperties': False,
12209 'properties': {'Machines': {'items': {'$ref': '#/definitions/AddMachinesResult'},
12211 'required': ['Machines'],
12213 'Address': {'additionalProperties': False,
12214 'properties': {'Scope': {'type': 'string'},
12215 'SpaceName': {'type': 'string'},
12216 'Type': {'type': 'string'},
12217 'Value': {'type': 'string'}},
12218 'required': ['Value', 'Type', 'Scope'],
12220 'Constraints': {'additionalProperties': False,
12221 'properties': {'Count': {'type': 'integer'},
12222 'Pool': {'type': 'string'},
12223 'Size': {'type': 'integer'}},
12224 'required': ['Pool', 'Size', 'Count'],
12226 'Error': {'additionalProperties': False,
12227 'properties': {'Code': {'type': 'string'},
12228 'Info': {'$ref': '#/definitions/ErrorInfo'},
12229 'Message': {'type': 'string'}},
12230 'required': ['Message', 'Code'],
12232 'ErrorInfo': {'additionalProperties': False,
12233 'properties': {'Macaroon': {'$ref': '#/definitions/Macaroon'},
12234 'MacaroonPath': {'type': 'string'}},
12236 'HardwareCharacteristics': {'additionalProperties': False,
12237 'properties': {'Arch': {'type': 'string'},
12238 'AvailabilityZone': {'type': 'string'},
12239 'CpuCores': {'type': 'integer'},
12240 'CpuPower': {'type': 'integer'},
12241 'Mem': {'type': 'integer'},
12242 'RootDisk': {'type': 'integer'},
12243 'Tags': {'items': {'type': 'string'},
12246 'Macaroon': {'additionalProperties': False,
12247 'properties': {'caveats': {'items': {'$ref': '#/definitions/caveat'},
12249 'data': {'items': {'type': 'integer'},
12251 'id': {'$ref': '#/definitions/packet'},
12252 'location': {'$ref': '#/definitions/packet'},
12253 'sig': {'items': {'type': 'integer'},
12255 'required': ['data',
12261 'Placement': {'additionalProperties': False,
12262 'properties': {'Directive': {'type': 'string'},
12263 'Scope': {'type': 'string'}},
12264 'required': ['Scope', 'Directive'],
12266 'Value': {'additionalProperties': False,
12267 'properties': {'arch': {'type': 'string'},
12268 'container': {'type': 'string'},
12269 'cpu-cores': {'type': 'integer'},
12270 'cpu-power': {'type': 'integer'},
12271 'instance-type': {'type': 'string'},
12272 'mem': {'type': 'integer'},
12273 'root-disk': {'type': 'integer'},
12274 'spaces': {'items': {'type': 'string'},
12276 'tags': {'items': {'type': 'string'},
12278 'virt-type': {'type': 'string'}},
12280 'caveat': {'additionalProperties': False,
12281 'properties': {'caveatId': {'$ref': '#/definitions/packet'},
12282 'location': {'$ref': '#/definitions/packet'},
12283 'verificationId': {'$ref': '#/definitions/packet'}},
12284 'required': ['location',
12288 'packet': {'additionalProperties': False,
12289 'properties': {'headerLen': {'type': 'integer'},
12290 'start': {'type': 'integer'},
12291 'totalLen': {'type': 'integer'}},
12292 'required': ['start', 'totalLen', 'headerLen'],
12293 'type': 'object'}},
12294 'properties': {'AddMachines': {'properties': {'Params': {'$ref': '#/definitions/AddMachines'},
12295 'Result': {'$ref': '#/definitions/AddMachinesResults'}},
12296 'type': 'object'}},
12300 @ReturnMapping(AddMachinesResults
)
12301 async def AddMachines(self
, machineparams
):
12303 machineparams : typing.Sequence[~AddMachineParams]
12304 Returns -> typing.Sequence[~AddMachinesResult]
12306 # map input types to rpc msg
12308 msg
= dict(Type
='MachineManager', Request
='AddMachines', Version
=2, Params
=params
)
12309 params
['MachineParams'] = machineparams
12310 reply
= await self
.rpc(msg
)
12314 class MachinerFacade(Type
):
12317 schema
= {'definitions': {'APIHostPortsResult': {'additionalProperties': False,
12318 'properties': {'Servers': {'items': {'items': {'$ref': '#/definitions/HostPort'},
12321 'required': ['Servers'],
12323 'Address': {'additionalProperties': False,
12324 'properties': {'Scope': {'type': 'string'},
12325 'SpaceName': {'type': 'string'},
12326 'Type': {'type': 'string'},
12327 'Value': {'type': 'string'}},
12328 'required': ['Value', 'Type', 'Scope'],
12330 'BytesResult': {'additionalProperties': False,
12331 'properties': {'Result': {'items': {'type': 'integer'},
12333 'required': ['Result'],
12335 'Entities': {'additionalProperties': False,
12336 'properties': {'Entities': {'items': {'$ref': '#/definitions/Entity'},
12338 'required': ['Entities'],
12340 'Entity': {'additionalProperties': False,
12341 'properties': {'Tag': {'type': 'string'}},
12342 'required': ['Tag'],
12344 'EntityStatusArgs': {'additionalProperties': False,
12345 'properties': {'Data': {'patternProperties': {'.*': {'additionalProperties': True,
12346 'type': 'object'}},
12348 'Info': {'type': 'string'},
12349 'Status': {'type': 'string'},
12350 'Tag': {'type': 'string'}},
12351 'required': ['Tag',
12356 'Error': {'additionalProperties': False,
12357 'properties': {'Code': {'type': 'string'},
12358 'Info': {'$ref': '#/definitions/ErrorInfo'},
12359 'Message': {'type': 'string'}},
12360 'required': ['Message', 'Code'],
12362 'ErrorInfo': {'additionalProperties': False,
12363 'properties': {'Macaroon': {'$ref': '#/definitions/Macaroon'},
12364 'MacaroonPath': {'type': 'string'}},
12366 'ErrorResult': {'additionalProperties': False,
12367 'properties': {'Error': {'$ref': '#/definitions/Error'}},
12368 'required': ['Error'],
12370 'ErrorResults': {'additionalProperties': False,
12371 'properties': {'Results': {'items': {'$ref': '#/definitions/ErrorResult'},
12373 'required': ['Results'],
12375 'HostPort': {'additionalProperties': False,
12376 'properties': {'Address': {'$ref': '#/definitions/Address'},
12377 'Port': {'type': 'integer'}},
12378 'required': ['Address', 'Port'],
12380 'JobsResult': {'additionalProperties': False,
12381 'properties': {'Error': {'$ref': '#/definitions/Error'},
12382 'Jobs': {'items': {'type': 'string'},
12384 'required': ['Jobs', 'Error'],
12386 'JobsResults': {'additionalProperties': False,
12387 'properties': {'Results': {'items': {'$ref': '#/definitions/JobsResult'},
12389 'required': ['Results'],
12391 'LifeResult': {'additionalProperties': False,
12392 'properties': {'Error': {'$ref': '#/definitions/Error'},
12393 'Life': {'type': 'string'}},
12394 'required': ['Life', 'Error'],
12396 'LifeResults': {'additionalProperties': False,
12397 'properties': {'Results': {'items': {'$ref': '#/definitions/LifeResult'},
12399 'required': ['Results'],
12401 'Macaroon': {'additionalProperties': False,
12402 'properties': {'caveats': {'items': {'$ref': '#/definitions/caveat'},
12404 'data': {'items': {'type': 'integer'},
12406 'id': {'$ref': '#/definitions/packet'},
12407 'location': {'$ref': '#/definitions/packet'},
12408 'sig': {'items': {'type': 'integer'},
12410 'required': ['data',
12416 'MachineAddresses': {'additionalProperties': False,
12417 'properties': {'Addresses': {'items': {'$ref': '#/definitions/Address'},
12419 'Tag': {'type': 'string'}},
12420 'required': ['Tag', 'Addresses'],
12422 'NetworkConfig': {'additionalProperties': False,
12423 'properties': {'Address': {'type': 'string'},
12424 'CIDR': {'type': 'string'},
12425 'ConfigType': {'type': 'string'},
12426 'DNSSearchDomains': {'items': {'type': 'string'},
12428 'DNSServers': {'items': {'type': 'string'},
12430 'DeviceIndex': {'type': 'integer'},
12431 'Disabled': {'type': 'boolean'},
12432 'GatewayAddress': {'type': 'string'},
12433 'InterfaceName': {'type': 'string'},
12434 'InterfaceType': {'type': 'string'},
12435 'MACAddress': {'type': 'string'},
12436 'MTU': {'type': 'integer'},
12437 'NoAutoStart': {'type': 'boolean'},
12438 'ParentInterfaceName': {'type': 'string'},
12439 'ProviderAddressId': {'type': 'string'},
12440 'ProviderId': {'type': 'string'},
12441 'ProviderSpaceId': {'type': 'string'},
12442 'ProviderSubnetId': {'type': 'string'},
12443 'ProviderVLANId': {'type': 'string'},
12444 'VLANTag': {'type': 'integer'}},
12445 'required': ['DeviceIndex',
12450 'ProviderSubnetId',
12452 'ProviderAddressId',
12456 'ParentInterfaceName',
12460 'NotifyWatchResult': {'additionalProperties': False,
12461 'properties': {'Error': {'$ref': '#/definitions/Error'},
12462 'NotifyWatcherId': {'type': 'string'}},
12463 'required': ['NotifyWatcherId', 'Error'],
12465 'NotifyWatchResults': {'additionalProperties': False,
12466 'properties': {'Results': {'items': {'$ref': '#/definitions/NotifyWatchResult'},
12468 'required': ['Results'],
12470 'SetMachineNetworkConfig': {'additionalProperties': False,
12471 'properties': {'Config': {'items': {'$ref': '#/definitions/NetworkConfig'},
12473 'Tag': {'type': 'string'}},
12474 'required': ['Tag', 'Config'],
12476 'SetMachinesAddresses': {'additionalProperties': False,
12477 'properties': {'MachineAddresses': {'items': {'$ref': '#/definitions/MachineAddresses'},
12479 'required': ['MachineAddresses'],
12481 'SetStatus': {'additionalProperties': False,
12482 'properties': {'Entities': {'items': {'$ref': '#/definitions/EntityStatusArgs'},
12484 'required': ['Entities'],
12486 'StringResult': {'additionalProperties': False,
12487 'properties': {'Error': {'$ref': '#/definitions/Error'},
12488 'Result': {'type': 'string'}},
12489 'required': ['Error', 'Result'],
12491 'StringsResult': {'additionalProperties': False,
12492 'properties': {'Error': {'$ref': '#/definitions/Error'},
12493 'Result': {'items': {'type': 'string'},
12495 'required': ['Error', 'Result'],
12497 'caveat': {'additionalProperties': False,
12498 'properties': {'caveatId': {'$ref': '#/definitions/packet'},
12499 'location': {'$ref': '#/definitions/packet'},
12500 'verificationId': {'$ref': '#/definitions/packet'}},
12501 'required': ['location',
12505 'packet': {'additionalProperties': False,
12506 'properties': {'headerLen': {'type': 'integer'},
12507 'start': {'type': 'integer'},
12508 'totalLen': {'type': 'integer'}},
12509 'required': ['start', 'totalLen', 'headerLen'],
12510 'type': 'object'}},
12511 'properties': {'APIAddresses': {'properties': {'Result': {'$ref': '#/definitions/StringsResult'}},
12513 'APIHostPorts': {'properties': {'Result': {'$ref': '#/definitions/APIHostPortsResult'}},
12515 'CACert': {'properties': {'Result': {'$ref': '#/definitions/BytesResult'}},
12517 'EnsureDead': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
12518 'Result': {'$ref': '#/definitions/ErrorResults'}},
12520 'Jobs': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
12521 'Result': {'$ref': '#/definitions/JobsResults'}},
12523 'Life': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
12524 'Result': {'$ref': '#/definitions/LifeResults'}},
12526 'ModelUUID': {'properties': {'Result': {'$ref': '#/definitions/StringResult'}},
12528 'SetMachineAddresses': {'properties': {'Params': {'$ref': '#/definitions/SetMachinesAddresses'},
12529 'Result': {'$ref': '#/definitions/ErrorResults'}},
12531 'SetObservedNetworkConfig': {'properties': {'Params': {'$ref': '#/definitions/SetMachineNetworkConfig'}},
12533 'SetProviderNetworkConfig': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
12534 'Result': {'$ref': '#/definitions/ErrorResults'}},
12536 'SetStatus': {'properties': {'Params': {'$ref': '#/definitions/SetStatus'},
12537 'Result': {'$ref': '#/definitions/ErrorResults'}},
12539 'UpdateStatus': {'properties': {'Params': {'$ref': '#/definitions/SetStatus'},
12540 'Result': {'$ref': '#/definitions/ErrorResults'}},
12542 'Watch': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
12543 'Result': {'$ref': '#/definitions/NotifyWatchResults'}},
12545 'WatchAPIHostPorts': {'properties': {'Result': {'$ref': '#/definitions/NotifyWatchResult'}},
12546 'type': 'object'}},
12550 @ReturnMapping(StringsResult
)
12551 async def APIAddresses(self
):
12554 Returns -> typing.Union[_ForwardRef('Error'), typing.Sequence[str]]
12556 # map input types to rpc msg
12558 msg
= dict(Type
='Machiner', Request
='APIAddresses', Version
=1, Params
=params
)
12560 reply
= await self
.rpc(msg
)
12565 @ReturnMapping(APIHostPortsResult
)
12566 async def APIHostPorts(self
):
12569 Returns -> typing.Sequence[~HostPort]
12571 # map input types to rpc msg
12573 msg
= dict(Type
='Machiner', Request
='APIHostPorts', Version
=1, Params
=params
)
12575 reply
= await self
.rpc(msg
)
12580 @ReturnMapping(BytesResult
)
12581 async def CACert(self
):
12584 Returns -> typing.Sequence[int]
12586 # map input types to rpc msg
12588 msg
= dict(Type
='Machiner', Request
='CACert', Version
=1, Params
=params
)
12590 reply
= await self
.rpc(msg
)
12595 @ReturnMapping(ErrorResults
)
12596 async def EnsureDead(self
, entities
):
12598 entities : typing.Sequence[~Entity]
12599 Returns -> typing.Sequence[~ErrorResult]
12601 # map input types to rpc msg
12603 msg
= dict(Type
='Machiner', Request
='EnsureDead', Version
=1, Params
=params
)
12604 params
['Entities'] = entities
12605 reply
= await self
.rpc(msg
)
12610 @ReturnMapping(JobsResults
)
12611 async def Jobs(self
, entities
):
12613 entities : typing.Sequence[~Entity]
12614 Returns -> typing.Sequence[~JobsResult]
12616 # map input types to rpc msg
12618 msg
= dict(Type
='Machiner', Request
='Jobs', Version
=1, Params
=params
)
12619 params
['Entities'] = entities
12620 reply
= await self
.rpc(msg
)
12625 @ReturnMapping(LifeResults
)
12626 async def Life(self
, entities
):
12628 entities : typing.Sequence[~Entity]
12629 Returns -> typing.Sequence[~LifeResult]
12631 # map input types to rpc msg
12633 msg
= dict(Type
='Machiner', Request
='Life', Version
=1, Params
=params
)
12634 params
['Entities'] = entities
12635 reply
= await self
.rpc(msg
)
12640 @ReturnMapping(StringResult
)
12641 async def ModelUUID(self
):
12644 Returns -> typing.Union[_ForwardRef('Error'), str]
12646 # map input types to rpc msg
12648 msg
= dict(Type
='Machiner', Request
='ModelUUID', Version
=1, Params
=params
)
12650 reply
= await self
.rpc(msg
)
12655 @ReturnMapping(ErrorResults
)
12656 async def SetMachineAddresses(self
, machineaddresses
):
12658 machineaddresses : typing.Sequence[~MachineAddresses]
12659 Returns -> typing.Sequence[~ErrorResult]
12661 # map input types to rpc msg
12663 msg
= dict(Type
='Machiner', Request
='SetMachineAddresses', Version
=1, Params
=params
)
12664 params
['MachineAddresses'] = machineaddresses
12665 reply
= await self
.rpc(msg
)
12670 @ReturnMapping(None)
12671 async def SetObservedNetworkConfig(self
, config
, tag
):
12673 config : typing.Sequence[~NetworkConfig]
12677 # map input types to rpc msg
12679 msg
= dict(Type
='Machiner', Request
='SetObservedNetworkConfig', Version
=1, Params
=params
)
12680 params
['Config'] = config
12681 params
['Tag'] = tag
12682 reply
= await self
.rpc(msg
)
12687 @ReturnMapping(ErrorResults
)
12688 async def SetProviderNetworkConfig(self
, entities
):
12690 entities : typing.Sequence[~Entity]
12691 Returns -> typing.Sequence[~ErrorResult]
12693 # map input types to rpc msg
12695 msg
= dict(Type
='Machiner', Request
='SetProviderNetworkConfig', Version
=1, Params
=params
)
12696 params
['Entities'] = entities
12697 reply
= await self
.rpc(msg
)
12702 @ReturnMapping(ErrorResults
)
12703 async def SetStatus(self
, entities
):
12705 entities : typing.Sequence[~EntityStatusArgs]
12706 Returns -> typing.Sequence[~ErrorResult]
12708 # map input types to rpc msg
12710 msg
= dict(Type
='Machiner', Request
='SetStatus', Version
=1, Params
=params
)
12711 params
['Entities'] = entities
12712 reply
= await self
.rpc(msg
)
12717 @ReturnMapping(ErrorResults
)
12718 async def UpdateStatus(self
, entities
):
12720 entities : typing.Sequence[~EntityStatusArgs]
12721 Returns -> typing.Sequence[~ErrorResult]
12723 # map input types to rpc msg
12725 msg
= dict(Type
='Machiner', Request
='UpdateStatus', Version
=1, Params
=params
)
12726 params
['Entities'] = entities
12727 reply
= await self
.rpc(msg
)
12732 @ReturnMapping(NotifyWatchResults
)
12733 async def Watch(self
, entities
):
12735 entities : typing.Sequence[~Entity]
12736 Returns -> typing.Sequence[~NotifyWatchResult]
12738 # map input types to rpc msg
12740 msg
= dict(Type
='Machiner', Request
='Watch', Version
=1, Params
=params
)
12741 params
['Entities'] = entities
12742 reply
= await self
.rpc(msg
)
12747 @ReturnMapping(NotifyWatchResult
)
12748 async def WatchAPIHostPorts(self
):
12751 Returns -> typing.Union[_ForwardRef('Error'), str]
12753 # map input types to rpc msg
12755 msg
= dict(Type
='Machiner', Request
='WatchAPIHostPorts', Version
=1, Params
=params
)
12757 reply
= await self
.rpc(msg
)
12761 class MeterStatusFacade(Type
):
12762 name
= 'MeterStatus'
12764 schema
= {'definitions': {'Entities': {'additionalProperties': False,
12765 'properties': {'Entities': {'items': {'$ref': '#/definitions/Entity'},
12767 'required': ['Entities'],
12769 'Entity': {'additionalProperties': False,
12770 'properties': {'Tag': {'type': 'string'}},
12771 'required': ['Tag'],
12773 'Error': {'additionalProperties': False,
12774 'properties': {'Code': {'type': 'string'},
12775 'Info': {'$ref': '#/definitions/ErrorInfo'},
12776 'Message': {'type': 'string'}},
12777 'required': ['Message', 'Code'],
12779 'ErrorInfo': {'additionalProperties': False,
12780 'properties': {'Macaroon': {'$ref': '#/definitions/Macaroon'},
12781 'MacaroonPath': {'type': 'string'}},
12783 'Macaroon': {'additionalProperties': False,
12784 'properties': {'caveats': {'items': {'$ref': '#/definitions/caveat'},
12786 'data': {'items': {'type': 'integer'},
12788 'id': {'$ref': '#/definitions/packet'},
12789 'location': {'$ref': '#/definitions/packet'},
12790 'sig': {'items': {'type': 'integer'},
12792 'required': ['data',
12798 'MeterStatusResult': {'additionalProperties': False,
12799 'properties': {'Code': {'type': 'string'},
12800 'Error': {'$ref': '#/definitions/Error'},
12801 'Info': {'type': 'string'}},
12802 'required': ['Code', 'Info', 'Error'],
12804 'MeterStatusResults': {'additionalProperties': False,
12805 'properties': {'Results': {'items': {'$ref': '#/definitions/MeterStatusResult'},
12807 'required': ['Results'],
12809 'NotifyWatchResult': {'additionalProperties': False,
12810 'properties': {'Error': {'$ref': '#/definitions/Error'},
12811 'NotifyWatcherId': {'type': 'string'}},
12812 'required': ['NotifyWatcherId', 'Error'],
12814 'NotifyWatchResults': {'additionalProperties': False,
12815 'properties': {'Results': {'items': {'$ref': '#/definitions/NotifyWatchResult'},
12817 'required': ['Results'],
12819 'caveat': {'additionalProperties': False,
12820 'properties': {'caveatId': {'$ref': '#/definitions/packet'},
12821 'location': {'$ref': '#/definitions/packet'},
12822 'verificationId': {'$ref': '#/definitions/packet'}},
12823 'required': ['location',
12827 'packet': {'additionalProperties': False,
12828 'properties': {'headerLen': {'type': 'integer'},
12829 'start': {'type': 'integer'},
12830 'totalLen': {'type': 'integer'}},
12831 'required': ['start', 'totalLen', 'headerLen'],
12832 'type': 'object'}},
12833 'properties': {'GetMeterStatus': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
12834 'Result': {'$ref': '#/definitions/MeterStatusResults'}},
12836 'WatchMeterStatus': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
12837 'Result': {'$ref': '#/definitions/NotifyWatchResults'}},
12838 'type': 'object'}},
12842 @ReturnMapping(MeterStatusResults
)
12843 async def GetMeterStatus(self
, entities
):
12845 entities : typing.Sequence[~Entity]
12846 Returns -> typing.Sequence[~MeterStatusResult]
12848 # map input types to rpc msg
12850 msg
= dict(Type
='MeterStatus', Request
='GetMeterStatus', Version
=1, Params
=params
)
12851 params
['Entities'] = entities
12852 reply
= await self
.rpc(msg
)
12857 @ReturnMapping(NotifyWatchResults
)
12858 async def WatchMeterStatus(self
, entities
):
12860 entities : typing.Sequence[~Entity]
12861 Returns -> typing.Sequence[~NotifyWatchResult]
12863 # map input types to rpc msg
12865 msg
= dict(Type
='MeterStatus', Request
='WatchMeterStatus', Version
=1, Params
=params
)
12866 params
['Entities'] = entities
12867 reply
= await self
.rpc(msg
)
12871 class MetricsAdderFacade(Type
):
12872 name
= 'MetricsAdder'
12874 schema
= {'definitions': {'Error': {'additionalProperties': False,
12875 'properties': {'Code': {'type': 'string'},
12876 'Info': {'$ref': '#/definitions/ErrorInfo'},
12877 'Message': {'type': 'string'}},
12878 'required': ['Message', 'Code'],
12880 'ErrorInfo': {'additionalProperties': False,
12881 'properties': {'Macaroon': {'$ref': '#/definitions/Macaroon'},
12882 'MacaroonPath': {'type': 'string'}},
12884 'ErrorResult': {'additionalProperties': False,
12885 'properties': {'Error': {'$ref': '#/definitions/Error'}},
12886 'required': ['Error'],
12888 'ErrorResults': {'additionalProperties': False,
12889 'properties': {'Results': {'items': {'$ref': '#/definitions/ErrorResult'},
12891 'required': ['Results'],
12893 'Macaroon': {'additionalProperties': False,
12894 'properties': {'caveats': {'items': {'$ref': '#/definitions/caveat'},
12896 'data': {'items': {'type': 'integer'},
12898 'id': {'$ref': '#/definitions/packet'},
12899 'location': {'$ref': '#/definitions/packet'},
12900 'sig': {'items': {'type': 'integer'},
12902 'required': ['data',
12908 'Metric': {'additionalProperties': False,
12909 'properties': {'Key': {'type': 'string'},
12910 'Time': {'format': 'date-time',
12912 'Value': {'type': 'string'}},
12913 'required': ['Key', 'Value', 'Time'],
12915 'MetricBatch': {'additionalProperties': False,
12916 'properties': {'CharmURL': {'type': 'string'},
12917 'Created': {'format': 'date-time',
12919 'Metrics': {'items': {'$ref': '#/definitions/Metric'},
12921 'UUID': {'type': 'string'}},
12922 'required': ['UUID',
12927 'MetricBatchParam': {'additionalProperties': False,
12928 'properties': {'Batch': {'$ref': '#/definitions/MetricBatch'},
12929 'Tag': {'type': 'string'}},
12930 'required': ['Tag', 'Batch'],
12932 'MetricBatchParams': {'additionalProperties': False,
12933 'properties': {'Batches': {'items': {'$ref': '#/definitions/MetricBatchParam'},
12935 'required': ['Batches'],
12937 'caveat': {'additionalProperties': False,
12938 'properties': {'caveatId': {'$ref': '#/definitions/packet'},
12939 'location': {'$ref': '#/definitions/packet'},
12940 'verificationId': {'$ref': '#/definitions/packet'}},
12941 'required': ['location',
12945 'packet': {'additionalProperties': False,
12946 'properties': {'headerLen': {'type': 'integer'},
12947 'start': {'type': 'integer'},
12948 'totalLen': {'type': 'integer'}},
12949 'required': ['start', 'totalLen', 'headerLen'],
12950 'type': 'object'}},
12951 'properties': {'AddMetricBatches': {'properties': {'Params': {'$ref': '#/definitions/MetricBatchParams'},
12952 'Result': {'$ref': '#/definitions/ErrorResults'}},
12953 'type': 'object'}},
12957 @ReturnMapping(ErrorResults
)
12958 async def AddMetricBatches(self
, batches
):
12960 batches : typing.Sequence[~MetricBatchParam]
12961 Returns -> typing.Sequence[~ErrorResult]
12963 # map input types to rpc msg
12965 msg
= dict(Type
='MetricsAdder', Request
='AddMetricBatches', Version
=2, Params
=params
)
12966 params
['Batches'] = batches
12967 reply
= await self
.rpc(msg
)
12971 class MetricsDebugFacade(Type
):
12972 name
= 'MetricsDebug'
12974 schema
= {'definitions': {'Entities': {'additionalProperties': False,
12975 'properties': {'Entities': {'items': {'$ref': '#/definitions/Entity'},
12977 'required': ['Entities'],
12979 'Entity': {'additionalProperties': False,
12980 'properties': {'Tag': {'type': 'string'}},
12981 'required': ['Tag'],
12983 'EntityMetrics': {'additionalProperties': False,
12984 'properties': {'error': {'$ref': '#/definitions/Error'},
12985 'metrics': {'items': {'$ref': '#/definitions/MetricResult'},
12988 'Error': {'additionalProperties': False,
12989 'properties': {'Code': {'type': 'string'},
12990 'Info': {'$ref': '#/definitions/ErrorInfo'},
12991 'Message': {'type': 'string'}},
12992 'required': ['Message', 'Code'],
12994 'ErrorInfo': {'additionalProperties': False,
12995 'properties': {'Macaroon': {'$ref': '#/definitions/Macaroon'},
12996 'MacaroonPath': {'type': 'string'}},
12998 'ErrorResult': {'additionalProperties': False,
12999 'properties': {'Error': {'$ref': '#/definitions/Error'}},
13000 'required': ['Error'],
13002 'ErrorResults': {'additionalProperties': False,
13003 'properties': {'Results': {'items': {'$ref': '#/definitions/ErrorResult'},
13005 'required': ['Results'],
13007 'Macaroon': {'additionalProperties': False,
13008 'properties': {'caveats': {'items': {'$ref': '#/definitions/caveat'},
13010 'data': {'items': {'type': 'integer'},
13012 'id': {'$ref': '#/definitions/packet'},
13013 'location': {'$ref': '#/definitions/packet'},
13014 'sig': {'items': {'type': 'integer'},
13016 'required': ['data',
13022 'MeterStatusParam': {'additionalProperties': False,
13023 'properties': {'code': {'type': 'string'},
13024 'info': {'type': 'string'},
13025 'tag': {'type': 'string'}},
13026 'required': ['tag', 'code', 'info'],
13028 'MeterStatusParams': {'additionalProperties': False,
13029 'properties': {'statues': {'items': {'$ref': '#/definitions/MeterStatusParam'},
13031 'required': ['statues'],
13033 'MetricResult': {'additionalProperties': False,
13034 'properties': {'key': {'type': 'string'},
13035 'time': {'format': 'date-time',
13037 'value': {'type': 'string'}},
13038 'required': ['time', 'key', 'value'],
13040 'MetricResults': {'additionalProperties': False,
13041 'properties': {'results': {'items': {'$ref': '#/definitions/EntityMetrics'},
13043 'required': ['results'],
13045 'caveat': {'additionalProperties': False,
13046 'properties': {'caveatId': {'$ref': '#/definitions/packet'},
13047 'location': {'$ref': '#/definitions/packet'},
13048 'verificationId': {'$ref': '#/definitions/packet'}},
13049 'required': ['location',
13053 'packet': {'additionalProperties': False,
13054 'properties': {'headerLen': {'type': 'integer'},
13055 'start': {'type': 'integer'},
13056 'totalLen': {'type': 'integer'}},
13057 'required': ['start', 'totalLen', 'headerLen'],
13058 'type': 'object'}},
13059 'properties': {'GetMetrics': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
13060 'Result': {'$ref': '#/definitions/MetricResults'}},
13062 'SetMeterStatus': {'properties': {'Params': {'$ref': '#/definitions/MeterStatusParams'},
13063 'Result': {'$ref': '#/definitions/ErrorResults'}},
13064 'type': 'object'}},
13068 @ReturnMapping(MetricResults
)
13069 async def GetMetrics(self
, entities
):
13071 entities : typing.Sequence[~Entity]
13072 Returns -> typing.Sequence[~EntityMetrics]
13074 # map input types to rpc msg
13076 msg
= dict(Type
='MetricsDebug', Request
='GetMetrics', Version
=2, Params
=params
)
13077 params
['Entities'] = entities
13078 reply
= await self
.rpc(msg
)
13083 @ReturnMapping(ErrorResults
)
13084 async def SetMeterStatus(self
, statues
):
13086 statues : typing.Sequence[~MeterStatusParam]
13087 Returns -> typing.Sequence[~ErrorResult]
13089 # map input types to rpc msg
13091 msg
= dict(Type
='MetricsDebug', Request
='SetMeterStatus', Version
=2, Params
=params
)
13092 params
['statues'] = statues
13093 reply
= await self
.rpc(msg
)
13097 class MetricsManagerFacade(Type
):
13098 name
= 'MetricsManager'
13100 schema
= {'definitions': {'Entities': {'additionalProperties': False,
13101 'properties': {'Entities': {'items': {'$ref': '#/definitions/Entity'},
13103 'required': ['Entities'],
13105 'Entity': {'additionalProperties': False,
13106 'properties': {'Tag': {'type': 'string'}},
13107 'required': ['Tag'],
13109 'Error': {'additionalProperties': False,
13110 'properties': {'Code': {'type': 'string'},
13111 'Info': {'$ref': '#/definitions/ErrorInfo'},
13112 'Message': {'type': 'string'}},
13113 'required': ['Message', 'Code'],
13115 'ErrorInfo': {'additionalProperties': False,
13116 'properties': {'Macaroon': {'$ref': '#/definitions/Macaroon'},
13117 'MacaroonPath': {'type': 'string'}},
13119 'ErrorResult': {'additionalProperties': False,
13120 'properties': {'Error': {'$ref': '#/definitions/Error'}},
13121 'required': ['Error'],
13123 'ErrorResults': {'additionalProperties': False,
13124 'properties': {'Results': {'items': {'$ref': '#/definitions/ErrorResult'},
13126 'required': ['Results'],
13128 'Macaroon': {'additionalProperties': False,
13129 'properties': {'caveats': {'items': {'$ref': '#/definitions/caveat'},
13131 'data': {'items': {'type': 'integer'},
13133 'id': {'$ref': '#/definitions/packet'},
13134 'location': {'$ref': '#/definitions/packet'},
13135 'sig': {'items': {'type': 'integer'},
13137 'required': ['data',
13143 'caveat': {'additionalProperties': False,
13144 'properties': {'caveatId': {'$ref': '#/definitions/packet'},
13145 'location': {'$ref': '#/definitions/packet'},
13146 'verificationId': {'$ref': '#/definitions/packet'}},
13147 'required': ['location',
13151 'packet': {'additionalProperties': False,
13152 'properties': {'headerLen': {'type': 'integer'},
13153 'start': {'type': 'integer'},
13154 'totalLen': {'type': 'integer'}},
13155 'required': ['start', 'totalLen', 'headerLen'],
13156 'type': 'object'}},
13157 'properties': {'CleanupOldMetrics': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
13158 'Result': {'$ref': '#/definitions/ErrorResults'}},
13160 'SendMetrics': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
13161 'Result': {'$ref': '#/definitions/ErrorResults'}},
13162 'type': 'object'}},
13166 @ReturnMapping(ErrorResults
)
13167 async def CleanupOldMetrics(self
, entities
):
13169 entities : typing.Sequence[~Entity]
13170 Returns -> typing.Sequence[~ErrorResult]
13172 # map input types to rpc msg
13174 msg
= dict(Type
='MetricsManager', Request
='CleanupOldMetrics', Version
=1, Params
=params
)
13175 params
['Entities'] = entities
13176 reply
= await self
.rpc(msg
)
13181 @ReturnMapping(ErrorResults
)
13182 async def SendMetrics(self
, entities
):
13184 entities : typing.Sequence[~Entity]
13185 Returns -> typing.Sequence[~ErrorResult]
13187 # map input types to rpc msg
13189 msg
= dict(Type
='MetricsManager', Request
='SendMetrics', Version
=1, Params
=params
)
13190 params
['Entities'] = entities
13191 reply
= await self
.rpc(msg
)
13195 class MigrationFlagFacade(Type
):
13196 name
= 'MigrationFlag'
13198 schema
= {'definitions': {'Entities': {'additionalProperties': False,
13199 'properties': {'Entities': {'items': {'$ref': '#/definitions/Entity'},
13201 'required': ['Entities'],
13203 'Entity': {'additionalProperties': False,
13204 'properties': {'Tag': {'type': 'string'}},
13205 'required': ['Tag'],
13207 'Error': {'additionalProperties': False,
13208 'properties': {'Code': {'type': 'string'},
13209 'Info': {'$ref': '#/definitions/ErrorInfo'},
13210 'Message': {'type': 'string'}},
13211 'required': ['Message', 'Code'],
13213 'ErrorInfo': {'additionalProperties': False,
13214 'properties': {'Macaroon': {'$ref': '#/definitions/Macaroon'},
13215 'MacaroonPath': {'type': 'string'}},
13217 'Macaroon': {'additionalProperties': False,
13218 'properties': {'caveats': {'items': {'$ref': '#/definitions/caveat'},
13220 'data': {'items': {'type': 'integer'},
13222 'id': {'$ref': '#/definitions/packet'},
13223 'location': {'$ref': '#/definitions/packet'},
13224 'sig': {'items': {'type': 'integer'},
13226 'required': ['data',
13232 'NotifyWatchResult': {'additionalProperties': False,
13233 'properties': {'Error': {'$ref': '#/definitions/Error'},
13234 'NotifyWatcherId': {'type': 'string'}},
13235 'required': ['NotifyWatcherId', 'Error'],
13237 'NotifyWatchResults': {'additionalProperties': False,
13238 'properties': {'Results': {'items': {'$ref': '#/definitions/NotifyWatchResult'},
13240 'required': ['Results'],
13242 'PhaseResult': {'additionalProperties': False,
13243 'properties': {'Error': {'$ref': '#/definitions/Error'},
13244 'phase': {'type': 'string'}},
13245 'required': ['phase', 'Error'],
13247 'PhaseResults': {'additionalProperties': False,
13248 'properties': {'Results': {'items': {'$ref': '#/definitions/PhaseResult'},
13250 'required': ['Results'],
13252 'caveat': {'additionalProperties': False,
13253 'properties': {'caveatId': {'$ref': '#/definitions/packet'},
13254 'location': {'$ref': '#/definitions/packet'},
13255 'verificationId': {'$ref': '#/definitions/packet'}},
13256 'required': ['location',
13260 'packet': {'additionalProperties': False,
13261 'properties': {'headerLen': {'type': 'integer'},
13262 'start': {'type': 'integer'},
13263 'totalLen': {'type': 'integer'}},
13264 'required': ['start', 'totalLen', 'headerLen'],
13265 'type': 'object'}},
13266 'properties': {'Phase': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
13267 'Result': {'$ref': '#/definitions/PhaseResults'}},
13269 'Watch': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
13270 'Result': {'$ref': '#/definitions/NotifyWatchResults'}},
13271 'type': 'object'}},
13275 @ReturnMapping(PhaseResults
)
13276 async def Phase(self
, entities
):
13278 entities : typing.Sequence[~Entity]
13279 Returns -> typing.Sequence[~PhaseResult]
13281 # map input types to rpc msg
13283 msg
= dict(Type
='MigrationFlag', Request
='Phase', Version
=1, Params
=params
)
13284 params
['Entities'] = entities
13285 reply
= await self
.rpc(msg
)
13290 @ReturnMapping(NotifyWatchResults
)
13291 async def Watch(self
, entities
):
13293 entities : typing.Sequence[~Entity]
13294 Returns -> typing.Sequence[~NotifyWatchResult]
13296 # map input types to rpc msg
13298 msg
= dict(Type
='MigrationFlag', Request
='Watch', Version
=1, Params
=params
)
13299 params
['Entities'] = entities
13300 reply
= await self
.rpc(msg
)
13304 class MigrationMasterFacade(Type
):
13305 name
= 'MigrationMaster'
13307 schema
= {'definitions': {'Error': {'additionalProperties': False,
13308 'properties': {'Code': {'type': 'string'},
13309 'Info': {'$ref': '#/definitions/ErrorInfo'},
13310 'Message': {'type': 'string'}},
13311 'required': ['Message', 'Code'],
13313 'ErrorInfo': {'additionalProperties': False,
13314 'properties': {'Macaroon': {'$ref': '#/definitions/Macaroon'},
13315 'MacaroonPath': {'type': 'string'}},
13317 'FullMigrationStatus': {'additionalProperties': False,
13318 'properties': {'attempt': {'type': 'integer'},
13319 'phase': {'type': 'string'},
13320 'spec': {'$ref': '#/definitions/ModelMigrationSpec'}},
13321 'required': ['spec',
13325 'Macaroon': {'additionalProperties': False,
13326 'properties': {'caveats': {'items': {'$ref': '#/definitions/caveat'},
13328 'data': {'items': {'type': 'integer'},
13330 'id': {'$ref': '#/definitions/packet'},
13331 'location': {'$ref': '#/definitions/packet'},
13332 'sig': {'items': {'type': 'integer'},
13334 'required': ['data',
13340 'ModelMigrationSpec': {'additionalProperties': False,
13341 'properties': {'model-tag': {'type': 'string'},
13342 'target-info': {'$ref': '#/definitions/ModelMigrationTargetInfo'}},
13343 'required': ['model-tag',
13346 'ModelMigrationTargetInfo': {'additionalProperties': False,
13347 'properties': {'addrs': {'items': {'type': 'string'},
13349 'auth-tag': {'type': 'string'},
13350 'ca-cert': {'type': 'string'},
13351 'controller-tag': {'type': 'string'},
13352 'password': {'type': 'string'}},
13353 'required': ['controller-tag',
13359 'NotifyWatchResult': {'additionalProperties': False,
13360 'properties': {'Error': {'$ref': '#/definitions/Error'},
13361 'NotifyWatcherId': {'type': 'string'}},
13362 'required': ['NotifyWatcherId', 'Error'],
13364 'SerializedModel': {'additionalProperties': False,
13365 'properties': {'bytes': {'items': {'type': 'integer'},
13367 'required': ['bytes'],
13369 'SetMigrationPhaseArgs': {'additionalProperties': False,
13370 'properties': {'phase': {'type': 'string'}},
13371 'required': ['phase'],
13373 'caveat': {'additionalProperties': False,
13374 'properties': {'caveatId': {'$ref': '#/definitions/packet'},
13375 'location': {'$ref': '#/definitions/packet'},
13376 'verificationId': {'$ref': '#/definitions/packet'}},
13377 'required': ['location',
13381 'packet': {'additionalProperties': False,
13382 'properties': {'headerLen': {'type': 'integer'},
13383 'start': {'type': 'integer'},
13384 'totalLen': {'type': 'integer'}},
13385 'required': ['start', 'totalLen', 'headerLen'],
13386 'type': 'object'}},
13387 'properties': {'Export': {'properties': {'Result': {'$ref': '#/definitions/SerializedModel'}},
13389 'GetMigrationStatus': {'properties': {'Result': {'$ref': '#/definitions/FullMigrationStatus'}},
13391 'SetPhase': {'properties': {'Params': {'$ref': '#/definitions/SetMigrationPhaseArgs'}},
13393 'Watch': {'properties': {'Result': {'$ref': '#/definitions/NotifyWatchResult'}},
13394 'type': 'object'}},
13398 @ReturnMapping(SerializedModel
)
13399 async def Export(self
):
13402 Returns -> typing.Sequence[int]
13404 # map input types to rpc msg
13406 msg
= dict(Type
='MigrationMaster', Request
='Export', Version
=1, Params
=params
)
13408 reply
= await self
.rpc(msg
)
13413 @ReturnMapping(FullMigrationStatus
)
13414 async def GetMigrationStatus(self
):
13417 Returns -> typing.Union[int, str, _ForwardRef('ModelMigrationSpec')]
13419 # map input types to rpc msg
13421 msg
= dict(Type
='MigrationMaster', Request
='GetMigrationStatus', Version
=1, Params
=params
)
13423 reply
= await self
.rpc(msg
)
13428 @ReturnMapping(None)
13429 async def SetPhase(self
, phase
):
13434 # map input types to rpc msg
13436 msg
= dict(Type
='MigrationMaster', Request
='SetPhase', Version
=1, Params
=params
)
13437 params
['phase'] = phase
13438 reply
= await self
.rpc(msg
)
13443 @ReturnMapping(NotifyWatchResult
)
13444 async def Watch(self
):
13447 Returns -> typing.Union[_ForwardRef('Error'), str]
13449 # map input types to rpc msg
13451 msg
= dict(Type
='MigrationMaster', Request
='Watch', Version
=1, Params
=params
)
13453 reply
= await self
.rpc(msg
)
13457 class MigrationMinionFacade(Type
):
13458 name
= 'MigrationMinion'
13460 schema
= {'definitions': {'Error': {'additionalProperties': False,
13461 'properties': {'Code': {'type': 'string'},
13462 'Info': {'$ref': '#/definitions/ErrorInfo'},
13463 'Message': {'type': 'string'}},
13464 'required': ['Message', 'Code'],
13466 'ErrorInfo': {'additionalProperties': False,
13467 'properties': {'Macaroon': {'$ref': '#/definitions/Macaroon'},
13468 'MacaroonPath': {'type': 'string'}},
13470 'Macaroon': {'additionalProperties': False,
13471 'properties': {'caveats': {'items': {'$ref': '#/definitions/caveat'},
13473 'data': {'items': {'type': 'integer'},
13475 'id': {'$ref': '#/definitions/packet'},
13476 'location': {'$ref': '#/definitions/packet'},
13477 'sig': {'items': {'type': 'integer'},
13479 'required': ['data',
13485 'NotifyWatchResult': {'additionalProperties': False,
13486 'properties': {'Error': {'$ref': '#/definitions/Error'},
13487 'NotifyWatcherId': {'type': 'string'}},
13488 'required': ['NotifyWatcherId', 'Error'],
13490 'caveat': {'additionalProperties': False,
13491 'properties': {'caveatId': {'$ref': '#/definitions/packet'},
13492 'location': {'$ref': '#/definitions/packet'},
13493 'verificationId': {'$ref': '#/definitions/packet'}},
13494 'required': ['location',
13498 'packet': {'additionalProperties': False,
13499 'properties': {'headerLen': {'type': 'integer'},
13500 'start': {'type': 'integer'},
13501 'totalLen': {'type': 'integer'}},
13502 'required': ['start', 'totalLen', 'headerLen'],
13503 'type': 'object'}},
13504 'properties': {'Watch': {'properties': {'Result': {'$ref': '#/definitions/NotifyWatchResult'}},
13505 'type': 'object'}},
13509 @ReturnMapping(NotifyWatchResult
)
13510 async def Watch(self
):
13513 Returns -> typing.Union[_ForwardRef('Error'), str]
13515 # map input types to rpc msg
13517 msg
= dict(Type
='MigrationMinion', Request
='Watch', Version
=1, Params
=params
)
13519 reply
= await self
.rpc(msg
)
13523 class MigrationStatusWatcherFacade(Type
):
13524 name
= 'MigrationStatusWatcher'
13526 schema
= {'definitions': {'MigrationStatus': {'additionalProperties': False,
13527 'properties': {'attempt': {'type': 'integer'},
13528 'phase': {'type': 'string'},
13529 'source-api-addrs': {'items': {'type': 'string'},
13531 'source-ca-cert': {'type': 'string'},
13532 'target-api-addrs': {'items': {'type': 'string'},
13534 'target-ca-cert': {'type': 'string'}},
13535 'required': ['attempt',
13537 'source-api-addrs',
13539 'target-api-addrs',
13541 'type': 'object'}},
13542 'properties': {'Next': {'properties': {'Result': {'$ref': '#/definitions/MigrationStatus'}},
13544 'Stop': {'type': 'object'}},
13548 @ReturnMapping(MigrationStatus
)
13549 async def Next(self
):
13552 Returns -> typing.Union[int, typing.Sequence[str]]
13554 # map input types to rpc msg
13556 msg
= dict(Type
='MigrationStatusWatcher', Request
='Next', Version
=1, Params
=params
)
13558 reply
= await self
.rpc(msg
)
13563 @ReturnMapping(None)
13564 async def Stop(self
):
13569 # map input types to rpc msg
13571 msg
= dict(Type
='MigrationStatusWatcher', Request
='Stop', Version
=1, Params
=params
)
13573 reply
= await self
.rpc(msg
)
13577 class MigrationTargetFacade(Type
):
13578 name
= 'MigrationTarget'
13580 schema
= {'definitions': {'ModelArgs': {'additionalProperties': False,
13581 'properties': {'model-tag': {'type': 'string'}},
13582 'required': ['model-tag'],
13584 'SerializedModel': {'additionalProperties': False,
13585 'properties': {'bytes': {'items': {'type': 'integer'},
13587 'required': ['bytes'],
13588 'type': 'object'}},
13589 'properties': {'Abort': {'properties': {'Params': {'$ref': '#/definitions/ModelArgs'}},
13591 'Activate': {'properties': {'Params': {'$ref': '#/definitions/ModelArgs'}},
13593 'Import': {'properties': {'Params': {'$ref': '#/definitions/SerializedModel'}},
13594 'type': 'object'}},
13598 @ReturnMapping(None)
13599 async def Abort(self
, model_tag
):
13604 # map input types to rpc msg
13606 msg
= dict(Type
='MigrationTarget', Request
='Abort', Version
=1, Params
=params
)
13607 params
['model-tag'] = model_tag
13608 reply
= await self
.rpc(msg
)
13613 @ReturnMapping(None)
13614 async def Activate(self
, model_tag
):
13619 # map input types to rpc msg
13621 msg
= dict(Type
='MigrationTarget', Request
='Activate', Version
=1, Params
=params
)
13622 params
['model-tag'] = model_tag
13623 reply
= await self
.rpc(msg
)
13628 @ReturnMapping(None)
13629 async def Import(self
, bytes_
):
13631 bytes_ : typing.Sequence[int]
13634 # map input types to rpc msg
13636 msg
= dict(Type
='MigrationTarget', Request
='Import', Version
=1, Params
=params
)
13637 params
['bytes'] = bytes_
13638 reply
= await self
.rpc(msg
)
13642 class ModelManagerFacade(Type
):
13643 name
= 'ModelManager'
13645 schema
= {'definitions': {'Entities': {'additionalProperties': False,
13646 'properties': {'Entities': {'items': {'$ref': '#/definitions/Entity'},
13648 'required': ['Entities'],
13650 'Entity': {'additionalProperties': False,
13651 'properties': {'Tag': {'type': 'string'}},
13652 'required': ['Tag'],
13654 'EntityStatus': {'additionalProperties': False,
13655 'properties': {'Data': {'patternProperties': {'.*': {'additionalProperties': True,
13656 'type': 'object'}},
13658 'Info': {'type': 'string'},
13659 'Since': {'format': 'date-time',
13661 'Status': {'type': 'string'}},
13662 'required': ['Status',
13667 'Error': {'additionalProperties': False,
13668 'properties': {'Code': {'type': 'string'},
13669 'Info': {'$ref': '#/definitions/ErrorInfo'},
13670 'Message': {'type': 'string'}},
13671 'required': ['Message', 'Code'],
13673 'ErrorInfo': {'additionalProperties': False,
13674 'properties': {'Macaroon': {'$ref': '#/definitions/Macaroon'},
13675 'MacaroonPath': {'type': 'string'}},
13677 'ErrorResult': {'additionalProperties': False,
13678 'properties': {'Error': {'$ref': '#/definitions/Error'}},
13679 'required': ['Error'],
13681 'ErrorResults': {'additionalProperties': False,
13682 'properties': {'Results': {'items': {'$ref': '#/definitions/ErrorResult'},
13684 'required': ['Results'],
13686 'Macaroon': {'additionalProperties': False,
13687 'properties': {'caveats': {'items': {'$ref': '#/definitions/caveat'},
13689 'data': {'items': {'type': 'integer'},
13691 'id': {'$ref': '#/definitions/packet'},
13692 'location': {'$ref': '#/definitions/packet'},
13693 'sig': {'items': {'type': 'integer'},
13695 'required': ['data',
13701 'Model': {'additionalProperties': False,
13702 'properties': {'Name': {'type': 'string'},
13703 'OwnerTag': {'type': 'string'},
13704 'UUID': {'type': 'string'}},
13705 'required': ['Name', 'UUID', 'OwnerTag'],
13707 'ModelConfigResult': {'additionalProperties': False,
13708 'properties': {'Config': {'patternProperties': {'.*': {'additionalProperties': True,
13709 'type': 'object'}},
13710 'type': 'object'}},
13711 'required': ['Config'],
13713 'ModelCreateArgs': {'additionalProperties': False,
13714 'properties': {'Account': {'patternProperties': {'.*': {'additionalProperties': True,
13715 'type': 'object'}},
13717 'Config': {'patternProperties': {'.*': {'additionalProperties': True,
13718 'type': 'object'}},
13720 'OwnerTag': {'type': 'string'}},
13721 'required': ['OwnerTag',
13725 'ModelInfo': {'additionalProperties': False,
13726 'properties': {'Cloud': {'type': 'string'},
13727 'DefaultSeries': {'type': 'string'},
13728 'Life': {'type': 'string'},
13729 'Name': {'type': 'string'},
13730 'OwnerTag': {'type': 'string'},
13731 'ProviderType': {'type': 'string'},
13732 'ServerUUID': {'type': 'string'},
13733 'Status': {'$ref': '#/definitions/EntityStatus'},
13734 'UUID': {'type': 'string'},
13735 'Users': {'items': {'$ref': '#/definitions/ModelUserInfo'},
13737 'required': ['Name',
13748 'ModelInfoResult': {'additionalProperties': False,
13749 'properties': {'error': {'$ref': '#/definitions/Error'},
13750 'result': {'$ref': '#/definitions/ModelInfo'}},
13752 'ModelInfoResults': {'additionalProperties': False,
13753 'properties': {'results': {'items': {'$ref': '#/definitions/ModelInfoResult'},
13755 'required': ['results'],
13757 'ModelSkeletonConfigArgs': {'additionalProperties': False,
13758 'properties': {'Provider': {'type': 'string'},
13759 'Region': {'type': 'string'}},
13760 'required': ['Provider', 'Region'],
13762 'ModelUserInfo': {'additionalProperties': False,
13763 'properties': {'access': {'type': 'string'},
13764 'displayname': {'type': 'string'},
13765 'lastconnection': {'format': 'date-time',
13767 'user': {'type': 'string'}},
13768 'required': ['user',
13773 'ModifyModelAccess': {'additionalProperties': False,
13774 'properties': {'access': {'type': 'string'},
13775 'action': {'type': 'string'},
13776 'model-tag': {'type': 'string'},
13777 'user-tag': {'type': 'string'}},
13778 'required': ['user-tag',
13783 'ModifyModelAccessRequest': {'additionalProperties': False,
13784 'properties': {'changes': {'items': {'$ref': '#/definitions/ModifyModelAccess'},
13786 'required': ['changes'],
13788 'UserModel': {'additionalProperties': False,
13789 'properties': {'LastConnection': {'format': 'date-time',
13791 'Model': {'$ref': '#/definitions/Model'}},
13792 'required': ['Model', 'LastConnection'],
13794 'UserModelList': {'additionalProperties': False,
13795 'properties': {'UserModels': {'items': {'$ref': '#/definitions/UserModel'},
13797 'required': ['UserModels'],
13799 'caveat': {'additionalProperties': False,
13800 'properties': {'caveatId': {'$ref': '#/definitions/packet'},
13801 'location': {'$ref': '#/definitions/packet'},
13802 'verificationId': {'$ref': '#/definitions/packet'}},
13803 'required': ['location',
13807 'packet': {'additionalProperties': False,
13808 'properties': {'headerLen': {'type': 'integer'},
13809 'start': {'type': 'integer'},
13810 'totalLen': {'type': 'integer'}},
13811 'required': ['start', 'totalLen', 'headerLen'],
13812 'type': 'object'}},
13813 'properties': {'ConfigSkeleton': {'properties': {'Params': {'$ref': '#/definitions/ModelSkeletonConfigArgs'},
13814 'Result': {'$ref': '#/definitions/ModelConfigResult'}},
13816 'CreateModel': {'properties': {'Params': {'$ref': '#/definitions/ModelCreateArgs'},
13817 'Result': {'$ref': '#/definitions/Model'}},
13819 'ListModels': {'properties': {'Params': {'$ref': '#/definitions/Entity'},
13820 'Result': {'$ref': '#/definitions/UserModelList'}},
13822 'ModelInfo': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
13823 'Result': {'$ref': '#/definitions/ModelInfoResults'}},
13825 'ModifyModelAccess': {'properties': {'Params': {'$ref': '#/definitions/ModifyModelAccessRequest'},
13826 'Result': {'$ref': '#/definitions/ErrorResults'}},
13827 'type': 'object'}},
13831 @ReturnMapping(ModelConfigResult
)
13832 async def ConfigSkeleton(self
, provider
, region
):
13836 Returns -> typing.Mapping[str, typing.Any]
13838 # map input types to rpc msg
13840 msg
= dict(Type
='ModelManager', Request
='ConfigSkeleton', Version
=2, Params
=params
)
13841 params
['Provider'] = provider
13842 params
['Region'] = region
13843 reply
= await self
.rpc(msg
)
13848 @ReturnMapping(Model
)
13849 async def CreateModel(self
, account
, config
, ownertag
):
13851 account : typing.Mapping[str, typing.Any]
13852 config : typing.Mapping[str, typing.Any]
13854 Returns -> <class 'str'>
13856 # map input types to rpc msg
13858 msg
= dict(Type
='ModelManager', Request
='CreateModel', Version
=2, Params
=params
)
13859 params
['Account'] = account
13860 params
['Config'] = config
13861 params
['OwnerTag'] = ownertag
13862 reply
= await self
.rpc(msg
)
13867 @ReturnMapping(UserModelList
)
13868 async def ListModels(self
, tag
):
13871 Returns -> typing.Sequence[~UserModel]
13873 # map input types to rpc msg
13875 msg
= dict(Type
='ModelManager', Request
='ListModels', Version
=2, Params
=params
)
13876 params
['Tag'] = tag
13877 reply
= await self
.rpc(msg
)
13882 @ReturnMapping(ModelInfoResults
)
13883 async def ModelInfo(self
, entities
):
13885 entities : typing.Sequence[~Entity]
13886 Returns -> typing.Sequence[~ModelInfoResult]
13888 # map input types to rpc msg
13890 msg
= dict(Type
='ModelManager', Request
='ModelInfo', Version
=2, Params
=params
)
13891 params
['Entities'] = entities
13892 reply
= await self
.rpc(msg
)
13897 @ReturnMapping(ErrorResults
)
13898 async def ModifyModelAccess(self
, changes
):
13900 changes : typing.Sequence[~ModifyModelAccess]
13901 Returns -> typing.Sequence[~ErrorResult]
13903 # map input types to rpc msg
13905 msg
= dict(Type
='ModelManager', Request
='ModifyModelAccess', Version
=2, Params
=params
)
13906 params
['changes'] = changes
13907 reply
= await self
.rpc(msg
)
13911 class NotifyWatcherFacade(Type
):
13912 name
= 'NotifyWatcher'
13914 schema
= {'properties': {'Next': {'type': 'object'}, 'Stop': {'type': 'object'}},
13918 @ReturnMapping(None)
13919 async def Next(self
):
13924 # map input types to rpc msg
13926 msg
= dict(Type
='NotifyWatcher', Request
='Next', Version
=1, Params
=params
)
13928 reply
= await self
.rpc(msg
)
13933 @ReturnMapping(None)
13934 async def Stop(self
):
13939 # map input types to rpc msg
13941 msg
= dict(Type
='NotifyWatcher', Request
='Stop', Version
=1, Params
=params
)
13943 reply
= await self
.rpc(msg
)
13947 class PingerFacade(Type
):
13950 schema
= {'properties': {'Ping': {'type': 'object'}, 'Stop': {'type': 'object'}},
13954 @ReturnMapping(None)
13955 async def Ping(self
):
13960 # map input types to rpc msg
13962 msg
= dict(Type
='Pinger', Request
='Ping', Version
=1, Params
=params
)
13964 reply
= await self
.rpc(msg
)
13969 @ReturnMapping(None)
13970 async def Stop(self
):
13975 # map input types to rpc msg
13977 msg
= dict(Type
='Pinger', Request
='Stop', Version
=1, Params
=params
)
13979 reply
= await self
.rpc(msg
)
13983 class ProvisionerFacade(Type
):
13984 name
= 'Provisioner'
13986 schema
= {'definitions': {'APIHostPortsResult': {'additionalProperties': False,
13987 'properties': {'Servers': {'items': {'items': {'$ref': '#/definitions/HostPort'},
13990 'required': ['Servers'],
13992 'Address': {'additionalProperties': False,
13993 'properties': {'Scope': {'type': 'string'},
13994 'SpaceName': {'type': 'string'},
13995 'Type': {'type': 'string'},
13996 'Value': {'type': 'string'}},
13997 'required': ['Value', 'Type', 'Scope'],
13999 'Binary': {'additionalProperties': False,
14000 'properties': {'Arch': {'type': 'string'},
14001 'Number': {'$ref': '#/definitions/Number'},
14002 'Series': {'type': 'string'}},
14003 'required': ['Number', 'Series', 'Arch'],
14005 'BytesResult': {'additionalProperties': False,
14006 'properties': {'Result': {'items': {'type': 'integer'},
14008 'required': ['Result'],
14010 'CloudImageMetadata': {'additionalProperties': False,
14011 'properties': {'arch': {'type': 'string'},
14012 'image_id': {'type': 'string'},
14013 'priority': {'type': 'integer'},
14014 'region': {'type': 'string'},
14015 'root_storage_size': {'type': 'integer'},
14016 'root_storage_type': {'type': 'string'},
14017 'series': {'type': 'string'},
14018 'source': {'type': 'string'},
14019 'stream': {'type': 'string'},
14020 'version': {'type': 'string'},
14021 'virt_type': {'type': 'string'}},
14022 'required': ['image_id',
14030 'ConstraintsResult': {'additionalProperties': False,
14031 'properties': {'Constraints': {'$ref': '#/definitions/Value'},
14032 'Error': {'$ref': '#/definitions/Error'}},
14033 'required': ['Error', 'Constraints'],
14035 'ConstraintsResults': {'additionalProperties': False,
14036 'properties': {'Results': {'items': {'$ref': '#/definitions/ConstraintsResult'},
14038 'required': ['Results'],
14040 'ContainerConfig': {'additionalProperties': False,
14041 'properties': {'AllowLXCLoopMounts': {'type': 'boolean'},
14042 'AptMirror': {'type': 'string'},
14043 'AptProxy': {'$ref': '#/definitions/Settings'},
14044 'AuthorizedKeys': {'type': 'string'},
14045 'ProviderType': {'type': 'string'},
14046 'Proxy': {'$ref': '#/definitions/Settings'},
14047 'SSLHostnameVerification': {'type': 'boolean'},
14048 'UpdateBehavior': {'$ref': '#/definitions/UpdateBehavior'}},
14049 'required': ['ProviderType',
14051 'SSLHostnameVerification',
14055 'AllowLXCLoopMounts',
14058 'ContainerManagerConfig': {'additionalProperties': False,
14059 'properties': {'ManagerConfig': {'patternProperties': {'.*': {'type': 'string'}},
14060 'type': 'object'}},
14061 'required': ['ManagerConfig'],
14063 'ContainerManagerConfigParams': {'additionalProperties': False,
14064 'properties': {'Type': {'type': 'string'}},
14065 'required': ['Type'],
14067 'DistributionGroupResult': {'additionalProperties': False,
14068 'properties': {'Error': {'$ref': '#/definitions/Error'},
14069 'Result': {'items': {'type': 'string'},
14071 'required': ['Error', 'Result'],
14073 'DistributionGroupResults': {'additionalProperties': False,
14074 'properties': {'Results': {'items': {'$ref': '#/definitions/DistributionGroupResult'},
14076 'required': ['Results'],
14078 'Entities': {'additionalProperties': False,
14079 'properties': {'Entities': {'items': {'$ref': '#/definitions/Entity'},
14081 'required': ['Entities'],
14083 'Entity': {'additionalProperties': False,
14084 'properties': {'Tag': {'type': 'string'}},
14085 'required': ['Tag'],
14087 'EntityPassword': {'additionalProperties': False,
14088 'properties': {'Password': {'type': 'string'},
14089 'Tag': {'type': 'string'}},
14090 'required': ['Tag', 'Password'],
14092 'EntityPasswords': {'additionalProperties': False,
14093 'properties': {'Changes': {'items': {'$ref': '#/definitions/EntityPassword'},
14095 'required': ['Changes'],
14097 'EntityStatusArgs': {'additionalProperties': False,
14098 'properties': {'Data': {'patternProperties': {'.*': {'additionalProperties': True,
14099 'type': 'object'}},
14101 'Info': {'type': 'string'},
14102 'Status': {'type': 'string'},
14103 'Tag': {'type': 'string'}},
14104 'required': ['Tag',
14109 'Error': {'additionalProperties': False,
14110 'properties': {'Code': {'type': 'string'},
14111 'Info': {'$ref': '#/definitions/ErrorInfo'},
14112 'Message': {'type': 'string'}},
14113 'required': ['Message', 'Code'],
14115 'ErrorInfo': {'additionalProperties': False,
14116 'properties': {'Macaroon': {'$ref': '#/definitions/Macaroon'},
14117 'MacaroonPath': {'type': 'string'}},
14119 'ErrorResult': {'additionalProperties': False,
14120 'properties': {'Error': {'$ref': '#/definitions/Error'}},
14121 'required': ['Error'],
14123 'ErrorResults': {'additionalProperties': False,
14124 'properties': {'Results': {'items': {'$ref': '#/definitions/ErrorResult'},
14126 'required': ['Results'],
14128 'FindToolsParams': {'additionalProperties': False,
14129 'properties': {'Arch': {'type': 'string'},
14130 'MajorVersion': {'type': 'integer'},
14131 'MinorVersion': {'type': 'integer'},
14132 'Number': {'$ref': '#/definitions/Number'},
14133 'Series': {'type': 'string'}},
14134 'required': ['Number',
14140 'FindToolsResult': {'additionalProperties': False,
14141 'properties': {'Error': {'$ref': '#/definitions/Error'},
14142 'List': {'items': {'$ref': '#/definitions/Tools'},
14144 'required': ['List', 'Error'],
14146 'HardwareCharacteristics': {'additionalProperties': False,
14147 'properties': {'Arch': {'type': 'string'},
14148 'AvailabilityZone': {'type': 'string'},
14149 'CpuCores': {'type': 'integer'},
14150 'CpuPower': {'type': 'integer'},
14151 'Mem': {'type': 'integer'},
14152 'RootDisk': {'type': 'integer'},
14153 'Tags': {'items': {'type': 'string'},
14156 'HostPort': {'additionalProperties': False,
14157 'properties': {'Address': {'$ref': '#/definitions/Address'},
14158 'Port': {'type': 'integer'}},
14159 'required': ['Address', 'Port'],
14161 'InstanceInfo': {'additionalProperties': False,
14162 'properties': {'Characteristics': {'$ref': '#/definitions/HardwareCharacteristics'},
14163 'InstanceId': {'type': 'string'},
14164 'NetworkConfig': {'items': {'$ref': '#/definitions/NetworkConfig'},
14166 'Nonce': {'type': 'string'},
14167 'Tag': {'type': 'string'},
14168 'VolumeAttachments': {'patternProperties': {'.*': {'$ref': '#/definitions/VolumeAttachmentInfo'}},
14170 'Volumes': {'items': {'$ref': '#/definitions/Volume'},
14172 'required': ['Tag',
14177 'VolumeAttachments',
14180 'InstancesInfo': {'additionalProperties': False,
14181 'properties': {'Machines': {'items': {'$ref': '#/definitions/InstanceInfo'},
14183 'required': ['Machines'],
14185 'LifeResult': {'additionalProperties': False,
14186 'properties': {'Error': {'$ref': '#/definitions/Error'},
14187 'Life': {'type': 'string'}},
14188 'required': ['Life', 'Error'],
14190 'LifeResults': {'additionalProperties': False,
14191 'properties': {'Results': {'items': {'$ref': '#/definitions/LifeResult'},
14193 'required': ['Results'],
14195 'Macaroon': {'additionalProperties': False,
14196 'properties': {'caveats': {'items': {'$ref': '#/definitions/caveat'},
14198 'data': {'items': {'type': 'integer'},
14200 'id': {'$ref': '#/definitions/packet'},
14201 'location': {'$ref': '#/definitions/packet'},
14202 'sig': {'items': {'type': 'integer'},
14204 'required': ['data',
14210 'MachineContainers': {'additionalProperties': False,
14211 'properties': {'ContainerTypes': {'items': {'type': 'string'},
14213 'MachineTag': {'type': 'string'}},
14214 'required': ['MachineTag',
14217 'MachineContainersParams': {'additionalProperties': False,
14218 'properties': {'Params': {'items': {'$ref': '#/definitions/MachineContainers'},
14220 'required': ['Params'],
14222 'MachineNetworkConfigResult': {'additionalProperties': False,
14223 'properties': {'Error': {'$ref': '#/definitions/Error'},
14224 'Info': {'items': {'$ref': '#/definitions/NetworkConfig'},
14226 'required': ['Error', 'Info'],
14228 'MachineNetworkConfigResults': {'additionalProperties': False,
14229 'properties': {'Results': {'items': {'$ref': '#/definitions/MachineNetworkConfigResult'},
14231 'required': ['Results'],
14233 'ModelConfigResult': {'additionalProperties': False,
14234 'properties': {'Config': {'patternProperties': {'.*': {'additionalProperties': True,
14235 'type': 'object'}},
14236 'type': 'object'}},
14237 'required': ['Config'],
14239 'NetworkConfig': {'additionalProperties': False,
14240 'properties': {'Address': {'type': 'string'},
14241 'CIDR': {'type': 'string'},
14242 'ConfigType': {'type': 'string'},
14243 'DNSSearchDomains': {'items': {'type': 'string'},
14245 'DNSServers': {'items': {'type': 'string'},
14247 'DeviceIndex': {'type': 'integer'},
14248 'Disabled': {'type': 'boolean'},
14249 'GatewayAddress': {'type': 'string'},
14250 'InterfaceName': {'type': 'string'},
14251 'InterfaceType': {'type': 'string'},
14252 'MACAddress': {'type': 'string'},
14253 'MTU': {'type': 'integer'},
14254 'NoAutoStart': {'type': 'boolean'},
14255 'ParentInterfaceName': {'type': 'string'},
14256 'ProviderAddressId': {'type': 'string'},
14257 'ProviderId': {'type': 'string'},
14258 'ProviderSpaceId': {'type': 'string'},
14259 'ProviderSubnetId': {'type': 'string'},
14260 'ProviderVLANId': {'type': 'string'},
14261 'VLANTag': {'type': 'integer'}},
14262 'required': ['DeviceIndex',
14267 'ProviderSubnetId',
14269 'ProviderAddressId',
14273 'ParentInterfaceName',
14277 'NotifyWatchResult': {'additionalProperties': False,
14278 'properties': {'Error': {'$ref': '#/definitions/Error'},
14279 'NotifyWatcherId': {'type': 'string'}},
14280 'required': ['NotifyWatcherId', 'Error'],
14282 'Number': {'additionalProperties': False,
14283 'properties': {'Build': {'type': 'integer'},
14284 'Major': {'type': 'integer'},
14285 'Minor': {'type': 'integer'},
14286 'Patch': {'type': 'integer'},
14287 'Tag': {'type': 'string'}},
14288 'required': ['Major',
14294 'ProvisioningInfo': {'additionalProperties': False,
14295 'properties': {'Constraints': {'$ref': '#/definitions/Value'},
14296 'EndpointBindings': {'patternProperties': {'.*': {'type': 'string'}},
14298 'ImageMetadata': {'items': {'$ref': '#/definitions/CloudImageMetadata'},
14300 'Jobs': {'items': {'type': 'string'},
14302 'Placement': {'type': 'string'},
14303 'Series': {'type': 'string'},
14304 'SubnetsToZones': {'patternProperties': {'.*': {'items': {'type': 'string'},
14307 'Tags': {'patternProperties': {'.*': {'type': 'string'}},
14309 'Volumes': {'items': {'$ref': '#/definitions/VolumeParams'},
14311 'required': ['Constraints',
14319 'EndpointBindings'],
14321 'ProvisioningInfoResult': {'additionalProperties': False,
14322 'properties': {'Error': {'$ref': '#/definitions/Error'},
14323 'Result': {'$ref': '#/definitions/ProvisioningInfo'}},
14324 'required': ['Error', 'Result'],
14326 'ProvisioningInfoResults': {'additionalProperties': False,
14327 'properties': {'Results': {'items': {'$ref': '#/definitions/ProvisioningInfoResult'},
14329 'required': ['Results'],
14331 'SetStatus': {'additionalProperties': False,
14332 'properties': {'Entities': {'items': {'$ref': '#/definitions/EntityStatusArgs'},
14334 'required': ['Entities'],
14336 'Settings': {'additionalProperties': False,
14337 'properties': {'Ftp': {'type': 'string'},
14338 'Http': {'type': 'string'},
14339 'Https': {'type': 'string'},
14340 'NoProxy': {'type': 'string'}},
14341 'required': ['Http', 'Https', 'Ftp', 'NoProxy'],
14343 'StatusResult': {'additionalProperties': False,
14344 'properties': {'Data': {'patternProperties': {'.*': {'additionalProperties': True,
14345 'type': 'object'}},
14347 'Error': {'$ref': '#/definitions/Error'},
14348 'Id': {'type': 'string'},
14349 'Info': {'type': 'string'},
14350 'Life': {'type': 'string'},
14351 'Since': {'format': 'date-time',
14353 'Status': {'type': 'string'}},
14354 'required': ['Error',
14362 'StatusResults': {'additionalProperties': False,
14363 'properties': {'Results': {'items': {'$ref': '#/definitions/StatusResult'},
14365 'required': ['Results'],
14367 'StringResult': {'additionalProperties': False,
14368 'properties': {'Error': {'$ref': '#/definitions/Error'},
14369 'Result': {'type': 'string'}},
14370 'required': ['Error', 'Result'],
14372 'StringResults': {'additionalProperties': False,
14373 'properties': {'Results': {'items': {'$ref': '#/definitions/StringResult'},
14375 'required': ['Results'],
14377 'StringsResult': {'additionalProperties': False,
14378 'properties': {'Error': {'$ref': '#/definitions/Error'},
14379 'Result': {'items': {'type': 'string'},
14381 'required': ['Error', 'Result'],
14383 'StringsWatchResult': {'additionalProperties': False,
14384 'properties': {'Changes': {'items': {'type': 'string'},
14386 'Error': {'$ref': '#/definitions/Error'},
14387 'StringsWatcherId': {'type': 'string'}},
14388 'required': ['StringsWatcherId',
14392 'StringsWatchResults': {'additionalProperties': False,
14393 'properties': {'Results': {'items': {'$ref': '#/definitions/StringsWatchResult'},
14395 'required': ['Results'],
14397 'Tools': {'additionalProperties': False,
14398 'properties': {'sha256': {'type': 'string'},
14399 'size': {'type': 'integer'},
14400 'url': {'type': 'string'},
14401 'version': {'$ref': '#/definitions/Binary'}},
14402 'required': ['version', 'url', 'size'],
14404 'ToolsResult': {'additionalProperties': False,
14405 'properties': {'DisableSSLHostnameVerification': {'type': 'boolean'},
14406 'Error': {'$ref': '#/definitions/Error'},
14407 'ToolsList': {'items': {'$ref': '#/definitions/Tools'},
14409 'required': ['ToolsList',
14410 'DisableSSLHostnameVerification',
14413 'ToolsResults': {'additionalProperties': False,
14414 'properties': {'Results': {'items': {'$ref': '#/definitions/ToolsResult'},
14416 'required': ['Results'],
14418 'UpdateBehavior': {'additionalProperties': False,
14419 'properties': {'EnableOSRefreshUpdate': {'type': 'boolean'},
14420 'EnableOSUpgrade': {'type': 'boolean'}},
14421 'required': ['EnableOSRefreshUpdate',
14422 'EnableOSUpgrade'],
14424 'Value': {'additionalProperties': False,
14425 'properties': {'arch': {'type': 'string'},
14426 'container': {'type': 'string'},
14427 'cpu-cores': {'type': 'integer'},
14428 'cpu-power': {'type': 'integer'},
14429 'instance-type': {'type': 'string'},
14430 'mem': {'type': 'integer'},
14431 'root-disk': {'type': 'integer'},
14432 'spaces': {'items': {'type': 'string'},
14434 'tags': {'items': {'type': 'string'},
14436 'virt-type': {'type': 'string'}},
14438 'Volume': {'additionalProperties': False,
14439 'properties': {'info': {'$ref': '#/definitions/VolumeInfo'},
14440 'volumetag': {'type': 'string'}},
14441 'required': ['volumetag', 'info'],
14443 'VolumeAttachmentInfo': {'additionalProperties': False,
14444 'properties': {'busaddress': {'type': 'string'},
14445 'devicelink': {'type': 'string'},
14446 'devicename': {'type': 'string'},
14447 'read-only': {'type': 'boolean'}},
14449 'VolumeAttachmentParams': {'additionalProperties': False,
14450 'properties': {'instanceid': {'type': 'string'},
14451 'machinetag': {'type': 'string'},
14452 'provider': {'type': 'string'},
14453 'read-only': {'type': 'boolean'},
14454 'volumeid': {'type': 'string'},
14455 'volumetag': {'type': 'string'}},
14456 'required': ['volumetag',
14460 'VolumeInfo': {'additionalProperties': False,
14461 'properties': {'hardwareid': {'type': 'string'},
14462 'persistent': {'type': 'boolean'},
14463 'size': {'type': 'integer'},
14464 'volumeid': {'type': 'string'}},
14465 'required': ['volumeid', 'size', 'persistent'],
14467 'VolumeParams': {'additionalProperties': False,
14468 'properties': {'attachment': {'$ref': '#/definitions/VolumeAttachmentParams'},
14469 'attributes': {'patternProperties': {'.*': {'additionalProperties': True,
14470 'type': 'object'}},
14472 'provider': {'type': 'string'},
14473 'size': {'type': 'integer'},
14474 'tags': {'patternProperties': {'.*': {'type': 'string'}},
14476 'volumetag': {'type': 'string'}},
14477 'required': ['volumetag', 'size', 'provider'],
14479 'WatchContainer': {'additionalProperties': False,
14480 'properties': {'ContainerType': {'type': 'string'},
14481 'MachineTag': {'type': 'string'}},
14482 'required': ['MachineTag', 'ContainerType'],
14484 'WatchContainers': {'additionalProperties': False,
14485 'properties': {'Params': {'items': {'$ref': '#/definitions/WatchContainer'},
14487 'required': ['Params'],
14489 'caveat': {'additionalProperties': False,
14490 'properties': {'caveatId': {'$ref': '#/definitions/packet'},
14491 'location': {'$ref': '#/definitions/packet'},
14492 'verificationId': {'$ref': '#/definitions/packet'}},
14493 'required': ['location',
14497 'packet': {'additionalProperties': False,
14498 'properties': {'headerLen': {'type': 'integer'},
14499 'start': {'type': 'integer'},
14500 'totalLen': {'type': 'integer'}},
14501 'required': ['start', 'totalLen', 'headerLen'],
14502 'type': 'object'}},
14503 'properties': {'APIAddresses': {'properties': {'Result': {'$ref': '#/definitions/StringsResult'}},
14505 'APIHostPorts': {'properties': {'Result': {'$ref': '#/definitions/APIHostPortsResult'}},
14507 'CACert': {'properties': {'Result': {'$ref': '#/definitions/BytesResult'}},
14509 'Constraints': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
14510 'Result': {'$ref': '#/definitions/ConstraintsResults'}},
14512 'ContainerConfig': {'properties': {'Result': {'$ref': '#/definitions/ContainerConfig'}},
14514 'ContainerManagerConfig': {'properties': {'Params': {'$ref': '#/definitions/ContainerManagerConfigParams'},
14515 'Result': {'$ref': '#/definitions/ContainerManagerConfig'}},
14517 'DistributionGroup': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
14518 'Result': {'$ref': '#/definitions/DistributionGroupResults'}},
14520 'EnsureDead': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
14521 'Result': {'$ref': '#/definitions/ErrorResults'}},
14523 'FindTools': {'properties': {'Params': {'$ref': '#/definitions/FindToolsParams'},
14524 'Result': {'$ref': '#/definitions/FindToolsResult'}},
14526 'GetContainerInterfaceInfo': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
14527 'Result': {'$ref': '#/definitions/MachineNetworkConfigResults'}},
14529 'InstanceId': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
14530 'Result': {'$ref': '#/definitions/StringResults'}},
14532 'InstanceStatus': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
14533 'Result': {'$ref': '#/definitions/StatusResults'}},
14535 'Life': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
14536 'Result': {'$ref': '#/definitions/LifeResults'}},
14538 'MachinesWithTransientErrors': {'properties': {'Result': {'$ref': '#/definitions/StatusResults'}},
14540 'ModelConfig': {'properties': {'Result': {'$ref': '#/definitions/ModelConfigResult'}},
14542 'ModelUUID': {'properties': {'Result': {'$ref': '#/definitions/StringResult'}},
14544 'PrepareContainerInterfaceInfo': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
14545 'Result': {'$ref': '#/definitions/MachineNetworkConfigResults'}},
14547 'ProvisioningInfo': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
14548 'Result': {'$ref': '#/definitions/ProvisioningInfoResults'}},
14550 'ReleaseContainerAddresses': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
14551 'Result': {'$ref': '#/definitions/ErrorResults'}},
14553 'Remove': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
14554 'Result': {'$ref': '#/definitions/ErrorResults'}},
14556 'Series': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
14557 'Result': {'$ref': '#/definitions/StringResults'}},
14559 'SetInstanceInfo': {'properties': {'Params': {'$ref': '#/definitions/InstancesInfo'},
14560 'Result': {'$ref': '#/definitions/ErrorResults'}},
14562 'SetInstanceStatus': {'properties': {'Params': {'$ref': '#/definitions/SetStatus'},
14563 'Result': {'$ref': '#/definitions/ErrorResults'}},
14565 'SetPasswords': {'properties': {'Params': {'$ref': '#/definitions/EntityPasswords'},
14566 'Result': {'$ref': '#/definitions/ErrorResults'}},
14568 'SetStatus': {'properties': {'Params': {'$ref': '#/definitions/SetStatus'},
14569 'Result': {'$ref': '#/definitions/ErrorResults'}},
14571 'SetSupportedContainers': {'properties': {'Params': {'$ref': '#/definitions/MachineContainersParams'},
14572 'Result': {'$ref': '#/definitions/ErrorResults'}},
14574 'StateAddresses': {'properties': {'Result': {'$ref': '#/definitions/StringsResult'}},
14576 'Status': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
14577 'Result': {'$ref': '#/definitions/StatusResults'}},
14579 'Tools': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
14580 'Result': {'$ref': '#/definitions/ToolsResults'}},
14582 'UpdateStatus': {'properties': {'Params': {'$ref': '#/definitions/SetStatus'},
14583 'Result': {'$ref': '#/definitions/ErrorResults'}},
14585 'WatchAPIHostPorts': {'properties': {'Result': {'$ref': '#/definitions/NotifyWatchResult'}},
14587 'WatchAllContainers': {'properties': {'Params': {'$ref': '#/definitions/WatchContainers'},
14588 'Result': {'$ref': '#/definitions/StringsWatchResults'}},
14590 'WatchContainers': {'properties': {'Params': {'$ref': '#/definitions/WatchContainers'},
14591 'Result': {'$ref': '#/definitions/StringsWatchResults'}},
14593 'WatchForModelConfigChanges': {'properties': {'Result': {'$ref': '#/definitions/NotifyWatchResult'}},
14595 'WatchMachineErrorRetry': {'properties': {'Result': {'$ref': '#/definitions/NotifyWatchResult'}},
14597 'WatchModelMachines': {'properties': {'Result': {'$ref': '#/definitions/StringsWatchResult'}},
14598 'type': 'object'}},
14602 @ReturnMapping(StringsResult
)
14603 async def APIAddresses(self
):
14606 Returns -> typing.Union[_ForwardRef('Error'), typing.Sequence[str]]
14608 # map input types to rpc msg
14610 msg
= dict(Type
='Provisioner', Request
='APIAddresses', Version
=3, Params
=params
)
14612 reply
= await self
.rpc(msg
)
14617 @ReturnMapping(APIHostPortsResult
)
14618 async def APIHostPorts(self
):
14621 Returns -> typing.Sequence[~HostPort]
14623 # map input types to rpc msg
14625 msg
= dict(Type
='Provisioner', Request
='APIHostPorts', Version
=3, Params
=params
)
14627 reply
= await self
.rpc(msg
)
14632 @ReturnMapping(BytesResult
)
14633 async def CACert(self
):
14636 Returns -> typing.Sequence[int]
14638 # map input types to rpc msg
14640 msg
= dict(Type
='Provisioner', Request
='CACert', Version
=3, Params
=params
)
14642 reply
= await self
.rpc(msg
)
14647 @ReturnMapping(ConstraintsResults
)
14648 async def Constraints(self
, entities
):
14650 entities : typing.Sequence[~Entity]
14651 Returns -> typing.Sequence[~ConstraintsResult]
14653 # map input types to rpc msg
14655 msg
= dict(Type
='Provisioner', Request
='Constraints', Version
=3, Params
=params
)
14656 params
['Entities'] = entities
14657 reply
= await self
.rpc(msg
)
14662 @ReturnMapping(ContainerConfig
)
14663 async def ContainerConfig(self
):
14666 Returns -> typing.Union[bool, str, _ForwardRef('Settings'), _ForwardRef('Settings'), _ForwardRef('UpdateBehavior')]
14668 # map input types to rpc msg
14670 msg
= dict(Type
='Provisioner', Request
='ContainerConfig', Version
=3, Params
=params
)
14672 reply
= await self
.rpc(msg
)
14677 @ReturnMapping(ContainerManagerConfig
)
14678 async def ContainerManagerConfig(self
, type_
):
14681 Returns -> typing.Mapping[str, str]
14683 # map input types to rpc msg
14685 msg
= dict(Type
='Provisioner', Request
='ContainerManagerConfig', Version
=3, Params
=params
)
14686 params
['Type'] = type_
14687 reply
= await self
.rpc(msg
)
14692 @ReturnMapping(DistributionGroupResults
)
14693 async def DistributionGroup(self
, entities
):
14695 entities : typing.Sequence[~Entity]
14696 Returns -> typing.Sequence[~DistributionGroupResult]
14698 # map input types to rpc msg
14700 msg
= dict(Type
='Provisioner', Request
='DistributionGroup', Version
=3, Params
=params
)
14701 params
['Entities'] = entities
14702 reply
= await self
.rpc(msg
)
14707 @ReturnMapping(ErrorResults
)
14708 async def EnsureDead(self
, entities
):
14710 entities : typing.Sequence[~Entity]
14711 Returns -> typing.Sequence[~ErrorResult]
14713 # map input types to rpc msg
14715 msg
= dict(Type
='Provisioner', Request
='EnsureDead', Version
=3, Params
=params
)
14716 params
['Entities'] = entities
14717 reply
= await self
.rpc(msg
)
14722 @ReturnMapping(FindToolsResult
)
14723 async def FindTools(self
, arch
, majorversion
, minorversion
, number
, series
):
14730 Returns -> typing.Union[_ForwardRef('Error'), typing.Sequence[~Tools]]
14732 # map input types to rpc msg
14734 msg
= dict(Type
='Provisioner', Request
='FindTools', Version
=3, Params
=params
)
14735 params
['Arch'] = arch
14736 params
['MajorVersion'] = majorversion
14737 params
['MinorVersion'] = minorversion
14738 params
['Number'] = number
14739 params
['Series'] = series
14740 reply
= await self
.rpc(msg
)
14745 @ReturnMapping(MachineNetworkConfigResults
)
14746 async def GetContainerInterfaceInfo(self
, entities
):
14748 entities : typing.Sequence[~Entity]
14749 Returns -> typing.Sequence[~MachineNetworkConfigResult]
14751 # map input types to rpc msg
14753 msg
= dict(Type
='Provisioner', Request
='GetContainerInterfaceInfo', Version
=3, Params
=params
)
14754 params
['Entities'] = entities
14755 reply
= await self
.rpc(msg
)
14760 @ReturnMapping(StringResults
)
14761 async def InstanceId(self
, entities
):
14763 entities : typing.Sequence[~Entity]
14764 Returns -> typing.Sequence[~StringResult]
14766 # map input types to rpc msg
14768 msg
= dict(Type
='Provisioner', Request
='InstanceId', Version
=3, Params
=params
)
14769 params
['Entities'] = entities
14770 reply
= await self
.rpc(msg
)
14775 @ReturnMapping(StatusResults
)
14776 async def InstanceStatus(self
, entities
):
14778 entities : typing.Sequence[~Entity]
14779 Returns -> typing.Sequence[~StatusResult]
14781 # map input types to rpc msg
14783 msg
= dict(Type
='Provisioner', Request
='InstanceStatus', Version
=3, Params
=params
)
14784 params
['Entities'] = entities
14785 reply
= await self
.rpc(msg
)
14790 @ReturnMapping(LifeResults
)
14791 async def Life(self
, entities
):
14793 entities : typing.Sequence[~Entity]
14794 Returns -> typing.Sequence[~LifeResult]
14796 # map input types to rpc msg
14798 msg
= dict(Type
='Provisioner', Request
='Life', Version
=3, Params
=params
)
14799 params
['Entities'] = entities
14800 reply
= await self
.rpc(msg
)
14805 @ReturnMapping(StatusResults
)
14806 async def MachinesWithTransientErrors(self
):
14809 Returns -> typing.Sequence[~StatusResult]
14811 # map input types to rpc msg
14813 msg
= dict(Type
='Provisioner', Request
='MachinesWithTransientErrors', Version
=3, Params
=params
)
14815 reply
= await self
.rpc(msg
)
14820 @ReturnMapping(ModelConfigResult
)
14821 async def ModelConfig(self
):
14824 Returns -> typing.Mapping[str, typing.Any]
14826 # map input types to rpc msg
14828 msg
= dict(Type
='Provisioner', Request
='ModelConfig', Version
=3, Params
=params
)
14830 reply
= await self
.rpc(msg
)
14835 @ReturnMapping(StringResult
)
14836 async def ModelUUID(self
):
14839 Returns -> typing.Union[_ForwardRef('Error'), str]
14841 # map input types to rpc msg
14843 msg
= dict(Type
='Provisioner', Request
='ModelUUID', Version
=3, Params
=params
)
14845 reply
= await self
.rpc(msg
)
14850 @ReturnMapping(MachineNetworkConfigResults
)
14851 async def PrepareContainerInterfaceInfo(self
, entities
):
14853 entities : typing.Sequence[~Entity]
14854 Returns -> typing.Sequence[~MachineNetworkConfigResult]
14856 # map input types to rpc msg
14858 msg
= dict(Type
='Provisioner', Request
='PrepareContainerInterfaceInfo', Version
=3, Params
=params
)
14859 params
['Entities'] = entities
14860 reply
= await self
.rpc(msg
)
14865 @ReturnMapping(ProvisioningInfoResults
)
14866 async def ProvisioningInfo(self
, entities
):
14868 entities : typing.Sequence[~Entity]
14869 Returns -> typing.Sequence[~ProvisioningInfoResult]
14871 # map input types to rpc msg
14873 msg
= dict(Type
='Provisioner', Request
='ProvisioningInfo', Version
=3, Params
=params
)
14874 params
['Entities'] = entities
14875 reply
= await self
.rpc(msg
)
14880 @ReturnMapping(ErrorResults
)
14881 async def ReleaseContainerAddresses(self
, entities
):
14883 entities : typing.Sequence[~Entity]
14884 Returns -> typing.Sequence[~ErrorResult]
14886 # map input types to rpc msg
14888 msg
= dict(Type
='Provisioner', Request
='ReleaseContainerAddresses', Version
=3, Params
=params
)
14889 params
['Entities'] = entities
14890 reply
= await self
.rpc(msg
)
14895 @ReturnMapping(ErrorResults
)
14896 async def Remove(self
, entities
):
14898 entities : typing.Sequence[~Entity]
14899 Returns -> typing.Sequence[~ErrorResult]
14901 # map input types to rpc msg
14903 msg
= dict(Type
='Provisioner', Request
='Remove', Version
=3, Params
=params
)
14904 params
['Entities'] = entities
14905 reply
= await self
.rpc(msg
)
14910 @ReturnMapping(StringResults
)
14911 async def Series(self
, entities
):
14913 entities : typing.Sequence[~Entity]
14914 Returns -> typing.Sequence[~StringResult]
14916 # map input types to rpc msg
14918 msg
= dict(Type
='Provisioner', Request
='Series', Version
=3, Params
=params
)
14919 params
['Entities'] = entities
14920 reply
= await self
.rpc(msg
)
14925 @ReturnMapping(ErrorResults
)
14926 async def SetInstanceInfo(self
, machines
):
14928 machines : typing.Sequence[~InstanceInfo]
14929 Returns -> typing.Sequence[~ErrorResult]
14931 # map input types to rpc msg
14933 msg
= dict(Type
='Provisioner', Request
='SetInstanceInfo', Version
=3, Params
=params
)
14934 params
['Machines'] = machines
14935 reply
= await self
.rpc(msg
)
14940 @ReturnMapping(ErrorResults
)
14941 async def SetInstanceStatus(self
, entities
):
14943 entities : typing.Sequence[~EntityStatusArgs]
14944 Returns -> typing.Sequence[~ErrorResult]
14946 # map input types to rpc msg
14948 msg
= dict(Type
='Provisioner', Request
='SetInstanceStatus', Version
=3, Params
=params
)
14949 params
['Entities'] = entities
14950 reply
= await self
.rpc(msg
)
14955 @ReturnMapping(ErrorResults
)
14956 async def SetPasswords(self
, changes
):
14958 changes : typing.Sequence[~EntityPassword]
14959 Returns -> typing.Sequence[~ErrorResult]
14961 # map input types to rpc msg
14963 msg
= dict(Type
='Provisioner', Request
='SetPasswords', Version
=3, Params
=params
)
14964 params
['Changes'] = changes
14965 reply
= await self
.rpc(msg
)
14970 @ReturnMapping(ErrorResults
)
14971 async def SetStatus(self
, entities
):
14973 entities : typing.Sequence[~EntityStatusArgs]
14974 Returns -> typing.Sequence[~ErrorResult]
14976 # map input types to rpc msg
14978 msg
= dict(Type
='Provisioner', Request
='SetStatus', Version
=3, Params
=params
)
14979 params
['Entities'] = entities
14980 reply
= await self
.rpc(msg
)
14985 @ReturnMapping(ErrorResults
)
14986 async def SetSupportedContainers(self
, params
):
14988 params : typing.Sequence[~MachineContainers]
14989 Returns -> typing.Sequence[~ErrorResult]
14991 # map input types to rpc msg
14993 msg
= dict(Type
='Provisioner', Request
='SetSupportedContainers', Version
=3, Params
=params
)
14994 params
['Params'] = params
14995 reply
= await self
.rpc(msg
)
15000 @ReturnMapping(StringsResult
)
15001 async def StateAddresses(self
):
15004 Returns -> typing.Union[_ForwardRef('Error'), typing.Sequence[str]]
15006 # map input types to rpc msg
15008 msg
= dict(Type
='Provisioner', Request
='StateAddresses', Version
=3, Params
=params
)
15010 reply
= await self
.rpc(msg
)
15015 @ReturnMapping(StatusResults
)
15016 async def Status(self
, entities
):
15018 entities : typing.Sequence[~Entity]
15019 Returns -> typing.Sequence[~StatusResult]
15021 # map input types to rpc msg
15023 msg
= dict(Type
='Provisioner', Request
='Status', Version
=3, Params
=params
)
15024 params
['Entities'] = entities
15025 reply
= await self
.rpc(msg
)
15030 @ReturnMapping(ToolsResults
)
15031 async def Tools(self
, entities
):
15033 entities : typing.Sequence[~Entity]
15034 Returns -> typing.Sequence[~ToolsResult]
15036 # map input types to rpc msg
15038 msg
= dict(Type
='Provisioner', Request
='Tools', Version
=3, Params
=params
)
15039 params
['Entities'] = entities
15040 reply
= await self
.rpc(msg
)
15045 @ReturnMapping(ErrorResults
)
15046 async def UpdateStatus(self
, entities
):
15048 entities : typing.Sequence[~EntityStatusArgs]
15049 Returns -> typing.Sequence[~ErrorResult]
15051 # map input types to rpc msg
15053 msg
= dict(Type
='Provisioner', Request
='UpdateStatus', Version
=3, Params
=params
)
15054 params
['Entities'] = entities
15055 reply
= await self
.rpc(msg
)
15060 @ReturnMapping(NotifyWatchResult
)
15061 async def WatchAPIHostPorts(self
):
15064 Returns -> typing.Union[_ForwardRef('Error'), str]
15066 # map input types to rpc msg
15068 msg
= dict(Type
='Provisioner', Request
='WatchAPIHostPorts', Version
=3, Params
=params
)
15070 reply
= await self
.rpc(msg
)
15075 @ReturnMapping(StringsWatchResults
)
15076 async def WatchAllContainers(self
, params
):
15078 params : typing.Sequence[~WatchContainer]
15079 Returns -> typing.Sequence[~StringsWatchResult]
15081 # map input types to rpc msg
15083 msg
= dict(Type
='Provisioner', Request
='WatchAllContainers', Version
=3, Params
=params
)
15084 params
['Params'] = params
15085 reply
= await self
.rpc(msg
)
15090 @ReturnMapping(StringsWatchResults
)
15091 async def WatchContainers(self
, params
):
15093 params : typing.Sequence[~WatchContainer]
15094 Returns -> typing.Sequence[~StringsWatchResult]
15096 # map input types to rpc msg
15098 msg
= dict(Type
='Provisioner', Request
='WatchContainers', Version
=3, Params
=params
)
15099 params
['Params'] = params
15100 reply
= await self
.rpc(msg
)
15105 @ReturnMapping(NotifyWatchResult
)
15106 async def WatchForModelConfigChanges(self
):
15109 Returns -> typing.Union[_ForwardRef('Error'), str]
15111 # map input types to rpc msg
15113 msg
= dict(Type
='Provisioner', Request
='WatchForModelConfigChanges', Version
=3, Params
=params
)
15115 reply
= await self
.rpc(msg
)
15120 @ReturnMapping(NotifyWatchResult
)
15121 async def WatchMachineErrorRetry(self
):
15124 Returns -> typing.Union[_ForwardRef('Error'), str]
15126 # map input types to rpc msg
15128 msg
= dict(Type
='Provisioner', Request
='WatchMachineErrorRetry', Version
=3, Params
=params
)
15130 reply
= await self
.rpc(msg
)
15135 @ReturnMapping(StringsWatchResult
)
15136 async def WatchModelMachines(self
):
15139 Returns -> typing.Union[typing.Sequence[str], _ForwardRef('Error')]
15141 # map input types to rpc msg
15143 msg
= dict(Type
='Provisioner', Request
='WatchModelMachines', Version
=3, Params
=params
)
15145 reply
= await self
.rpc(msg
)
15149 class ProxyUpdaterFacade(Type
):
15150 name
= 'ProxyUpdater'
15152 schema
= {'definitions': {'Entities': {'additionalProperties': False,
15153 'properties': {'Entities': {'items': {'$ref': '#/definitions/Entity'},
15155 'required': ['Entities'],
15157 'Entity': {'additionalProperties': False,
15158 'properties': {'Tag': {'type': 'string'}},
15159 'required': ['Tag'],
15161 'Error': {'additionalProperties': False,
15162 'properties': {'Code': {'type': 'string'},
15163 'Info': {'$ref': '#/definitions/ErrorInfo'},
15164 'Message': {'type': 'string'}},
15165 'required': ['Message', 'Code'],
15167 'ErrorInfo': {'additionalProperties': False,
15168 'properties': {'Macaroon': {'$ref': '#/definitions/Macaroon'},
15169 'MacaroonPath': {'type': 'string'}},
15171 'Macaroon': {'additionalProperties': False,
15172 'properties': {'caveats': {'items': {'$ref': '#/definitions/caveat'},
15174 'data': {'items': {'type': 'integer'},
15176 'id': {'$ref': '#/definitions/packet'},
15177 'location': {'$ref': '#/definitions/packet'},
15178 'sig': {'items': {'type': 'integer'},
15180 'required': ['data',
15186 'NotifyWatchResult': {'additionalProperties': False,
15187 'properties': {'Error': {'$ref': '#/definitions/Error'},
15188 'NotifyWatcherId': {'type': 'string'}},
15189 'required': ['NotifyWatcherId', 'Error'],
15191 'NotifyWatchResults': {'additionalProperties': False,
15192 'properties': {'Results': {'items': {'$ref': '#/definitions/NotifyWatchResult'},
15194 'required': ['Results'],
15196 'ProxyConfig': {'additionalProperties': False,
15197 'properties': {'FTP': {'type': 'string'},
15198 'HTTP': {'type': 'string'},
15199 'HTTPS': {'type': 'string'},
15200 'NoProxy': {'type': 'string'}},
15201 'required': ['HTTP',
15206 'ProxyConfigResult': {'additionalProperties': False,
15207 'properties': {'APTProxySettings': {'$ref': '#/definitions/ProxyConfig'},
15208 'Error': {'$ref': '#/definitions/Error'},
15209 'ProxySettings': {'$ref': '#/definitions/ProxyConfig'}},
15210 'required': ['ProxySettings',
15211 'APTProxySettings'],
15213 'ProxyConfigResults': {'additionalProperties': False,
15214 'properties': {'Results': {'items': {'$ref': '#/definitions/ProxyConfigResult'},
15216 'required': ['Results'],
15218 'caveat': {'additionalProperties': False,
15219 'properties': {'caveatId': {'$ref': '#/definitions/packet'},
15220 'location': {'$ref': '#/definitions/packet'},
15221 'verificationId': {'$ref': '#/definitions/packet'}},
15222 'required': ['location',
15226 'packet': {'additionalProperties': False,
15227 'properties': {'headerLen': {'type': 'integer'},
15228 'start': {'type': 'integer'},
15229 'totalLen': {'type': 'integer'}},
15230 'required': ['start', 'totalLen', 'headerLen'],
15231 'type': 'object'}},
15232 'properties': {'ProxyConfig': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
15233 'Result': {'$ref': '#/definitions/ProxyConfigResults'}},
15235 'WatchForProxyConfigAndAPIHostPortChanges': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
15236 'Result': {'$ref': '#/definitions/NotifyWatchResults'}},
15237 'type': 'object'}},
15241 @ReturnMapping(ProxyConfigResults
)
15242 async def ProxyConfig(self
, entities
):
15244 entities : typing.Sequence[~Entity]
15245 Returns -> typing.Sequence[~ProxyConfigResult]
15247 # map input types to rpc msg
15249 msg
= dict(Type
='ProxyUpdater', Request
='ProxyConfig', Version
=1, Params
=params
)
15250 params
['Entities'] = entities
15251 reply
= await self
.rpc(msg
)
15256 @ReturnMapping(NotifyWatchResults
)
15257 async def WatchForProxyConfigAndAPIHostPortChanges(self
, entities
):
15259 entities : typing.Sequence[~Entity]
15260 Returns -> typing.Sequence[~NotifyWatchResult]
15262 # map input types to rpc msg
15264 msg
= dict(Type
='ProxyUpdater', Request
='WatchForProxyConfigAndAPIHostPortChanges', Version
=1, Params
=params
)
15265 params
['Entities'] = entities
15266 reply
= await self
.rpc(msg
)
15270 class RebootFacade(Type
):
15273 schema
= {'definitions': {'Entities': {'additionalProperties': False,
15274 'properties': {'Entities': {'items': {'$ref': '#/definitions/Entity'},
15276 'required': ['Entities'],
15278 'Entity': {'additionalProperties': False,
15279 'properties': {'Tag': {'type': 'string'}},
15280 'required': ['Tag'],
15282 'Error': {'additionalProperties': False,
15283 'properties': {'Code': {'type': 'string'},
15284 'Info': {'$ref': '#/definitions/ErrorInfo'},
15285 'Message': {'type': 'string'}},
15286 'required': ['Message', 'Code'],
15288 'ErrorInfo': {'additionalProperties': False,
15289 'properties': {'Macaroon': {'$ref': '#/definitions/Macaroon'},
15290 'MacaroonPath': {'type': 'string'}},
15292 'ErrorResult': {'additionalProperties': False,
15293 'properties': {'Error': {'$ref': '#/definitions/Error'}},
15294 'required': ['Error'],
15296 'ErrorResults': {'additionalProperties': False,
15297 'properties': {'Results': {'items': {'$ref': '#/definitions/ErrorResult'},
15299 'required': ['Results'],
15301 'Macaroon': {'additionalProperties': False,
15302 'properties': {'caveats': {'items': {'$ref': '#/definitions/caveat'},
15304 'data': {'items': {'type': 'integer'},
15306 'id': {'$ref': '#/definitions/packet'},
15307 'location': {'$ref': '#/definitions/packet'},
15308 'sig': {'items': {'type': 'integer'},
15310 'required': ['data',
15316 'NotifyWatchResult': {'additionalProperties': False,
15317 'properties': {'Error': {'$ref': '#/definitions/Error'},
15318 'NotifyWatcherId': {'type': 'string'}},
15319 'required': ['NotifyWatcherId', 'Error'],
15321 'RebootActionResult': {'additionalProperties': False,
15322 'properties': {'error': {'$ref': '#/definitions/Error'},
15323 'result': {'type': 'string'}},
15325 'RebootActionResults': {'additionalProperties': False,
15326 'properties': {'results': {'items': {'$ref': '#/definitions/RebootActionResult'},
15329 'caveat': {'additionalProperties': False,
15330 'properties': {'caveatId': {'$ref': '#/definitions/packet'},
15331 'location': {'$ref': '#/definitions/packet'},
15332 'verificationId': {'$ref': '#/definitions/packet'}},
15333 'required': ['location',
15337 'packet': {'additionalProperties': False,
15338 'properties': {'headerLen': {'type': 'integer'},
15339 'start': {'type': 'integer'},
15340 'totalLen': {'type': 'integer'}},
15341 'required': ['start', 'totalLen', 'headerLen'],
15342 'type': 'object'}},
15343 'properties': {'ClearReboot': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
15344 'Result': {'$ref': '#/definitions/ErrorResults'}},
15346 'GetRebootAction': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
15347 'Result': {'$ref': '#/definitions/RebootActionResults'}},
15349 'RequestReboot': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
15350 'Result': {'$ref': '#/definitions/ErrorResults'}},
15352 'WatchForRebootEvent': {'properties': {'Result': {'$ref': '#/definitions/NotifyWatchResult'}},
15353 'type': 'object'}},
15357 @ReturnMapping(ErrorResults
)
15358 async def ClearReboot(self
, entities
):
15360 entities : typing.Sequence[~Entity]
15361 Returns -> typing.Sequence[~ErrorResult]
15363 # map input types to rpc msg
15365 msg
= dict(Type
='Reboot', Request
='ClearReboot', Version
=2, Params
=params
)
15366 params
['Entities'] = entities
15367 reply
= await self
.rpc(msg
)
15372 @ReturnMapping(RebootActionResults
)
15373 async def GetRebootAction(self
, entities
):
15375 entities : typing.Sequence[~Entity]
15376 Returns -> typing.Sequence[~RebootActionResult]
15378 # map input types to rpc msg
15380 msg
= dict(Type
='Reboot', Request
='GetRebootAction', Version
=2, Params
=params
)
15381 params
['Entities'] = entities
15382 reply
= await self
.rpc(msg
)
15387 @ReturnMapping(ErrorResults
)
15388 async def RequestReboot(self
, entities
):
15390 entities : typing.Sequence[~Entity]
15391 Returns -> typing.Sequence[~ErrorResult]
15393 # map input types to rpc msg
15395 msg
= dict(Type
='Reboot', Request
='RequestReboot', Version
=2, Params
=params
)
15396 params
['Entities'] = entities
15397 reply
= await self
.rpc(msg
)
15402 @ReturnMapping(NotifyWatchResult
)
15403 async def WatchForRebootEvent(self
):
15406 Returns -> typing.Union[_ForwardRef('Error'), str]
15408 # map input types to rpc msg
15410 msg
= dict(Type
='Reboot', Request
='WatchForRebootEvent', Version
=2, Params
=params
)
15412 reply
= await self
.rpc(msg
)
15416 class RelationUnitsWatcherFacade(Type
):
15417 name
= 'RelationUnitsWatcher'
15419 schema
= {'definitions': {'Error': {'additionalProperties': False,
15420 'properties': {'Code': {'type': 'string'},
15421 'Info': {'$ref': '#/definitions/ErrorInfo'},
15422 'Message': {'type': 'string'}},
15423 'required': ['Message', 'Code'],
15425 'ErrorInfo': {'additionalProperties': False,
15426 'properties': {'Macaroon': {'$ref': '#/definitions/Macaroon'},
15427 'MacaroonPath': {'type': 'string'}},
15429 'Macaroon': {'additionalProperties': False,
15430 'properties': {'caveats': {'items': {'$ref': '#/definitions/caveat'},
15432 'data': {'items': {'type': 'integer'},
15434 'id': {'$ref': '#/definitions/packet'},
15435 'location': {'$ref': '#/definitions/packet'},
15436 'sig': {'items': {'type': 'integer'},
15438 'required': ['data',
15444 'RelationUnitsChange': {'additionalProperties': False,
15445 'properties': {'Changed': {'patternProperties': {'.*': {'$ref': '#/definitions/UnitSettings'}},
15447 'Departed': {'items': {'type': 'string'},
15449 'required': ['Changed', 'Departed'],
15451 'RelationUnitsWatchResult': {'additionalProperties': False,
15452 'properties': {'Changes': {'$ref': '#/definitions/RelationUnitsChange'},
15453 'Error': {'$ref': '#/definitions/Error'},
15454 'RelationUnitsWatcherId': {'type': 'string'}},
15455 'required': ['RelationUnitsWatcherId',
15459 'UnitSettings': {'additionalProperties': False,
15460 'properties': {'Version': {'type': 'integer'}},
15461 'required': ['Version'],
15463 'caveat': {'additionalProperties': False,
15464 'properties': {'caveatId': {'$ref': '#/definitions/packet'},
15465 'location': {'$ref': '#/definitions/packet'},
15466 'verificationId': {'$ref': '#/definitions/packet'}},
15467 'required': ['location',
15471 'packet': {'additionalProperties': False,
15472 'properties': {'headerLen': {'type': 'integer'},
15473 'start': {'type': 'integer'},
15474 'totalLen': {'type': 'integer'}},
15475 'required': ['start', 'totalLen', 'headerLen'],
15476 'type': 'object'}},
15477 'properties': {'Next': {'properties': {'Result': {'$ref': '#/definitions/RelationUnitsWatchResult'}},
15479 'Stop': {'type': 'object'}},
15483 @ReturnMapping(RelationUnitsWatchResult
)
15484 async def Next(self
):
15487 Returns -> typing.Union[_ForwardRef('RelationUnitsChange'), _ForwardRef('Error'), str]
15489 # map input types to rpc msg
15491 msg
= dict(Type
='RelationUnitsWatcher', Request
='Next', Version
=1, Params
=params
)
15493 reply
= await self
.rpc(msg
)
15498 @ReturnMapping(None)
15499 async def Stop(self
):
15504 # map input types to rpc msg
15506 msg
= dict(Type
='RelationUnitsWatcher', Request
='Stop', Version
=1, Params
=params
)
15508 reply
= await self
.rpc(msg
)
15512 class ResumerFacade(Type
):
15515 schema
= {'properties': {'ResumeTransactions': {'type': 'object'}}, 'type': 'object'}
15518 @ReturnMapping(None)
15519 async def ResumeTransactions(self
):
15524 # map input types to rpc msg
15526 msg
= dict(Type
='Resumer', Request
='ResumeTransactions', Version
=2, Params
=params
)
15528 reply
= await self
.rpc(msg
)
15532 class RetryStrategyFacade(Type
):
15533 name
= 'RetryStrategy'
15535 schema
= {'definitions': {'Entities': {'additionalProperties': False,
15536 'properties': {'Entities': {'items': {'$ref': '#/definitions/Entity'},
15538 'required': ['Entities'],
15540 'Entity': {'additionalProperties': False,
15541 'properties': {'Tag': {'type': 'string'}},
15542 'required': ['Tag'],
15544 'Error': {'additionalProperties': False,
15545 'properties': {'Code': {'type': 'string'},
15546 'Info': {'$ref': '#/definitions/ErrorInfo'},
15547 'Message': {'type': 'string'}},
15548 'required': ['Message', 'Code'],
15550 'ErrorInfo': {'additionalProperties': False,
15551 'properties': {'Macaroon': {'$ref': '#/definitions/Macaroon'},
15552 'MacaroonPath': {'type': 'string'}},
15554 'Macaroon': {'additionalProperties': False,
15555 'properties': {'caveats': {'items': {'$ref': '#/definitions/caveat'},
15557 'data': {'items': {'type': 'integer'},
15559 'id': {'$ref': '#/definitions/packet'},
15560 'location': {'$ref': '#/definitions/packet'},
15561 'sig': {'items': {'type': 'integer'},
15563 'required': ['data',
15569 'NotifyWatchResult': {'additionalProperties': False,
15570 'properties': {'Error': {'$ref': '#/definitions/Error'},
15571 'NotifyWatcherId': {'type': 'string'}},
15572 'required': ['NotifyWatcherId', 'Error'],
15574 'NotifyWatchResults': {'additionalProperties': False,
15575 'properties': {'Results': {'items': {'$ref': '#/definitions/NotifyWatchResult'},
15577 'required': ['Results'],
15579 'RetryStrategy': {'additionalProperties': False,
15580 'properties': {'JitterRetryTime': {'type': 'boolean'},
15581 'MaxRetryTime': {'type': 'integer'},
15582 'MinRetryTime': {'type': 'integer'},
15583 'RetryTimeFactor': {'type': 'integer'},
15584 'ShouldRetry': {'type': 'boolean'}},
15585 'required': ['ShouldRetry',
15589 'RetryTimeFactor'],
15591 'RetryStrategyResult': {'additionalProperties': False,
15592 'properties': {'Error': {'$ref': '#/definitions/Error'},
15593 'Result': {'$ref': '#/definitions/RetryStrategy'}},
15594 'required': ['Error', 'Result'],
15596 'RetryStrategyResults': {'additionalProperties': False,
15597 'properties': {'Results': {'items': {'$ref': '#/definitions/RetryStrategyResult'},
15599 'required': ['Results'],
15601 'caveat': {'additionalProperties': False,
15602 'properties': {'caveatId': {'$ref': '#/definitions/packet'},
15603 'location': {'$ref': '#/definitions/packet'},
15604 'verificationId': {'$ref': '#/definitions/packet'}},
15605 'required': ['location',
15609 'packet': {'additionalProperties': False,
15610 'properties': {'headerLen': {'type': 'integer'},
15611 'start': {'type': 'integer'},
15612 'totalLen': {'type': 'integer'}},
15613 'required': ['start', 'totalLen', 'headerLen'],
15614 'type': 'object'}},
15615 'properties': {'RetryStrategy': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
15616 'Result': {'$ref': '#/definitions/RetryStrategyResults'}},
15618 'WatchRetryStrategy': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
15619 'Result': {'$ref': '#/definitions/NotifyWatchResults'}},
15620 'type': 'object'}},
15624 @ReturnMapping(RetryStrategyResults
)
15625 async def RetryStrategy(self
, entities
):
15627 entities : typing.Sequence[~Entity]
15628 Returns -> typing.Sequence[~RetryStrategyResult]
15630 # map input types to rpc msg
15632 msg
= dict(Type
='RetryStrategy', Request
='RetryStrategy', Version
=1, Params
=params
)
15633 params
['Entities'] = entities
15634 reply
= await self
.rpc(msg
)
15639 @ReturnMapping(NotifyWatchResults
)
15640 async def WatchRetryStrategy(self
, entities
):
15642 entities : typing.Sequence[~Entity]
15643 Returns -> typing.Sequence[~NotifyWatchResult]
15645 # map input types to rpc msg
15647 msg
= dict(Type
='RetryStrategy', Request
='WatchRetryStrategy', Version
=1, Params
=params
)
15648 params
['Entities'] = entities
15649 reply
= await self
.rpc(msg
)
15653 class SSHClientFacade(Type
):
15656 schema
= {'definitions': {'Entities': {'additionalProperties': False,
15657 'properties': {'Entities': {'items': {'$ref': '#/definitions/Entity'},
15659 'required': ['Entities'],
15661 'Entity': {'additionalProperties': False,
15662 'properties': {'Tag': {'type': 'string'}},
15663 'required': ['Tag'],
15665 'Error': {'additionalProperties': False,
15666 'properties': {'Code': {'type': 'string'},
15667 'Info': {'$ref': '#/definitions/ErrorInfo'},
15668 'Message': {'type': 'string'}},
15669 'required': ['Message', 'Code'],
15671 'ErrorInfo': {'additionalProperties': False,
15672 'properties': {'Macaroon': {'$ref': '#/definitions/Macaroon'},
15673 'MacaroonPath': {'type': 'string'}},
15675 'Macaroon': {'additionalProperties': False,
15676 'properties': {'caveats': {'items': {'$ref': '#/definitions/caveat'},
15678 'data': {'items': {'type': 'integer'},
15680 'id': {'$ref': '#/definitions/packet'},
15681 'location': {'$ref': '#/definitions/packet'},
15682 'sig': {'items': {'type': 'integer'},
15684 'required': ['data',
15690 'SSHAddressResult': {'additionalProperties': False,
15691 'properties': {'address': {'type': 'string'},
15692 'error': {'$ref': '#/definitions/Error'}},
15694 'SSHAddressResults': {'additionalProperties': False,
15695 'properties': {'results': {'items': {'$ref': '#/definitions/SSHAddressResult'},
15697 'required': ['results'],
15699 'SSHProxyResult': {'additionalProperties': False,
15700 'properties': {'use-proxy': {'type': 'boolean'}},
15701 'required': ['use-proxy'],
15703 'SSHPublicKeysResult': {'additionalProperties': False,
15704 'properties': {'error': {'$ref': '#/definitions/Error'},
15705 'public-keys': {'items': {'type': 'string'},
15708 'SSHPublicKeysResults': {'additionalProperties': False,
15709 'properties': {'results': {'items': {'$ref': '#/definitions/SSHPublicKeysResult'},
15711 'required': ['results'],
15713 'caveat': {'additionalProperties': False,
15714 'properties': {'caveatId': {'$ref': '#/definitions/packet'},
15715 'location': {'$ref': '#/definitions/packet'},
15716 'verificationId': {'$ref': '#/definitions/packet'}},
15717 'required': ['location',
15721 'packet': {'additionalProperties': False,
15722 'properties': {'headerLen': {'type': 'integer'},
15723 'start': {'type': 'integer'},
15724 'totalLen': {'type': 'integer'}},
15725 'required': ['start', 'totalLen', 'headerLen'],
15726 'type': 'object'}},
15727 'properties': {'PrivateAddress': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
15728 'Result': {'$ref': '#/definitions/SSHAddressResults'}},
15730 'Proxy': {'properties': {'Result': {'$ref': '#/definitions/SSHProxyResult'}},
15732 'PublicAddress': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
15733 'Result': {'$ref': '#/definitions/SSHAddressResults'}},
15735 'PublicKeys': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
15736 'Result': {'$ref': '#/definitions/SSHPublicKeysResults'}},
15737 'type': 'object'}},
15741 @ReturnMapping(SSHAddressResults
)
15742 async def PrivateAddress(self
, entities
):
15744 entities : typing.Sequence[~Entity]
15745 Returns -> typing.Sequence[~SSHAddressResult]
15747 # map input types to rpc msg
15749 msg
= dict(Type
='SSHClient', Request
='PrivateAddress', Version
=1, Params
=params
)
15750 params
['Entities'] = entities
15751 reply
= await self
.rpc(msg
)
15756 @ReturnMapping(SSHProxyResult
)
15757 async def Proxy(self
):
15762 # map input types to rpc msg
15764 msg
= dict(Type
='SSHClient', Request
='Proxy', Version
=1, Params
=params
)
15766 reply
= await self
.rpc(msg
)
15771 @ReturnMapping(SSHAddressResults
)
15772 async def PublicAddress(self
, entities
):
15774 entities : typing.Sequence[~Entity]
15775 Returns -> typing.Sequence[~SSHAddressResult]
15777 # map input types to rpc msg
15779 msg
= dict(Type
='SSHClient', Request
='PublicAddress', Version
=1, Params
=params
)
15780 params
['Entities'] = entities
15781 reply
= await self
.rpc(msg
)
15786 @ReturnMapping(SSHPublicKeysResults
)
15787 async def PublicKeys(self
, entities
):
15789 entities : typing.Sequence[~Entity]
15790 Returns -> typing.Sequence[~SSHPublicKeysResult]
15792 # map input types to rpc msg
15794 msg
= dict(Type
='SSHClient', Request
='PublicKeys', Version
=1, Params
=params
)
15795 params
['Entities'] = entities
15796 reply
= await self
.rpc(msg
)
15800 class SingularFacade(Type
):
15803 schema
= {'definitions': {'Entities': {'additionalProperties': False,
15804 'properties': {'Entities': {'items': {'$ref': '#/definitions/Entity'},
15806 'required': ['Entities'],
15808 'Entity': {'additionalProperties': False,
15809 'properties': {'Tag': {'type': 'string'}},
15810 'required': ['Tag'],
15812 'Error': {'additionalProperties': False,
15813 'properties': {'Code': {'type': 'string'},
15814 'Info': {'$ref': '#/definitions/ErrorInfo'},
15815 'Message': {'type': 'string'}},
15816 'required': ['Message', 'Code'],
15818 'ErrorInfo': {'additionalProperties': False,
15819 'properties': {'Macaroon': {'$ref': '#/definitions/Macaroon'},
15820 'MacaroonPath': {'type': 'string'}},
15822 'ErrorResult': {'additionalProperties': False,
15823 'properties': {'Error': {'$ref': '#/definitions/Error'}},
15824 'required': ['Error'],
15826 'ErrorResults': {'additionalProperties': False,
15827 'properties': {'Results': {'items': {'$ref': '#/definitions/ErrorResult'},
15829 'required': ['Results'],
15831 'Macaroon': {'additionalProperties': False,
15832 'properties': {'caveats': {'items': {'$ref': '#/definitions/caveat'},
15834 'data': {'items': {'type': 'integer'},
15836 'id': {'$ref': '#/definitions/packet'},
15837 'location': {'$ref': '#/definitions/packet'},
15838 'sig': {'items': {'type': 'integer'},
15840 'required': ['data',
15846 'SingularClaim': {'additionalProperties': False,
15847 'properties': {'ControllerTag': {'type': 'string'},
15848 'Duration': {'type': 'integer'},
15849 'ModelTag': {'type': 'string'}},
15850 'required': ['ModelTag',
15854 'SingularClaims': {'additionalProperties': False,
15855 'properties': {'Claims': {'items': {'$ref': '#/definitions/SingularClaim'},
15857 'required': ['Claims'],
15859 'caveat': {'additionalProperties': False,
15860 'properties': {'caveatId': {'$ref': '#/definitions/packet'},
15861 'location': {'$ref': '#/definitions/packet'},
15862 'verificationId': {'$ref': '#/definitions/packet'}},
15863 'required': ['location',
15867 'packet': {'additionalProperties': False,
15868 'properties': {'headerLen': {'type': 'integer'},
15869 'start': {'type': 'integer'},
15870 'totalLen': {'type': 'integer'}},
15871 'required': ['start', 'totalLen', 'headerLen'],
15872 'type': 'object'}},
15873 'properties': {'Claim': {'properties': {'Params': {'$ref': '#/definitions/SingularClaims'},
15874 'Result': {'$ref': '#/definitions/ErrorResults'}},
15876 'Wait': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
15877 'Result': {'$ref': '#/definitions/ErrorResults'}},
15878 'type': 'object'}},
15882 @ReturnMapping(ErrorResults
)
15883 async def Claim(self
, claims
):
15885 claims : typing.Sequence[~SingularClaim]
15886 Returns -> typing.Sequence[~ErrorResult]
15888 # map input types to rpc msg
15890 msg
= dict(Type
='Singular', Request
='Claim', Version
=1, Params
=params
)
15891 params
['Claims'] = claims
15892 reply
= await self
.rpc(msg
)
15897 @ReturnMapping(ErrorResults
)
15898 async def Wait(self
, entities
):
15900 entities : typing.Sequence[~Entity]
15901 Returns -> typing.Sequence[~ErrorResult]
15903 # map input types to rpc msg
15905 msg
= dict(Type
='Singular', Request
='Wait', Version
=1, Params
=params
)
15906 params
['Entities'] = entities
15907 reply
= await self
.rpc(msg
)
15911 class SpacesFacade(Type
):
15914 schema
= {'definitions': {'CreateSpaceParams': {'additionalProperties': False,
15915 'properties': {'ProviderId': {'type': 'string'},
15916 'Public': {'type': 'boolean'},
15917 'SpaceTag': {'type': 'string'},
15918 'SubnetTags': {'items': {'type': 'string'},
15920 'required': ['SubnetTags',
15924 'CreateSpacesParams': {'additionalProperties': False,
15925 'properties': {'Spaces': {'items': {'$ref': '#/definitions/CreateSpaceParams'},
15927 'required': ['Spaces'],
15929 'Error': {'additionalProperties': False,
15930 'properties': {'Code': {'type': 'string'},
15931 'Info': {'$ref': '#/definitions/ErrorInfo'},
15932 'Message': {'type': 'string'}},
15933 'required': ['Message', 'Code'],
15935 'ErrorInfo': {'additionalProperties': False,
15936 'properties': {'Macaroon': {'$ref': '#/definitions/Macaroon'},
15937 'MacaroonPath': {'type': 'string'}},
15939 'ErrorResult': {'additionalProperties': False,
15940 'properties': {'Error': {'$ref': '#/definitions/Error'}},
15941 'required': ['Error'],
15943 'ErrorResults': {'additionalProperties': False,
15944 'properties': {'Results': {'items': {'$ref': '#/definitions/ErrorResult'},
15946 'required': ['Results'],
15948 'ListSpacesResults': {'additionalProperties': False,
15949 'properties': {'Results': {'items': {'$ref': '#/definitions/Space'},
15951 'required': ['Results'],
15953 'Macaroon': {'additionalProperties': False,
15954 'properties': {'caveats': {'items': {'$ref': '#/definitions/caveat'},
15956 'data': {'items': {'type': 'integer'},
15958 'id': {'$ref': '#/definitions/packet'},
15959 'location': {'$ref': '#/definitions/packet'},
15960 'sig': {'items': {'type': 'integer'},
15962 'required': ['data',
15968 'Space': {'additionalProperties': False,
15969 'properties': {'Error': {'$ref': '#/definitions/Error'},
15970 'Name': {'type': 'string'},
15971 'Subnets': {'items': {'$ref': '#/definitions/Subnet'},
15973 'required': ['Name', 'Subnets'],
15975 'Subnet': {'additionalProperties': False,
15976 'properties': {'CIDR': {'type': 'string'},
15977 'Life': {'type': 'string'},
15978 'ProviderId': {'type': 'string'},
15979 'SpaceTag': {'type': 'string'},
15980 'StaticRangeHighIP': {'items': {'type': 'integer'},
15982 'StaticRangeLowIP': {'items': {'type': 'integer'},
15984 'Status': {'type': 'string'},
15985 'VLANTag': {'type': 'integer'},
15986 'Zones': {'items': {'type': 'string'},
15988 'required': ['CIDR',
15994 'caveat': {'additionalProperties': False,
15995 'properties': {'caveatId': {'$ref': '#/definitions/packet'},
15996 'location': {'$ref': '#/definitions/packet'},
15997 'verificationId': {'$ref': '#/definitions/packet'}},
15998 'required': ['location',
16002 'packet': {'additionalProperties': False,
16003 'properties': {'headerLen': {'type': 'integer'},
16004 'start': {'type': 'integer'},
16005 'totalLen': {'type': 'integer'}},
16006 'required': ['start', 'totalLen', 'headerLen'],
16007 'type': 'object'}},
16008 'properties': {'CreateSpaces': {'properties': {'Params': {'$ref': '#/definitions/CreateSpacesParams'},
16009 'Result': {'$ref': '#/definitions/ErrorResults'}},
16011 'ListSpaces': {'properties': {'Result': {'$ref': '#/definitions/ListSpacesResults'}},
16012 'type': 'object'}},
16016 @ReturnMapping(ErrorResults
)
16017 async def CreateSpaces(self
, spaces
):
16019 spaces : typing.Sequence[~CreateSpaceParams]
16020 Returns -> typing.Sequence[~ErrorResult]
16022 # map input types to rpc msg
16024 msg
= dict(Type
='Spaces', Request
='CreateSpaces', Version
=2, Params
=params
)
16025 params
['Spaces'] = spaces
16026 reply
= await self
.rpc(msg
)
16031 @ReturnMapping(ListSpacesResults
)
16032 async def ListSpaces(self
):
16035 Returns -> typing.Sequence[~Space]
16037 # map input types to rpc msg
16039 msg
= dict(Type
='Spaces', Request
='ListSpaces', Version
=2, Params
=params
)
16041 reply
= await self
.rpc(msg
)
16045 class StatusHistoryFacade(Type
):
16046 name
= 'StatusHistory'
16048 schema
= {'definitions': {'StatusHistoryPruneArgs': {'additionalProperties': False,
16049 'properties': {'MaxHistoryMB': {'type': 'integer'},
16050 'MaxHistoryTime': {'type': 'integer'}},
16051 'required': ['MaxHistoryTime',
16053 'type': 'object'}},
16054 'properties': {'Prune': {'properties': {'Params': {'$ref': '#/definitions/StatusHistoryPruneArgs'}},
16055 'type': 'object'}},
16059 @ReturnMapping(None)
16060 async def Prune(self
, maxhistorymb
, maxhistorytime
):
16063 maxhistorytime : int
16066 # map input types to rpc msg
16068 msg
= dict(Type
='StatusHistory', Request
='Prune', Version
=2, Params
=params
)
16069 params
['MaxHistoryMB'] = maxhistorymb
16070 params
['MaxHistoryTime'] = maxhistorytime
16071 reply
= await self
.rpc(msg
)
16075 class StorageFacade(Type
):
16078 schema
= {'definitions': {'Entities': {'additionalProperties': False,
16079 'properties': {'Entities': {'items': {'$ref': '#/definitions/Entity'},
16081 'required': ['Entities'],
16083 'Entity': {'additionalProperties': False,
16084 'properties': {'Tag': {'type': 'string'}},
16085 'required': ['Tag'],
16087 'EntityStatus': {'additionalProperties': False,
16088 'properties': {'Data': {'patternProperties': {'.*': {'additionalProperties': True,
16089 'type': 'object'}},
16091 'Info': {'type': 'string'},
16092 'Since': {'format': 'date-time',
16094 'Status': {'type': 'string'}},
16095 'required': ['Status',
16100 'Error': {'additionalProperties': False,
16101 'properties': {'Code': {'type': 'string'},
16102 'Info': {'$ref': '#/definitions/ErrorInfo'},
16103 'Message': {'type': 'string'}},
16104 'required': ['Message', 'Code'],
16106 'ErrorInfo': {'additionalProperties': False,
16107 'properties': {'Macaroon': {'$ref': '#/definitions/Macaroon'},
16108 'MacaroonPath': {'type': 'string'}},
16110 'ErrorResult': {'additionalProperties': False,
16111 'properties': {'Error': {'$ref': '#/definitions/Error'}},
16112 'required': ['Error'],
16114 'ErrorResults': {'additionalProperties': False,
16115 'properties': {'Results': {'items': {'$ref': '#/definitions/ErrorResult'},
16117 'required': ['Results'],
16119 'FilesystemAttachmentInfo': {'additionalProperties': False,
16120 'properties': {'mountpoint': {'type': 'string'},
16121 'read-only': {'type': 'boolean'}},
16123 'FilesystemDetails': {'additionalProperties': False,
16124 'properties': {'filesystemtag': {'type': 'string'},
16125 'info': {'$ref': '#/definitions/FilesystemInfo'},
16126 'machineattachments': {'patternProperties': {'.*': {'$ref': '#/definitions/FilesystemAttachmentInfo'}},
16128 'status': {'$ref': '#/definitions/EntityStatus'},
16129 'storage': {'$ref': '#/definitions/StorageDetails'},
16130 'volumetag': {'type': 'string'}},
16131 'required': ['filesystemtag',
16135 'FilesystemDetailsListResult': {'additionalProperties': False,
16136 'properties': {'error': {'$ref': '#/definitions/Error'},
16137 'result': {'items': {'$ref': '#/definitions/FilesystemDetails'},
16140 'FilesystemDetailsListResults': {'additionalProperties': False,
16141 'properties': {'results': {'items': {'$ref': '#/definitions/FilesystemDetailsListResult'},
16144 'FilesystemFilter': {'additionalProperties': False,
16145 'properties': {'machines': {'items': {'type': 'string'},
16148 'FilesystemFilters': {'additionalProperties': False,
16149 'properties': {'filters': {'items': {'$ref': '#/definitions/FilesystemFilter'},
16152 'FilesystemInfo': {'additionalProperties': False,
16153 'properties': {'filesystemid': {'type': 'string'},
16154 'size': {'type': 'integer'}},
16155 'required': ['filesystemid', 'size'],
16157 'Macaroon': {'additionalProperties': False,
16158 'properties': {'caveats': {'items': {'$ref': '#/definitions/caveat'},
16160 'data': {'items': {'type': 'integer'},
16162 'id': {'$ref': '#/definitions/packet'},
16163 'location': {'$ref': '#/definitions/packet'},
16164 'sig': {'items': {'type': 'integer'},
16166 'required': ['data',
16172 'StorageAddParams': {'additionalProperties': False,
16173 'properties': {'StorageName': {'type': 'string'},
16174 'storage': {'$ref': '#/definitions/StorageConstraints'},
16175 'unit': {'type': 'string'}},
16176 'required': ['unit',
16180 'StorageAttachmentDetails': {'additionalProperties': False,
16181 'properties': {'location': {'type': 'string'},
16182 'machinetag': {'type': 'string'},
16183 'storagetag': {'type': 'string'},
16184 'unittag': {'type': 'string'}},
16185 'required': ['storagetag',
16189 'StorageConstraints': {'additionalProperties': False,
16190 'properties': {'Count': {'type': 'integer'},
16191 'Pool': {'type': 'string'},
16192 'Size': {'type': 'integer'}},
16193 'required': ['Pool', 'Size', 'Count'],
16195 'StorageDetails': {'additionalProperties': False,
16196 'properties': {'Persistent': {'type': 'boolean'},
16197 'attachments': {'patternProperties': {'.*': {'$ref': '#/definitions/StorageAttachmentDetails'}},
16199 'kind': {'type': 'integer'},
16200 'ownertag': {'type': 'string'},
16201 'status': {'$ref': '#/definitions/EntityStatus'},
16202 'storagetag': {'type': 'string'}},
16203 'required': ['storagetag',
16209 'StorageDetailsListResult': {'additionalProperties': False,
16210 'properties': {'error': {'$ref': '#/definitions/Error'},
16211 'result': {'items': {'$ref': '#/definitions/StorageDetails'},
16214 'StorageDetailsListResults': {'additionalProperties': False,
16215 'properties': {'results': {'items': {'$ref': '#/definitions/StorageDetailsListResult'},
16218 'StorageDetailsResult': {'additionalProperties': False,
16219 'properties': {'error': {'$ref': '#/definitions/Error'},
16220 'result': {'$ref': '#/definitions/StorageDetails'}},
16222 'StorageDetailsResults': {'additionalProperties': False,
16223 'properties': {'results': {'items': {'$ref': '#/definitions/StorageDetailsResult'},
16226 'StorageFilter': {'additionalProperties': False,
16228 'StorageFilters': {'additionalProperties': False,
16229 'properties': {'filters': {'items': {'$ref': '#/definitions/StorageFilter'},
16232 'StoragePool': {'additionalProperties': False,
16233 'properties': {'attrs': {'patternProperties': {'.*': {'additionalProperties': True,
16234 'type': 'object'}},
16236 'name': {'type': 'string'},
16237 'provider': {'type': 'string'}},
16238 'required': ['name', 'provider', 'attrs'],
16240 'StoragePoolFilter': {'additionalProperties': False,
16241 'properties': {'names': {'items': {'type': 'string'},
16243 'providers': {'items': {'type': 'string'},
16246 'StoragePoolFilters': {'additionalProperties': False,
16247 'properties': {'filters': {'items': {'$ref': '#/definitions/StoragePoolFilter'},
16250 'StoragePoolsResult': {'additionalProperties': False,
16251 'properties': {'error': {'$ref': '#/definitions/Error'},
16252 'storagepools': {'items': {'$ref': '#/definitions/StoragePool'},
16255 'StoragePoolsResults': {'additionalProperties': False,
16256 'properties': {'results': {'items': {'$ref': '#/definitions/StoragePoolsResult'},
16259 'StoragesAddParams': {'additionalProperties': False,
16260 'properties': {'storages': {'items': {'$ref': '#/definitions/StorageAddParams'},
16262 'required': ['storages'],
16264 'VolumeAttachmentInfo': {'additionalProperties': False,
16265 'properties': {'busaddress': {'type': 'string'},
16266 'devicelink': {'type': 'string'},
16267 'devicename': {'type': 'string'},
16268 'read-only': {'type': 'boolean'}},
16270 'VolumeDetails': {'additionalProperties': False,
16271 'properties': {'info': {'$ref': '#/definitions/VolumeInfo'},
16272 'machineattachments': {'patternProperties': {'.*': {'$ref': '#/definitions/VolumeAttachmentInfo'}},
16274 'status': {'$ref': '#/definitions/EntityStatus'},
16275 'storage': {'$ref': '#/definitions/StorageDetails'},
16276 'volumetag': {'type': 'string'}},
16277 'required': ['volumetag', 'info', 'status'],
16279 'VolumeDetailsListResult': {'additionalProperties': False,
16280 'properties': {'error': {'$ref': '#/definitions/Error'},
16281 'result': {'items': {'$ref': '#/definitions/VolumeDetails'},
16284 'VolumeDetailsListResults': {'additionalProperties': False,
16285 'properties': {'results': {'items': {'$ref': '#/definitions/VolumeDetailsListResult'},
16288 'VolumeFilter': {'additionalProperties': False,
16289 'properties': {'machines': {'items': {'type': 'string'},
16292 'VolumeFilters': {'additionalProperties': False,
16293 'properties': {'filters': {'items': {'$ref': '#/definitions/VolumeFilter'},
16296 'VolumeInfo': {'additionalProperties': False,
16297 'properties': {'hardwareid': {'type': 'string'},
16298 'persistent': {'type': 'boolean'},
16299 'size': {'type': 'integer'},
16300 'volumeid': {'type': 'string'}},
16301 'required': ['volumeid', 'size', 'persistent'],
16303 'caveat': {'additionalProperties': False,
16304 'properties': {'caveatId': {'$ref': '#/definitions/packet'},
16305 'location': {'$ref': '#/definitions/packet'},
16306 'verificationId': {'$ref': '#/definitions/packet'}},
16307 'required': ['location',
16311 'packet': {'additionalProperties': False,
16312 'properties': {'headerLen': {'type': 'integer'},
16313 'start': {'type': 'integer'},
16314 'totalLen': {'type': 'integer'}},
16315 'required': ['start', 'totalLen', 'headerLen'],
16316 'type': 'object'}},
16317 'properties': {'AddToUnit': {'properties': {'Params': {'$ref': '#/definitions/StoragesAddParams'},
16318 'Result': {'$ref': '#/definitions/ErrorResults'}},
16320 'CreatePool': {'properties': {'Params': {'$ref': '#/definitions/StoragePool'}},
16322 'ListFilesystems': {'properties': {'Params': {'$ref': '#/definitions/FilesystemFilters'},
16323 'Result': {'$ref': '#/definitions/FilesystemDetailsListResults'}},
16325 'ListPools': {'properties': {'Params': {'$ref': '#/definitions/StoragePoolFilters'},
16326 'Result': {'$ref': '#/definitions/StoragePoolsResults'}},
16328 'ListStorageDetails': {'properties': {'Params': {'$ref': '#/definitions/StorageFilters'},
16329 'Result': {'$ref': '#/definitions/StorageDetailsListResults'}},
16331 'ListVolumes': {'properties': {'Params': {'$ref': '#/definitions/VolumeFilters'},
16332 'Result': {'$ref': '#/definitions/VolumeDetailsListResults'}},
16334 'StorageDetails': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
16335 'Result': {'$ref': '#/definitions/StorageDetailsResults'}},
16336 'type': 'object'}},
16340 @ReturnMapping(ErrorResults
)
16341 async def AddToUnit(self
, storages
):
16343 storages : typing.Sequence[~StorageAddParams]
16344 Returns -> typing.Sequence[~ErrorResult]
16346 # map input types to rpc msg
16348 msg
= dict(Type
='Storage', Request
='AddToUnit', Version
=2, Params
=params
)
16349 params
['storages'] = storages
16350 reply
= await self
.rpc(msg
)
16355 @ReturnMapping(None)
16356 async def CreatePool(self
, attrs
, name
, provider
):
16358 attrs : typing.Mapping[str, typing.Any]
16363 # map input types to rpc msg
16365 msg
= dict(Type
='Storage', Request
='CreatePool', Version
=2, Params
=params
)
16366 params
['attrs'] = attrs
16367 params
['name'] = name
16368 params
['provider'] = provider
16369 reply
= await self
.rpc(msg
)
16374 @ReturnMapping(FilesystemDetailsListResults
)
16375 async def ListFilesystems(self
, filters
):
16377 filters : typing.Sequence[~FilesystemFilter]
16378 Returns -> typing.Sequence[~FilesystemDetailsListResult]
16380 # map input types to rpc msg
16382 msg
= dict(Type
='Storage', Request
='ListFilesystems', Version
=2, Params
=params
)
16383 params
['filters'] = filters
16384 reply
= await self
.rpc(msg
)
16389 @ReturnMapping(StoragePoolsResults
)
16390 async def ListPools(self
, filters
):
16392 filters : typing.Sequence[~StoragePoolFilter]
16393 Returns -> typing.Sequence[~StoragePoolsResult]
16395 # map input types to rpc msg
16397 msg
= dict(Type
='Storage', Request
='ListPools', Version
=2, Params
=params
)
16398 params
['filters'] = filters
16399 reply
= await self
.rpc(msg
)
16404 @ReturnMapping(StorageDetailsListResults
)
16405 async def ListStorageDetails(self
, filters
):
16407 filters : typing.Sequence[~StorageFilter]
16408 Returns -> typing.Sequence[~StorageDetailsListResult]
16410 # map input types to rpc msg
16412 msg
= dict(Type
='Storage', Request
='ListStorageDetails', Version
=2, Params
=params
)
16413 params
['filters'] = filters
16414 reply
= await self
.rpc(msg
)
16419 @ReturnMapping(VolumeDetailsListResults
)
16420 async def ListVolumes(self
, filters
):
16422 filters : typing.Sequence[~VolumeFilter]
16423 Returns -> typing.Sequence[~VolumeDetailsListResult]
16425 # map input types to rpc msg
16427 msg
= dict(Type
='Storage', Request
='ListVolumes', Version
=2, Params
=params
)
16428 params
['filters'] = filters
16429 reply
= await self
.rpc(msg
)
16434 @ReturnMapping(StorageDetailsResults
)
16435 async def StorageDetails(self
, entities
):
16437 entities : typing.Sequence[~Entity]
16438 Returns -> typing.Sequence[~StorageDetailsResult]
16440 # map input types to rpc msg
16442 msg
= dict(Type
='Storage', Request
='StorageDetails', Version
=2, Params
=params
)
16443 params
['Entities'] = entities
16444 reply
= await self
.rpc(msg
)
16448 class StorageProvisionerFacade(Type
):
16449 name
= 'StorageProvisioner'
16451 schema
= {'definitions': {'BlockDevice': {'additionalProperties': False,
16452 'properties': {'BusAddress': {'type': 'string'},
16453 'DeviceLinks': {'items': {'type': 'string'},
16455 'DeviceName': {'type': 'string'},
16456 'FilesystemType': {'type': 'string'},
16457 'HardwareId': {'type': 'string'},
16458 'InUse': {'type': 'boolean'},
16459 'Label': {'type': 'string'},
16460 'MountPoint': {'type': 'string'},
16461 'Size': {'type': 'integer'},
16462 'UUID': {'type': 'string'}},
16463 'required': ['DeviceName',
16474 'BlockDeviceResult': {'additionalProperties': False,
16475 'properties': {'error': {'$ref': '#/definitions/Error'},
16476 'result': {'$ref': '#/definitions/BlockDevice'}},
16477 'required': ['result'],
16479 'BlockDeviceResults': {'additionalProperties': False,
16480 'properties': {'results': {'items': {'$ref': '#/definitions/BlockDeviceResult'},
16483 'Entities': {'additionalProperties': False,
16484 'properties': {'Entities': {'items': {'$ref': '#/definitions/Entity'},
16486 'required': ['Entities'],
16488 'Entity': {'additionalProperties': False,
16489 'properties': {'Tag': {'type': 'string'}},
16490 'required': ['Tag'],
16492 'EntityStatusArgs': {'additionalProperties': False,
16493 'properties': {'Data': {'patternProperties': {'.*': {'additionalProperties': True,
16494 'type': 'object'}},
16496 'Info': {'type': 'string'},
16497 'Status': {'type': 'string'},
16498 'Tag': {'type': 'string'}},
16499 'required': ['Tag',
16504 'Error': {'additionalProperties': False,
16505 'properties': {'Code': {'type': 'string'},
16506 'Info': {'$ref': '#/definitions/ErrorInfo'},
16507 'Message': {'type': 'string'}},
16508 'required': ['Message', 'Code'],
16510 'ErrorInfo': {'additionalProperties': False,
16511 'properties': {'Macaroon': {'$ref': '#/definitions/Macaroon'},
16512 'MacaroonPath': {'type': 'string'}},
16514 'ErrorResult': {'additionalProperties': False,
16515 'properties': {'Error': {'$ref': '#/definitions/Error'}},
16516 'required': ['Error'],
16518 'ErrorResults': {'additionalProperties': False,
16519 'properties': {'Results': {'items': {'$ref': '#/definitions/ErrorResult'},
16521 'required': ['Results'],
16523 'Filesystem': {'additionalProperties': False,
16524 'properties': {'filesystemtag': {'type': 'string'},
16525 'info': {'$ref': '#/definitions/FilesystemInfo'},
16526 'volumetag': {'type': 'string'}},
16527 'required': ['filesystemtag', 'info'],
16529 'FilesystemAttachment': {'additionalProperties': False,
16530 'properties': {'filesystemtag': {'type': 'string'},
16531 'info': {'$ref': '#/definitions/FilesystemAttachmentInfo'},
16532 'machinetag': {'type': 'string'}},
16533 'required': ['filesystemtag',
16537 'FilesystemAttachmentInfo': {'additionalProperties': False,
16538 'properties': {'mountpoint': {'type': 'string'},
16539 'read-only': {'type': 'boolean'}},
16541 'FilesystemAttachmentParams': {'additionalProperties': False,
16542 'properties': {'filesystemid': {'type': 'string'},
16543 'filesystemtag': {'type': 'string'},
16544 'instanceid': {'type': 'string'},
16545 'machinetag': {'type': 'string'},
16546 'mountpoint': {'type': 'string'},
16547 'provider': {'type': 'string'},
16548 'read-only': {'type': 'boolean'}},
16549 'required': ['filesystemtag',
16553 'FilesystemAttachmentParamsResult': {'additionalProperties': False,
16554 'properties': {'error': {'$ref': '#/definitions/Error'},
16555 'result': {'$ref': '#/definitions/FilesystemAttachmentParams'}},
16556 'required': ['result'],
16558 'FilesystemAttachmentParamsResults': {'additionalProperties': False,
16559 'properties': {'results': {'items': {'$ref': '#/definitions/FilesystemAttachmentParamsResult'},
16562 'FilesystemAttachmentResult': {'additionalProperties': False,
16563 'properties': {'error': {'$ref': '#/definitions/Error'},
16564 'result': {'$ref': '#/definitions/FilesystemAttachment'}},
16565 'required': ['result'],
16567 'FilesystemAttachmentResults': {'additionalProperties': False,
16568 'properties': {'results': {'items': {'$ref': '#/definitions/FilesystemAttachmentResult'},
16571 'FilesystemAttachments': {'additionalProperties': False,
16572 'properties': {'filesystemattachments': {'items': {'$ref': '#/definitions/FilesystemAttachment'},
16574 'required': ['filesystemattachments'],
16576 'FilesystemInfo': {'additionalProperties': False,
16577 'properties': {'filesystemid': {'type': 'string'},
16578 'size': {'type': 'integer'}},
16579 'required': ['filesystemid', 'size'],
16581 'FilesystemParams': {'additionalProperties': False,
16582 'properties': {'attachment': {'$ref': '#/definitions/FilesystemAttachmentParams'},
16583 'attributes': {'patternProperties': {'.*': {'additionalProperties': True,
16584 'type': 'object'}},
16586 'filesystemtag': {'type': 'string'},
16587 'provider': {'type': 'string'},
16588 'size': {'type': 'integer'},
16589 'tags': {'patternProperties': {'.*': {'type': 'string'}},
16591 'volumetag': {'type': 'string'}},
16592 'required': ['filesystemtag',
16596 'FilesystemParamsResult': {'additionalProperties': False,
16597 'properties': {'error': {'$ref': '#/definitions/Error'},
16598 'result': {'$ref': '#/definitions/FilesystemParams'}},
16599 'required': ['result'],
16601 'FilesystemParamsResults': {'additionalProperties': False,
16602 'properties': {'results': {'items': {'$ref': '#/definitions/FilesystemParamsResult'},
16605 'FilesystemResult': {'additionalProperties': False,
16606 'properties': {'error': {'$ref': '#/definitions/Error'},
16607 'result': {'$ref': '#/definitions/Filesystem'}},
16608 'required': ['result'],
16610 'FilesystemResults': {'additionalProperties': False,
16611 'properties': {'results': {'items': {'$ref': '#/definitions/FilesystemResult'},
16614 'Filesystems': {'additionalProperties': False,
16615 'properties': {'filesystems': {'items': {'$ref': '#/definitions/Filesystem'},
16617 'required': ['filesystems'],
16619 'LifeResult': {'additionalProperties': False,
16620 'properties': {'Error': {'$ref': '#/definitions/Error'},
16621 'Life': {'type': 'string'}},
16622 'required': ['Life', 'Error'],
16624 'LifeResults': {'additionalProperties': False,
16625 'properties': {'Results': {'items': {'$ref': '#/definitions/LifeResult'},
16627 'required': ['Results'],
16629 'Macaroon': {'additionalProperties': False,
16630 'properties': {'caveats': {'items': {'$ref': '#/definitions/caveat'},
16632 'data': {'items': {'type': 'integer'},
16634 'id': {'$ref': '#/definitions/packet'},
16635 'location': {'$ref': '#/definitions/packet'},
16636 'sig': {'items': {'type': 'integer'},
16638 'required': ['data',
16644 'MachineStorageId': {'additionalProperties': False,
16645 'properties': {'attachmenttag': {'type': 'string'},
16646 'machinetag': {'type': 'string'}},
16647 'required': ['machinetag',
16650 'MachineStorageIds': {'additionalProperties': False,
16651 'properties': {'ids': {'items': {'$ref': '#/definitions/MachineStorageId'},
16653 'required': ['ids'],
16655 'MachineStorageIdsWatchResult': {'additionalProperties': False,
16656 'properties': {'Changes': {'items': {'$ref': '#/definitions/MachineStorageId'},
16658 'Error': {'$ref': '#/definitions/Error'},
16659 'MachineStorageIdsWatcherId': {'type': 'string'}},
16660 'required': ['MachineStorageIdsWatcherId',
16664 'MachineStorageIdsWatchResults': {'additionalProperties': False,
16665 'properties': {'Results': {'items': {'$ref': '#/definitions/MachineStorageIdsWatchResult'},
16667 'required': ['Results'],
16669 'ModelConfigResult': {'additionalProperties': False,
16670 'properties': {'Config': {'patternProperties': {'.*': {'additionalProperties': True,
16671 'type': 'object'}},
16672 'type': 'object'}},
16673 'required': ['Config'],
16675 'NotifyWatchResult': {'additionalProperties': False,
16676 'properties': {'Error': {'$ref': '#/definitions/Error'},
16677 'NotifyWatcherId': {'type': 'string'}},
16678 'required': ['NotifyWatcherId', 'Error'],
16680 'NotifyWatchResults': {'additionalProperties': False,
16681 'properties': {'Results': {'items': {'$ref': '#/definitions/NotifyWatchResult'},
16683 'required': ['Results'],
16685 'SetStatus': {'additionalProperties': False,
16686 'properties': {'Entities': {'items': {'$ref': '#/definitions/EntityStatusArgs'},
16688 'required': ['Entities'],
16690 'StringResult': {'additionalProperties': False,
16691 'properties': {'Error': {'$ref': '#/definitions/Error'},
16692 'Result': {'type': 'string'}},
16693 'required': ['Error', 'Result'],
16695 'StringResults': {'additionalProperties': False,
16696 'properties': {'Results': {'items': {'$ref': '#/definitions/StringResult'},
16698 'required': ['Results'],
16700 'StringsWatchResult': {'additionalProperties': False,
16701 'properties': {'Changes': {'items': {'type': 'string'},
16703 'Error': {'$ref': '#/definitions/Error'},
16704 'StringsWatcherId': {'type': 'string'}},
16705 'required': ['StringsWatcherId',
16709 'StringsWatchResults': {'additionalProperties': False,
16710 'properties': {'Results': {'items': {'$ref': '#/definitions/StringsWatchResult'},
16712 'required': ['Results'],
16714 'Volume': {'additionalProperties': False,
16715 'properties': {'info': {'$ref': '#/definitions/VolumeInfo'},
16716 'volumetag': {'type': 'string'}},
16717 'required': ['volumetag', 'info'],
16719 'VolumeAttachment': {'additionalProperties': False,
16720 'properties': {'info': {'$ref': '#/definitions/VolumeAttachmentInfo'},
16721 'machinetag': {'type': 'string'},
16722 'volumetag': {'type': 'string'}},
16723 'required': ['volumetag',
16727 'VolumeAttachmentInfo': {'additionalProperties': False,
16728 'properties': {'busaddress': {'type': 'string'},
16729 'devicelink': {'type': 'string'},
16730 'devicename': {'type': 'string'},
16731 'read-only': {'type': 'boolean'}},
16733 'VolumeAttachmentParams': {'additionalProperties': False,
16734 'properties': {'instanceid': {'type': 'string'},
16735 'machinetag': {'type': 'string'},
16736 'provider': {'type': 'string'},
16737 'read-only': {'type': 'boolean'},
16738 'volumeid': {'type': 'string'},
16739 'volumetag': {'type': 'string'}},
16740 'required': ['volumetag',
16744 'VolumeAttachmentParamsResult': {'additionalProperties': False,
16745 'properties': {'error': {'$ref': '#/definitions/Error'},
16746 'result': {'$ref': '#/definitions/VolumeAttachmentParams'}},
16747 'required': ['result'],
16749 'VolumeAttachmentParamsResults': {'additionalProperties': False,
16750 'properties': {'results': {'items': {'$ref': '#/definitions/VolumeAttachmentParamsResult'},
16753 'VolumeAttachmentResult': {'additionalProperties': False,
16754 'properties': {'error': {'$ref': '#/definitions/Error'},
16755 'result': {'$ref': '#/definitions/VolumeAttachment'}},
16756 'required': ['result'],
16758 'VolumeAttachmentResults': {'additionalProperties': False,
16759 'properties': {'results': {'items': {'$ref': '#/definitions/VolumeAttachmentResult'},
16762 'VolumeAttachments': {'additionalProperties': False,
16763 'properties': {'volumeattachments': {'items': {'$ref': '#/definitions/VolumeAttachment'},
16765 'required': ['volumeattachments'],
16767 'VolumeInfo': {'additionalProperties': False,
16768 'properties': {'hardwareid': {'type': 'string'},
16769 'persistent': {'type': 'boolean'},
16770 'size': {'type': 'integer'},
16771 'volumeid': {'type': 'string'}},
16772 'required': ['volumeid', 'size', 'persistent'],
16774 'VolumeParams': {'additionalProperties': False,
16775 'properties': {'attachment': {'$ref': '#/definitions/VolumeAttachmentParams'},
16776 'attributes': {'patternProperties': {'.*': {'additionalProperties': True,
16777 'type': 'object'}},
16779 'provider': {'type': 'string'},
16780 'size': {'type': 'integer'},
16781 'tags': {'patternProperties': {'.*': {'type': 'string'}},
16783 'volumetag': {'type': 'string'}},
16784 'required': ['volumetag', 'size', 'provider'],
16786 'VolumeParamsResult': {'additionalProperties': False,
16787 'properties': {'error': {'$ref': '#/definitions/Error'},
16788 'result': {'$ref': '#/definitions/VolumeParams'}},
16789 'required': ['result'],
16791 'VolumeParamsResults': {'additionalProperties': False,
16792 'properties': {'results': {'items': {'$ref': '#/definitions/VolumeParamsResult'},
16795 'VolumeResult': {'additionalProperties': False,
16796 'properties': {'error': {'$ref': '#/definitions/Error'},
16797 'result': {'$ref': '#/definitions/Volume'}},
16798 'required': ['result'],
16800 'VolumeResults': {'additionalProperties': False,
16801 'properties': {'results': {'items': {'$ref': '#/definitions/VolumeResult'},
16804 'Volumes': {'additionalProperties': False,
16805 'properties': {'volumes': {'items': {'$ref': '#/definitions/Volume'},
16807 'required': ['volumes'],
16809 'caveat': {'additionalProperties': False,
16810 'properties': {'caveatId': {'$ref': '#/definitions/packet'},
16811 'location': {'$ref': '#/definitions/packet'},
16812 'verificationId': {'$ref': '#/definitions/packet'}},
16813 'required': ['location',
16817 'packet': {'additionalProperties': False,
16818 'properties': {'headerLen': {'type': 'integer'},
16819 'start': {'type': 'integer'},
16820 'totalLen': {'type': 'integer'}},
16821 'required': ['start', 'totalLen', 'headerLen'],
16822 'type': 'object'}},
16823 'properties': {'AttachmentLife': {'properties': {'Params': {'$ref': '#/definitions/MachineStorageIds'},
16824 'Result': {'$ref': '#/definitions/LifeResults'}},
16826 'EnsureDead': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
16827 'Result': {'$ref': '#/definitions/ErrorResults'}},
16829 'FilesystemAttachmentParams': {'properties': {'Params': {'$ref': '#/definitions/MachineStorageIds'},
16830 'Result': {'$ref': '#/definitions/FilesystemAttachmentParamsResults'}},
16832 'FilesystemAttachments': {'properties': {'Params': {'$ref': '#/definitions/MachineStorageIds'},
16833 'Result': {'$ref': '#/definitions/FilesystemAttachmentResults'}},
16835 'FilesystemParams': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
16836 'Result': {'$ref': '#/definitions/FilesystemParamsResults'}},
16838 'Filesystems': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
16839 'Result': {'$ref': '#/definitions/FilesystemResults'}},
16841 'InstanceId': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
16842 'Result': {'$ref': '#/definitions/StringResults'}},
16844 'Life': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
16845 'Result': {'$ref': '#/definitions/LifeResults'}},
16847 'ModelConfig': {'properties': {'Result': {'$ref': '#/definitions/ModelConfigResult'}},
16849 'Remove': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
16850 'Result': {'$ref': '#/definitions/ErrorResults'}},
16852 'RemoveAttachment': {'properties': {'Params': {'$ref': '#/definitions/MachineStorageIds'},
16853 'Result': {'$ref': '#/definitions/ErrorResults'}},
16855 'SetFilesystemAttachmentInfo': {'properties': {'Params': {'$ref': '#/definitions/FilesystemAttachments'},
16856 'Result': {'$ref': '#/definitions/ErrorResults'}},
16858 'SetFilesystemInfo': {'properties': {'Params': {'$ref': '#/definitions/Filesystems'},
16859 'Result': {'$ref': '#/definitions/ErrorResults'}},
16861 'SetStatus': {'properties': {'Params': {'$ref': '#/definitions/SetStatus'},
16862 'Result': {'$ref': '#/definitions/ErrorResults'}},
16864 'SetVolumeAttachmentInfo': {'properties': {'Params': {'$ref': '#/definitions/VolumeAttachments'},
16865 'Result': {'$ref': '#/definitions/ErrorResults'}},
16867 'SetVolumeInfo': {'properties': {'Params': {'$ref': '#/definitions/Volumes'},
16868 'Result': {'$ref': '#/definitions/ErrorResults'}},
16870 'UpdateStatus': {'properties': {'Params': {'$ref': '#/definitions/SetStatus'},
16871 'Result': {'$ref': '#/definitions/ErrorResults'}},
16873 'VolumeAttachmentParams': {'properties': {'Params': {'$ref': '#/definitions/MachineStorageIds'},
16874 'Result': {'$ref': '#/definitions/VolumeAttachmentParamsResults'}},
16876 'VolumeAttachments': {'properties': {'Params': {'$ref': '#/definitions/MachineStorageIds'},
16877 'Result': {'$ref': '#/definitions/VolumeAttachmentResults'}},
16879 'VolumeBlockDevices': {'properties': {'Params': {'$ref': '#/definitions/MachineStorageIds'},
16880 'Result': {'$ref': '#/definitions/BlockDeviceResults'}},
16882 'VolumeParams': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
16883 'Result': {'$ref': '#/definitions/VolumeParamsResults'}},
16885 'Volumes': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
16886 'Result': {'$ref': '#/definitions/VolumeResults'}},
16888 'WatchBlockDevices': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
16889 'Result': {'$ref': '#/definitions/NotifyWatchResults'}},
16891 'WatchFilesystemAttachments': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
16892 'Result': {'$ref': '#/definitions/MachineStorageIdsWatchResults'}},
16894 'WatchFilesystems': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
16895 'Result': {'$ref': '#/definitions/StringsWatchResults'}},
16897 'WatchForModelConfigChanges': {'properties': {'Result': {'$ref': '#/definitions/NotifyWatchResult'}},
16899 'WatchMachines': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
16900 'Result': {'$ref': '#/definitions/NotifyWatchResults'}},
16902 'WatchVolumeAttachments': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
16903 'Result': {'$ref': '#/definitions/MachineStorageIdsWatchResults'}},
16905 'WatchVolumes': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
16906 'Result': {'$ref': '#/definitions/StringsWatchResults'}},
16907 'type': 'object'}},
16911 @ReturnMapping(LifeResults
)
16912 async def AttachmentLife(self
, ids
):
16914 ids : typing.Sequence[~MachineStorageId]
16915 Returns -> typing.Sequence[~LifeResult]
16917 # map input types to rpc msg
16919 msg
= dict(Type
='StorageProvisioner', Request
='AttachmentLife', Version
=2, Params
=params
)
16920 params
['ids'] = ids
16921 reply
= await self
.rpc(msg
)
16926 @ReturnMapping(ErrorResults
)
16927 async def EnsureDead(self
, entities
):
16929 entities : typing.Sequence[~Entity]
16930 Returns -> typing.Sequence[~ErrorResult]
16932 # map input types to rpc msg
16934 msg
= dict(Type
='StorageProvisioner', Request
='EnsureDead', Version
=2, Params
=params
)
16935 params
['Entities'] = entities
16936 reply
= await self
.rpc(msg
)
16941 @ReturnMapping(FilesystemAttachmentParamsResults
)
16942 async def FilesystemAttachmentParams(self
, ids
):
16944 ids : typing.Sequence[~MachineStorageId]
16945 Returns -> typing.Sequence[~FilesystemAttachmentParamsResult]
16947 # map input types to rpc msg
16949 msg
= dict(Type
='StorageProvisioner', Request
='FilesystemAttachmentParams', Version
=2, Params
=params
)
16950 params
['ids'] = ids
16951 reply
= await self
.rpc(msg
)
16956 @ReturnMapping(FilesystemAttachmentResults
)
16957 async def FilesystemAttachments(self
, ids
):
16959 ids : typing.Sequence[~MachineStorageId]
16960 Returns -> typing.Sequence[~FilesystemAttachmentResult]
16962 # map input types to rpc msg
16964 msg
= dict(Type
='StorageProvisioner', Request
='FilesystemAttachments', Version
=2, Params
=params
)
16965 params
['ids'] = ids
16966 reply
= await self
.rpc(msg
)
16971 @ReturnMapping(FilesystemParamsResults
)
16972 async def FilesystemParams(self
, entities
):
16974 entities : typing.Sequence[~Entity]
16975 Returns -> typing.Sequence[~FilesystemParamsResult]
16977 # map input types to rpc msg
16979 msg
= dict(Type
='StorageProvisioner', Request
='FilesystemParams', Version
=2, Params
=params
)
16980 params
['Entities'] = entities
16981 reply
= await self
.rpc(msg
)
16986 @ReturnMapping(FilesystemResults
)
16987 async def Filesystems(self
, entities
):
16989 entities : typing.Sequence[~Entity]
16990 Returns -> typing.Sequence[~FilesystemResult]
16992 # map input types to rpc msg
16994 msg
= dict(Type
='StorageProvisioner', Request
='Filesystems', Version
=2, Params
=params
)
16995 params
['Entities'] = entities
16996 reply
= await self
.rpc(msg
)
17001 @ReturnMapping(StringResults
)
17002 async def InstanceId(self
, entities
):
17004 entities : typing.Sequence[~Entity]
17005 Returns -> typing.Sequence[~StringResult]
17007 # map input types to rpc msg
17009 msg
= dict(Type
='StorageProvisioner', Request
='InstanceId', Version
=2, Params
=params
)
17010 params
['Entities'] = entities
17011 reply
= await self
.rpc(msg
)
17016 @ReturnMapping(LifeResults
)
17017 async def Life(self
, entities
):
17019 entities : typing.Sequence[~Entity]
17020 Returns -> typing.Sequence[~LifeResult]
17022 # map input types to rpc msg
17024 msg
= dict(Type
='StorageProvisioner', Request
='Life', Version
=2, Params
=params
)
17025 params
['Entities'] = entities
17026 reply
= await self
.rpc(msg
)
17031 @ReturnMapping(ModelConfigResult
)
17032 async def ModelConfig(self
):
17035 Returns -> typing.Mapping[str, typing.Any]
17037 # map input types to rpc msg
17039 msg
= dict(Type
='StorageProvisioner', Request
='ModelConfig', Version
=2, Params
=params
)
17041 reply
= await self
.rpc(msg
)
17046 @ReturnMapping(ErrorResults
)
17047 async def Remove(self
, entities
):
17049 entities : typing.Sequence[~Entity]
17050 Returns -> typing.Sequence[~ErrorResult]
17052 # map input types to rpc msg
17054 msg
= dict(Type
='StorageProvisioner', Request
='Remove', Version
=2, Params
=params
)
17055 params
['Entities'] = entities
17056 reply
= await self
.rpc(msg
)
17061 @ReturnMapping(ErrorResults
)
17062 async def RemoveAttachment(self
, ids
):
17064 ids : typing.Sequence[~MachineStorageId]
17065 Returns -> typing.Sequence[~ErrorResult]
17067 # map input types to rpc msg
17069 msg
= dict(Type
='StorageProvisioner', Request
='RemoveAttachment', Version
=2, Params
=params
)
17070 params
['ids'] = ids
17071 reply
= await self
.rpc(msg
)
17076 @ReturnMapping(ErrorResults
)
17077 async def SetFilesystemAttachmentInfo(self
, filesystemattachments
):
17079 filesystemattachments : typing.Sequence[~FilesystemAttachment]
17080 Returns -> typing.Sequence[~ErrorResult]
17082 # map input types to rpc msg
17084 msg
= dict(Type
='StorageProvisioner', Request
='SetFilesystemAttachmentInfo', Version
=2, Params
=params
)
17085 params
['filesystemattachments'] = filesystemattachments
17086 reply
= await self
.rpc(msg
)
17091 @ReturnMapping(ErrorResults
)
17092 async def SetFilesystemInfo(self
, filesystems
):
17094 filesystems : typing.Sequence[~Filesystem]
17095 Returns -> typing.Sequence[~ErrorResult]
17097 # map input types to rpc msg
17099 msg
= dict(Type
='StorageProvisioner', Request
='SetFilesystemInfo', Version
=2, Params
=params
)
17100 params
['filesystems'] = filesystems
17101 reply
= await self
.rpc(msg
)
17106 @ReturnMapping(ErrorResults
)
17107 async def SetStatus(self
, entities
):
17109 entities : typing.Sequence[~EntityStatusArgs]
17110 Returns -> typing.Sequence[~ErrorResult]
17112 # map input types to rpc msg
17114 msg
= dict(Type
='StorageProvisioner', Request
='SetStatus', Version
=2, Params
=params
)
17115 params
['Entities'] = entities
17116 reply
= await self
.rpc(msg
)
17121 @ReturnMapping(ErrorResults
)
17122 async def SetVolumeAttachmentInfo(self
, volumeattachments
):
17124 volumeattachments : typing.Sequence[~VolumeAttachment]
17125 Returns -> typing.Sequence[~ErrorResult]
17127 # map input types to rpc msg
17129 msg
= dict(Type
='StorageProvisioner', Request
='SetVolumeAttachmentInfo', Version
=2, Params
=params
)
17130 params
['volumeattachments'] = volumeattachments
17131 reply
= await self
.rpc(msg
)
17136 @ReturnMapping(ErrorResults
)
17137 async def SetVolumeInfo(self
, volumes
):
17139 volumes : typing.Sequence[~Volume]
17140 Returns -> typing.Sequence[~ErrorResult]
17142 # map input types to rpc msg
17144 msg
= dict(Type
='StorageProvisioner', Request
='SetVolumeInfo', Version
=2, Params
=params
)
17145 params
['volumes'] = volumes
17146 reply
= await self
.rpc(msg
)
17151 @ReturnMapping(ErrorResults
)
17152 async def UpdateStatus(self
, entities
):
17154 entities : typing.Sequence[~EntityStatusArgs]
17155 Returns -> typing.Sequence[~ErrorResult]
17157 # map input types to rpc msg
17159 msg
= dict(Type
='StorageProvisioner', Request
='UpdateStatus', Version
=2, Params
=params
)
17160 params
['Entities'] = entities
17161 reply
= await self
.rpc(msg
)
17166 @ReturnMapping(VolumeAttachmentParamsResults
)
17167 async def VolumeAttachmentParams(self
, ids
):
17169 ids : typing.Sequence[~MachineStorageId]
17170 Returns -> typing.Sequence[~VolumeAttachmentParamsResult]
17172 # map input types to rpc msg
17174 msg
= dict(Type
='StorageProvisioner', Request
='VolumeAttachmentParams', Version
=2, Params
=params
)
17175 params
['ids'] = ids
17176 reply
= await self
.rpc(msg
)
17181 @ReturnMapping(VolumeAttachmentResults
)
17182 async def VolumeAttachments(self
, ids
):
17184 ids : typing.Sequence[~MachineStorageId]
17185 Returns -> typing.Sequence[~VolumeAttachmentResult]
17187 # map input types to rpc msg
17189 msg
= dict(Type
='StorageProvisioner', Request
='VolumeAttachments', Version
=2, Params
=params
)
17190 params
['ids'] = ids
17191 reply
= await self
.rpc(msg
)
17196 @ReturnMapping(BlockDeviceResults
)
17197 async def VolumeBlockDevices(self
, ids
):
17199 ids : typing.Sequence[~MachineStorageId]
17200 Returns -> typing.Sequence[~BlockDeviceResult]
17202 # map input types to rpc msg
17204 msg
= dict(Type
='StorageProvisioner', Request
='VolumeBlockDevices', Version
=2, Params
=params
)
17205 params
['ids'] = ids
17206 reply
= await self
.rpc(msg
)
17211 @ReturnMapping(VolumeParamsResults
)
17212 async def VolumeParams(self
, entities
):
17214 entities : typing.Sequence[~Entity]
17215 Returns -> typing.Sequence[~VolumeParamsResult]
17217 # map input types to rpc msg
17219 msg
= dict(Type
='StorageProvisioner', Request
='VolumeParams', Version
=2, Params
=params
)
17220 params
['Entities'] = entities
17221 reply
= await self
.rpc(msg
)
17226 @ReturnMapping(VolumeResults
)
17227 async def Volumes(self
, entities
):
17229 entities : typing.Sequence[~Entity]
17230 Returns -> typing.Sequence[~VolumeResult]
17232 # map input types to rpc msg
17234 msg
= dict(Type
='StorageProvisioner', Request
='Volumes', Version
=2, Params
=params
)
17235 params
['Entities'] = entities
17236 reply
= await self
.rpc(msg
)
17241 @ReturnMapping(NotifyWatchResults
)
17242 async def WatchBlockDevices(self
, entities
):
17244 entities : typing.Sequence[~Entity]
17245 Returns -> typing.Sequence[~NotifyWatchResult]
17247 # map input types to rpc msg
17249 msg
= dict(Type
='StorageProvisioner', Request
='WatchBlockDevices', Version
=2, Params
=params
)
17250 params
['Entities'] = entities
17251 reply
= await self
.rpc(msg
)
17256 @ReturnMapping(MachineStorageIdsWatchResults
)
17257 async def WatchFilesystemAttachments(self
, entities
):
17259 entities : typing.Sequence[~Entity]
17260 Returns -> typing.Sequence[~MachineStorageIdsWatchResult]
17262 # map input types to rpc msg
17264 msg
= dict(Type
='StorageProvisioner', Request
='WatchFilesystemAttachments', Version
=2, Params
=params
)
17265 params
['Entities'] = entities
17266 reply
= await self
.rpc(msg
)
17271 @ReturnMapping(StringsWatchResults
)
17272 async def WatchFilesystems(self
, entities
):
17274 entities : typing.Sequence[~Entity]
17275 Returns -> typing.Sequence[~StringsWatchResult]
17277 # map input types to rpc msg
17279 msg
= dict(Type
='StorageProvisioner', Request
='WatchFilesystems', Version
=2, Params
=params
)
17280 params
['Entities'] = entities
17281 reply
= await self
.rpc(msg
)
17286 @ReturnMapping(NotifyWatchResult
)
17287 async def WatchForModelConfigChanges(self
):
17290 Returns -> typing.Union[_ForwardRef('Error'), str]
17292 # map input types to rpc msg
17294 msg
= dict(Type
='StorageProvisioner', Request
='WatchForModelConfigChanges', Version
=2, Params
=params
)
17296 reply
= await self
.rpc(msg
)
17301 @ReturnMapping(NotifyWatchResults
)
17302 async def WatchMachines(self
, entities
):
17304 entities : typing.Sequence[~Entity]
17305 Returns -> typing.Sequence[~NotifyWatchResult]
17307 # map input types to rpc msg
17309 msg
= dict(Type
='StorageProvisioner', Request
='WatchMachines', Version
=2, Params
=params
)
17310 params
['Entities'] = entities
17311 reply
= await self
.rpc(msg
)
17316 @ReturnMapping(MachineStorageIdsWatchResults
)
17317 async def WatchVolumeAttachments(self
, entities
):
17319 entities : typing.Sequence[~Entity]
17320 Returns -> typing.Sequence[~MachineStorageIdsWatchResult]
17322 # map input types to rpc msg
17324 msg
= dict(Type
='StorageProvisioner', Request
='WatchVolumeAttachments', Version
=2, Params
=params
)
17325 params
['Entities'] = entities
17326 reply
= await self
.rpc(msg
)
17331 @ReturnMapping(StringsWatchResults
)
17332 async def WatchVolumes(self
, entities
):
17334 entities : typing.Sequence[~Entity]
17335 Returns -> typing.Sequence[~StringsWatchResult]
17337 # map input types to rpc msg
17339 msg
= dict(Type
='StorageProvisioner', Request
='WatchVolumes', Version
=2, Params
=params
)
17340 params
['Entities'] = entities
17341 reply
= await self
.rpc(msg
)
17345 class StringsWatcherFacade(Type
):
17346 name
= 'StringsWatcher'
17348 schema
= {'definitions': {'Error': {'additionalProperties': False,
17349 'properties': {'Code': {'type': 'string'},
17350 'Info': {'$ref': '#/definitions/ErrorInfo'},
17351 'Message': {'type': 'string'}},
17352 'required': ['Message', 'Code'],
17354 'ErrorInfo': {'additionalProperties': False,
17355 'properties': {'Macaroon': {'$ref': '#/definitions/Macaroon'},
17356 'MacaroonPath': {'type': 'string'}},
17358 'Macaroon': {'additionalProperties': False,
17359 'properties': {'caveats': {'items': {'$ref': '#/definitions/caveat'},
17361 'data': {'items': {'type': 'integer'},
17363 'id': {'$ref': '#/definitions/packet'},
17364 'location': {'$ref': '#/definitions/packet'},
17365 'sig': {'items': {'type': 'integer'},
17367 'required': ['data',
17373 'StringsWatchResult': {'additionalProperties': False,
17374 'properties': {'Changes': {'items': {'type': 'string'},
17376 'Error': {'$ref': '#/definitions/Error'},
17377 'StringsWatcherId': {'type': 'string'}},
17378 'required': ['StringsWatcherId',
17382 'caveat': {'additionalProperties': False,
17383 'properties': {'caveatId': {'$ref': '#/definitions/packet'},
17384 'location': {'$ref': '#/definitions/packet'},
17385 'verificationId': {'$ref': '#/definitions/packet'}},
17386 'required': ['location',
17390 'packet': {'additionalProperties': False,
17391 'properties': {'headerLen': {'type': 'integer'},
17392 'start': {'type': 'integer'},
17393 'totalLen': {'type': 'integer'}},
17394 'required': ['start', 'totalLen', 'headerLen'],
17395 'type': 'object'}},
17396 'properties': {'Next': {'properties': {'Result': {'$ref': '#/definitions/StringsWatchResult'}},
17398 'Stop': {'type': 'object'}},
17402 @ReturnMapping(StringsWatchResult
)
17403 async def Next(self
):
17406 Returns -> typing.Union[typing.Sequence[str], _ForwardRef('Error')]
17408 # map input types to rpc msg
17410 msg
= dict(Type
='StringsWatcher', Request
='Next', Version
=1, Params
=params
)
17412 reply
= await self
.rpc(msg
)
17417 @ReturnMapping(None)
17418 async def Stop(self
):
17423 # map input types to rpc msg
17425 msg
= dict(Type
='StringsWatcher', Request
='Stop', Version
=1, Params
=params
)
17427 reply
= await self
.rpc(msg
)
17431 class SubnetsFacade(Type
):
17434 schema
= {'definitions': {'AddSubnetParams': {'additionalProperties': False,
17435 'properties': {'SpaceTag': {'type': 'string'},
17436 'SubnetProviderId': {'type': 'string'},
17437 'SubnetTag': {'type': 'string'},
17438 'Zones': {'items': {'type': 'string'},
17440 'required': ['SpaceTag'],
17442 'AddSubnetsParams': {'additionalProperties': False,
17443 'properties': {'Subnets': {'items': {'$ref': '#/definitions/AddSubnetParams'},
17445 'required': ['Subnets'],
17447 'Error': {'additionalProperties': False,
17448 'properties': {'Code': {'type': 'string'},
17449 'Info': {'$ref': '#/definitions/ErrorInfo'},
17450 'Message': {'type': 'string'}},
17451 'required': ['Message', 'Code'],
17453 'ErrorInfo': {'additionalProperties': False,
17454 'properties': {'Macaroon': {'$ref': '#/definitions/Macaroon'},
17455 'MacaroonPath': {'type': 'string'}},
17457 'ErrorResult': {'additionalProperties': False,
17458 'properties': {'Error': {'$ref': '#/definitions/Error'}},
17459 'required': ['Error'],
17461 'ErrorResults': {'additionalProperties': False,
17462 'properties': {'Results': {'items': {'$ref': '#/definitions/ErrorResult'},
17464 'required': ['Results'],
17466 'ListSubnetsResults': {'additionalProperties': False,
17467 'properties': {'Results': {'items': {'$ref': '#/definitions/Subnet'},
17469 'required': ['Results'],
17471 'Macaroon': {'additionalProperties': False,
17472 'properties': {'caveats': {'items': {'$ref': '#/definitions/caveat'},
17474 'data': {'items': {'type': 'integer'},
17476 'id': {'$ref': '#/definitions/packet'},
17477 'location': {'$ref': '#/definitions/packet'},
17478 'sig': {'items': {'type': 'integer'},
17480 'required': ['data',
17486 'SpaceResult': {'additionalProperties': False,
17487 'properties': {'Error': {'$ref': '#/definitions/Error'},
17488 'Tag': {'type': 'string'}},
17489 'required': ['Error', 'Tag'],
17491 'SpaceResults': {'additionalProperties': False,
17492 'properties': {'Results': {'items': {'$ref': '#/definitions/SpaceResult'},
17494 'required': ['Results'],
17496 'Subnet': {'additionalProperties': False,
17497 'properties': {'CIDR': {'type': 'string'},
17498 'Life': {'type': 'string'},
17499 'ProviderId': {'type': 'string'},
17500 'SpaceTag': {'type': 'string'},
17501 'StaticRangeHighIP': {'items': {'type': 'integer'},
17503 'StaticRangeLowIP': {'items': {'type': 'integer'},
17505 'Status': {'type': 'string'},
17506 'VLANTag': {'type': 'integer'},
17507 'Zones': {'items': {'type': 'string'},
17509 'required': ['CIDR',
17515 'SubnetsFilters': {'additionalProperties': False,
17516 'properties': {'SpaceTag': {'type': 'string'},
17517 'Zone': {'type': 'string'}},
17519 'ZoneResult': {'additionalProperties': False,
17520 'properties': {'Available': {'type': 'boolean'},
17521 'Error': {'$ref': '#/definitions/Error'},
17522 'Name': {'type': 'string'}},
17523 'required': ['Error', 'Name', 'Available'],
17525 'ZoneResults': {'additionalProperties': False,
17526 'properties': {'Results': {'items': {'$ref': '#/definitions/ZoneResult'},
17528 'required': ['Results'],
17530 'caveat': {'additionalProperties': False,
17531 'properties': {'caveatId': {'$ref': '#/definitions/packet'},
17532 'location': {'$ref': '#/definitions/packet'},
17533 'verificationId': {'$ref': '#/definitions/packet'}},
17534 'required': ['location',
17538 'packet': {'additionalProperties': False,
17539 'properties': {'headerLen': {'type': 'integer'},
17540 'start': {'type': 'integer'},
17541 'totalLen': {'type': 'integer'}},
17542 'required': ['start', 'totalLen', 'headerLen'],
17543 'type': 'object'}},
17544 'properties': {'AddSubnets': {'properties': {'Params': {'$ref': '#/definitions/AddSubnetsParams'},
17545 'Result': {'$ref': '#/definitions/ErrorResults'}},
17547 'AllSpaces': {'properties': {'Result': {'$ref': '#/definitions/SpaceResults'}},
17549 'AllZones': {'properties': {'Result': {'$ref': '#/definitions/ZoneResults'}},
17551 'ListSubnets': {'properties': {'Params': {'$ref': '#/definitions/SubnetsFilters'},
17552 'Result': {'$ref': '#/definitions/ListSubnetsResults'}},
17553 'type': 'object'}},
17557 @ReturnMapping(ErrorResults
)
17558 async def AddSubnets(self
, subnets
):
17560 subnets : typing.Sequence[~AddSubnetParams]
17561 Returns -> typing.Sequence[~ErrorResult]
17563 # map input types to rpc msg
17565 msg
= dict(Type
='Subnets', Request
='AddSubnets', Version
=2, Params
=params
)
17566 params
['Subnets'] = subnets
17567 reply
= await self
.rpc(msg
)
17572 @ReturnMapping(SpaceResults
)
17573 async def AllSpaces(self
):
17576 Returns -> typing.Sequence[~SpaceResult]
17578 # map input types to rpc msg
17580 msg
= dict(Type
='Subnets', Request
='AllSpaces', Version
=2, Params
=params
)
17582 reply
= await self
.rpc(msg
)
17587 @ReturnMapping(ZoneResults
)
17588 async def AllZones(self
):
17591 Returns -> typing.Sequence[~ZoneResult]
17593 # map input types to rpc msg
17595 msg
= dict(Type
='Subnets', Request
='AllZones', Version
=2, Params
=params
)
17597 reply
= await self
.rpc(msg
)
17602 @ReturnMapping(ListSubnetsResults
)
17603 async def ListSubnets(self
, spacetag
, zone
):
17607 Returns -> typing.Sequence[~Subnet]
17609 # map input types to rpc msg
17611 msg
= dict(Type
='Subnets', Request
='ListSubnets', Version
=2, Params
=params
)
17612 params
['SpaceTag'] = spacetag
17613 params
['Zone'] = zone
17614 reply
= await self
.rpc(msg
)
17618 class UndertakerFacade(Type
):
17619 name
= 'Undertaker'
17621 schema
= {'definitions': {'EntityStatusArgs': {'additionalProperties': False,
17622 'properties': {'Data': {'patternProperties': {'.*': {'additionalProperties': True,
17623 'type': 'object'}},
17625 'Info': {'type': 'string'},
17626 'Status': {'type': 'string'},
17627 'Tag': {'type': 'string'}},
17628 'required': ['Tag',
17633 'Error': {'additionalProperties': False,
17634 'properties': {'Code': {'type': 'string'},
17635 'Info': {'$ref': '#/definitions/ErrorInfo'},
17636 'Message': {'type': 'string'}},
17637 'required': ['Message', 'Code'],
17639 'ErrorInfo': {'additionalProperties': False,
17640 'properties': {'Macaroon': {'$ref': '#/definitions/Macaroon'},
17641 'MacaroonPath': {'type': 'string'}},
17643 'ErrorResult': {'additionalProperties': False,
17644 'properties': {'Error': {'$ref': '#/definitions/Error'}},
17645 'required': ['Error'],
17647 'ErrorResults': {'additionalProperties': False,
17648 'properties': {'Results': {'items': {'$ref': '#/definitions/ErrorResult'},
17650 'required': ['Results'],
17652 'Macaroon': {'additionalProperties': False,
17653 'properties': {'caveats': {'items': {'$ref': '#/definitions/caveat'},
17655 'data': {'items': {'type': 'integer'},
17657 'id': {'$ref': '#/definitions/packet'},
17658 'location': {'$ref': '#/definitions/packet'},
17659 'sig': {'items': {'type': 'integer'},
17661 'required': ['data',
17667 'ModelConfigResult': {'additionalProperties': False,
17668 'properties': {'Config': {'patternProperties': {'.*': {'additionalProperties': True,
17669 'type': 'object'}},
17670 'type': 'object'}},
17671 'required': ['Config'],
17673 'NotifyWatchResult': {'additionalProperties': False,
17674 'properties': {'Error': {'$ref': '#/definitions/Error'},
17675 'NotifyWatcherId': {'type': 'string'}},
17676 'required': ['NotifyWatcherId', 'Error'],
17678 'NotifyWatchResults': {'additionalProperties': False,
17679 'properties': {'Results': {'items': {'$ref': '#/definitions/NotifyWatchResult'},
17681 'required': ['Results'],
17683 'SetStatus': {'additionalProperties': False,
17684 'properties': {'Entities': {'items': {'$ref': '#/definitions/EntityStatusArgs'},
17686 'required': ['Entities'],
17688 'UndertakerModelInfo': {'additionalProperties': False,
17689 'properties': {'GlobalName': {'type': 'string'},
17690 'IsSystem': {'type': 'boolean'},
17691 'Life': {'type': 'string'},
17692 'Name': {'type': 'string'},
17693 'UUID': {'type': 'string'}},
17694 'required': ['UUID',
17700 'UndertakerModelInfoResult': {'additionalProperties': False,
17701 'properties': {'Error': {'$ref': '#/definitions/Error'},
17702 'Result': {'$ref': '#/definitions/UndertakerModelInfo'}},
17703 'required': ['Error', 'Result'],
17705 'caveat': {'additionalProperties': False,
17706 'properties': {'caveatId': {'$ref': '#/definitions/packet'},
17707 'location': {'$ref': '#/definitions/packet'},
17708 'verificationId': {'$ref': '#/definitions/packet'}},
17709 'required': ['location',
17713 'packet': {'additionalProperties': False,
17714 'properties': {'headerLen': {'type': 'integer'},
17715 'start': {'type': 'integer'},
17716 'totalLen': {'type': 'integer'}},
17717 'required': ['start', 'totalLen', 'headerLen'],
17718 'type': 'object'}},
17719 'properties': {'ModelConfig': {'properties': {'Result': {'$ref': '#/definitions/ModelConfigResult'}},
17721 'ModelInfo': {'properties': {'Result': {'$ref': '#/definitions/UndertakerModelInfoResult'}},
17723 'ProcessDyingModel': {'type': 'object'},
17724 'RemoveModel': {'type': 'object'},
17725 'SetStatus': {'properties': {'Params': {'$ref': '#/definitions/SetStatus'},
17726 'Result': {'$ref': '#/definitions/ErrorResults'}},
17728 'UpdateStatus': {'properties': {'Params': {'$ref': '#/definitions/SetStatus'},
17729 'Result': {'$ref': '#/definitions/ErrorResults'}},
17731 'WatchModelResources': {'properties': {'Result': {'$ref': '#/definitions/NotifyWatchResults'}},
17732 'type': 'object'}},
17736 @ReturnMapping(ModelConfigResult
)
17737 async def ModelConfig(self
):
17740 Returns -> typing.Mapping[str, typing.Any]
17742 # map input types to rpc msg
17744 msg
= dict(Type
='Undertaker', Request
='ModelConfig', Version
=1, Params
=params
)
17746 reply
= await self
.rpc(msg
)
17751 @ReturnMapping(UndertakerModelInfoResult
)
17752 async def ModelInfo(self
):
17755 Returns -> typing.Union[_ForwardRef('Error'), _ForwardRef('UndertakerModelInfo')]
17757 # map input types to rpc msg
17759 msg
= dict(Type
='Undertaker', Request
='ModelInfo', Version
=1, Params
=params
)
17761 reply
= await self
.rpc(msg
)
17766 @ReturnMapping(None)
17767 async def ProcessDyingModel(self
):
17772 # map input types to rpc msg
17774 msg
= dict(Type
='Undertaker', Request
='ProcessDyingModel', Version
=1, Params
=params
)
17776 reply
= await self
.rpc(msg
)
17781 @ReturnMapping(None)
17782 async def RemoveModel(self
):
17787 # map input types to rpc msg
17789 msg
= dict(Type
='Undertaker', Request
='RemoveModel', Version
=1, Params
=params
)
17791 reply
= await self
.rpc(msg
)
17796 @ReturnMapping(ErrorResults
)
17797 async def SetStatus(self
, entities
):
17799 entities : typing.Sequence[~EntityStatusArgs]
17800 Returns -> typing.Sequence[~ErrorResult]
17802 # map input types to rpc msg
17804 msg
= dict(Type
='Undertaker', Request
='SetStatus', Version
=1, Params
=params
)
17805 params
['Entities'] = entities
17806 reply
= await self
.rpc(msg
)
17811 @ReturnMapping(ErrorResults
)
17812 async def UpdateStatus(self
, entities
):
17814 entities : typing.Sequence[~EntityStatusArgs]
17815 Returns -> typing.Sequence[~ErrorResult]
17817 # map input types to rpc msg
17819 msg
= dict(Type
='Undertaker', Request
='UpdateStatus', Version
=1, Params
=params
)
17820 params
['Entities'] = entities
17821 reply
= await self
.rpc(msg
)
17826 @ReturnMapping(NotifyWatchResults
)
17827 async def WatchModelResources(self
):
17830 Returns -> typing.Sequence[~NotifyWatchResult]
17832 # map input types to rpc msg
17834 msg
= dict(Type
='Undertaker', Request
='WatchModelResources', Version
=1, Params
=params
)
17836 reply
= await self
.rpc(msg
)
17840 class UnitAssignerFacade(Type
):
17841 name
= 'UnitAssigner'
17843 schema
= {'definitions': {'Entities': {'additionalProperties': False,
17844 'properties': {'Entities': {'items': {'$ref': '#/definitions/Entity'},
17846 'required': ['Entities'],
17848 'Entity': {'additionalProperties': False,
17849 'properties': {'Tag': {'type': 'string'}},
17850 'required': ['Tag'],
17852 'EntityStatusArgs': {'additionalProperties': False,
17853 'properties': {'Data': {'patternProperties': {'.*': {'additionalProperties': True,
17854 'type': 'object'}},
17856 'Info': {'type': 'string'},
17857 'Status': {'type': 'string'},
17858 'Tag': {'type': 'string'}},
17859 'required': ['Tag',
17864 'Error': {'additionalProperties': False,
17865 'properties': {'Code': {'type': 'string'},
17866 'Info': {'$ref': '#/definitions/ErrorInfo'},
17867 'Message': {'type': 'string'}},
17868 'required': ['Message', 'Code'],
17870 'ErrorInfo': {'additionalProperties': False,
17871 'properties': {'Macaroon': {'$ref': '#/definitions/Macaroon'},
17872 'MacaroonPath': {'type': 'string'}},
17874 'ErrorResult': {'additionalProperties': False,
17875 'properties': {'Error': {'$ref': '#/definitions/Error'}},
17876 'required': ['Error'],
17878 'ErrorResults': {'additionalProperties': False,
17879 'properties': {'Results': {'items': {'$ref': '#/definitions/ErrorResult'},
17881 'required': ['Results'],
17883 'Macaroon': {'additionalProperties': False,
17884 'properties': {'caveats': {'items': {'$ref': '#/definitions/caveat'},
17886 'data': {'items': {'type': 'integer'},
17888 'id': {'$ref': '#/definitions/packet'},
17889 'location': {'$ref': '#/definitions/packet'},
17890 'sig': {'items': {'type': 'integer'},
17892 'required': ['data',
17898 'SetStatus': {'additionalProperties': False,
17899 'properties': {'Entities': {'items': {'$ref': '#/definitions/EntityStatusArgs'},
17901 'required': ['Entities'],
17903 'StringsWatchResult': {'additionalProperties': False,
17904 'properties': {'Changes': {'items': {'type': 'string'},
17906 'Error': {'$ref': '#/definitions/Error'},
17907 'StringsWatcherId': {'type': 'string'}},
17908 'required': ['StringsWatcherId',
17912 'caveat': {'additionalProperties': False,
17913 'properties': {'caveatId': {'$ref': '#/definitions/packet'},
17914 'location': {'$ref': '#/definitions/packet'},
17915 'verificationId': {'$ref': '#/definitions/packet'}},
17916 'required': ['location',
17920 'packet': {'additionalProperties': False,
17921 'properties': {'headerLen': {'type': 'integer'},
17922 'start': {'type': 'integer'},
17923 'totalLen': {'type': 'integer'}},
17924 'required': ['start', 'totalLen', 'headerLen'],
17925 'type': 'object'}},
17926 'properties': {'AssignUnits': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
17927 'Result': {'$ref': '#/definitions/ErrorResults'}},
17929 'SetAgentStatus': {'properties': {'Params': {'$ref': '#/definitions/SetStatus'},
17930 'Result': {'$ref': '#/definitions/ErrorResults'}},
17932 'WatchUnitAssignments': {'properties': {'Result': {'$ref': '#/definitions/StringsWatchResult'}},
17933 'type': 'object'}},
17937 @ReturnMapping(ErrorResults
)
17938 async def AssignUnits(self
, entities
):
17940 entities : typing.Sequence[~Entity]
17941 Returns -> typing.Sequence[~ErrorResult]
17943 # map input types to rpc msg
17945 msg
= dict(Type
='UnitAssigner', Request
='AssignUnits', Version
=1, Params
=params
)
17946 params
['Entities'] = entities
17947 reply
= await self
.rpc(msg
)
17952 @ReturnMapping(ErrorResults
)
17953 async def SetAgentStatus(self
, entities
):
17955 entities : typing.Sequence[~EntityStatusArgs]
17956 Returns -> typing.Sequence[~ErrorResult]
17958 # map input types to rpc msg
17960 msg
= dict(Type
='UnitAssigner', Request
='SetAgentStatus', Version
=1, Params
=params
)
17961 params
['Entities'] = entities
17962 reply
= await self
.rpc(msg
)
17967 @ReturnMapping(StringsWatchResult
)
17968 async def WatchUnitAssignments(self
):
17971 Returns -> typing.Union[typing.Sequence[str], _ForwardRef('Error')]
17973 # map input types to rpc msg
17975 msg
= dict(Type
='UnitAssigner', Request
='WatchUnitAssignments', Version
=1, Params
=params
)
17977 reply
= await self
.rpc(msg
)
17981 class UniterFacade(Type
):
17984 schema
= {'definitions': {'APIHostPortsResult': {'additionalProperties': False,
17985 'properties': {'Servers': {'items': {'items': {'$ref': '#/definitions/HostPort'},
17988 'required': ['Servers'],
17990 'Action': {'additionalProperties': False,
17991 'properties': {'name': {'type': 'string'},
17992 'parameters': {'patternProperties': {'.*': {'additionalProperties': True,
17993 'type': 'object'}},
17995 'receiver': {'type': 'string'},
17996 'tag': {'type': 'string'}},
17997 'required': ['tag', 'receiver', 'name'],
17999 'ActionExecutionResult': {'additionalProperties': False,
18000 'properties': {'actiontag': {'type': 'string'},
18001 'message': {'type': 'string'},
18002 'results': {'patternProperties': {'.*': {'additionalProperties': True,
18003 'type': 'object'}},
18005 'status': {'type': 'string'}},
18006 'required': ['actiontag', 'status'],
18008 'ActionExecutionResults': {'additionalProperties': False,
18009 'properties': {'results': {'items': {'$ref': '#/definitions/ActionExecutionResult'},
18012 'ActionResult': {'additionalProperties': False,
18013 'properties': {'action': {'$ref': '#/definitions/Action'},
18014 'completed': {'format': 'date-time',
18016 'enqueued': {'format': 'date-time',
18018 'error': {'$ref': '#/definitions/Error'},
18019 'message': {'type': 'string'},
18020 'output': {'patternProperties': {'.*': {'additionalProperties': True,
18021 'type': 'object'}},
18023 'started': {'format': 'date-time',
18025 'status': {'type': 'string'}},
18027 'ActionResults': {'additionalProperties': False,
18028 'properties': {'results': {'items': {'$ref': '#/definitions/ActionResult'},
18031 'Address': {'additionalProperties': False,
18032 'properties': {'Scope': {'type': 'string'},
18033 'SpaceName': {'type': 'string'},
18034 'Type': {'type': 'string'},
18035 'Value': {'type': 'string'}},
18036 'required': ['Value', 'Type', 'Scope'],
18038 'ApplicationStatusResult': {'additionalProperties': False,
18039 'properties': {'Application': {'$ref': '#/definitions/StatusResult'},
18040 'Error': {'$ref': '#/definitions/Error'},
18041 'Units': {'patternProperties': {'.*': {'$ref': '#/definitions/StatusResult'}},
18042 'type': 'object'}},
18043 'required': ['Application',
18047 'ApplicationStatusResults': {'additionalProperties': False,
18048 'properties': {'Results': {'items': {'$ref': '#/definitions/ApplicationStatusResult'},
18050 'required': ['Results'],
18052 'BoolResult': {'additionalProperties': False,
18053 'properties': {'Error': {'$ref': '#/definitions/Error'},
18054 'Result': {'type': 'boolean'}},
18055 'required': ['Error', 'Result'],
18057 'BoolResults': {'additionalProperties': False,
18058 'properties': {'Results': {'items': {'$ref': '#/definitions/BoolResult'},
18060 'required': ['Results'],
18062 'BytesResult': {'additionalProperties': False,
18063 'properties': {'Result': {'items': {'type': 'integer'},
18065 'required': ['Result'],
18067 'CharmURL': {'additionalProperties': False,
18068 'properties': {'URL': {'type': 'string'}},
18069 'required': ['URL'],
18071 'CharmURLs': {'additionalProperties': False,
18072 'properties': {'URLs': {'items': {'$ref': '#/definitions/CharmURL'},
18074 'required': ['URLs'],
18076 'ConfigSettingsResult': {'additionalProperties': False,
18077 'properties': {'Error': {'$ref': '#/definitions/Error'},
18078 'Settings': {'patternProperties': {'.*': {'additionalProperties': True,
18079 'type': 'object'}},
18080 'type': 'object'}},
18081 'required': ['Error', 'Settings'],
18083 'ConfigSettingsResults': {'additionalProperties': False,
18084 'properties': {'Results': {'items': {'$ref': '#/definitions/ConfigSettingsResult'},
18086 'required': ['Results'],
18088 'Endpoint': {'additionalProperties': False,
18089 'properties': {'ApplicationName': {'type': 'string'},
18090 'Relation': {'$ref': '#/definitions/Relation'}},
18091 'required': ['ApplicationName', 'Relation'],
18093 'Entities': {'additionalProperties': False,
18094 'properties': {'Entities': {'items': {'$ref': '#/definitions/Entity'},
18096 'required': ['Entities'],
18098 'EntitiesCharmURL': {'additionalProperties': False,
18099 'properties': {'Entities': {'items': {'$ref': '#/definitions/EntityCharmURL'},
18101 'required': ['Entities'],
18103 'EntitiesPortRanges': {'additionalProperties': False,
18104 'properties': {'Entities': {'items': {'$ref': '#/definitions/EntityPortRange'},
18106 'required': ['Entities'],
18108 'Entity': {'additionalProperties': False,
18109 'properties': {'Tag': {'type': 'string'}},
18110 'required': ['Tag'],
18112 'EntityCharmURL': {'additionalProperties': False,
18113 'properties': {'CharmURL': {'type': 'string'},
18114 'Tag': {'type': 'string'}},
18115 'required': ['Tag', 'CharmURL'],
18117 'EntityPortRange': {'additionalProperties': False,
18118 'properties': {'FromPort': {'type': 'integer'},
18119 'Protocol': {'type': 'string'},
18120 'Tag': {'type': 'string'},
18121 'ToPort': {'type': 'integer'}},
18122 'required': ['Tag',
18127 'EntityStatusArgs': {'additionalProperties': False,
18128 'properties': {'Data': {'patternProperties': {'.*': {'additionalProperties': True,
18129 'type': 'object'}},
18131 'Info': {'type': 'string'},
18132 'Status': {'type': 'string'},
18133 'Tag': {'type': 'string'}},
18134 'required': ['Tag',
18139 'Error': {'additionalProperties': False,
18140 'properties': {'Code': {'type': 'string'},
18141 'Info': {'$ref': '#/definitions/ErrorInfo'},
18142 'Message': {'type': 'string'}},
18143 'required': ['Message', 'Code'],
18145 'ErrorInfo': {'additionalProperties': False,
18146 'properties': {'Macaroon': {'$ref': '#/definitions/Macaroon'},
18147 'MacaroonPath': {'type': 'string'}},
18149 'ErrorResult': {'additionalProperties': False,
18150 'properties': {'Error': {'$ref': '#/definitions/Error'}},
18151 'required': ['Error'],
18153 'ErrorResults': {'additionalProperties': False,
18154 'properties': {'Results': {'items': {'$ref': '#/definitions/ErrorResult'},
18156 'required': ['Results'],
18158 'GetLeadershipSettingsBulkResults': {'additionalProperties': False,
18159 'properties': {'Results': {'items': {'$ref': '#/definitions/GetLeadershipSettingsResult'},
18161 'required': ['Results'],
18163 'GetLeadershipSettingsResult': {'additionalProperties': False,
18164 'properties': {'Error': {'$ref': '#/definitions/Error'},
18165 'Settings': {'patternProperties': {'.*': {'type': 'string'}},
18166 'type': 'object'}},
18167 'required': ['Settings',
18170 'HostPort': {'additionalProperties': False,
18171 'properties': {'Address': {'$ref': '#/definitions/Address'},
18172 'Port': {'type': 'integer'}},
18173 'required': ['Address', 'Port'],
18175 'IntResult': {'additionalProperties': False,
18176 'properties': {'Error': {'$ref': '#/definitions/Error'},
18177 'Result': {'type': 'integer'}},
18178 'required': ['Error', 'Result'],
18180 'IntResults': {'additionalProperties': False,
18181 'properties': {'Results': {'items': {'$ref': '#/definitions/IntResult'},
18183 'required': ['Results'],
18185 'LifeResult': {'additionalProperties': False,
18186 'properties': {'Error': {'$ref': '#/definitions/Error'},
18187 'Life': {'type': 'string'}},
18188 'required': ['Life', 'Error'],
18190 'LifeResults': {'additionalProperties': False,
18191 'properties': {'Results': {'items': {'$ref': '#/definitions/LifeResult'},
18193 'required': ['Results'],
18195 'Macaroon': {'additionalProperties': False,
18196 'properties': {'caveats': {'items': {'$ref': '#/definitions/caveat'},
18198 'data': {'items': {'type': 'integer'},
18200 'id': {'$ref': '#/definitions/packet'},
18201 'location': {'$ref': '#/definitions/packet'},
18202 'sig': {'items': {'type': 'integer'},
18204 'required': ['data',
18210 'MachinePortRange': {'additionalProperties': False,
18211 'properties': {'PortRange': {'$ref': '#/definitions/PortRange'},
18212 'RelationTag': {'type': 'string'},
18213 'UnitTag': {'type': 'string'}},
18214 'required': ['UnitTag',
18218 'MachinePortsResult': {'additionalProperties': False,
18219 'properties': {'Error': {'$ref': '#/definitions/Error'},
18220 'Ports': {'items': {'$ref': '#/definitions/MachinePortRange'},
18222 'required': ['Error', 'Ports'],
18224 'MachinePortsResults': {'additionalProperties': False,
18225 'properties': {'Results': {'items': {'$ref': '#/definitions/MachinePortsResult'},
18227 'required': ['Results'],
18229 'MergeLeadershipSettingsBulkParams': {'additionalProperties': False,
18230 'properties': {'Params': {'items': {'$ref': '#/definitions/MergeLeadershipSettingsParam'},
18232 'required': ['Params'],
18234 'MergeLeadershipSettingsParam': {'additionalProperties': False,
18235 'properties': {'ApplicationTag': {'type': 'string'},
18236 'Settings': {'patternProperties': {'.*': {'type': 'string'}},
18237 'type': 'object'}},
18238 'required': ['ApplicationTag',
18241 'MeterStatusResult': {'additionalProperties': False,
18242 'properties': {'Code': {'type': 'string'},
18243 'Error': {'$ref': '#/definitions/Error'},
18244 'Info': {'type': 'string'}},
18245 'required': ['Code', 'Info', 'Error'],
18247 'MeterStatusResults': {'additionalProperties': False,
18248 'properties': {'Results': {'items': {'$ref': '#/definitions/MeterStatusResult'},
18250 'required': ['Results'],
18252 'Metric': {'additionalProperties': False,
18253 'properties': {'Key': {'type': 'string'},
18254 'Time': {'format': 'date-time',
18256 'Value': {'type': 'string'}},
18257 'required': ['Key', 'Value', 'Time'],
18259 'MetricBatch': {'additionalProperties': False,
18260 'properties': {'CharmURL': {'type': 'string'},
18261 'Created': {'format': 'date-time',
18263 'Metrics': {'items': {'$ref': '#/definitions/Metric'},
18265 'UUID': {'type': 'string'}},
18266 'required': ['UUID',
18271 'MetricBatchParam': {'additionalProperties': False,
18272 'properties': {'Batch': {'$ref': '#/definitions/MetricBatch'},
18273 'Tag': {'type': 'string'}},
18274 'required': ['Tag', 'Batch'],
18276 'MetricBatchParams': {'additionalProperties': False,
18277 'properties': {'Batches': {'items': {'$ref': '#/definitions/MetricBatchParam'},
18279 'required': ['Batches'],
18281 'ModelConfigResult': {'additionalProperties': False,
18282 'properties': {'Config': {'patternProperties': {'.*': {'additionalProperties': True,
18283 'type': 'object'}},
18284 'type': 'object'}},
18285 'required': ['Config'],
18287 'ModelResult': {'additionalProperties': False,
18288 'properties': {'Error': {'$ref': '#/definitions/Error'},
18289 'Name': {'type': 'string'},
18290 'UUID': {'type': 'string'}},
18291 'required': ['Error', 'Name', 'UUID'],
18293 'NetworkConfig': {'additionalProperties': False,
18294 'properties': {'Address': {'type': 'string'},
18295 'CIDR': {'type': 'string'},
18296 'ConfigType': {'type': 'string'},
18297 'DNSSearchDomains': {'items': {'type': 'string'},
18299 'DNSServers': {'items': {'type': 'string'},
18301 'DeviceIndex': {'type': 'integer'},
18302 'Disabled': {'type': 'boolean'},
18303 'GatewayAddress': {'type': 'string'},
18304 'InterfaceName': {'type': 'string'},
18305 'InterfaceType': {'type': 'string'},
18306 'MACAddress': {'type': 'string'},
18307 'MTU': {'type': 'integer'},
18308 'NoAutoStart': {'type': 'boolean'},
18309 'ParentInterfaceName': {'type': 'string'},
18310 'ProviderAddressId': {'type': 'string'},
18311 'ProviderId': {'type': 'string'},
18312 'ProviderSpaceId': {'type': 'string'},
18313 'ProviderSubnetId': {'type': 'string'},
18314 'ProviderVLANId': {'type': 'string'},
18315 'VLANTag': {'type': 'integer'}},
18316 'required': ['DeviceIndex',
18321 'ProviderSubnetId',
18323 'ProviderAddressId',
18327 'ParentInterfaceName',
18331 'NotifyWatchResult': {'additionalProperties': False,
18332 'properties': {'Error': {'$ref': '#/definitions/Error'},
18333 'NotifyWatcherId': {'type': 'string'}},
18334 'required': ['NotifyWatcherId', 'Error'],
18336 'NotifyWatchResults': {'additionalProperties': False,
18337 'properties': {'Results': {'items': {'$ref': '#/definitions/NotifyWatchResult'},
18339 'required': ['Results'],
18341 'PortRange': {'additionalProperties': False,
18342 'properties': {'FromPort': {'type': 'integer'},
18343 'Protocol': {'type': 'string'},
18344 'ToPort': {'type': 'integer'}},
18345 'required': ['FromPort', 'ToPort', 'Protocol'],
18347 'Relation': {'additionalProperties': False,
18348 'properties': {'Interface': {'type': 'string'},
18349 'Limit': {'type': 'integer'},
18350 'Name': {'type': 'string'},
18351 'Optional': {'type': 'boolean'},
18352 'Role': {'type': 'string'},
18353 'Scope': {'type': 'string'}},
18354 'required': ['Name',
18361 'RelationIds': {'additionalProperties': False,
18362 'properties': {'RelationIds': {'items': {'type': 'integer'},
18364 'required': ['RelationIds'],
18366 'RelationResult': {'additionalProperties': False,
18367 'properties': {'Endpoint': {'$ref': '#/definitions/Endpoint'},
18368 'Error': {'$ref': '#/definitions/Error'},
18369 'Id': {'type': 'integer'},
18370 'Key': {'type': 'string'},
18371 'Life': {'type': 'string'}},
18372 'required': ['Error',
18378 'RelationResults': {'additionalProperties': False,
18379 'properties': {'Results': {'items': {'$ref': '#/definitions/RelationResult'},
18381 'required': ['Results'],
18383 'RelationUnit': {'additionalProperties': False,
18384 'properties': {'Relation': {'type': 'string'},
18385 'Unit': {'type': 'string'}},
18386 'required': ['Relation', 'Unit'],
18388 'RelationUnitPair': {'additionalProperties': False,
18389 'properties': {'LocalUnit': {'type': 'string'},
18390 'Relation': {'type': 'string'},
18391 'RemoteUnit': {'type': 'string'}},
18392 'required': ['Relation',
18396 'RelationUnitPairs': {'additionalProperties': False,
18397 'properties': {'RelationUnitPairs': {'items': {'$ref': '#/definitions/RelationUnitPair'},
18399 'required': ['RelationUnitPairs'],
18401 'RelationUnitSettings': {'additionalProperties': False,
18402 'properties': {'Relation': {'type': 'string'},
18403 'Settings': {'patternProperties': {'.*': {'type': 'string'}},
18405 'Unit': {'type': 'string'}},
18406 'required': ['Relation',
18410 'RelationUnits': {'additionalProperties': False,
18411 'properties': {'RelationUnits': {'items': {'$ref': '#/definitions/RelationUnit'},
18413 'required': ['RelationUnits'],
18415 'RelationUnitsChange': {'additionalProperties': False,
18416 'properties': {'Changed': {'patternProperties': {'.*': {'$ref': '#/definitions/UnitSettings'}},
18418 'Departed': {'items': {'type': 'string'},
18420 'required': ['Changed', 'Departed'],
18422 'RelationUnitsSettings': {'additionalProperties': False,
18423 'properties': {'RelationUnits': {'items': {'$ref': '#/definitions/RelationUnitSettings'},
18425 'required': ['RelationUnits'],
18427 'RelationUnitsWatchResult': {'additionalProperties': False,
18428 'properties': {'Changes': {'$ref': '#/definitions/RelationUnitsChange'},
18429 'Error': {'$ref': '#/definitions/Error'},
18430 'RelationUnitsWatcherId': {'type': 'string'}},
18431 'required': ['RelationUnitsWatcherId',
18435 'RelationUnitsWatchResults': {'additionalProperties': False,
18436 'properties': {'Results': {'items': {'$ref': '#/definitions/RelationUnitsWatchResult'},
18438 'required': ['Results'],
18440 'ResolvedModeResult': {'additionalProperties': False,
18441 'properties': {'Error': {'$ref': '#/definitions/Error'},
18442 'Mode': {'type': 'string'}},
18443 'required': ['Error', 'Mode'],
18445 'ResolvedModeResults': {'additionalProperties': False,
18446 'properties': {'Results': {'items': {'$ref': '#/definitions/ResolvedModeResult'},
18448 'required': ['Results'],
18450 'SetStatus': {'additionalProperties': False,
18451 'properties': {'Entities': {'items': {'$ref': '#/definitions/EntityStatusArgs'},
18453 'required': ['Entities'],
18455 'SettingsResult': {'additionalProperties': False,
18456 'properties': {'Error': {'$ref': '#/definitions/Error'},
18457 'Settings': {'patternProperties': {'.*': {'type': 'string'}},
18458 'type': 'object'}},
18459 'required': ['Error', 'Settings'],
18461 'SettingsResults': {'additionalProperties': False,
18462 'properties': {'Results': {'items': {'$ref': '#/definitions/SettingsResult'},
18464 'required': ['Results'],
18466 'StatusResult': {'additionalProperties': False,
18467 'properties': {'Data': {'patternProperties': {'.*': {'additionalProperties': True,
18468 'type': 'object'}},
18470 'Error': {'$ref': '#/definitions/Error'},
18471 'Id': {'type': 'string'},
18472 'Info': {'type': 'string'},
18473 'Life': {'type': 'string'},
18474 'Since': {'format': 'date-time',
18476 'Status': {'type': 'string'}},
18477 'required': ['Error',
18485 'StatusResults': {'additionalProperties': False,
18486 'properties': {'Results': {'items': {'$ref': '#/definitions/StatusResult'},
18488 'required': ['Results'],
18490 'StorageAddParams': {'additionalProperties': False,
18491 'properties': {'StorageName': {'type': 'string'},
18492 'storage': {'$ref': '#/definitions/StorageConstraints'},
18493 'unit': {'type': 'string'}},
18494 'required': ['unit',
18498 'StorageAttachment': {'additionalProperties': False,
18499 'properties': {'Kind': {'type': 'integer'},
18500 'Life': {'type': 'string'},
18501 'Location': {'type': 'string'},
18502 'OwnerTag': {'type': 'string'},
18503 'StorageTag': {'type': 'string'},
18504 'UnitTag': {'type': 'string'}},
18505 'required': ['StorageTag',
18512 'StorageAttachmentId': {'additionalProperties': False,
18513 'properties': {'storagetag': {'type': 'string'},
18514 'unittag': {'type': 'string'}},
18515 'required': ['storagetag', 'unittag'],
18517 'StorageAttachmentIds': {'additionalProperties': False,
18518 'properties': {'ids': {'items': {'$ref': '#/definitions/StorageAttachmentId'},
18520 'required': ['ids'],
18522 'StorageAttachmentIdsResult': {'additionalProperties': False,
18523 'properties': {'error': {'$ref': '#/definitions/Error'},
18524 'result': {'$ref': '#/definitions/StorageAttachmentIds'}},
18525 'required': ['result'],
18527 'StorageAttachmentIdsResults': {'additionalProperties': False,
18528 'properties': {'results': {'items': {'$ref': '#/definitions/StorageAttachmentIdsResult'},
18531 'StorageAttachmentResult': {'additionalProperties': False,
18532 'properties': {'error': {'$ref': '#/definitions/Error'},
18533 'result': {'$ref': '#/definitions/StorageAttachment'}},
18534 'required': ['result'],
18536 'StorageAttachmentResults': {'additionalProperties': False,
18537 'properties': {'results': {'items': {'$ref': '#/definitions/StorageAttachmentResult'},
18540 'StorageConstraints': {'additionalProperties': False,
18541 'properties': {'Count': {'type': 'integer'},
18542 'Pool': {'type': 'string'},
18543 'Size': {'type': 'integer'}},
18544 'required': ['Pool', 'Size', 'Count'],
18546 'StoragesAddParams': {'additionalProperties': False,
18547 'properties': {'storages': {'items': {'$ref': '#/definitions/StorageAddParams'},
18549 'required': ['storages'],
18551 'StringBoolResult': {'additionalProperties': False,
18552 'properties': {'Error': {'$ref': '#/definitions/Error'},
18553 'Ok': {'type': 'boolean'},
18554 'Result': {'type': 'string'}},
18555 'required': ['Error', 'Result', 'Ok'],
18557 'StringBoolResults': {'additionalProperties': False,
18558 'properties': {'Results': {'items': {'$ref': '#/definitions/StringBoolResult'},
18560 'required': ['Results'],
18562 'StringResult': {'additionalProperties': False,
18563 'properties': {'Error': {'$ref': '#/definitions/Error'},
18564 'Result': {'type': 'string'}},
18565 'required': ['Error', 'Result'],
18567 'StringResults': {'additionalProperties': False,
18568 'properties': {'Results': {'items': {'$ref': '#/definitions/StringResult'},
18570 'required': ['Results'],
18572 'StringsResult': {'additionalProperties': False,
18573 'properties': {'Error': {'$ref': '#/definitions/Error'},
18574 'Result': {'items': {'type': 'string'},
18576 'required': ['Error', 'Result'],
18578 'StringsResults': {'additionalProperties': False,
18579 'properties': {'Results': {'items': {'$ref': '#/definitions/StringsResult'},
18581 'required': ['Results'],
18583 'StringsWatchResult': {'additionalProperties': False,
18584 'properties': {'Changes': {'items': {'type': 'string'},
18586 'Error': {'$ref': '#/definitions/Error'},
18587 'StringsWatcherId': {'type': 'string'}},
18588 'required': ['StringsWatcherId',
18592 'StringsWatchResults': {'additionalProperties': False,
18593 'properties': {'Results': {'items': {'$ref': '#/definitions/StringsWatchResult'},
18595 'required': ['Results'],
18597 'UnitNetworkConfig': {'additionalProperties': False,
18598 'properties': {'BindingName': {'type': 'string'},
18599 'UnitTag': {'type': 'string'}},
18600 'required': ['UnitTag', 'BindingName'],
18602 'UnitNetworkConfigResult': {'additionalProperties': False,
18603 'properties': {'Error': {'$ref': '#/definitions/Error'},
18604 'Info': {'items': {'$ref': '#/definitions/NetworkConfig'},
18606 'required': ['Error', 'Info'],
18608 'UnitNetworkConfigResults': {'additionalProperties': False,
18609 'properties': {'Results': {'items': {'$ref': '#/definitions/UnitNetworkConfigResult'},
18611 'required': ['Results'],
18613 'UnitSettings': {'additionalProperties': False,
18614 'properties': {'Version': {'type': 'integer'}},
18615 'required': ['Version'],
18617 'UnitsNetworkConfig': {'additionalProperties': False,
18618 'properties': {'Args': {'items': {'$ref': '#/definitions/UnitNetworkConfig'},
18620 'required': ['Args'],
18622 'caveat': {'additionalProperties': False,
18623 'properties': {'caveatId': {'$ref': '#/definitions/packet'},
18624 'location': {'$ref': '#/definitions/packet'},
18625 'verificationId': {'$ref': '#/definitions/packet'}},
18626 'required': ['location',
18630 'packet': {'additionalProperties': False,
18631 'properties': {'headerLen': {'type': 'integer'},
18632 'start': {'type': 'integer'},
18633 'totalLen': {'type': 'integer'}},
18634 'required': ['start', 'totalLen', 'headerLen'],
18635 'type': 'object'}},
18636 'properties': {'APIAddresses': {'properties': {'Result': {'$ref': '#/definitions/StringsResult'}},
18638 'APIHostPorts': {'properties': {'Result': {'$ref': '#/definitions/APIHostPortsResult'}},
18640 'Actions': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
18641 'Result': {'$ref': '#/definitions/ActionResults'}},
18643 'AddMetricBatches': {'properties': {'Params': {'$ref': '#/definitions/MetricBatchParams'},
18644 'Result': {'$ref': '#/definitions/ErrorResults'}},
18646 'AddUnitStorage': {'properties': {'Params': {'$ref': '#/definitions/StoragesAddParams'},
18647 'Result': {'$ref': '#/definitions/ErrorResults'}},
18649 'AllMachinePorts': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
18650 'Result': {'$ref': '#/definitions/MachinePortsResults'}},
18652 'ApplicationOwner': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
18653 'Result': {'$ref': '#/definitions/StringResults'}},
18655 'ApplicationStatus': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
18656 'Result': {'$ref': '#/definitions/ApplicationStatusResults'}},
18658 'AssignedMachine': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
18659 'Result': {'$ref': '#/definitions/StringResults'}},
18661 'AvailabilityZone': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
18662 'Result': {'$ref': '#/definitions/StringResults'}},
18664 'BeginActions': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
18665 'Result': {'$ref': '#/definitions/ErrorResults'}},
18667 'CACert': {'properties': {'Result': {'$ref': '#/definitions/BytesResult'}},
18669 'CharmArchiveSha256': {'properties': {'Params': {'$ref': '#/definitions/CharmURLs'},
18670 'Result': {'$ref': '#/definitions/StringResults'}},
18672 'CharmModifiedVersion': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
18673 'Result': {'$ref': '#/definitions/IntResults'}},
18675 'CharmURL': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
18676 'Result': {'$ref': '#/definitions/StringBoolResults'}},
18678 'ClearResolved': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
18679 'Result': {'$ref': '#/definitions/ErrorResults'}},
18681 'ClosePorts': {'properties': {'Params': {'$ref': '#/definitions/EntitiesPortRanges'},
18682 'Result': {'$ref': '#/definitions/ErrorResults'}},
18684 'ConfigSettings': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
18685 'Result': {'$ref': '#/definitions/ConfigSettingsResults'}},
18687 'CurrentModel': {'properties': {'Result': {'$ref': '#/definitions/ModelResult'}},
18689 'Destroy': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
18690 'Result': {'$ref': '#/definitions/ErrorResults'}},
18692 'DestroyAllSubordinates': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
18693 'Result': {'$ref': '#/definitions/ErrorResults'}},
18695 'DestroyUnitStorageAttachments': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
18696 'Result': {'$ref': '#/definitions/ErrorResults'}},
18698 'EnsureDead': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
18699 'Result': {'$ref': '#/definitions/ErrorResults'}},
18701 'EnterScope': {'properties': {'Params': {'$ref': '#/definitions/RelationUnits'},
18702 'Result': {'$ref': '#/definitions/ErrorResults'}},
18704 'FinishActions': {'properties': {'Params': {'$ref': '#/definitions/ActionExecutionResults'},
18705 'Result': {'$ref': '#/definitions/ErrorResults'}},
18707 'GetMeterStatus': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
18708 'Result': {'$ref': '#/definitions/MeterStatusResults'}},
18710 'GetPrincipal': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
18711 'Result': {'$ref': '#/definitions/StringBoolResults'}},
18713 'HasSubordinates': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
18714 'Result': {'$ref': '#/definitions/BoolResults'}},
18716 'JoinedRelations': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
18717 'Result': {'$ref': '#/definitions/StringsResults'}},
18719 'LeaveScope': {'properties': {'Params': {'$ref': '#/definitions/RelationUnits'},
18720 'Result': {'$ref': '#/definitions/ErrorResults'}},
18722 'Life': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
18723 'Result': {'$ref': '#/definitions/LifeResults'}},
18725 'Merge': {'properties': {'Params': {'$ref': '#/definitions/MergeLeadershipSettingsBulkParams'},
18726 'Result': {'$ref': '#/definitions/ErrorResults'}},
18728 'ModelConfig': {'properties': {'Result': {'$ref': '#/definitions/ModelConfigResult'}},
18730 'ModelUUID': {'properties': {'Result': {'$ref': '#/definitions/StringResult'}},
18732 'NetworkConfig': {'properties': {'Params': {'$ref': '#/definitions/UnitsNetworkConfig'},
18733 'Result': {'$ref': '#/definitions/UnitNetworkConfigResults'}},
18735 'OpenPorts': {'properties': {'Params': {'$ref': '#/definitions/EntitiesPortRanges'},
18736 'Result': {'$ref': '#/definitions/ErrorResults'}},
18738 'PrivateAddress': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
18739 'Result': {'$ref': '#/definitions/StringResults'}},
18741 'ProviderType': {'properties': {'Result': {'$ref': '#/definitions/StringResult'}},
18743 'PublicAddress': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
18744 'Result': {'$ref': '#/definitions/StringResults'}},
18746 'Read': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
18747 'Result': {'$ref': '#/definitions/GetLeadershipSettingsBulkResults'}},
18749 'ReadRemoteSettings': {'properties': {'Params': {'$ref': '#/definitions/RelationUnitPairs'},
18750 'Result': {'$ref': '#/definitions/SettingsResults'}},
18752 'ReadSettings': {'properties': {'Params': {'$ref': '#/definitions/RelationUnits'},
18753 'Result': {'$ref': '#/definitions/SettingsResults'}},
18755 'Relation': {'properties': {'Params': {'$ref': '#/definitions/RelationUnits'},
18756 'Result': {'$ref': '#/definitions/RelationResults'}},
18758 'RelationById': {'properties': {'Params': {'$ref': '#/definitions/RelationIds'},
18759 'Result': {'$ref': '#/definitions/RelationResults'}},
18761 'RemoveStorageAttachments': {'properties': {'Params': {'$ref': '#/definitions/StorageAttachmentIds'},
18762 'Result': {'$ref': '#/definitions/ErrorResults'}},
18764 'RequestReboot': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
18765 'Result': {'$ref': '#/definitions/ErrorResults'}},
18767 'Resolved': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
18768 'Result': {'$ref': '#/definitions/ResolvedModeResults'}},
18770 'SetAgentStatus': {'properties': {'Params': {'$ref': '#/definitions/SetStatus'},
18771 'Result': {'$ref': '#/definitions/ErrorResults'}},
18773 'SetApplicationStatus': {'properties': {'Params': {'$ref': '#/definitions/SetStatus'},
18774 'Result': {'$ref': '#/definitions/ErrorResults'}},
18776 'SetCharmURL': {'properties': {'Params': {'$ref': '#/definitions/EntitiesCharmURL'},
18777 'Result': {'$ref': '#/definitions/ErrorResults'}},
18779 'SetStatus': {'properties': {'Params': {'$ref': '#/definitions/SetStatus'},
18780 'Result': {'$ref': '#/definitions/ErrorResults'}},
18782 'SetUnitStatus': {'properties': {'Params': {'$ref': '#/definitions/SetStatus'},
18783 'Result': {'$ref': '#/definitions/ErrorResults'}},
18785 'StorageAttachmentLife': {'properties': {'Params': {'$ref': '#/definitions/StorageAttachmentIds'},
18786 'Result': {'$ref': '#/definitions/LifeResults'}},
18788 'StorageAttachments': {'properties': {'Params': {'$ref': '#/definitions/StorageAttachmentIds'},
18789 'Result': {'$ref': '#/definitions/StorageAttachmentResults'}},
18791 'UnitStatus': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
18792 'Result': {'$ref': '#/definitions/StatusResults'}},
18794 'UnitStorageAttachments': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
18795 'Result': {'$ref': '#/definitions/StorageAttachmentIdsResults'}},
18797 'UpdateSettings': {'properties': {'Params': {'$ref': '#/definitions/RelationUnitsSettings'},
18798 'Result': {'$ref': '#/definitions/ErrorResults'}},
18800 'Watch': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
18801 'Result': {'$ref': '#/definitions/NotifyWatchResults'}},
18803 'WatchAPIHostPorts': {'properties': {'Result': {'$ref': '#/definitions/NotifyWatchResult'}},
18805 'WatchActionNotifications': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
18806 'Result': {'$ref': '#/definitions/StringsWatchResults'}},
18808 'WatchApplicationRelations': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
18809 'Result': {'$ref': '#/definitions/StringsWatchResults'}},
18811 'WatchConfigSettings': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
18812 'Result': {'$ref': '#/definitions/NotifyWatchResults'}},
18814 'WatchForModelConfigChanges': {'properties': {'Result': {'$ref': '#/definitions/NotifyWatchResult'}},
18816 'WatchLeadershipSettings': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
18817 'Result': {'$ref': '#/definitions/NotifyWatchResults'}},
18819 'WatchMeterStatus': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
18820 'Result': {'$ref': '#/definitions/NotifyWatchResults'}},
18822 'WatchRelationUnits': {'properties': {'Params': {'$ref': '#/definitions/RelationUnits'},
18823 'Result': {'$ref': '#/definitions/RelationUnitsWatchResults'}},
18825 'WatchStorageAttachments': {'properties': {'Params': {'$ref': '#/definitions/StorageAttachmentIds'},
18826 'Result': {'$ref': '#/definitions/NotifyWatchResults'}},
18828 'WatchUnitAddresses': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
18829 'Result': {'$ref': '#/definitions/NotifyWatchResults'}},
18831 'WatchUnitStorageAttachments': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
18832 'Result': {'$ref': '#/definitions/StringsWatchResults'}},
18833 'type': 'object'}},
18837 @ReturnMapping(StringsResult
)
18838 async def APIAddresses(self
):
18841 Returns -> typing.Union[_ForwardRef('Error'), typing.Sequence[str]]
18843 # map input types to rpc msg
18845 msg
= dict(Type
='Uniter', Request
='APIAddresses', Version
=4, Params
=params
)
18847 reply
= await self
.rpc(msg
)
18852 @ReturnMapping(APIHostPortsResult
)
18853 async def APIHostPorts(self
):
18856 Returns -> typing.Sequence[~HostPort]
18858 # map input types to rpc msg
18860 msg
= dict(Type
='Uniter', Request
='APIHostPorts', Version
=4, Params
=params
)
18862 reply
= await self
.rpc(msg
)
18867 @ReturnMapping(ActionResults
)
18868 async def Actions(self
, entities
):
18870 entities : typing.Sequence[~Entity]
18871 Returns -> typing.Sequence[~ActionResult]
18873 # map input types to rpc msg
18875 msg
= dict(Type
='Uniter', Request
='Actions', Version
=4, Params
=params
)
18876 params
['Entities'] = entities
18877 reply
= await self
.rpc(msg
)
18882 @ReturnMapping(ErrorResults
)
18883 async def AddMetricBatches(self
, batches
):
18885 batches : typing.Sequence[~MetricBatchParam]
18886 Returns -> typing.Sequence[~ErrorResult]
18888 # map input types to rpc msg
18890 msg
= dict(Type
='Uniter', Request
='AddMetricBatches', Version
=4, Params
=params
)
18891 params
['Batches'] = batches
18892 reply
= await self
.rpc(msg
)
18897 @ReturnMapping(ErrorResults
)
18898 async def AddUnitStorage(self
, storages
):
18900 storages : typing.Sequence[~StorageAddParams]
18901 Returns -> typing.Sequence[~ErrorResult]
18903 # map input types to rpc msg
18905 msg
= dict(Type
='Uniter', Request
='AddUnitStorage', Version
=4, Params
=params
)
18906 params
['storages'] = storages
18907 reply
= await self
.rpc(msg
)
18912 @ReturnMapping(MachinePortsResults
)
18913 async def AllMachinePorts(self
, entities
):
18915 entities : typing.Sequence[~Entity]
18916 Returns -> typing.Sequence[~MachinePortsResult]
18918 # map input types to rpc msg
18920 msg
= dict(Type
='Uniter', Request
='AllMachinePorts', Version
=4, Params
=params
)
18921 params
['Entities'] = entities
18922 reply
= await self
.rpc(msg
)
18927 @ReturnMapping(StringResults
)
18928 async def ApplicationOwner(self
, entities
):
18930 entities : typing.Sequence[~Entity]
18931 Returns -> typing.Sequence[~StringResult]
18933 # map input types to rpc msg
18935 msg
= dict(Type
='Uniter', Request
='ApplicationOwner', Version
=4, Params
=params
)
18936 params
['Entities'] = entities
18937 reply
= await self
.rpc(msg
)
18942 @ReturnMapping(ApplicationStatusResults
)
18943 async def ApplicationStatus(self
, entities
):
18945 entities : typing.Sequence[~Entity]
18946 Returns -> typing.Sequence[~ApplicationStatusResult]
18948 # map input types to rpc msg
18950 msg
= dict(Type
='Uniter', Request
='ApplicationStatus', Version
=4, Params
=params
)
18951 params
['Entities'] = entities
18952 reply
= await self
.rpc(msg
)
18957 @ReturnMapping(StringResults
)
18958 async def AssignedMachine(self
, entities
):
18960 entities : typing.Sequence[~Entity]
18961 Returns -> typing.Sequence[~StringResult]
18963 # map input types to rpc msg
18965 msg
= dict(Type
='Uniter', Request
='AssignedMachine', Version
=4, Params
=params
)
18966 params
['Entities'] = entities
18967 reply
= await self
.rpc(msg
)
18972 @ReturnMapping(StringResults
)
18973 async def AvailabilityZone(self
, entities
):
18975 entities : typing.Sequence[~Entity]
18976 Returns -> typing.Sequence[~StringResult]
18978 # map input types to rpc msg
18980 msg
= dict(Type
='Uniter', Request
='AvailabilityZone', Version
=4, Params
=params
)
18981 params
['Entities'] = entities
18982 reply
= await self
.rpc(msg
)
18987 @ReturnMapping(ErrorResults
)
18988 async def BeginActions(self
, entities
):
18990 entities : typing.Sequence[~Entity]
18991 Returns -> typing.Sequence[~ErrorResult]
18993 # map input types to rpc msg
18995 msg
= dict(Type
='Uniter', Request
='BeginActions', Version
=4, Params
=params
)
18996 params
['Entities'] = entities
18997 reply
= await self
.rpc(msg
)
19002 @ReturnMapping(BytesResult
)
19003 async def CACert(self
):
19006 Returns -> typing.Sequence[int]
19008 # map input types to rpc msg
19010 msg
= dict(Type
='Uniter', Request
='CACert', Version
=4, Params
=params
)
19012 reply
= await self
.rpc(msg
)
19017 @ReturnMapping(StringResults
)
19018 async def CharmArchiveSha256(self
, urls
):
19020 urls : typing.Sequence[~CharmURL]
19021 Returns -> typing.Sequence[~StringResult]
19023 # map input types to rpc msg
19025 msg
= dict(Type
='Uniter', Request
='CharmArchiveSha256', Version
=4, Params
=params
)
19026 params
['URLs'] = urls
19027 reply
= await self
.rpc(msg
)
19032 @ReturnMapping(IntResults
)
19033 async def CharmModifiedVersion(self
, entities
):
19035 entities : typing.Sequence[~Entity]
19036 Returns -> typing.Sequence[~IntResult]
19038 # map input types to rpc msg
19040 msg
= dict(Type
='Uniter', Request
='CharmModifiedVersion', Version
=4, Params
=params
)
19041 params
['Entities'] = entities
19042 reply
= await self
.rpc(msg
)
19047 @ReturnMapping(StringBoolResults
)
19048 async def CharmURL(self
, entities
):
19050 entities : typing.Sequence[~Entity]
19051 Returns -> typing.Sequence[~StringBoolResult]
19053 # map input types to rpc msg
19055 msg
= dict(Type
='Uniter', Request
='CharmURL', Version
=4, Params
=params
)
19056 params
['Entities'] = entities
19057 reply
= await self
.rpc(msg
)
19062 @ReturnMapping(ErrorResults
)
19063 async def ClearResolved(self
, entities
):
19065 entities : typing.Sequence[~Entity]
19066 Returns -> typing.Sequence[~ErrorResult]
19068 # map input types to rpc msg
19070 msg
= dict(Type
='Uniter', Request
='ClearResolved', Version
=4, Params
=params
)
19071 params
['Entities'] = entities
19072 reply
= await self
.rpc(msg
)
19077 @ReturnMapping(ErrorResults
)
19078 async def ClosePorts(self
, entities
):
19080 entities : typing.Sequence[~EntityPortRange]
19081 Returns -> typing.Sequence[~ErrorResult]
19083 # map input types to rpc msg
19085 msg
= dict(Type
='Uniter', Request
='ClosePorts', Version
=4, Params
=params
)
19086 params
['Entities'] = entities
19087 reply
= await self
.rpc(msg
)
19092 @ReturnMapping(ConfigSettingsResults
)
19093 async def ConfigSettings(self
, entities
):
19095 entities : typing.Sequence[~Entity]
19096 Returns -> typing.Sequence[~ConfigSettingsResult]
19098 # map input types to rpc msg
19100 msg
= dict(Type
='Uniter', Request
='ConfigSettings', Version
=4, Params
=params
)
19101 params
['Entities'] = entities
19102 reply
= await self
.rpc(msg
)
19107 @ReturnMapping(ModelResult
)
19108 async def CurrentModel(self
):
19111 Returns -> typing.Union[_ForwardRef('Error'), str]
19113 # map input types to rpc msg
19115 msg
= dict(Type
='Uniter', Request
='CurrentModel', Version
=4, Params
=params
)
19117 reply
= await self
.rpc(msg
)
19122 @ReturnMapping(ErrorResults
)
19123 async def Destroy(self
, entities
):
19125 entities : typing.Sequence[~Entity]
19126 Returns -> typing.Sequence[~ErrorResult]
19128 # map input types to rpc msg
19130 msg
= dict(Type
='Uniter', Request
='Destroy', Version
=4, Params
=params
)
19131 params
['Entities'] = entities
19132 reply
= await self
.rpc(msg
)
19137 @ReturnMapping(ErrorResults
)
19138 async def DestroyAllSubordinates(self
, entities
):
19140 entities : typing.Sequence[~Entity]
19141 Returns -> typing.Sequence[~ErrorResult]
19143 # map input types to rpc msg
19145 msg
= dict(Type
='Uniter', Request
='DestroyAllSubordinates', Version
=4, Params
=params
)
19146 params
['Entities'] = entities
19147 reply
= await self
.rpc(msg
)
19152 @ReturnMapping(ErrorResults
)
19153 async def DestroyUnitStorageAttachments(self
, entities
):
19155 entities : typing.Sequence[~Entity]
19156 Returns -> typing.Sequence[~ErrorResult]
19158 # map input types to rpc msg
19160 msg
= dict(Type
='Uniter', Request
='DestroyUnitStorageAttachments', Version
=4, Params
=params
)
19161 params
['Entities'] = entities
19162 reply
= await self
.rpc(msg
)
19167 @ReturnMapping(ErrorResults
)
19168 async def EnsureDead(self
, entities
):
19170 entities : typing.Sequence[~Entity]
19171 Returns -> typing.Sequence[~ErrorResult]
19173 # map input types to rpc msg
19175 msg
= dict(Type
='Uniter', Request
='EnsureDead', Version
=4, Params
=params
)
19176 params
['Entities'] = entities
19177 reply
= await self
.rpc(msg
)
19182 @ReturnMapping(ErrorResults
)
19183 async def EnterScope(self
, relationunits
):
19185 relationunits : typing.Sequence[~RelationUnit]
19186 Returns -> typing.Sequence[~ErrorResult]
19188 # map input types to rpc msg
19190 msg
= dict(Type
='Uniter', Request
='EnterScope', Version
=4, Params
=params
)
19191 params
['RelationUnits'] = relationunits
19192 reply
= await self
.rpc(msg
)
19197 @ReturnMapping(ErrorResults
)
19198 async def FinishActions(self
, results
):
19200 results : typing.Sequence[~ActionExecutionResult]
19201 Returns -> typing.Sequence[~ErrorResult]
19203 # map input types to rpc msg
19205 msg
= dict(Type
='Uniter', Request
='FinishActions', Version
=4, Params
=params
)
19206 params
['results'] = results
19207 reply
= await self
.rpc(msg
)
19212 @ReturnMapping(MeterStatusResults
)
19213 async def GetMeterStatus(self
, entities
):
19215 entities : typing.Sequence[~Entity]
19216 Returns -> typing.Sequence[~MeterStatusResult]
19218 # map input types to rpc msg
19220 msg
= dict(Type
='Uniter', Request
='GetMeterStatus', Version
=4, Params
=params
)
19221 params
['Entities'] = entities
19222 reply
= await self
.rpc(msg
)
19227 @ReturnMapping(StringBoolResults
)
19228 async def GetPrincipal(self
, entities
):
19230 entities : typing.Sequence[~Entity]
19231 Returns -> typing.Sequence[~StringBoolResult]
19233 # map input types to rpc msg
19235 msg
= dict(Type
='Uniter', Request
='GetPrincipal', Version
=4, Params
=params
)
19236 params
['Entities'] = entities
19237 reply
= await self
.rpc(msg
)
19242 @ReturnMapping(BoolResults
)
19243 async def HasSubordinates(self
, entities
):
19245 entities : typing.Sequence[~Entity]
19246 Returns -> typing.Sequence[~BoolResult]
19248 # map input types to rpc msg
19250 msg
= dict(Type
='Uniter', Request
='HasSubordinates', Version
=4, Params
=params
)
19251 params
['Entities'] = entities
19252 reply
= await self
.rpc(msg
)
19257 @ReturnMapping(StringsResults
)
19258 async def JoinedRelations(self
, entities
):
19260 entities : typing.Sequence[~Entity]
19261 Returns -> typing.Sequence[~StringsResult]
19263 # map input types to rpc msg
19265 msg
= dict(Type
='Uniter', Request
='JoinedRelations', Version
=4, Params
=params
)
19266 params
['Entities'] = entities
19267 reply
= await self
.rpc(msg
)
19272 @ReturnMapping(ErrorResults
)
19273 async def LeaveScope(self
, relationunits
):
19275 relationunits : typing.Sequence[~RelationUnit]
19276 Returns -> typing.Sequence[~ErrorResult]
19278 # map input types to rpc msg
19280 msg
= dict(Type
='Uniter', Request
='LeaveScope', Version
=4, Params
=params
)
19281 params
['RelationUnits'] = relationunits
19282 reply
= await self
.rpc(msg
)
19287 @ReturnMapping(LifeResults
)
19288 async def Life(self
, entities
):
19290 entities : typing.Sequence[~Entity]
19291 Returns -> typing.Sequence[~LifeResult]
19293 # map input types to rpc msg
19295 msg
= dict(Type
='Uniter', Request
='Life', Version
=4, Params
=params
)
19296 params
['Entities'] = entities
19297 reply
= await self
.rpc(msg
)
19302 @ReturnMapping(ErrorResults
)
19303 async def Merge(self
, params
):
19305 params : typing.Sequence[~MergeLeadershipSettingsParam]
19306 Returns -> typing.Sequence[~ErrorResult]
19308 # map input types to rpc msg
19310 msg
= dict(Type
='Uniter', Request
='Merge', Version
=4, Params
=params
)
19311 params
['Params'] = params
19312 reply
= await self
.rpc(msg
)
19317 @ReturnMapping(ModelConfigResult
)
19318 async def ModelConfig(self
):
19321 Returns -> typing.Mapping[str, typing.Any]
19323 # map input types to rpc msg
19325 msg
= dict(Type
='Uniter', Request
='ModelConfig', Version
=4, Params
=params
)
19327 reply
= await self
.rpc(msg
)
19332 @ReturnMapping(StringResult
)
19333 async def ModelUUID(self
):
19336 Returns -> typing.Union[_ForwardRef('Error'), str]
19338 # map input types to rpc msg
19340 msg
= dict(Type
='Uniter', Request
='ModelUUID', Version
=4, Params
=params
)
19342 reply
= await self
.rpc(msg
)
19347 @ReturnMapping(UnitNetworkConfigResults
)
19348 async def NetworkConfig(self
, args
):
19350 args : typing.Sequence[~UnitNetworkConfig]
19351 Returns -> typing.Sequence[~UnitNetworkConfigResult]
19353 # map input types to rpc msg
19355 msg
= dict(Type
='Uniter', Request
='NetworkConfig', Version
=4, Params
=params
)
19356 params
['Args'] = args
19357 reply
= await self
.rpc(msg
)
19362 @ReturnMapping(ErrorResults
)
19363 async def OpenPorts(self
, entities
):
19365 entities : typing.Sequence[~EntityPortRange]
19366 Returns -> typing.Sequence[~ErrorResult]
19368 # map input types to rpc msg
19370 msg
= dict(Type
='Uniter', Request
='OpenPorts', Version
=4, Params
=params
)
19371 params
['Entities'] = entities
19372 reply
= await self
.rpc(msg
)
19377 @ReturnMapping(StringResults
)
19378 async def PrivateAddress(self
, entities
):
19380 entities : typing.Sequence[~Entity]
19381 Returns -> typing.Sequence[~StringResult]
19383 # map input types to rpc msg
19385 msg
= dict(Type
='Uniter', Request
='PrivateAddress', Version
=4, Params
=params
)
19386 params
['Entities'] = entities
19387 reply
= await self
.rpc(msg
)
19392 @ReturnMapping(StringResult
)
19393 async def ProviderType(self
):
19396 Returns -> typing.Union[_ForwardRef('Error'), str]
19398 # map input types to rpc msg
19400 msg
= dict(Type
='Uniter', Request
='ProviderType', Version
=4, Params
=params
)
19402 reply
= await self
.rpc(msg
)
19407 @ReturnMapping(StringResults
)
19408 async def PublicAddress(self
, entities
):
19410 entities : typing.Sequence[~Entity]
19411 Returns -> typing.Sequence[~StringResult]
19413 # map input types to rpc msg
19415 msg
= dict(Type
='Uniter', Request
='PublicAddress', Version
=4, Params
=params
)
19416 params
['Entities'] = entities
19417 reply
= await self
.rpc(msg
)
19422 @ReturnMapping(GetLeadershipSettingsBulkResults
)
19423 async def Read(self
, entities
):
19425 entities : typing.Sequence[~Entity]
19426 Returns -> typing.Sequence[~GetLeadershipSettingsResult]
19428 # map input types to rpc msg
19430 msg
= dict(Type
='Uniter', Request
='Read', Version
=4, Params
=params
)
19431 params
['Entities'] = entities
19432 reply
= await self
.rpc(msg
)
19437 @ReturnMapping(SettingsResults
)
19438 async def ReadRemoteSettings(self
, relationunitpairs
):
19440 relationunitpairs : typing.Sequence[~RelationUnitPair]
19441 Returns -> typing.Sequence[~SettingsResult]
19443 # map input types to rpc msg
19445 msg
= dict(Type
='Uniter', Request
='ReadRemoteSettings', Version
=4, Params
=params
)
19446 params
['RelationUnitPairs'] = relationunitpairs
19447 reply
= await self
.rpc(msg
)
19452 @ReturnMapping(SettingsResults
)
19453 async def ReadSettings(self
, relationunits
):
19455 relationunits : typing.Sequence[~RelationUnit]
19456 Returns -> typing.Sequence[~SettingsResult]
19458 # map input types to rpc msg
19460 msg
= dict(Type
='Uniter', Request
='ReadSettings', Version
=4, Params
=params
)
19461 params
['RelationUnits'] = relationunits
19462 reply
= await self
.rpc(msg
)
19467 @ReturnMapping(RelationResults
)
19468 async def Relation(self
, relationunits
):
19470 relationunits : typing.Sequence[~RelationUnit]
19471 Returns -> typing.Sequence[~RelationResult]
19473 # map input types to rpc msg
19475 msg
= dict(Type
='Uniter', Request
='Relation', Version
=4, Params
=params
)
19476 params
['RelationUnits'] = relationunits
19477 reply
= await self
.rpc(msg
)
19482 @ReturnMapping(RelationResults
)
19483 async def RelationById(self
, relationids
):
19485 relationids : typing.Sequence[int]
19486 Returns -> typing.Sequence[~RelationResult]
19488 # map input types to rpc msg
19490 msg
= dict(Type
='Uniter', Request
='RelationById', Version
=4, Params
=params
)
19491 params
['RelationIds'] = relationids
19492 reply
= await self
.rpc(msg
)
19497 @ReturnMapping(ErrorResults
)
19498 async def RemoveStorageAttachments(self
, ids
):
19500 ids : typing.Sequence[~StorageAttachmentId]
19501 Returns -> typing.Sequence[~ErrorResult]
19503 # map input types to rpc msg
19505 msg
= dict(Type
='Uniter', Request
='RemoveStorageAttachments', Version
=4, Params
=params
)
19506 params
['ids'] = ids
19507 reply
= await self
.rpc(msg
)
19512 @ReturnMapping(ErrorResults
)
19513 async def RequestReboot(self
, entities
):
19515 entities : typing.Sequence[~Entity]
19516 Returns -> typing.Sequence[~ErrorResult]
19518 # map input types to rpc msg
19520 msg
= dict(Type
='Uniter', Request
='RequestReboot', Version
=4, Params
=params
)
19521 params
['Entities'] = entities
19522 reply
= await self
.rpc(msg
)
19527 @ReturnMapping(ResolvedModeResults
)
19528 async def Resolved(self
, entities
):
19530 entities : typing.Sequence[~Entity]
19531 Returns -> typing.Sequence[~ResolvedModeResult]
19533 # map input types to rpc msg
19535 msg
= dict(Type
='Uniter', Request
='Resolved', Version
=4, Params
=params
)
19536 params
['Entities'] = entities
19537 reply
= await self
.rpc(msg
)
19542 @ReturnMapping(ErrorResults
)
19543 async def SetAgentStatus(self
, entities
):
19545 entities : typing.Sequence[~EntityStatusArgs]
19546 Returns -> typing.Sequence[~ErrorResult]
19548 # map input types to rpc msg
19550 msg
= dict(Type
='Uniter', Request
='SetAgentStatus', Version
=4, Params
=params
)
19551 params
['Entities'] = entities
19552 reply
= await self
.rpc(msg
)
19557 @ReturnMapping(ErrorResults
)
19558 async def SetApplicationStatus(self
, entities
):
19560 entities : typing.Sequence[~EntityStatusArgs]
19561 Returns -> typing.Sequence[~ErrorResult]
19563 # map input types to rpc msg
19565 msg
= dict(Type
='Uniter', Request
='SetApplicationStatus', Version
=4, Params
=params
)
19566 params
['Entities'] = entities
19567 reply
= await self
.rpc(msg
)
19572 @ReturnMapping(ErrorResults
)
19573 async def SetCharmURL(self
, entities
):
19575 entities : typing.Sequence[~EntityCharmURL]
19576 Returns -> typing.Sequence[~ErrorResult]
19578 # map input types to rpc msg
19580 msg
= dict(Type
='Uniter', Request
='SetCharmURL', Version
=4, Params
=params
)
19581 params
['Entities'] = entities
19582 reply
= await self
.rpc(msg
)
19587 @ReturnMapping(ErrorResults
)
19588 async def SetStatus(self
, entities
):
19590 entities : typing.Sequence[~EntityStatusArgs]
19591 Returns -> typing.Sequence[~ErrorResult]
19593 # map input types to rpc msg
19595 msg
= dict(Type
='Uniter', Request
='SetStatus', Version
=4, Params
=params
)
19596 params
['Entities'] = entities
19597 reply
= await self
.rpc(msg
)
19602 @ReturnMapping(ErrorResults
)
19603 async def SetUnitStatus(self
, entities
):
19605 entities : typing.Sequence[~EntityStatusArgs]
19606 Returns -> typing.Sequence[~ErrorResult]
19608 # map input types to rpc msg
19610 msg
= dict(Type
='Uniter', Request
='SetUnitStatus', Version
=4, Params
=params
)
19611 params
['Entities'] = entities
19612 reply
= await self
.rpc(msg
)
19617 @ReturnMapping(LifeResults
)
19618 async def StorageAttachmentLife(self
, ids
):
19620 ids : typing.Sequence[~StorageAttachmentId]
19621 Returns -> typing.Sequence[~LifeResult]
19623 # map input types to rpc msg
19625 msg
= dict(Type
='Uniter', Request
='StorageAttachmentLife', Version
=4, Params
=params
)
19626 params
['ids'] = ids
19627 reply
= await self
.rpc(msg
)
19632 @ReturnMapping(StorageAttachmentResults
)
19633 async def StorageAttachments(self
, ids
):
19635 ids : typing.Sequence[~StorageAttachmentId]
19636 Returns -> typing.Sequence[~StorageAttachmentResult]
19638 # map input types to rpc msg
19640 msg
= dict(Type
='Uniter', Request
='StorageAttachments', Version
=4, Params
=params
)
19641 params
['ids'] = ids
19642 reply
= await self
.rpc(msg
)
19647 @ReturnMapping(StatusResults
)
19648 async def UnitStatus(self
, entities
):
19650 entities : typing.Sequence[~Entity]
19651 Returns -> typing.Sequence[~StatusResult]
19653 # map input types to rpc msg
19655 msg
= dict(Type
='Uniter', Request
='UnitStatus', Version
=4, Params
=params
)
19656 params
['Entities'] = entities
19657 reply
= await self
.rpc(msg
)
19662 @ReturnMapping(StorageAttachmentIdsResults
)
19663 async def UnitStorageAttachments(self
, entities
):
19665 entities : typing.Sequence[~Entity]
19666 Returns -> typing.Sequence[~StorageAttachmentIdsResult]
19668 # map input types to rpc msg
19670 msg
= dict(Type
='Uniter', Request
='UnitStorageAttachments', Version
=4, Params
=params
)
19671 params
['Entities'] = entities
19672 reply
= await self
.rpc(msg
)
19677 @ReturnMapping(ErrorResults
)
19678 async def UpdateSettings(self
, relationunits
):
19680 relationunits : typing.Sequence[~RelationUnitSettings]
19681 Returns -> typing.Sequence[~ErrorResult]
19683 # map input types to rpc msg
19685 msg
= dict(Type
='Uniter', Request
='UpdateSettings', Version
=4, Params
=params
)
19686 params
['RelationUnits'] = relationunits
19687 reply
= await self
.rpc(msg
)
19692 @ReturnMapping(NotifyWatchResults
)
19693 async def Watch(self
, entities
):
19695 entities : typing.Sequence[~Entity]
19696 Returns -> typing.Sequence[~NotifyWatchResult]
19698 # map input types to rpc msg
19700 msg
= dict(Type
='Uniter', Request
='Watch', Version
=4, Params
=params
)
19701 params
['Entities'] = entities
19702 reply
= await self
.rpc(msg
)
19707 @ReturnMapping(NotifyWatchResult
)
19708 async def WatchAPIHostPorts(self
):
19711 Returns -> typing.Union[_ForwardRef('Error'), str]
19713 # map input types to rpc msg
19715 msg
= dict(Type
='Uniter', Request
='WatchAPIHostPorts', Version
=4, Params
=params
)
19717 reply
= await self
.rpc(msg
)
19722 @ReturnMapping(StringsWatchResults
)
19723 async def WatchActionNotifications(self
, entities
):
19725 entities : typing.Sequence[~Entity]
19726 Returns -> typing.Sequence[~StringsWatchResult]
19728 # map input types to rpc msg
19730 msg
= dict(Type
='Uniter', Request
='WatchActionNotifications', Version
=4, Params
=params
)
19731 params
['Entities'] = entities
19732 reply
= await self
.rpc(msg
)
19737 @ReturnMapping(StringsWatchResults
)
19738 async def WatchApplicationRelations(self
, entities
):
19740 entities : typing.Sequence[~Entity]
19741 Returns -> typing.Sequence[~StringsWatchResult]
19743 # map input types to rpc msg
19745 msg
= dict(Type
='Uniter', Request
='WatchApplicationRelations', Version
=4, Params
=params
)
19746 params
['Entities'] = entities
19747 reply
= await self
.rpc(msg
)
19752 @ReturnMapping(NotifyWatchResults
)
19753 async def WatchConfigSettings(self
, entities
):
19755 entities : typing.Sequence[~Entity]
19756 Returns -> typing.Sequence[~NotifyWatchResult]
19758 # map input types to rpc msg
19760 msg
= dict(Type
='Uniter', Request
='WatchConfigSettings', Version
=4, Params
=params
)
19761 params
['Entities'] = entities
19762 reply
= await self
.rpc(msg
)
19767 @ReturnMapping(NotifyWatchResult
)
19768 async def WatchForModelConfigChanges(self
):
19771 Returns -> typing.Union[_ForwardRef('Error'), str]
19773 # map input types to rpc msg
19775 msg
= dict(Type
='Uniter', Request
='WatchForModelConfigChanges', Version
=4, Params
=params
)
19777 reply
= await self
.rpc(msg
)
19782 @ReturnMapping(NotifyWatchResults
)
19783 async def WatchLeadershipSettings(self
, entities
):
19785 entities : typing.Sequence[~Entity]
19786 Returns -> typing.Sequence[~NotifyWatchResult]
19788 # map input types to rpc msg
19790 msg
= dict(Type
='Uniter', Request
='WatchLeadershipSettings', Version
=4, Params
=params
)
19791 params
['Entities'] = entities
19792 reply
= await self
.rpc(msg
)
19797 @ReturnMapping(NotifyWatchResults
)
19798 async def WatchMeterStatus(self
, entities
):
19800 entities : typing.Sequence[~Entity]
19801 Returns -> typing.Sequence[~NotifyWatchResult]
19803 # map input types to rpc msg
19805 msg
= dict(Type
='Uniter', Request
='WatchMeterStatus', Version
=4, Params
=params
)
19806 params
['Entities'] = entities
19807 reply
= await self
.rpc(msg
)
19812 @ReturnMapping(RelationUnitsWatchResults
)
19813 async def WatchRelationUnits(self
, relationunits
):
19815 relationunits : typing.Sequence[~RelationUnit]
19816 Returns -> typing.Sequence[~RelationUnitsWatchResult]
19818 # map input types to rpc msg
19820 msg
= dict(Type
='Uniter', Request
='WatchRelationUnits', Version
=4, Params
=params
)
19821 params
['RelationUnits'] = relationunits
19822 reply
= await self
.rpc(msg
)
19827 @ReturnMapping(NotifyWatchResults
)
19828 async def WatchStorageAttachments(self
, ids
):
19830 ids : typing.Sequence[~StorageAttachmentId]
19831 Returns -> typing.Sequence[~NotifyWatchResult]
19833 # map input types to rpc msg
19835 msg
= dict(Type
='Uniter', Request
='WatchStorageAttachments', Version
=4, Params
=params
)
19836 params
['ids'] = ids
19837 reply
= await self
.rpc(msg
)
19842 @ReturnMapping(NotifyWatchResults
)
19843 async def WatchUnitAddresses(self
, entities
):
19845 entities : typing.Sequence[~Entity]
19846 Returns -> typing.Sequence[~NotifyWatchResult]
19848 # map input types to rpc msg
19850 msg
= dict(Type
='Uniter', Request
='WatchUnitAddresses', Version
=4, Params
=params
)
19851 params
['Entities'] = entities
19852 reply
= await self
.rpc(msg
)
19857 @ReturnMapping(StringsWatchResults
)
19858 async def WatchUnitStorageAttachments(self
, entities
):
19860 entities : typing.Sequence[~Entity]
19861 Returns -> typing.Sequence[~StringsWatchResult]
19863 # map input types to rpc msg
19865 msg
= dict(Type
='Uniter', Request
='WatchUnitStorageAttachments', Version
=4, Params
=params
)
19866 params
['Entities'] = entities
19867 reply
= await self
.rpc(msg
)
19871 class UpgraderFacade(Type
):
19874 schema
= {'definitions': {'Binary': {'additionalProperties': False,
19875 'properties': {'Arch': {'type': 'string'},
19876 'Number': {'$ref': '#/definitions/Number'},
19877 'Series': {'type': 'string'}},
19878 'required': ['Number', 'Series', 'Arch'],
19880 'Entities': {'additionalProperties': False,
19881 'properties': {'Entities': {'items': {'$ref': '#/definitions/Entity'},
19883 'required': ['Entities'],
19885 'EntitiesVersion': {'additionalProperties': False,
19886 'properties': {'AgentTools': {'items': {'$ref': '#/definitions/EntityVersion'},
19888 'required': ['AgentTools'],
19890 'Entity': {'additionalProperties': False,
19891 'properties': {'Tag': {'type': 'string'}},
19892 'required': ['Tag'],
19894 'EntityVersion': {'additionalProperties': False,
19895 'properties': {'Tag': {'type': 'string'},
19896 'Tools': {'$ref': '#/definitions/Version'}},
19897 'required': ['Tag', 'Tools'],
19899 'Error': {'additionalProperties': False,
19900 'properties': {'Code': {'type': 'string'},
19901 'Info': {'$ref': '#/definitions/ErrorInfo'},
19902 'Message': {'type': 'string'}},
19903 'required': ['Message', 'Code'],
19905 'ErrorInfo': {'additionalProperties': False,
19906 'properties': {'Macaroon': {'$ref': '#/definitions/Macaroon'},
19907 'MacaroonPath': {'type': 'string'}},
19909 'ErrorResult': {'additionalProperties': False,
19910 'properties': {'Error': {'$ref': '#/definitions/Error'}},
19911 'required': ['Error'],
19913 'ErrorResults': {'additionalProperties': False,
19914 'properties': {'Results': {'items': {'$ref': '#/definitions/ErrorResult'},
19916 'required': ['Results'],
19918 'Macaroon': {'additionalProperties': False,
19919 'properties': {'caveats': {'items': {'$ref': '#/definitions/caveat'},
19921 'data': {'items': {'type': 'integer'},
19923 'id': {'$ref': '#/definitions/packet'},
19924 'location': {'$ref': '#/definitions/packet'},
19925 'sig': {'items': {'type': 'integer'},
19927 'required': ['data',
19933 'NotifyWatchResult': {'additionalProperties': False,
19934 'properties': {'Error': {'$ref': '#/definitions/Error'},
19935 'NotifyWatcherId': {'type': 'string'}},
19936 'required': ['NotifyWatcherId', 'Error'],
19938 'NotifyWatchResults': {'additionalProperties': False,
19939 'properties': {'Results': {'items': {'$ref': '#/definitions/NotifyWatchResult'},
19941 'required': ['Results'],
19943 'Number': {'additionalProperties': False,
19944 'properties': {'Build': {'type': 'integer'},
19945 'Major': {'type': 'integer'},
19946 'Minor': {'type': 'integer'},
19947 'Patch': {'type': 'integer'},
19948 'Tag': {'type': 'string'}},
19949 'required': ['Major',
19955 'Tools': {'additionalProperties': False,
19956 'properties': {'sha256': {'type': 'string'},
19957 'size': {'type': 'integer'},
19958 'url': {'type': 'string'},
19959 'version': {'$ref': '#/definitions/Binary'}},
19960 'required': ['version', 'url', 'size'],
19962 'ToolsResult': {'additionalProperties': False,
19963 'properties': {'DisableSSLHostnameVerification': {'type': 'boolean'},
19964 'Error': {'$ref': '#/definitions/Error'},
19965 'ToolsList': {'items': {'$ref': '#/definitions/Tools'},
19967 'required': ['ToolsList',
19968 'DisableSSLHostnameVerification',
19971 'ToolsResults': {'additionalProperties': False,
19972 'properties': {'Results': {'items': {'$ref': '#/definitions/ToolsResult'},
19974 'required': ['Results'],
19976 'Version': {'additionalProperties': False,
19977 'properties': {'Version': {'$ref': '#/definitions/Binary'}},
19978 'required': ['Version'],
19980 'VersionResult': {'additionalProperties': False,
19981 'properties': {'Error': {'$ref': '#/definitions/Error'},
19982 'Version': {'$ref': '#/definitions/Number'}},
19983 'required': ['Version', 'Error'],
19985 'VersionResults': {'additionalProperties': False,
19986 'properties': {'Results': {'items': {'$ref': '#/definitions/VersionResult'},
19988 'required': ['Results'],
19990 'caveat': {'additionalProperties': False,
19991 'properties': {'caveatId': {'$ref': '#/definitions/packet'},
19992 'location': {'$ref': '#/definitions/packet'},
19993 'verificationId': {'$ref': '#/definitions/packet'}},
19994 'required': ['location',
19998 'packet': {'additionalProperties': False,
19999 'properties': {'headerLen': {'type': 'integer'},
20000 'start': {'type': 'integer'},
20001 'totalLen': {'type': 'integer'}},
20002 'required': ['start', 'totalLen', 'headerLen'],
20003 'type': 'object'}},
20004 'properties': {'DesiredVersion': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
20005 'Result': {'$ref': '#/definitions/VersionResults'}},
20007 'SetTools': {'properties': {'Params': {'$ref': '#/definitions/EntitiesVersion'},
20008 'Result': {'$ref': '#/definitions/ErrorResults'}},
20010 'Tools': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
20011 'Result': {'$ref': '#/definitions/ToolsResults'}},
20013 'WatchAPIVersion': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
20014 'Result': {'$ref': '#/definitions/NotifyWatchResults'}},
20015 'type': 'object'}},
20019 @ReturnMapping(VersionResults
)
20020 async def DesiredVersion(self
, entities
):
20022 entities : typing.Sequence[~Entity]
20023 Returns -> typing.Sequence[~VersionResult]
20025 # map input types to rpc msg
20027 msg
= dict(Type
='Upgrader', Request
='DesiredVersion', Version
=1, Params
=params
)
20028 params
['Entities'] = entities
20029 reply
= await self
.rpc(msg
)
20034 @ReturnMapping(ErrorResults
)
20035 async def SetTools(self
, agenttools
):
20037 agenttools : typing.Sequence[~EntityVersion]
20038 Returns -> typing.Sequence[~ErrorResult]
20040 # map input types to rpc msg
20042 msg
= dict(Type
='Upgrader', Request
='SetTools', Version
=1, Params
=params
)
20043 params
['AgentTools'] = agenttools
20044 reply
= await self
.rpc(msg
)
20049 @ReturnMapping(ToolsResults
)
20050 async def Tools(self
, entities
):
20052 entities : typing.Sequence[~Entity]
20053 Returns -> typing.Sequence[~ToolsResult]
20055 # map input types to rpc msg
20057 msg
= dict(Type
='Upgrader', Request
='Tools', Version
=1, Params
=params
)
20058 params
['Entities'] = entities
20059 reply
= await self
.rpc(msg
)
20064 @ReturnMapping(NotifyWatchResults
)
20065 async def WatchAPIVersion(self
, entities
):
20067 entities : typing.Sequence[~Entity]
20068 Returns -> typing.Sequence[~NotifyWatchResult]
20070 # map input types to rpc msg
20072 msg
= dict(Type
='Upgrader', Request
='WatchAPIVersion', Version
=1, Params
=params
)
20073 params
['Entities'] = entities
20074 reply
= await self
.rpc(msg
)
20078 class UserManagerFacade(Type
):
20079 name
= 'UserManager'
20081 schema
= {'definitions': {'AddUser': {'additionalProperties': False,
20082 'properties': {'display-name': {'type': 'string'},
20083 'model-access-permission': {'type': 'string'},
20084 'password': {'type': 'string'},
20085 'shared-model-tags': {'items': {'type': 'string'},
20087 'username': {'type': 'string'}},
20088 'required': ['username',
20090 'shared-model-tags'],
20092 'AddUserResult': {'additionalProperties': False,
20093 'properties': {'error': {'$ref': '#/definitions/Error'},
20094 'secret-key': {'items': {'type': 'integer'},
20096 'tag': {'type': 'string'}},
20098 'AddUserResults': {'additionalProperties': False,
20099 'properties': {'results': {'items': {'$ref': '#/definitions/AddUserResult'},
20101 'required': ['results'],
20103 'AddUsers': {'additionalProperties': False,
20104 'properties': {'users': {'items': {'$ref': '#/definitions/AddUser'},
20106 'required': ['users'],
20108 'Entities': {'additionalProperties': False,
20109 'properties': {'Entities': {'items': {'$ref': '#/definitions/Entity'},
20111 'required': ['Entities'],
20113 'Entity': {'additionalProperties': False,
20114 'properties': {'Tag': {'type': 'string'}},
20115 'required': ['Tag'],
20117 'EntityPassword': {'additionalProperties': False,
20118 'properties': {'Password': {'type': 'string'},
20119 'Tag': {'type': 'string'}},
20120 'required': ['Tag', 'Password'],
20122 'EntityPasswords': {'additionalProperties': False,
20123 'properties': {'Changes': {'items': {'$ref': '#/definitions/EntityPassword'},
20125 'required': ['Changes'],
20127 'Error': {'additionalProperties': False,
20128 'properties': {'Code': {'type': 'string'},
20129 'Info': {'$ref': '#/definitions/ErrorInfo'},
20130 'Message': {'type': 'string'}},
20131 'required': ['Message', 'Code'],
20133 'ErrorInfo': {'additionalProperties': False,
20134 'properties': {'Macaroon': {'$ref': '#/definitions/Macaroon'},
20135 'MacaroonPath': {'type': 'string'}},
20137 'ErrorResult': {'additionalProperties': False,
20138 'properties': {'Error': {'$ref': '#/definitions/Error'}},
20139 'required': ['Error'],
20141 'ErrorResults': {'additionalProperties': False,
20142 'properties': {'Results': {'items': {'$ref': '#/definitions/ErrorResult'},
20144 'required': ['Results'],
20146 'Macaroon': {'additionalProperties': False,
20147 'properties': {'caveats': {'items': {'$ref': '#/definitions/caveat'},
20149 'data': {'items': {'type': 'integer'},
20151 'id': {'$ref': '#/definitions/packet'},
20152 'location': {'$ref': '#/definitions/packet'},
20153 'sig': {'items': {'type': 'integer'},
20155 'required': ['data',
20161 'MacaroonResult': {'additionalProperties': False,
20162 'properties': {'error': {'$ref': '#/definitions/Error'},
20163 'result': {'$ref': '#/definitions/Macaroon'}},
20165 'MacaroonResults': {'additionalProperties': False,
20166 'properties': {'results': {'items': {'$ref': '#/definitions/MacaroonResult'},
20168 'required': ['results'],
20170 'UserInfo': {'additionalProperties': False,
20171 'properties': {'created-by': {'type': 'string'},
20172 'date-created': {'format': 'date-time',
20174 'disabled': {'type': 'boolean'},
20175 'display-name': {'type': 'string'},
20176 'last-connection': {'format': 'date-time',
20178 'username': {'type': 'string'}},
20179 'required': ['username',
20185 'UserInfoRequest': {'additionalProperties': False,
20186 'properties': {'entities': {'items': {'$ref': '#/definitions/Entity'},
20188 'include-disabled': {'type': 'boolean'}},
20189 'required': ['entities',
20190 'include-disabled'],
20192 'UserInfoResult': {'additionalProperties': False,
20193 'properties': {'error': {'$ref': '#/definitions/Error'},
20194 'result': {'$ref': '#/definitions/UserInfo'}},
20196 'UserInfoResults': {'additionalProperties': False,
20197 'properties': {'results': {'items': {'$ref': '#/definitions/UserInfoResult'},
20199 'required': ['results'],
20201 'caveat': {'additionalProperties': False,
20202 'properties': {'caveatId': {'$ref': '#/definitions/packet'},
20203 'location': {'$ref': '#/definitions/packet'},
20204 'verificationId': {'$ref': '#/definitions/packet'}},
20205 'required': ['location',
20209 'packet': {'additionalProperties': False,
20210 'properties': {'headerLen': {'type': 'integer'},
20211 'start': {'type': 'integer'},
20212 'totalLen': {'type': 'integer'}},
20213 'required': ['start', 'totalLen', 'headerLen'],
20214 'type': 'object'}},
20215 'properties': {'AddUser': {'properties': {'Params': {'$ref': '#/definitions/AddUsers'},
20216 'Result': {'$ref': '#/definitions/AddUserResults'}},
20218 'CreateLocalLoginMacaroon': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
20219 'Result': {'$ref': '#/definitions/MacaroonResults'}},
20221 'DisableUser': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
20222 'Result': {'$ref': '#/definitions/ErrorResults'}},
20224 'EnableUser': {'properties': {'Params': {'$ref': '#/definitions/Entities'},
20225 'Result': {'$ref': '#/definitions/ErrorResults'}},
20227 'SetPassword': {'properties': {'Params': {'$ref': '#/definitions/EntityPasswords'},
20228 'Result': {'$ref': '#/definitions/ErrorResults'}},
20230 'UserInfo': {'properties': {'Params': {'$ref': '#/definitions/UserInfoRequest'},
20231 'Result': {'$ref': '#/definitions/UserInfoResults'}},
20232 'type': 'object'}},
20236 @ReturnMapping(AddUserResults
)
20237 async def AddUser(self
, users
):
20239 users : typing.Sequence[~AddUser]
20240 Returns -> typing.Sequence[~AddUserResult]
20242 # map input types to rpc msg
20244 msg
= dict(Type
='UserManager', Request
='AddUser', Version
=1, Params
=params
)
20245 params
['users'] = users
20246 reply
= await self
.rpc(msg
)
20251 @ReturnMapping(MacaroonResults
)
20252 async def CreateLocalLoginMacaroon(self
, entities
):
20254 entities : typing.Sequence[~Entity]
20255 Returns -> typing.Sequence[~MacaroonResult]
20257 # map input types to rpc msg
20259 msg
= dict(Type
='UserManager', Request
='CreateLocalLoginMacaroon', Version
=1, Params
=params
)
20260 params
['Entities'] = entities
20261 reply
= await self
.rpc(msg
)
20266 @ReturnMapping(ErrorResults
)
20267 async def DisableUser(self
, entities
):
20269 entities : typing.Sequence[~Entity]
20270 Returns -> typing.Sequence[~ErrorResult]
20272 # map input types to rpc msg
20274 msg
= dict(Type
='UserManager', Request
='DisableUser', Version
=1, Params
=params
)
20275 params
['Entities'] = entities
20276 reply
= await self
.rpc(msg
)
20281 @ReturnMapping(ErrorResults
)
20282 async def EnableUser(self
, entities
):
20284 entities : typing.Sequence[~Entity]
20285 Returns -> typing.Sequence[~ErrorResult]
20287 # map input types to rpc msg
20289 msg
= dict(Type
='UserManager', Request
='EnableUser', Version
=1, Params
=params
)
20290 params
['Entities'] = entities
20291 reply
= await self
.rpc(msg
)
20296 @ReturnMapping(ErrorResults
)
20297 async def SetPassword(self
, changes
):
20299 changes : typing.Sequence[~EntityPassword]
20300 Returns -> typing.Sequence[~ErrorResult]
20302 # map input types to rpc msg
20304 msg
= dict(Type
='UserManager', Request
='SetPassword', Version
=1, Params
=params
)
20305 params
['Changes'] = changes
20306 reply
= await self
.rpc(msg
)
20311 @ReturnMapping(UserInfoResults
)
20312 async def UserInfo(self
, entities
, include_disabled
):
20314 entities : typing.Sequence[~Entity]
20315 include_disabled : bool
20316 Returns -> typing.Sequence[~UserInfoResult]
20318 # map input types to rpc msg
20320 msg
= dict(Type
='UserManager', Request
='UserInfo', Version
=1, Params
=params
)
20321 params
['entities'] = entities
20322 params
['include-disabled'] = include_disabled
20323 reply
= await self
.rpc(msg
)
20327 class VolumeAttachmentsWatcherFacade(Type
):
20328 name
= 'VolumeAttachmentsWatcher'
20330 schema
= {'definitions': {'Error': {'additionalProperties': False,
20331 'properties': {'Code': {'type': 'string'},
20332 'Info': {'$ref': '#/definitions/ErrorInfo'},
20333 'Message': {'type': 'string'}},
20334 'required': ['Message', 'Code'],
20336 'ErrorInfo': {'additionalProperties': False,
20337 'properties': {'Macaroon': {'$ref': '#/definitions/Macaroon'},
20338 'MacaroonPath': {'type': 'string'}},
20340 'Macaroon': {'additionalProperties': False,
20341 'properties': {'caveats': {'items': {'$ref': '#/definitions/caveat'},
20343 'data': {'items': {'type': 'integer'},
20345 'id': {'$ref': '#/definitions/packet'},
20346 'location': {'$ref': '#/definitions/packet'},
20347 'sig': {'items': {'type': 'integer'},
20349 'required': ['data',
20355 'MachineStorageId': {'additionalProperties': False,
20356 'properties': {'attachmenttag': {'type': 'string'},
20357 'machinetag': {'type': 'string'}},
20358 'required': ['machinetag',
20361 'MachineStorageIdsWatchResult': {'additionalProperties': False,
20362 'properties': {'Changes': {'items': {'$ref': '#/definitions/MachineStorageId'},
20364 'Error': {'$ref': '#/definitions/Error'},
20365 'MachineStorageIdsWatcherId': {'type': 'string'}},
20366 'required': ['MachineStorageIdsWatcherId',
20370 'caveat': {'additionalProperties': False,
20371 'properties': {'caveatId': {'$ref': '#/definitions/packet'},
20372 'location': {'$ref': '#/definitions/packet'},
20373 'verificationId': {'$ref': '#/definitions/packet'}},
20374 'required': ['location',
20378 'packet': {'additionalProperties': False,
20379 'properties': {'headerLen': {'type': 'integer'},
20380 'start': {'type': 'integer'},
20381 'totalLen': {'type': 'integer'}},
20382 'required': ['start', 'totalLen', 'headerLen'],
20383 'type': 'object'}},
20384 'properties': {'Next': {'properties': {'Result': {'$ref': '#/definitions/MachineStorageIdsWatchResult'}},
20386 'Stop': {'type': 'object'}},
20390 @ReturnMapping(MachineStorageIdsWatchResult
)
20391 async def Next(self
):
20394 Returns -> typing.Union[typing.Sequence[~MachineStorageId], _ForwardRef('Error')]
20396 # map input types to rpc msg
20398 msg
= dict(Type
='VolumeAttachmentsWatcher', Request
='Next', Version
=2, Params
=params
)
20400 reply
= await self
.rpc(msg
)
20405 @ReturnMapping(None)
20406 async def Stop(self
):
20411 # map input types to rpc msg
20413 msg
= dict(Type
='VolumeAttachmentsWatcher', Request
='Stop', Version
=2, Params
=params
)
20415 reply
= await self
.rpc(msg
)